あなたがAndroid8.0後にバックグラウンドサービスを使用することはできませんので、ContextCompat.startForegroundServiceのフロントデスクを必要とするサービスの使用を開始し、悪いユーザーエクスペリエンスにつながる可能性サービスが実行されている通知を表示する通知バーがあります。
それでもなど、子プロセスを開くために、サービスを利用して、バックグラウンドで静かに動作するようにサービスを利用したい場合は、JobIntentServiceを使用することができます。以下の特定のコード:
パブリッククラスTestServiceはJobIntentService {拡張
プライベート静的最終int型JOB_ID = 1000;
パブリック静的ボイドenqueueWork(コンテキスト・コンテキスト、インテント作業){
enqueueWork(文脈、TestService.class、JOB_ID、作業);
}
@Overrideは
onHandleWork(@NonNull意図意図){ボイド保護
:// TODO
}
}
<サービス
アンドロイド:名= "service.TestService。"
アンドロイド:エクスポート= "true"の
アンドロイド:許可= "android.permission.BIND_JOB_SERVICE" //需要
アンドロイド:プロセス= ":テスト" />
<使用許可アンドロイドを:名前= "android.permission.WAKE_LOCK" /> //需要
テントの意図=新しいテント(MainActivity.this、TestService.class)。
intent.putExtra( "キー"、 "値");
TestService.enqueueWork(MainActivity.this、インテント)。