1

問題が発生しました。起動後にアラームを正しく設定できません。

public void onReceive(Context context, Intent intent) {

    if(Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())){
        if(fm.getAlarmBool()){
            time = fm.getAlarmTimeLong();
            reminder.startAlarm(time);
        }
    }

これは、起動後に実行したい私のメソッドです。Android マニフェストにアクセス許可を追加しましたが、機能させることができません。どうしたの?

4

1 に答える 1

0

あなたはそれを次のようにする必要があります

public class BootReceiver extends BroadcastReceiver {

Context context;
 @Override
 public void onReceive(Context context, Intent intent) {         
     context.startService(new Intent(context, NotificationService.class));      
 }  

}

マニフェストで

<receiver  android:process=":remote" android:name="BootReceiver">    
         <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <action android:name="android.intent.action.MAIN" />
        </intent-filter>    
    </receiver>

したがって、ここであなたのサービスですべてのリマインダーを収集し、それらを再スケジュールしてください。このため、永続ストレージ用の共有設定またはデータベースに保存できます

于 2012-05-09T13:17:39.223 に答える