当前位置: 首页 > 知识库问答 >
问题:

从已安装的应用程序获取所有Twitter客户端

燕英奕
2023-03-14

我想知道列出安装在手机上的所有Twitter客户端是否可行。起初,我认为可以通过将包名与“Twitter”匹配来实现。但Android上的大多数Twitter客户端的软件包名称中都没有“Twitter”名称。

我们可以获取具有特定权限的应用程序列表,但这对我没有帮助。获取具有特定自定义意图的应用程序可能也不会有帮助,我仍然需要找到一种方法来获取处理自定义意图的应用程序列表。

这似乎不可行,但一定有某种方法至少能让我接近我想要的。有人想解释一下吗?

共有1个答案

田巴英
2023-03-14

我不知道是否有某种方法可以获取“twitter客户端”(我们如何定义twitter客户端?)
您可以在设备上安装的软件包上获取名称列表(您知道的twitter客户端)。

final List<PackageInfo> apps = context.getPackageManager().getInstalledPackages(0);
final String separator = ";";
final String separatorVersion = "-";

//Log.i("Package list", "num:+"+apps.size());
for (PackageInfo infoApp : apps) {
    for (TwitterClient tr : mapTwitterClient.values()) {
        if (infoApp.packageName.contains(tr.getPackageName()) ) { //it's a Twitter client this package?
            if (!twitterClients.equals("")) {
                twittersClients += separator;
            }
            twitterClients += tr.getCommonName()+separatorVersion+infoApp.versionName;
        }
    }
}

您需要创建类TwitterClient,它只有2个属性(PackageName和通用名称)和他的getters/setters。

并用你知道的所有TwitterClient(例如:新TwitterClient(“com.twitter.android”,“twitter官方”))填充地图;

private static final HashMap<String, TwitterClient> mapTwitterClient

这种方法很难处理,所以要聪明地使用。

 类似资料:
  • 问题内容: 是否可以使用Java从Windows Vista计算机中获取已安装应用程序的列表(如来自卸载程序的列表)? 问题答案: 不是解决方案,而是解决方法! 如果没有外部API的支持,则无法使用Java SDK获取Windows本机信息。代替使用外部API(主要由LGPL许可且未完全开放),我们可以使用shell命令来获取相同的信息。 要获取已安装的软件列表,请使用ProcessBuilder

  • 我试着在我的Android手机上获取已安装应用程序的APK文件,我遵循了这个答案,它说不需要root访问。 我知道Facebook应用程序包的名称是,我看到它与命令。 然后,我在命令行中尝试: 它返回: 但输出为: 为什么我不能得到APK,但答案说它的工作?

  • 我在Play Store中有一个应用程序。 现在,我需要用更新的版本来更新它。在将其推送到Playstore之前,我想我会用APK检查迁移。 我从Playstore安装了现有版本。现在,我试图安装最新的(签名)apk。但它说,应用程序无法安装。 这个确切的案例正在与Playstore合作。我尝试了发行版。它工作正常。 我错过什么了吗。。? 提前谢谢

  • 我开发了一个多月的Android应用程序,但我的电脑死机了,我丢失了所有的代码。我在测试手机和平板电脑上安装了一个经过编译的应用程序。有没有办法从中提取源代码 我遵循了一些游戏模仿者指南(他们可能正在做类似的事情),我已经提取了。apk和一个名为Total Commander的应用程序。现在,指南说明我应该使用apktool提取它。但所有文件仍然是二进制的(当我打开它们时,我得到了随机字符)。现在

  • 我希望能够得到字符串包名称和图标的所有应用程序安装在我的手机上。我所做的:浏览并找到了这个解决方案 问题是,它将包和类名混合显示,而我无法获取图标。我想要的是向用户显示手机上安装的所有应用程序的列表和图标。我还需要能够获得带有。我假设使用一系列应用程序名和包名,它们的位置相同,我就可以做到这一点。但是我怎样才能用软件包名获得应用程序图标和名称呢。最好是作为数组或ArrayList,我可以将其转换为

  • 问题内容: 当我说“已安装的应用程序”时,基本上是指在[控制面板]-> [添加/删除程序]中可见的任何应用程序。 我更喜欢用Python来做,但是C或C ++也可以。 问题答案: 如果您是指控制面板的“添加\删除程序”中显示的已安装应用程序列表,则可以在注册表项中找到它: 有关注册表树结构的更多信息,请参见此处。 您需要在python中使用winreg API 来从注册表中读取值。