メインアクティビティでは、ブロードキャストレシーバー、保留中のインテント、およびアラームマネージャーがあります。選択した時間(System.currentTimeMillis()+ smstimeinmilliseconds)に従ってトリガーされます。
Intent intent = new Intent(this, DBBroadcastReceiver.class);
intent.putExtra("message", message);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, id, intent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + smstimeinmilliseconds, pendingIntent);
選択した時間に、この保留中のインテントがブロードキャストレシーバーをトリガーします。
public class DBBroadcastReceiver extends BroadcastReceiver
@Override
public void onReceive(Context context, Intent intent)
{
message = intent.getStringExtra("message");
}
アクティビティでメッセージを設定し、アラームマネージャで時間を設定できます。すべてが完璧に機能します。これをアクティブ化および非アクティブ化できます。しかし、将来的にいくつかのアラームマネージャーを設定して、モバイルを再起動した場合。すべてのアラームマネージャが破棄します....。
アクティビティ、放送受信機、サービスが必要な場合は、手順と順序で教えてください。サービスが必要な場合は、どのように使用できますか。