统一时间戳数据生成方法
This commit is contained in:
parent
a5295a0744
commit
d3da3304ee
@ -1,8 +1,8 @@
|
|||||||
#Created by .winboll/winboll_app_build.gradle
|
#Created by .winboll/winboll_app_build.gradle
|
||||||
#Wed May 07 10:56:24 HKT 2025
|
#Wed May 07 03:56:48 GMT 2025
|
||||||
stageCount=10
|
stageCount=10
|
||||||
libraryProject=
|
libraryProject=
|
||||||
baseVersion=15.0
|
baseVersion=15.0
|
||||||
publishVersion=15.0.9
|
publishVersion=15.0.9
|
||||||
buildCount=0
|
buildCount=6
|
||||||
baseBetaVersion=15.0.10
|
baseBetaVersion=15.0.10
|
||||||
|
@ -26,10 +26,7 @@ import cc.winboll.studio.timestamp.receivers.ButtonClickReceiver;
|
|||||||
import cc.winboll.studio.timestamp.utils.AppConfigsUtil;
|
import cc.winboll.studio.timestamp.utils.AppConfigsUtil;
|
||||||
import cc.winboll.studio.timestamp.utils.NotificationHelper;
|
import cc.winboll.studio.timestamp.utils.NotificationHelper;
|
||||||
import cc.winboll.studio.timestamp.utils.ServiceUtil;
|
import cc.winboll.studio.timestamp.utils.ServiceUtil;
|
||||||
import java.time.Instant;
|
import cc.winboll.studio.timestamp.utils.TimeStampUtil;
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.time.ZoneId;
|
|
||||||
import java.time.format.DateTimeFormatter;
|
|
||||||
|
|
||||||
public class MainService extends Service {
|
public class MainService extends Service {
|
||||||
|
|
||||||
@ -211,15 +208,10 @@ public class MainService extends Service {
|
|||||||
switch (message.what) {
|
switch (message.what) {
|
||||||
case MSG_UPDATE_TIMESTAMP:
|
case MSG_UPDATE_TIMESTAMP:
|
||||||
{
|
{
|
||||||
long currentMillis = System.currentTimeMillis();
|
String szTimeStampShowString = TimeStampUtil.getInstance(MainService.this).getTimeStampShowString();
|
||||||
Instant instant = Instant.ofEpochMilli(currentMillis);
|
mNotificationHelper.sendForegroundNotification(MainService.this, "时间戳:\n" + szTimeStampShowString + "\n已拷贝到剪贴板。");
|
||||||
LocalDateTime ldt = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
|
|
||||||
String szTimeStampFormatString = AppConfigsUtil.getInstance(MainService.this).getAppConfigsModel().getTimeStampFormatString();
|
|
||||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(szTimeStampFormatString);
|
|
||||||
String formattedDateTime = ldt.format(formatter);
|
|
||||||
mNotificationHelper.sendForegroundNotification(MainService.this, "时间戳:\n" + formattedDateTime + "\n已拷贝到剪贴板。");
|
|
||||||
|
|
||||||
LogUtils.d(TAG, "Hello, World! " + formattedDateTime);
|
LogUtils.d(TAG, "Hello, World! " + szTimeStampShowString);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
@ -11,12 +11,8 @@ import android.content.Intent;
|
|||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
import cc.winboll.studio.libappbase.LogUtils;
|
import cc.winboll.studio.libappbase.LogUtils;
|
||||||
import cc.winboll.studio.timestamp.MainService;
|
import cc.winboll.studio.timestamp.MainService;
|
||||||
import cc.winboll.studio.timestamp.utils.AppConfigsUtil;
|
|
||||||
import cc.winboll.studio.timestamp.utils.ClipboardUtil;
|
import cc.winboll.studio.timestamp.utils.ClipboardUtil;
|
||||||
import java.time.Instant;
|
import cc.winboll.studio.timestamp.utils.TimeStampUtil;
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.time.ZoneId;
|
|
||||||
import java.time.format.DateTimeFormatter;
|
|
||||||
|
|
||||||
public class ButtonClickReceiver extends BroadcastReceiver {
|
public class ButtonClickReceiver extends BroadcastReceiver {
|
||||||
|
|
||||||
@ -29,17 +25,11 @@ public class ButtonClickReceiver extends BroadcastReceiver {
|
|||||||
LogUtils.d(TAG, "onReceive");
|
LogUtils.d(TAG, "onReceive");
|
||||||
if (intent.getAction().equals(BUTTON_COPYTIMESTAMP_ACTION)) {
|
if (intent.getAction().equals(BUTTON_COPYTIMESTAMP_ACTION)) {
|
||||||
// 在这里编写按钮点击后要执行的代码
|
// 在这里编写按钮点击后要执行的代码
|
||||||
long currentMillis = System.currentTimeMillis();
|
TimeStampUtil.getInstance(context).genTimeStamp();
|
||||||
Instant instant = Instant.ofEpochMilli(currentMillis);
|
ClipboardUtil.copyTextToClipboard(context, TimeStampUtil.getInstance(context).getTimeStampCopyString());
|
||||||
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
|
||||||
Toast.makeText(context, "时间戳:\n" + formattedDateTime + "\n已拷贝到剪贴板。", Toast.LENGTH_SHORT).show();
|
Toast.makeText(context, "时间戳:\n" + TimeStampUtil.getInstance(context).getTimeStampCopyString() + "\n已拷贝到剪贴板。", Toast.LENGTH_SHORT).show();
|
||||||
MainService.updateCopiedTimeStamp();
|
MainService.updateCopiedTimeStamp();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,57 @@
|
|||||||
|
package cc.winboll.studio.timestamp.utils;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author ZhanGSKen
|
||||||
|
* @Date 2025/05/07 11:03
|
||||||
|
* @Describe TimeStampUtil
|
||||||
|
*/
|
||||||
|
import android.content.Context;
|
||||||
|
import java.time.Instant;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.ZoneId;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
|
|
||||||
|
public class TimeStampUtil {
|
||||||
|
|
||||||
|
public static final String TAG = "TimeStampUtil";
|
||||||
|
|
||||||
|
volatile static TimeStampUtil _TimeStampUtil;
|
||||||
|
|
||||||
|
Context mContext;
|
||||||
|
long mTimeStamp;
|
||||||
|
|
||||||
|
TimeStampUtil(Context context) {
|
||||||
|
mContext = context;
|
||||||
|
}
|
||||||
|
|
||||||
|
public synchronized static TimeStampUtil getInstance(Context context) {
|
||||||
|
if (_TimeStampUtil == null) {
|
||||||
|
_TimeStampUtil = new TimeStampUtil(context);
|
||||||
|
}
|
||||||
|
return _TimeStampUtil;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void genTimeStamp() {
|
||||||
|
mTimeStamp = System.currentTimeMillis();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTimeStampShowString() {
|
||||||
|
long currentMillis = mTimeStamp;
|
||||||
|
Instant instant = Instant.ofEpochMilli(currentMillis);
|
||||||
|
LocalDateTime ldt = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
|
||||||
|
String szTimeStampFormatString = AppConfigsUtil.getInstance(mContext).getAppConfigsModel().getTimeStampCopyFormatString();
|
||||||
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(szTimeStampFormatString);
|
||||||
|
String formattedDateTime = ldt.format(formatter);
|
||||||
|
return formattedDateTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTimeStampCopyString() {
|
||||||
|
long currentMillis = mTimeStamp;
|
||||||
|
Instant instant = Instant.ofEpochMilli(currentMillis);
|
||||||
|
LocalDateTime ldt = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
|
||||||
|
String szTimeStampFormatString = AppConfigsUtil.getInstance(mContext).getAppConfigsModel().getTimeStampCopyFormatString();
|
||||||
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(szTimeStampFormatString);
|
||||||
|
String formattedDateTime = ldt.format(formatter);
|
||||||
|
return formattedDateTime;
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user