Android 11 IntentService 非推奨
Android 11でIntentServiceが非推奨になりました。
JobIntentServiceを使って書き換えました。
IntentServiceの例:
class TestService : IntentService("TestService") {
override fun onHandleIntent(intent: Intent?) {
// ここに処理を書く}
}
呼び出し側:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
context.startForegroundService(intent)
} else {
context.startService(intent)
}
AndoidMenifest.xml
<service
android:name=".TestService "
android:enabled="true"
android:exported="false" />
JobIntentServiceの例:
class TestService : JobIntentService() {
private val JOB_ID = 1000;
fun enqueueWork(context: Context, work: Intent) {
enqueueWork(context, TestService::class.java, JOB_ID, work)
}override fun onHandleWork(intent: Intent) {
// ここに処理を書く
}
}
呼び出し側:
TestService().enqueueWork(context, intent)
AndoidMenifest.xml
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<service
android:name=".TestService "
android:permission="android.permission.BIND_JOB_SERVICE"
android:enabled="true"
android:exported="false" />