我有一项需要在 Android 设备上频繁运行的任务。我在启动时运行以下代码:
am = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
pollIntent = new Intent(context,PollTask.class);
pollPendingIntent = PendingIntent.getBroadcast(context, 0, pollIntent, 0);
am.setRepeating(AlarmManager.RTC_WAKEUP,
System.currentTimeMillis(), 1000*15, pollPendingIntent);
请不要唠叨我关于电池使用的问题,这是针对自定义嵌入式应用程序的,所以这不是问题。
问题是该任务在一定时间后频繁停止运行。我开始查看 logcat 并注意到每 15 秒,在它停止工作后,我会收到一条错误消息,指出无法启动 Intent 并且“进程错误”。此时,我在代码中使用了一个单独的进程
android:process=":remote"
在 PollTask 广播接收器的 Android 清单中。
我删除了这段代码,所以我现在只是在默认线程上运行广播接收器。它似乎正在工作,但如果我知道确切的问题是什么,我会更满意。不幸的是,我之前提到的错误消息一点也不冗长。我现在仍在几台设备上对此进行测试,看看它会持续运行多长时间。
关于这个错误,我需要知道什么?使用相同的过程有什么缺点吗?