开发者

Unable to get implicit intents to work

I'm learning how to use implicit intents along with intent filters, and have so far been unable to get the correct activity to fire. The code that is used to fire the intent is:

intent = new Intent();
intent.setAction("com.appsculture.intent.action.PLUGIN_RECEIVER");
startActivity(intent);

And the Intent filter for the desired activity is:

<activity android:name="PluginReceiver">
<intent-filter>
    <action android:name="com.appsculture.intent.action.PLUGIN_RECEIVER"></action>
</intent-filter>
</activity>

The error I get is the standard ActivityNotFound

09-04 17:15:27.827: ERROR/AndroidRuntime(2552): android.content.ActivityNotFoundException: No开发者_C百科 Activity found to handle Intent { act=com.appsculture.intent.action.PLUGIN_RECEIVER }

Solution: Simply addeded the android.intent.category.DEFAULT category to the intent filter

Works like a charm after that


I managed to solve this by simply adding the android.intent.category.DEFAULT category to the intent filter. Works like a charm after that.

As Commonsware has indicated in a comment on his answer, a category is required for Activities, though not for services or broadcast receivers.


Everything you have there should be fine, though I'd use new Intent("com.appsculture.intent.action.PLUGIN_RECEIVER"), and the use of RECEIVER seems like an odd piece of an action name for an Activity instead of a BroadcastReceiver.

If these are in two separate applications, make sure both are installed on your device or emulator, with the latest code (i.e., you didn't make the change and then fail to install the updated app).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜