1

特定の日に繰り返すことができるように、複数のアラームを設定しています。Androidは再起動時にアラームを保存しないと聞きました。また、すべてのアラームを再スケジュールするBroadcastReceiverときに使用する必要があることも読みました。BOOT_COMPLETED

しかし、1日に5つのアラーム=異なる日に約35のアラームがスケジュールされている場合、再起動後にアラームを再スケジュールするようにBroadcastReceiverに指示するにはどうすればよいですか。それらをデータベースに保存する必要がありますか?それらをどのように保存しますか?または、BOOT_COMPLETEDが必要なすべてですか?このようなことの例はありますか?見つかりませんでした。

これは私が現在アラームと私の単純な受信機クラスを設定するために持っているものです。ここではBroadcastReceiverの代わりにServiceを使用しています。これは、BRは短いものだけを処理するために使用する必要があり、将来的には長いサウンドクリップを使用する必要があると聞いたためです。

   private void setAlarm(){     
            Intent intent = new Intent(getBaseContext(), AlarmReceiver.class);
            PendingIntent pendingintent = PendingIntent.getService(getBaseContext(), 2, intent, PendingIntent.FLAG_CANCEL_CURRENT);

            AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
            am.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + sveskupa, pendingintent);
            Toast.makeText(getBaseContext(), "Alarm is set", Toast.LENGTH_LONG).show();
        }

AlarmReceiverクラス:

public class AlarmReceiver extends Service{

            @Override
            public IBinder onBind(Intent intent) {
                // TODO Auto-generated method stub
                return null;
            }

            @Override
            public void onCreate() {
                // TODO Auto-generated method stub
                super.onCreate();
                final MediaPlayer MPRadio1 = MediaPlayer.create(this, R.raw.radio3);
                MPRadio1.start();
                Toast.makeText(getBaseContext(), "OnCreate", Toast.LENGTH_LONG).show();

            }        
4

1 に答える 1

1

しかし、1日に5つのアラーム=異なる日に約35のアラームがスケジュールされている場合、再起動後にアラームを再スケジュールするようにBroadcastReceiverに指示するにはどうすればよいですか。

アラームスケジュールが固定され、変更されず、コードに組み込まれているか、そうでないかのいずれかです。

コードに組み込まれている場合は、起動時と同じコードを使用してBroadcastReceiver、アラームスケジュールを再確立します。

そうでなければ、宇宙線と携帯電話のCPUおよびメモリとの相互作用のためにアラームスケジュールが自発的に作成される可能性が低いため、アラームスケジュールはどこかから来ています。再起動後、同じ情報にアクセスできることを確認する必要があります。

それらをデータベースに保存する必要がありますか?それらをどのように保存しますか?

あれは君次第だ。

ここではBroadcastReceiverの代わりにServiceを使用しています。これは、BRは短いものだけを処理するために使用する必要があり、将来的には長いサウンドクリップを使用する必要があると聞いたためです。

制御できる保証はないため、スタイルアラームから直接使用しないでください。-スタイルのアラームを使用しないか、アラームがをトリガーするようにします。これは、と連携して、制御を取得し、その作業を完了できるようにすることができます。Service_WAKEUPService_WAKEUPBroadcastReceiverWakeLockService

于 2013-01-23T23:09:59.827 に答える