由于某些技术原因,我无法使用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,当我执行上面的代码时,我只得到了可用于工作个人资料的应用程序列表,这是预期的结果。
但从上面的代码返回的结果之一是"切换到个人模式",它列出了在Android文件选择器中安装在个人帐户中的应用程序。
所以问题是,我如何获得相同的行为?如何从个人资料中查询意图活动?