1
私はAlarm Manager
からService
までウィジェットインスタンスの更新に使用しています。これをしている間、私はいくつかの重要なスポットを欠いていると思います。Androidのアラームマネージャに関する問題
これは私がAlarm Manager
を設定する方法である:
public class MyWidget extends AppWidgetProvider {
public void onEnabled(Context ctx) {
alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(context, MyService.class);
pi = PendingIntent.getService(context, 0, i, PendingIntent.FLAG_UPDATE_CURRENT);
// Repeat value depends on preferences.
Long repeat = Long.parseLong(prefs.getString("update_preference", "600"));
alarmManager.setRepeating(AlarmManager.RTC, SystemClock.elapsedRealtime(), 1000*repeat, pi);
}
@Override
public void onDisabled(Context context) {
super.onDisabled(context);
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(context, MyService.class);
PendingIntent pi = PendingIntent.getService(context, 0, i, PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.cancel(pi);
}
}
は私がそれらを説明してみましょう:
- デバイスが電話を受けたか、電話をかける、エッジ/ 3Gがうまく動作しない場合。通話を処理するにはどうすればよいですか?可能であれば、コール後にアラームマネージャを再起動/トリガすることは可能ですか?または他の提案をいただければ幸いです。
- 場合デバイス眠っ(数分)、アンロックアラームマネージャは間隔値を超えた場合でも、すぐに動作した後。しかし、眠っている場合アラームマネージャーのロックを解除し、ウィジェットの受信機が動作していない後、長い時間がかかります。あらゆるリピートのために眠りにつく方法は何ですか?
- どのように制御する再起動の進行?再起動後、ウィジェットのアップデートが始まるはずです。始動の仕方がわからない。
ご意見やご提案は素晴らしいと思います。