1

AndroidManifest.xml で、BroadcastReceiver を「android.intent.action.BOOT_COMPLETED」イベントに登録します。これにより、Android デバイスが起動するたびにサービスが開始されます。

...
        <receiver android:name="MySystemScheduleReceiver" >
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>
...

ただし、デバイスを再起動する必要なく、アプリのインストール直後にシステム サービスを開始したいと考えています。

アプリの起動時に使用できるシステム イベントはありますか? または、カスタム イベントを設定する必要がありますか?

マニフェストファイルを次のように変更する必要がありますか

...
        <receiver android:name="MySystemScheduleReceiver" >
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="com.myapp.StartSysService" />
            </intent-filter>
        </receiver>
...

そして、次のようなもので私のメインアクティビティからサービスを起動します

...
        Intent intent = new Intent();
        intent.setAction("com.myapp.StartSysService");
        sendBroadcast(intent);
...

その場合、どの方法を使用すればよいですか? (onCreate、onResume...)

ありがとう

4

1 に答える 1

4

onCreate() コールバックを持つ Application をサブクラス化できます。そこでサービスを開始できます。

public class MyApplication extends Application {
    public void onCreate() {
        // start your service
    }
}

マニフェストの<application>タグに、追加しますandroid:name="MyApplication"

于 2013-04-10T16:28:06.987 に答える