0

私は(マニフェストファイルで適切に宣言された)サービスを持っていますonDestroy().1分後にAlarmManager. ただし、onDestroy()正しく実行されているにもかかわらず、サービスが開始されていません。何が間違っている可能性がありますか?

スケジューリング コード:

@Override
public void onDestroy() {

    BroadcastReceiver br = new BroadcastReceiver() {
        @Override
        public void onReceive(Context c, Intent i) {
            c.startService(new Intent(c, MyService.class));
        }
    };

    registerReceiver(br, new IntentFilter("xxxx"));

    PendingIntent pi = PendingIntent.getBroadcast(this, 0, new Intent("xxxx"), 0);

    AlarmManager am = (AlarmManager)(this.getSystemService(Context.ALARM_SERVICE));

    am.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + ONE_MINUTE, pi);

    Log.i("onDestroy", "Service scheduled.");

    unregisterReceiver(br);

    super.onDestroy();
}

マニフェスト ファイルのサービス宣言:

<service
    android:name="com.xxxx.MyService"
    android:exported="true">
</service>
4

1 に答える 1