Chciałbym opracować aplikację alarmową. Aplikacja powinna działać tak:Utwórz aplikację alarmową
- uruchomić go
- aktywność pokazać mi czas
- mogę ustawić alarm
- mogę zamknąć aplikację
- gdy nadejdzie godzina alarmu, uruchamia działanie (nawet jeśli urządzenie jest zablokowane)
Próbowałem dostosować tę próbkę https://github.com/commonsguy/cwac-wakeful, ale ja nie może uruchomić działania, gdy nadejdzie godzina alarmu.
stosować ten kod do ustawiania alarmu (do badania włożenia tego kodu na onCreate
sposób działania)
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);
jest klasa OnAlarmReceiver:
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);
}
}
jest klasa usługi:
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);
}
}
jest to część Manifestu gdzie są setu p usługa i odbiorca:
<receiver android:name=".OnAlarmReceiver"></receiver>
<service android:name=".AlarmService"></service>
Metoda doWakefulWork nigdy nie jest wywoływana!
post kodzie, najlepiej w której próbował uruchomić swoją działalność, a także zgłaszać wszelkie błędy, które dostajesz ... że pomogę pomóżmy ci. – st0le
czy to działa, gdy ekran jest włączony? Próbuję tylko dowiedzieć się, czy problem dotyczy blokady wybudzenia – Andrew
, ponieważ @PayPal_Tim zapytał w "odpowiedzi" (zamiast dodawać komentarz tutaj) robi 'Log.i (ClockActivity.LOG_TAG," OnAlarmReceiver :: onReceive "); 'uruchomić? –