列出packages = packageManager.getInstalledApplications(PackageManager.GET_META_DATA);
我知道我可以通过这种方式获取设备上的所有已安装软件包。我如何过滤,以便只获得能够与之共享文本的应用程序?
答案 0 :(得分:0)
这取决于“共享文本链接”的含义。
如果您的ACTION_SEND
类型为text/plain
,请在queryIntentActivities()
上使用PackageManager
Intent
。
如果您指的是ACTION_VIEW
的网址(“文字链接”),请使用queryIntentActivities()
上的PackageManager
Intent
。
这些都不会返回“包”,因为“包”无法“共享文本链接”。 活动可能能够“共享文本链接”; queryIntentActivities()
会报告支持您所需的Intent
结构的活动。