Android: событие ACTION_POWER_CONNECTED не отправлено моему BroadcastReceiver - PullRequest
7 голосов
/ 20 января 2010

Я хочу сделать что-то после того, как телефон вставлен в зарядное устройство. Так что я создано ChargingOnReciever:

public class ChargingOnReceiver extends BroadcastReceiver { 
    public void onReceive(Context context, Intent intent) { 
        context.startActivity(someActivity);
        Log.d(TAG, "Phone was connected to power");
    } 
} 

и я хочу, чтобы мой приемник прослушал android.intent.action.ACTION_POWER_CONNECTED, поэтому я ввел это в манифест:

<reciever android:name=".ChargingOnReceiver"
          android:enabled="true"
          android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
    </intent-filter>
</reciever>

Но ChargingOnReceiver явно не запускается, когда я кладу свой G1 в зарядное устройство (подключите к ноутбуку через USB-кабель). Буду признателен за любую оказанную помощь.

Ответы [ 4 ]

26 голосов
/ 21 января 2010

Это приемник, а не приемник! Мне понадобилось 5 часов, чтобы найти эту глупую ошибку. Я думаю, что плагин Android Eclipse должен выполнить некоторую проверку синтаксиса в xml манифеста.

2 голосов
/ 31 октября 2018

Для тех, кто пытается зарегистрировать получатель для "android.intent.action.ACTION_POWER_CONNECTED" и "android.intent.action.ACTION_POWER_DISCONNECTED", я хотел бы добавить:

В рамках Android 8.0 (уровень API 26) Пределы выполнения фона, приложения, ориентированные на уровень API 26 или выше, больше не могут регистрироваться широковещательные приемники для неявных трансляций в их манифесте. Тем не менее, несколько передач в настоящее время освобождены от этих ограничения. Приложения могут продолжать регистрировать слушателей для освобожденных широковещательные сообщения, независимо от того, какой уровень API предназначен для приложений.

Вышеупомянутые две трансляции больше не находятся в списке этих исключенных трансляций. Пожалуйста, обратитесь к документации ниже:

https://developer.android.com/guide/components/broadcast-exceptions

0 голосов
/ 21 февраля 2011

В документации напишите android.intent.action.POWER_CONNECTED без ACTION_.

0 голосов
/ 20 января 2010
  1. Не начинать деятельность с BroadcastReceiver.

  2. Проверяли ли вы LogCat во время подключения USB-кабеля, чтобы выяснить, есть ли в журнале сообщения, которые могут объяснить вашу проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...