在我的应用程序中,我想每天在特定时间使用AlarmManager
。在里面安卓文档 http://developer.android.com/reference/android/app/AlarmManager.html我找到了这个:
注册的警报在设备休眠时会保留 [...],但如果关闭并重新启动,则会被清除。
这就是问题所在。即使用户重新启动手机,我也想运行代码。如果用户重新启动手机,他当前必须重新启动我的应用程序才能再次启动警报。我怎样才能防止这种情况发生?我应该使用更好的机制吗?
使用以下代码创建启动接收器:
public class BootBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context pContext, Intent intent) {
if(intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){
// Do your work related to alarm manager
}
}
}
在您的清单中,注册此广播接收器:
<receiver
android:name="com.yourapp.BootBroadcastReceiver"
android:enabled="true" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
并且不要忘记在 AndroidManifest.xml 中添加权限:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)