添加拷贝时间戳到剪贴板功能
This commit is contained in:
		| @@ -1,8 +1,8 @@ | ||||
| #Created by .winboll/winboll_app_build.gradle | ||||
| #Tue May 06 02:45:43 GMT 2025 | ||||
| #Tue May 06 03:04:55 GMT 2025 | ||||
| stageCount=0 | ||||
| libraryProject= | ||||
| baseVersion=15.0 | ||||
| publishVersion=15.0.0 | ||||
| buildCount=108 | ||||
| buildCount=117 | ||||
| baseBetaVersion=15.0.1 | ||||
|   | ||||
| @@ -5,6 +5,8 @@ | ||||
|  | ||||
|     <!-- 运行前台服务 --> | ||||
|     <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/> | ||||
|     <uses-permission android:name="android.permission.READ_CLIPBOARD" /> | ||||
|     <uses-permission android:name="android.permission.WRITE_CLIPBOARD" /> | ||||
|      | ||||
|     <application | ||||
|         android:allowBackup="true" | ||||
|   | ||||
| @@ -10,6 +10,12 @@ import android.content.Context; | ||||
| import android.content.Intent; | ||||
| import android.widget.Toast; | ||||
| import cc.winboll.studio.libappbase.LogUtils; | ||||
| import cc.winboll.studio.timestamp.utils.AppConfigsUtil; | ||||
| import cc.winboll.studio.timestamp.utils.ClipboardUtil; | ||||
| import java.time.Instant; | ||||
| import java.time.LocalDateTime; | ||||
| import java.time.ZoneId; | ||||
| import java.time.format.DateTimeFormatter; | ||||
|  | ||||
| public class ButtonClickReceiver extends BroadcastReceiver { | ||||
|  | ||||
| @@ -20,11 +26,20 @@ public class ButtonClickReceiver extends BroadcastReceiver { | ||||
|     @Override | ||||
|     public void onReceive(Context context, Intent intent) { | ||||
|         LogUtils.d(TAG, "onReceive"); | ||||
|         //if (intent.getAction().equals(BUTTON_COPYTIMESTAMP_ACTION)) { | ||||
|         if (intent.getAction().equals(BUTTON_COPYTIMESTAMP_ACTION)) { | ||||
|             // 在这里编写按钮点击后要执行的代码 | ||||
|             long currentMillis = System.currentTimeMillis(); | ||||
|             Instant instant = Instant.ofEpochMilli(currentMillis); | ||||
|             LocalDateTime ldt = LocalDateTime.ofInstant(instant, ZoneId.systemDefault()); | ||||
|             String szTimeStampFormatString = AppConfigsUtil.getInstance(context).getAppConfigsModel().getTimeStampCopyFormatString(); | ||||
|             DateTimeFormatter formatter = DateTimeFormatter.ofPattern(szTimeStampFormatString); | ||||
|             String formattedDateTime = ldt.format(formatter); | ||||
|  | ||||
|             ClipboardUtil.copyTextToClipboard(context, formattedDateTime); | ||||
|  | ||||
|             // 比如显示一个Toast | ||||
|             Toast.makeText(context, "按钮被点击了", Toast.LENGTH_SHORT).show(); | ||||
|         //} | ||||
|             Toast.makeText(context, formattedDateTime + " 已复制", Toast.LENGTH_SHORT).show(); | ||||
|         } | ||||
|     } | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -0,0 +1,37 @@ | ||||
| package cc.winboll.studio.timestamp.utils; | ||||
|  | ||||
| /** | ||||
|  * @Author ZhanGSKen | ||||
|  * @Date 2025/05/06 10:53 | ||||
|  * @Describe 剪贴板工具集 | ||||
|  */ | ||||
| import android.content.ClipData; | ||||
| import android.content.ClipboardManager; | ||||
| import android.content.Context; | ||||
| import android.os.Handler; | ||||
|  | ||||
| public class ClipboardUtil { | ||||
|     public static final String TAG = "ClipboardUtil"; | ||||
|  | ||||
|     private static final long COPY_DELAY = 500; // 延迟 500 毫秒 | ||||
|     private static Handler handler = new Handler(); | ||||
|  | ||||
|     /** | ||||
|      * 拷贝文本到剪贴板 | ||||
|      * @param context 上下文 | ||||
|      * @param text 要拷贝的文本 | ||||
|      */ | ||||
|     public static void copyTextToClipboard(final Context context, final String text) { | ||||
|         handler.postDelayed(new Runnable() { | ||||
|                 @Override | ||||
|                 public void run() { | ||||
|                     ClipboardManager clipboardManager = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE); | ||||
|                     if (clipboardManager != null) { | ||||
|                         ClipData clipData = ClipData.newPlainText("label", text); | ||||
|                         clipboardManager.setPrimaryClip(clipData); | ||||
|                     } | ||||
|                 } | ||||
|             }, COPY_DELAY); | ||||
|     } | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 ZhanGSKen
					ZhanGSKen