I am trying to start the main activity from inside a BroadcastReceiver. I dont want to supply the activity class name but to use the action and category for android to figure out the main activity.
It doesnt seem to work.
Sending Code:
Intent startIntent = new Intent();
startIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startIntent.setAction(Intent.ACTION_MAIN);
startIntent.setPackage(context.getPackageName());
startIntent.addCategory(Intent.CATEGORY_LAUNCHER);
context.startActivity(startIntent);
I get this error:
Caused bt: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 pkg=com.xyz.abc (has extras) }
Any ideas?
Even I had been trying to launch the MainActivity via a library Activity.
And this worked for me:
Make sure you add the activity in your library's manifest!
this is not the right way to startActivity.
try this code instead:
Copy from another topic:
This works since API Level 3 (Android 1.5):