Android SetInexactRepeating根本没有触发

Android SetInexactRepeating根本没有触发,第1张

概述我有一个安装在我的onCreate里面的 android setInexactRepeating,它永远不会触发.我在其中有一个日志,以确保它实际上正在执行,并且似乎没有触发,以及我为它计划的事件.我希望它每隔10秒就会消失一次,但它甚至连第一次都没有消失. public void onCreate(Bundle savedInstanceState) { super.onCreate(s 我有一个安装在我的onCreate里面的 android setInexactRepeating,它永远不会触发.我在其中有一个日志,以确保它实际上正在执行,并且似乎没有触发,以及我为它计划的事件.我希望它每隔10秒就会消失一次,但它甚至连第一次都没有消失.

public voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentVIEw(R.layout.activity_main);    Log.d("Restart","First");    Intent toRun = new Intent(this,AlarmRestart.class);    PendingIntent pendingToRun = PendingIntent.getbroadcast(this,toRun,0);    AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);    am.cancel(pendingToRun);     am.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,System.currentTimeMillis(),10000L,pendingToRun);    Log.d("Restart","Second");}

这是在另一个文件中:

public class AlarmRestart extends broadcastReceiver {    public voID onReceive(Context context,Intent intent) {        Log.d("Restart","Third");    }}

这就是“adb shell dumpsys alarm”所说的

com.packagename.restart5715ms running,64 wakeups3 alarms: flg=0x14 cmp=com.packagename.restart/.AlarmRestart61 alarms: flg=0x14 cmp=com.packagename.restart/.recIEver.AlarmRestart
解决方法 AlarmRestart是一个broadcastReceiver.它不是服务.然而,您正在尝试使用getService()PendingIntent.那样不行.将getService()更改为getbroadcast(),你应该有更好的运气. 总结

以上是内存溢出为你收集整理的Android SetInexactRepeating根本没有触发全部内容,希望文章能够帮你解决Android SetInexactRepeating根本没有触发所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1123101.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存