android - 通过android每天设置闹钟8时钟不起作用
问题描述
我尝试在每天早上 8 点设置闹钟来执行 mainActivity ,所以这是我的 MainActivity:
protected void onCreate(Bundle savedInstanceState){
Intent Alarm = new Intent(MainActivity.this,LongRunningService.class);
startService(Alarm);
}
LongRunningService 是服务:
AlarmManager manager = (AlarmManager) getSystemService(ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, 8);
calendar.set(Calendar.MINUTE, 00);
Intent i = new Intent(this,AlarmReceiver.class);
intent.setAction("startAlarm");
PendingIntent pi = PendingIntent.getBroadcast(this,0,i,0);
manager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),AlarmManager.INTERVAL_DAY, pi);
报警接收器.java
public void onReceive(Context context, Intent intent){
if ("startAlarm".equals(intent.getAction()))
Log.d(TAG, "onReceive! "); //not working?
}
Log.d(TAG, "onReceive! "); //it's working
解决方案
我知道会发生什么,
Intent i = new Intent(this,AlarmReceiver.class);
intent.setAction("startAlarm"); //wrong
i.setAction("startAlarm"); //correct
推荐阅读
- mongodb - Docker 和 MongoDB:启动 Mongo 并通过 Dockerfile 导入数据
- visual-c++ - 在 C++ 中,我如何计算刀具路径长度?
- node.js - nodemon的问题:每次我对文件进行更改时,服务器都会重新启动,而不执行代码
- python - 查询以返回字段与 MongoEngine 列表中的任何元素匹配的所有文档
- reactjs - Material UI AppBar 不会改变主题
- javascript - 如何修复未捕获(承诺)TypeError:无法在“FileReader”上执行“readAsArrayBuffer”:参数1不是“Blob”类型
- python - 如何在 Jupyter 中为 PySpark 配置动态分配
- tensorflow - 减少控制台冗长
- ios - IOS:providedCredentials 和 URLCredential 之间的区别信任
- java - 数据库表被锁定(Java、SQLite)