gpt4 book ai didi

java - 查找 Android 应用程序的主要 Activity

转载 作者:行者123 更新时间:2023-12-01 18:55:31 26 4
gpt4 key购买 nike

我有一个自定义启动器,有时想添加一个按钮来启动第三方应用程序。为此,我需要应用程序包名称(很容易找到),还需要应用程序的主要或启动 Activity 。我用它来创建传递给我的应用程序的 Intent 。

例如,要创建启动 Skype 的 Intent ,我使用:

`new Intent().setComponent(new ComponentName("com.skype.raider", "com.skype.raider.Main"))

我通过谷歌搜索找到了主要 Activity 的名称,由于 Skype 是一款流行的应用程序,它最终出现了。

我知道如果我有 APK,我可以打开它并查看 androidmainifest ,但是我根本不知道如何获取某些应用程序的 APK。例如,我想开始 this app from Google Play 。我可以看到包名称 com.dbapp.android.mediahouse,但是我不确定如何获取主要 Activity 的名称(我尝试过 .MAIN)。

我查看了 Chrome 扩展 apk downloader据说可以让你从 Google Play 获取 APK,但它似乎不再有效。

我知道从自定义启动器启动第三方应用程序肯定是相当常见的事情,但我在搜索时没有找到答案。

人们通常如何处理这个问题?您是否从 Google Play 商店获取 APK?如果是,如何获取?同样,我知道我可以通过阅读 list 来获取 Activity ,但在很多情况下我不知道如何获取 APK 本身。任何建议将不胜感激,谢谢!

最佳答案

启动器应该找到MAIN/LAUNCHER设备上的应用程序通过使用 PackageManager 宣传的 Activity 和queryIntentActivities()Here is a sample app实现了这样一个启动器。

PackageManager pm=getPackageManager();
Intent main=new Intent(Intent.ACTION_MAIN, null);

main.addCategory(Intent.CATEGORY_LAUNCHER);

List<ResolveInfo> launchables=pm.queryIntentActivities(main, 0);

然后您可以使用 List<ResolveInfo>显示 ListView 中的可用 Activity , GridView

关于java - 查找 Android 应用程序的主要 Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14124495/

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