2011-08-04 9 views
0

に入る私は、次のように、の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を変更する必要があり

おかげ

+0

私の答えを使用して、それが許容されていることがわかった場合は、問題が解決したことを示すチェックマークをクリックしてください。 –

答えて

1

を(すべてのファイルがダウンロードされます)。

関連する問題