ここで説明されているように、AlarmManager と BroadCastReceiver を使用して最初のアラームを設定しようとしています: http://smartandroidians.blogspot.com.es/2010/04/alarmmanager-and-notification-in.html
私のセットアップ:
AndroidManifest.xml:
<receiver android:name="es.radiopodcastellano.player.SleepAlarm" />
私のメイン アクティビティ onCreate (このコードは実際にはサブクラスにありますが、簡単にするためにそこに置きます):
@Override
public void onCreate(Bundle savedInstanceState) {
// <Stripped code>
AlarmManager alarm = (AlarmManager) currentContext.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(this.getApplicationContext(), SleepAlarm.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this.getApplicationContext(), 0, intent, PendingIntent.FLAG_ONE_SHOT);
alarm.set(AlarmManager.RTC_WAKEUP,(System.currentTimeMillis() + (5 * 1000)),pendingIntent);
}
SleepAlarm.java:
public class SleepAlarm extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("RPod_SleepAlarm","Alarm!!");
}
}
「adb shell dumpsys alarm」からの出力はこれを示しているため、インテントが呼び出されているようです。
es.radiopodcastellano.player
221ms running, 32 wakeups
44 alarms: flg=0x4 cmp=es.radiopodcastellano.player/.SleepAlarm
ただし、Logcat は「RPod_SleepAlarm」タグに対して何も表示しません。私は何が間違っているのでしょうか?