无法获得隐含的意图

Rav*_*lla 6 android android-intent

我正在学习如何使用隐式意图和意图过滤器,并且到目前为止还无法获得正确的活动.用于触发intent的代码是:

intent = new Intent();
intent.setAction("com.appsculture.intent.action.PLUGIN_RECEIVER");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

并且所需活动的Intent过滤器是:

<activity android:name="PluginReceiver">
<intent-filter>
    <action android:name="com.appsculture.intent.action.PLUGIN_RECEIVER"></action>
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)

我得到的错误是标准的ActivityNotFound

09-04 17:15:27.827: ERROR/AndroidRuntime(2552): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.appsculture.intent.action.PLUGIN_RECEIVER }
Run Code Online (Sandbox Code Playgroud)

解决方案:只需将android.intent.category.DEFAULT类别添加到intent过滤器即可

之后就像魅力一样

Rav*_*lla 4

我通过简单地将 android.intent.category.DEFAULT 类别添加到意图过滤器来解决这个问题。之后就像魅力一样。

正如 Commonsware 在对其答案的评论中指出的那样,活动需要一个类别,但服务或广播接收器不需要。