に入る私は、次のように、のonCreateでの私のAlarmManager startAPP.class(主な活動)でのショットですべての時間を実行するサービスがあります。AlarmManagerファイルをダウンロードするために、毎時間毎時間サービスを開始(ジップ。)タイムアウト
Intent it = new Intent("SINC");
PendingIntent p = PendingIntent.getBroadcast(StartAPP.this, 0, it, 0);
Calendar c = Calendar.getInstance();
c.setTimeInMillis(System.currentTimeMillis());
c.add(Calendar.SECOND, inicio);
AlarmManager alarm = (AlarmManager) getSystemService(ALARM_SERVICE);
long time = c.getTimeInMillis();
alarm.setRepeating(AlarmManager.RTC_WAKEUP, time, repetir, p);
を
すべてokです。サービスは、必要に応じて正確にトリガーされます。しかし、ダウンロードが完了すると、実行はやや遅い(分)1または2になります。そして今度はアンドロイドがアプリケーションが応答を停止したことを示すダイアログを表示し、閉じるか待つかを尋ねます。
このサービスを取得する方法は、このメッセージ(ダイアログ)を表示しません。なぜなら、私が読んだサービスは、時間のかかる処理やファイルのダウンロードに使われるからです。
サービスはBroadcastReceiver
public class Sinc extends BroadcastReceiver
注意を拡張:私は待つしたいダイアログを伝える場合、全体のサービス・プロセスが正常に完了しています。あなたがIntentService代わりのBroadcastReceiverからあなたのsincクラスを継承しており、サービスの意図はなく、放送の意図であるためにあなたのPendingIntentを変更する必要があり
おかげ
私の答えを使用して、それが許容されていることがわかった場合は、問題が解決したことを示すチェックマークをクリックしてください。 –