我在以下代码中得到一个ActivityNotFoundException
:
Main.java
Intent intent = new Intent();
intent.setAction("com.test.app.TEST");
startActivity(intent); // ActivityNotFoundException
Manifest.xml
<activity android:name=".MainActivity" android:theme="@android:style/Theme.Dialog">
<intent-filter>
<action android:name="com.test.app.TEST" />
</intent-filter>
</activity>
最佳答案
正如jpahn简明扼要地描述的那样,我也遇到了这个问题。
前段时期对我没有任何帮助。
即使完全是这样(包括编辑的原始问题的副本),我仍然会收到ActivityNotFoundException。
Main.java
Intent intent = new Intent();
intent.setAction("com.test.app.TEST");
startActivity(intent); // ActivityNotFoundException
Manifest.xml
<activity android:name=".MainActivity" android:theme="@android:style/Theme.Dialog">
<intent-filter>
<action android:name="com.test.app.TEST" />
</intent-filter>
</activity>
经过反复试验,可以通过将其简单地添加到 list 中的意图过滤器中来解决此问题:
<category android:name="android.intent.category.DEFAULT" />
因此,最终的 list 文件包含:
<activity android:name=".MainActivity" android:theme="@android:style/Theme.Dialog">
<intent-filter>
<action android:name="com.test.app.TEST" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>