4

日付ピッカーを使用して設定した特定の日時に通知を表示する通知アプリをアンドロイドで開発しています。アプリがバックグラウンドで実行されている場合、正しく表示されます。しかし、アプリを強制停止するか、デバイスの電源を切って再起動すると、通知が表示されません。アプリを強制終了したり、デバイスを再起動したりしても通知を表示する方法。

4

2 に答える 2

1

サービスの代わりにAlarmManagerの使用を検討する必要があります。カスタムインテントを使用して、希望の日時にアラームを設定します。BroadcastReceiverで、通知を作成して表示します。

デバイスが再起動された場合は、BOOT_COMPLETEDインテントをリッスンし、アラームをリセットする必要がある場合もあります。

編集:

例:

long time = // time in milliseconds of when you want your Alarm

PendingIntent mIntent = PendingIntent.getBroadcast(context,
                0, new Intent("YOUR_CUSTOM_INTENT"), PendingIntent.FLAG_UPDATE_CURRENT);

AlarmManager am = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);        
am.set(AlarmManager.RTC_WAKEUP,
                        time, mIntent );

次に、BroadcastReceiverでYOUR_CUSTOM_INTENTインテントをキャッチし、通知を表示して、次のアラームを設定します。

于 2012-10-03T14:26:06.780 に答える
1

できません。通知はアプリケーションのコンテキストに添付されます。アプリケーションが強制終了/破棄された場合、通知も一緒に消えます。

アプリケーションまたはそのサービスが開始されたら、これらの通知を再作成することができます。そのためには、これを自動的に実装するために、必ずandroid.intent.action.BOOT_COMPLETEDブロードキャストをキャッチしてください。

于 2012-10-03T14:23:13.807 に答える