技術的な理由により、Android File Pickerを使用してファイルとそのコンテンツをアプリケーションに取り込むことができません。そのため、意図を照会し、独自の 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で使用できるアプリケーションのリストしか取得できません。これは予想どおりです。
しかし、上記のコードから返される結果の 1 つは、Android File PickerのPersonal Accountにインストールされているアプリケーションを一覧表示する "Switch to Personal"です。
問題は、どうすれば同じ動作を得ることができるかということです。個人プロファイルからインテント アクティビティを照会するにはどうすればよいですか?