Android Broadcaststreciever

#android

#Android

Вопрос:

Я создаю приложение, в котором я использую широковещательный приемник. Я новичок в Android, поэтому я не уверен, как добавить приемник в файл манифеста. Мой код:

 <receiver android:name="Reciever" />
  

Reciever это имя класса, который расширяется BroadcastReceiver . Когда пользователь нажимает на кнопку, то через 5 секунд я хочу вызвать этот приемник. Итак, я написал это:

 AlarmManager am= (AlarmManager) getSystemService(ALARM_SERVICE);
am.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, cal.getTimeInMillis(), sender);
  

Здесь «отправитель» — ожидающее намерение.
Но это не работает, пожалуйста, подскажите мне?

Комментарии:

1. Попробуйте это настраиваемые намерения и широковещание

2. Да, я использовал, но это выдает мне исключение «сбой во время запроса: исключение java.net.SocketException: семейство адресов не поддерживается протоколом»

3. перейдите по этой ссылке … может помочь вам android-er.blogspot.com/2010/07 /…

4. Тогда проблема с вашим подключением к сокету, а не с этим кодом

Ответ №1:

Android:name должно указывать на класс приемника, например ‘com.foo.TestReceiver’ или просто ‘.TestReceiver’, потому что вы, возможно, указали имя пакета ранее. Кроме того, просто наличие приемника не имеет особого смысла. Вам нужен тег внутри приемника, чтобы указать триггер при запуске вашего приемника. Взгляните на примеры кода, представленные на сайте разработчика, для получения дополнительной информации.

Ответ №2:

Вы пропустили a. перед именем получателя.

Это должно быть

 <receiver android:name=".Reciever"></receiver>