私はアラームアプリケーションを開発したいと思います。 アプリケーションは次のように動作するはずです:アラームアプリケーションの開発
は- 打ち上げそれ
- 活動は私がアラーム時刻になると、私はアプリケーション
- を閉じることができ
- アラームを設定することができます
- 時間を示し、 (デバイスがロックされていても)アクティビティを開始します。
このサンプルを適合させようとしましたが、アラーム時刻が来たらアクティビティを起動できません。
public class OnAlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.i(ClockActivity.LOG_TAG, "OnAlarmReceiver::onReceive");
WakefulIntentService.sendWakefulWork(context, AlarmService.class);
}
}
これは:
Intent intent = new Intent(this, OnAlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
Calendar cal = Calendar.getInstance();
cal.add(Calendar.SECOND, 10);
AlarmManager alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarm.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, cal.getTimeInMillis(),
pendingIntent);
このOnAlarmReceiverクラスである:
私は(I活動のonCreate
方法でこのコードを挿入したテストのために)セットアップにアラームをこのコードを使用しますサービスクラス:
public class AlarmService extends WakefulIntentService {
public AlarmService(String name) {
super(name);
}
@Override
protected void doWakefulWork(Intent intent) {
Log.i(ClockActivity.LOG_TAG, "AlarmService::doWakefulWork");
Intent newIntent = new Intent(getApplicationContext(), ClockActivity.class);
newIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
newIntent.setAction(ClockActivity.ALARM_ACTION);
getApplicationContext().startActivity(newIntent);
}
}
これは、setuが設定されているマニフェストの部分ですサービスと受信者:
<receiver android:name=".OnAlarmReceiver"></receiver>
<service android:name=".AlarmService"></service>
doWakefulWorkメソッドは呼び出されません。
郵便あなたのコードは、あなたが取得したすべてのエラーを報告しても、あなたの活動を起動し、してみてください好ましく...それがお手伝いします私たちはあなたを助けます。 – st0le
画面がオンのときに機能しますか?私はちょうどその問題がウェイクロックに関連しているかどうかを調べようとしています。 – Andrew
@PayPal_Timは(ここでコメントを追加するのではなく)「回答」で質問したので、Log.i(ClockActivity.LOG_TAG、 "OnAlarmReceiver :: onReceive" ); '実行? –