我有两个应用程序。一个应用程序具有 Activity,另一个应用程序是后台服务。我如何从活动中启动服务?
我试过了:
Intent intent = new Intent () ;
intent.setClassName("com.example.mySerive","com.example.mySerive.service") ;
this.startService(intent);
我有两个应用程序。一个应用程序具有 Activity,另一个应用程序是后台服务。我如何从活动中启动服务?
我试过了:
Intent intent = new Intent () ;
intent.setClassName("com.example.mySerive","com.example.mySerive.service") ;
this.startService(intent);
首先,您应该在您的第二个应用程序的 AndroidManifest 上声明您的服务:
与活动(和其他组件)一样,您必须在应用程序的清单文件中声明所有服务。
要声明您的服务,请添加一个元素作为该元素的子元素。例如:
<application ... >
<service android:name=".ExampleService" />
...
</application>
如果您计划仅在本地使用您的服务(其他应用程序不使用它),那么您不需要(也不应该)提供任何意图过滤器。如果没有任何意图过滤器,您必须使用明确命名服务类的意图来启动服务。下面讨论了有关启动服务的更多信息。
当您想在外部应用程序上使用时,您必须定义一个 IntentFilter :
<service android:name=".ExampleService" />
<intent-filter>
<action android:name="br.com.androidzin.MyService" />
</intent-filter>
</service>
之后,您可以通过以下方式在外部应用程序上启动服务:
Intent intent=new Intent("br.com.androidzin.MyService");
this.startService(intent);