Как реализовать приемник тревоги? - PullRequest
0 голосов
/ 27 января 2019

Я начинаю узнавать о AlarmManager и хочу запустить трансляцию, чтобы получить некоторую информацию с сервера.Документация о намерениях и тревогах ясна, но я не могу найти ничего о том, как должна выглядеть принимающая сторона.

Это мой код тревоги:

AlarmManager aMgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(this, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
aMgr.setInexactRepeating(AlarmManager.ELAPSED_REALTIME, 
            SystemClock.elapsedRealtime() + 10000, 
            AlarmManager.INTERVAL_FIFTEEN_MINUTES, pendingIntent);

и мой AlarmReceiverэто так:

public class AlarmReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Log.d(MainActivity.TAG, "Received intent");
    }
}

Но ничего не происходит.Я добавил кнопку, чтобы просто запустить трансляцию следующим образом:

public void btnTrigger_onClick(View view) {
    Intent i = new Intent(this, AlarmReceiver.class);
    sendBroadcast(i);
}

, а также здесь ничего не происходит.

Я раньше использовал трансляции, но только с registerReceiver, но я нехочу обработать трансляцию в моем Activity сейчас.

1 Ответ

0 голосов
/ 27 января 2019

Явные широковещательные сообщения - те, в которых Intent имеет имя компонента (т. Е. Класс) - для работы требуется элемент <receiver> в манифесте.

...