Вопрос по android-alarms, alarmmanager, android, repeatingalarm, java – Контекст не может быть решен

0

Я пытаюсь использовать метод для планирования ежемесячных сигналов тревоги, описанных здесь:

Как реализовать ежегодные и ежемесячные повторяющиеся сигналы тревоги?

Однако я'Я получаю две ошибки в строках:

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

а также

PendingIntent sender = PendingIntent.getBroadcast(context,

заявляя "контекст не может быть решен " а также "контекст не может быть преобразован в переменную

... какие-либо предложения о том, как это можно решить?

 public class Alarm extends Service {

    // compat to support older devices
     @Override
     public void onStart(Intent intent, int startId) {
     onStartCommand(intent, 0, startId);
     }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        // your method to check if an alarm must be fired today

        PendingIntent sender = PendingIntent.getBroadcast(context,
                Integer.parseInt(Long.toString(id)), intent, 0);

        Calendar calendar = Calendar.getInstance();
        calendar.setTimeInMillis(calendar.getTimeInMillis());
        calendar.add(Calendar.SECOND, 30);

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

        calendar.add(Calendar.MONTH, 1);

        am.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), sender);

        // reschedule me to check again tomorrow
        Intent serviceIntent = new Intent(Alarm.this, Alarm.class);
        PendingIntent restartServiceIntent = PendingIntent.getService(
                Alarm.this, 0, serviceIntent, 0);
        AlarmManager alarms = (AlarmManager) getSystemService(ALARM_SERVICE);
        // cancel previous alarm
        alarms.cancel(restartServiceIntent);
        // schedule alarm for today + 1 day
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.DATE, 1);

        // schedule the alarm
        alarms.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),
                restartServiceIntent);
    }

    @Override
    public void onCreate() {

        // TODO Auto-generated method stub

    }

    @Override
    public IBinder onBind(Intent intent) {

        // TODO Auto-generated method stub

        return null;

    }   

    @Override
    public boolean onUnbind(Intent intent) {

        // TODO Auto-generated method stub

        return super.onUnbind(intent);

    }

}
Сервис - это контекст ... shkschneider

Ваш Ответ

1   ответ
1

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

PendingIntent sender = PendingIntent.getBroadcast(this,
приватная статическая final int IntentID = 10; PendingIntent sender = PendingIntent.getBroadcast (this, IntentID, intent, 0); Dimmerg
Это "код заявки"Вы можете определить это самостоятельно:developer.android.com/reference/android/app/..., int, android.content.Intent, int) Но для более подробной информации об этом коде вы должны снова погуглить) Dimmerg
Спасибо! Это решило проблему с ошибкойконтекст не может быть решен ". Однако я'я все еще получаюконтекст не может быть преобразован в переменную на линии: PendingIntent sender = PendingIntent.getBroadcast (context, Integer.parseInt (Long.toString (id)), intent, 0); Amani Swann
Аааа ... спасибо! (Также - у меня есть один последний вопрос / ошибка в моем источнике: идентификатор не может быть разрешен в переменную - я не вижу его объявленным в примере SOЯ пытаюсь использовать - какие-либо предложения?) Amani Swann

Похожие вопросы