我有一个意图服务,我正在一个单独的进程中启动(我将它包含在清单中),并且该进程正在启动,但我在 OnHandleIntent 开头的日志从未被调用。我希望它在一个单独的进程中,因为它正在做一些繁重的工作并且需要它可以得到的所有内存。
这是服务代码:
public class ProcessingService extends IntentService {
private final String TAG = "Processing Service";
public ProcessingService() {
super("ProcessingService");
}
@Override
protected void onHandleIntent(Intent intent) {
Log.d(TAG, "On Handle started");
/../
}
}
这是我开始的地方:
public void doneBtn(View v) {
Log.d(TAG, "button pressed, starting service");
Intent intent = new Intent(MyActivity.this, ProcessingService.class);
startService(intent);
finish();
}
我还尝试使用应用程序上下文调用服务,结果相同。
当然在清单中,在应用程序范围内:
<service android:name=".myapp.task.ProcessingService" android:process=":myserviceprocess"/>
按下按钮,创建流程并完成活动,但永远不会触发 onHandleIntent 的登录(并且没有完成任何其他工作)。将 Intent Service 放在单独的进程中是否有问题?我应该做一个常规服务然后产生一个异步任务还是什么?