【发布时间】:2018-02-09 22:15:09
【问题描述】:
由于某些技术原因,我无法使用 Android 文件选择器 将文件及其内容获取到我的应用程序中。这就是为什么我想出了一个在我自己的 UI 上查询意图并处理结果的解决方案。
这是我使用Intent.ACTION_GET_CONTENT 获取应用程序列表的方法
/* Create a new Intent to Read a File */
Intent documentIntent = new Intent(Intent.ACTION_GET_CONTENT);
documentIntent.setType((action == ACTION_SELECT_FILE) ? "*/*" : "image/*");
/* Query for Applications to see which are available */
List<ResolveInfo> appList = getActivity().getPackageManager().queryIntentActivities(documentIntent, PackageManager.MATCH_DEFAULT_ONLY);
这很好用,并列出了可以处理我的请求的应用程序。
但我正在使用 Android for Work,当我执行上面的代码时,我只获得了 Work Profile 可用的应用程序列表,这是预期的。
但上面代码返回的结果之一是“切换到个人”,它列出了 Android 文件选择器个人帐户中安装的应用程序/strong>。
所以问题是,我怎样才能获得相同的行为?如何从个人资料中查询意图活动?
【问题讨论】:
-
如果我错了,请纠正我,但我猜您正在尝试使用安装在个人资料中的应用程序 [任何应用程序],然后从您在工作资料中运行的应用程序启动它?是这样吗?
-
@riyaz-ali 有点像。我正在尝试获取可以在个人资料中处理 GET_CONTENT 操作的应用程序列表。所以我可以启动它(例如文件资源管理器应用程序)并将数据从这个应用程序获取到我在工作配置文件下工作的应用程序中。
标签: android android-intent android-package-managers android-for-work