2017-08-09 83 views
1

通过使用下面的代码,我试图从Broadcast receiver开始一项新服务,但该服务未启动。请亲切指导我如何在kotlin开始服务?kotlin android开始新的服务

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

服务是否在清单中注册? – shelll

+0

确保'startService'返回非空值,这表明服务已启动。请记住'startService'在Android O中已被弃用,并会抛出'targetSdk 26'的异常。 –

回答

0

试试这个

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

而且不要忘记注册在AndroidManifest.xml服务您servicemanifest文件

<service android:name="packageName.LocationService"/> 
+0

在val之前删除'Intent'类型。 – shashi2459

0

认沽申报文件
<service android:name=".LocationService"/>

0

您需要在AndroidManifest.xml中声明您的服务

<manifest ...> 
    <application ...> 
     <service 
      android:name="package.LocationService"> 
     </service> 
    </application> 
</manifest>