tags:

views:

136

answers:

2

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.

A: 
  1. Do not start an activity from a BroadcastReceiver.

  2. 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?

CommonsWare
1. I am starting activity only for testing purposes, to see if onReceive is called.2. Unfortunately I could't find anything helpful in the log messages...
fhucho
A: 

It's receiver, not reciever! It took me 5 hours to find this stupid bug. I think that the Android Eclipse plugin should definitely do some syntax checking for the manifest xml.

fhucho