13

通过使用下面的代码,我正在尝试从 a 启动新服务Broadcast receiver,但该服务似乎没有启动。在kotlin启动服务的正确方法是什么?

val intent = Intent(context, LocationService::class.java)
 if (context != null) {
      context.startService(intent)
 }
4

4 回答 4

13

尝试这个

 val intent = Intent(context, LocationService::class.java)
 if (context != null) {
      context.startService(intent)
 }

并且不要忘记注册您servicemanifest文件

 <service  android:name="packageName.LocationService"/>
于 2017-08-09T08:53:42.757 回答
5

在 kotlin 中使用安全访问压缩:

val intent = Intent(context, LocationService::class.java)
context?.startService(intent)

还要在清单中定义您的服务。

于 2019-10-30T06:46:39.193 回答
1

You need to declare your service in AndroidManifest.xml

<manifest ...>
   <application ...>
      <service
          android:name="package.LocationService">
      </service>
   </application>
</manifest>
于 2017-08-09T08:56:58.143 回答
1

将服务声明放在 AndroidManifest.xml 文件中,
<service android:name=".LocationService"/>

于 2017-08-09T08:54:39.703 回答