Cil*_*nco 23 android reboot restart android-alarms
在我的应用程序中,我希望每天在特定时间运行一些代码AlarmManager.在android文档中我发现了这个:
设备处于睡眠状态时会保留已注册的警报,但如果已关闭并重新启动,则会将其清除.
这就是问题所在.即使用户重新启动手机,我也想运行代码.如果用户重新启动手机,他当前必须重新启动我的应用以再次启动闹钟.我怎么能阻止这个?我应该使用更好的机制吗?
The*_*der 35
使用以下代码创建启动接收器:
public class BootBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context pContext, Intent intent) {
// Do your work related to alarm manager
}
}
Run Code Online (Sandbox Code Playgroud)
在您的清单中,注册此广播接收器:
<receiver
android:name="com.yourapp.BootBroadcastReceiver"
android:enabled="true" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
并且不要忘记在AndroidManifest.xml中添加权限:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
Run Code Online (Sandbox Code Playgroud)
使用可以在设备启动时使用广播接收器创建服务
<receiver android:enabled="true" android:name=".YourReceiver"
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
允许:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12985 次 |
| 最近记录: |