0

アプリケーションに通常の GregorianCalendar を使用して Reminder アプリケーションを開発しました。そして、DatePicker と TimePicker を使用してリマインダーを作成します。

リマインダー時間に達すると、アラームが開始され、1 つのアラート メッセージがポップアップ表示されます。このプロセスには次のコードを使用しました..

Intent i = new Intent("android.intent.action.DA");
operation = PendingIntent.getActivity(getBaseContext(),0,i,Intent.FLAG_ACTIVITY_NEW_TASK);
alarmManager = (AlarmManager) getBaseContext().getSystemService(ALARM_SERVICE);
calendar = new GregorianCalendar(y, m, d,hr, mi);
alarm_time = calendar.getTimeInMillis();
alarmManager.set(AlarmManager.RTC_WAKEUP,alarm_time,operation);

これで、アラームプロセスのインテントを作成しました..

ラインを使用するalarmManager.set(AlarmManager.RTC_WAKEUP,alarm_time,operation);ことで、現在のアラーム/リマインダーをキャッチできます..

久しぶりにタブレットの電源を切って電源を入れたのに、過去のリマインダーを取得できませんでした..

その期間のリマインダーは私には見られませんでした。どうすればこの問題を解決できますか...

そして、DatePicker と TimePicker を使用する代わりに CalendarView オプションを使用して、これを進める方法を提案します...

4

1 に答える 1

2

携帯電話の電源を切ると、すべてのカスタマイズされたアラームが消去されます。これを克服するには、アプリに起動許可を追加する必要があります。携帯電話が再起動されるたびに、BroadCastReciever が実行され、保存されたアラームを再度設定できる場所からアラームが発生します。時間を超えると、保留中のすべてのアラームが自動的にオンになります。

 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<receiver android:name=".YourReceiver">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>
于 2012-11-05T05:59:41.180 に答える