我在android中有两个关于服务通知的问题:
如果我选择重启设备,如何取消服务?
如果关闭设备并重新启动设备,如何保持服务正常运行?
答案 0 :(得分:1)
您必须在清单文件中调用bootcompiled以重新创建服务。
见下面的代码:
<!-- To receive the Alarm Notification -->
<receiver android:name=".RecreateTwoMonthAlarm" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
</receiver>
现在,如果您不想在设备重新启动时重新创建服务,那么只需在清单中定义接收器,而不需要任何BOOT_COMPLETED操作。
如下面的代码:
<receiver android:name=".AlarmReceiverNotificationForTwoMonth" />
这是我的情况下的接收器。如果您想要同样的服务,那么您也可以这样做。
希望它会对你有所帮助。答案 1 :(得分:0)
1)如果我选择重启设备,如何取消服务? 如果没有BOOT_COMLETED接收器,则无所事事。
2)如果关闭设备并重新启动设备,如何保持服务正常运行? 你应该创建一个接收器类:
public class StartupReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
context.startService(new Intent(context,YourService.class));
}
}
并在清单文件中声明:
<receiver android:name=".StartupReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME" />
</intent-filter>