我正在尝试通过仅指定其在其他应用程序中的 Activity 的 Intent 过滤器中定义的操作(自定义)来启动 Activity 。要启动的 Activity 是其应用程序的主要 Activity ,因此将 android.intent.action.MAIN
和 android.intent.category.LAUNCHER
设置为其操作和类别 Intent 过滤器。现在根据关于 Intent 和 Intent Filter 的 android 文档,在这种情况下我根本不需要指定 DEFAULT
类别。但是我无法启动该 Activity 。
LogCat 说,找不到 Activity...
我是不是误解了文本,还是缺少其他内容...?
代码,用于调用 Activity
Intent i=new Intent();
i.setAction("android.AddressBookV4.firstActivity");
startActivity(i);
list 文件中调用的Activity的定义
<activity android:name=".AddressBook"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.AddressBookV4.firstActivity" />
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
最佳答案
您需要添加 LAUNCHER
类别到您的 Intent
, 自 <intent-filter>
说它匹配以下 Intent (伪代码):
((action IS "android.AddressBookV4.firstActivity")
OR (action IS "android.intent.action.MAIN"))
AND (category IS "android.intent.category.LAUNCHER")
关于android - 无法使用仅指定操作的隐式 Intent 启动 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2385219/