0

I have a problem with broadcast receiver. it doesn`t start an activity from onReceive() method this is my Manifest:

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <receiver 
        android:name=".MyBroadcastReceiver">
        <intent-filter>
            <action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
        </intent-filter>
    </receiver>
    <activity
        android:name=".BatteryActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity 
        android:name=".ChargeConnected">
        <intent-filter>
            <action android:name="gang.my_package.Battery.CHARGE_CONNECTED"/>
            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>
    </activity>
</application>

and this is my method onReceive():

public void onReceive(Context context, Intent intent) 
{
    // TODO Auto-generated method stub
    Intent myIntent = new Intent("gang.my_package.Battery.CHARGE_CONNECTED");
    context.startActivity(myIntent);
    //Toast.makeText(context, "Hello World!", Toast.LENGTH_LONG).show();
}

when I try to make a Toast, it works. but if I try to start a new activity, it does not work. so what`s the problem? help please

Zakharov Roman
  • 739
  • 3
  • 13
  • 31

1 Answers1

1

The problem is that your myIntent variable doesn't describe an activity to start. http://www.androidcompetencycenter.com/2009/03/tutorial-how-to-start-a-new-activity/ has one example of describing a valid Activity intent (for an Activity that is within your current application). How to start activity in another application? shows creating a generic activity intent (meaning it can be in any application).

Community
  • 1
  • 1
mah
  • 39,056
  • 9
  • 76
  • 93