Androidの起動時にサービスを自動的に起動する方法は何ですか?
Androidデバイスでの自動起動サービスの実現には、次の手順を実行することができます。
- Serviceを継承したクラスを作成して、バックグラウンドサービスのロジックを実装します。例えば、MyServiceというクラスを作成することができます。
public class MyService extends Service {
// 服务逻辑的实现代码
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// 在这里写入你的服务逻辑
return super.onStartCommand(intent, flags, startId);
}
}
- アプリケーション
<service
android:name=".MyService"
android:enabled="true"
android:exported="false" />
Android:nameの値として、サービスクラスの完全なパッケージ名とクラス名を使用するようにしてください。
- BootReceiver という名前のクラスを作成し、電源オンのブロードキャストを受信するために使用します。
public class BootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
// 在这里启动你的服务
Intent serviceIntent = new Intent(context, MyService.class);
context.startService(serviceIntent);
}
}
}
- 申込み
<receiver
android:name=".BootReceiver"
android:enabled="true"
android:exported="false">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
BroadcastReceiver クラスの完全なパッケージ名とクラス名を android:name の値として使用してください。
Android デバイスが起動を完了すると、ACTION_BOOT_COMPLETED ブロードキャストが送信され、それを受信するブロードキャストレシーバーがサービスを起動します。