4

起動時の起動サービスに関するチュートリアルを読みました。私がやったことは次のとおりです。

マニフェストでは:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" >
</uses-permission>

<receiver android:name="my.package.ServiceStartup" >
   <intent-filter>
       <action android:name="android.intent.action.BOOT_COMPLETED" />
   </intent-filter>
</receiver>

コード:

public class ServiceStartup extends BroadcastReceiver {

    public void onReceive(Context context, Intent intent) {
        Handler h = new Handler();
        h.postDelayed(new Runnable() {
           @Override
           public void run() {
               Intent dialogIntent = new Intent(getBaseContext(), MyActivity.class);
               dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
               getApplication().startActivity(dialogIntent);
           }
        }, 10000);
    }
}

このように、デバイスを再起動してアクティブなアプリケーションの設定に移動すると、サービスが起動されません。私に何ができる?どこでエラーを起こしますか? ありがとう!!

4

2 に答える 2

5

活動やサービスを開始したい。サービスの場合は、 に電話する必要がありますstartService()。お気に入り:

getApplication().startService(new Intent(this, MyService.class));

于 2012-09-27T06:33:26.043 に答える
1

アプリを実行しましたか?このチュートリアルを参照してください

アプリケーションが SD カードにインストールされている場合、android.intent.action.BOOT_COMPLETED イベントの後は使用できません。この場合、android.intent.action.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE イベントに登録してください。


また、Android 3.0 以降では、アプリケーションが android.intent.action.BOOT_COMPLETED イベントを受け取る前に、ユーザーがアプリケーションを少なくとも 1 回起動する必要があることに注意してください。

于 2012-09-27T08:26:05.537 に答える