现象描述:
在一个activity中启动一个隐示intent,如下:
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction("com.lby.action");
startActivity(intent);
}
});
在AndroidManifest.xml中配置相应的activity如下:
<activity
android:name="SecondActivity"
>
<intent-filter >
<action android:name="com.lby.action"/>
</intent-filter>
</activity>
点击button 的时候,报了android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.lby.action }这个错误,原因是配置intent-filter的时候,漏了配置category,虽然有默认值,但还得加上,如:
<activity
android:name="SecondActivity"
>
<intent-filter >
<action android:name="com.lby.action"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
这样就可以了
本文介绍了一个常见的Android开发问题——ActivityNotFoundException,并提供了详细的解决方案。当使用隐示Intent启动Activity时,如果缺少必要的category配置,则会导致该异常。文章通过具体示例说明如何正确配置AndroidManifest.xml文件中的intent-filter来避免这一问题。
8446

被折叠的 条评论
为什么被折叠?



