Androidのサービス通知に関して2つの質問があります。
デバイスを再起動することを選択した場合、サービスをキャンセルするにはどうすればよいですか?
デバイスをシャットダウンして再度電源を入れた場合、サービスを実行し続けるにはどうすればよいですか?
Androidのサービス通知に関して2つの質問があります。
デバイスを再起動することを選択した場合、サービスをキャンセルするにはどうすればよいですか?
デバイスをシャットダウンして再度電源を入れた場合、サービスを実行し続けるにはどうすればよいですか?
サービスを再作成するには、マニフェストファイルで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)デバイスを再起動することを選択した場合、サービスをキャンセルするにはどうすればよいですか?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>