gpt4 book ai didi

Android - 无法启动库项目的 Activity

转载 作者:行者123 更新时间:2023-11-30 00:38:02 26 4
gpt4 key购买 nike

我正在开发一个库。我希望使用我的库的应用程序应该能够使用我的自定义操作通过隐式 Intent 启动我的主要 Activity 。但是自定义 Intent 不起作用。它说“找不到任何 Activity 来处理带有 action = 'my custom action' 的 Intent ”。下面是我的代码:

Intent intent = new Intent();
intent.setAction("my.custom.action");
intent.addCategory("android.intent.category.DEFAULT");
intent.putExtra("foo","bar");
startActivity(intent);

我也尝试过使用包名来获取 Intent ,但它也没有用(尽管我不想使用这种方法,因为我不想公开我的包名和组件)

Intent intent = getPackageManager().getLaunchIntentForPackage("com.happay.android.acslibrary");

最后我尝试使用显式 Intent :

Intent intent = new Intent(this,LibMainActivity.class);
startActivity(intent);

这没有引发异常,但没有打开我的图书馆 Activity 。它只是从我的主要项目中打开了相同的 Activity 。这是我在其中注册 Activity 的图书馆项目 list :

<activity android:name=".LibMainActivity">
<intent-filter>
<action android:name="my.custom.action" />

<category android:name="android.intent.category.DEFAULT" />

</intent-filter>
</activity>

我做错了什么?

最佳答案

Intent 中删除类别你传递给startActivity() .您添加了类别 LAUNCHERIntent ,但是你的 <intent-filter>仅包含类别 DEFAULT .没有匹配项。根据documentation for matching Intent s :

Categories match if all of the categories in the Intent match categories given in the filter. Extra categories in the filter that are not in the Intent will not cause the match to fail. Note that unlike the action, an IntentFilter with no categories will only match an Intent that does not have any categories.

关于Android - 无法启动库项目的 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43086481/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com