0

Androidのサービス通知に関して2つの質問があります。

  1. デバイスを再起動することを選択した場合、サービスをキャンセルするにはどうすればよいですか?

  2. デバイスをシャットダウンして再度電源を入れた場合、サービスを実行し続けるにはどうすればよいですか?

4

2 に答える 2

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" />

私の場合、これは受信機用です。あなたがサービスのために同じことを望むなら、あなたもそれをすることができます。

それがあなたを助けることを願っています。

于 2012-12-07T12:15:52.053 に答える
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>

于 2012-12-07T12:24:35.550 に答える