Androidの起動時にサービスを自動的に起動する方法は何ですか?

Androidデバイスでの自動起動サービスの実現には、次の手順を実行することができます。

  1. 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);
    }
}
  1. アプリケーション
<service 
    android:name=".MyService"
    android:enabled="true"
    android:exported="false" />

Android:nameの値として、サービスクラスの完全なパッケージ名とクラス名を使用するようにしてください。

  1. 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);
        }
    }
}
  1. 申込み
<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 ブロードキャストが送信され、それを受信するブロードキャストレシーバーがサービスを起動します。

bannerAds