我有一个服务,它在onCreate的我的AlarmManager startAPP.class(主要活动)中每小时运行一次,如下所示:
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);
一切都好。该服务完全按照应有的方式触发。但是如何下载完成执行有点慢(分钟)1或2.这次android触发一个对话框,说明应用程序停止响应并询问我是否要关闭或等待。
如何获取此服务不会显示此消息(对话框)。因为我读到的服务用于处理耗时和下载文件。
该服务扩展了BroadcastReceiver
public class Sinc extends BroadcastReceiver
注意:如果我告诉我要等待的对话框,整个服务过程都会成功完成。 (所有文件都已下载)
由于
答案 0 :(得分:1)
您应该让您的Sinc类继承自IntentService而不是BroadcastReceiver,并将PendingIntent修改为服务意图而不是广播意图。