2017-08-09 6 views
1

以下のコードを使用して、私はBroadcast receiverから新しいサービスを開始しようとしていますが、サービスは開始されていません。親切に私をkotlinでサービスを開始する方法について案内してください。kotlin android start new service

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

サービスはマニフェストに登録されていますか? – shelll

+0

'startService'がnull以外の値を返すことを確認してください。サービスが開始されたことを示します。 'startService'はAndroid Oでは廃止され、' targetSdk 26'では例外がスローされることに注意してください。 –

答えて

0

は、ファイルをこの

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

試してみてのAndroidManifest.xmlでのサービスのごservice

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

valの前に 'Intent'型を削除します。 – shashi2459

0

ファイルmanifestプット宣言を登録することを忘れないでください
すなわち<service android:name=".LocationService"/>

0

あなたのサービスをAndroidManifest.xmlで宣言する必要があります

<manifest ...> 
    <application ...> 
     <service 
      android:name="package.LocationService"> 
     </service> 
    </application> 
</manifest> 
関連する問題