2017-08-09 78 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>