I want to do something after the the phone is put into charger. So I
created ChargingOnReciever
:
public class ChargingOnReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
context.startActivity(someActivity);
Log.d(TAG, "Phone was connected to power");
}
}
and I want my receiver to listen to android.intent.action.ACTION_POWER_CONNECTED
, so I put this into manifest:
<reciever android:name=".ChargingOnReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
</intent-filter>
</reciever>
But ChargingOnReceiver
is apparently not started when I put my G1 to charger
(connect to my notebook via USB cable). Any help is much appreciated.
It's receiver, not reciever! It took me 5 hours to find this stupid bug. I think that the Android Eclipse plugin should do some syntax checking in the manifest xml.
In documentation, write
android.intent.action.POWER_CONNECTED
withoutACTION_
.For anyone trying to register receiver for "android.intent.action.ACTION_POWER_CONNECTED" and "android.intent.action.ACTION_POWER_DISCONNECTED" , I would like to add :
The above two broadcasts are no longer in the list of these exempted broadcasts. Please refer the documentation below :
https://developer.android.com/guide/components/broadcast-exceptions
Do not start an activity from a
BroadcastReceiver
.Have you examined LogCat at the time you plug in the USB cable to see if there are any logged messages that might explain your problem?