使用其组件名称找不到服务

时间:2010-11-23 10:29:22

标签: android service

我遇到了一个服务,在startService()发送的起始意图中使用它的显式组件名称无法找到该服务。 这些类在同一个项目和包中。显式服务调用及其组件名称是有意的,因为它应该是私有服务,而startService / stopService方法而不是bindService也是故意的,因为服务应该在后台运行而不与任何活动通信。 一定是个愚蠢的错误,但我花了2天时间寻找它,但没有运气。我还有一个其他项目,它使用相同的服务调用方法,它可以工作,比较两次多次,但没有真正的区别。 我可能做错了什么?

//main activity which controls the service
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  //...
  Intent intent = new Intent(this, Logger01Service.class);
  startService(intent);
  //...
 }

调试器日志中的错误:

11-23 11:07:28.711: WARN/ActivityManager(1279): Unable to start service Intent { cmp=com.biroalex.test.logger/.LoggerService }: not found

我可能做错了什么?

3 个答案:

答案 0 :(得分:1)

您是否在AndroidManifest.xml中声明了它? 来自http://developer.android.com/reference/android/app/Service.html

  

每个服务类必须有一个   相应的声明   在其包的AndroidManifest.xml

答案 1 :(得分:0)

您必须在AndroidManifest.xml中输入关于每个活动或服务的条目。我想你错过了这个。看看吧。

答案 2 :(得分:0)

API DEMO清单文件的示例:

   <service android:name=".app.ForegroundService" />