OnHandleIntent未在Intent服务中调用

时间:2013-03-01 21:39:29

标签: android android-service intentservice

我有一个意图服务,我开始在一个单独的进程(我将它包含在清单中),并且该进程正在启动,但我在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放在一个单独的进程上有什么不对劲吗?我应该进行常规服务,然后从中产生异步任务吗?

1 个答案:

答案 0 :(得分:0)

相同的代码对我来说很好。我希望您尝试一些方法来调试此问题: -

  • 尝试调试它。在Service类的onHandleIntent()中放置一个断点,看看控件是否到达那里。

  • 尝试在调用startService()后删除finish()并查看它是否有效。