feat: 增加整点报时,增加闹钟
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
package com.ttstd.dialer.receiver;
|
||||
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
|
||||
import com.tencent.mmkv.MMKV;
|
||||
import com.ttstd.dialer.config.CommonConfig;
|
||||
import com.ttstd.dialer.tts.sherpa_onnx.SherpaOnnxTtsManager;
|
||||
import com.ttstd.dialer.utils.Logger;
|
||||
|
||||
import java.util.Calendar;
|
||||
|
||||
public class HourlyChimeReceiver extends BroadcastReceiver {
|
||||
private static final String TAG = "HourlyChimeReceiver";
|
||||
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
Logger.d(TAG, "收到广播: " + intent.getAction());
|
||||
|
||||
MMKV mmkv = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
|
||||
boolean enabled = mmkv.decodeInt(CommonConfig.HOURLY_CHIME_ENABLE, 0) == 1;
|
||||
|
||||
if (!enabled) {
|
||||
Logger.d(TAG, "整点报时未开启,跳过");
|
||||
return;
|
||||
}
|
||||
|
||||
if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
|
||||
Logger.d(TAG, "开机完成,重新调度整点报时");
|
||||
HourlyChimeManager.scheduleNextChime(context);
|
||||
return;
|
||||
}
|
||||
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
int hour = calendar.get(Calendar.HOUR_OF_DAY);
|
||||
String text = "现在是北京时间 " + hour + " 点整";
|
||||
|
||||
Logger.d(TAG, "开始播报: " + text);
|
||||
SherpaOnnxTtsManager.getInstance().init(context);
|
||||
SherpaOnnxTtsManager.getInstance().speak(text);
|
||||
|
||||
// 安排下一个小时的报时
|
||||
HourlyChimeManager.scheduleNextChime(context);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user