ファイルを開くことができないことをユーザに伝えるのではなく「サポートされているアプリケーションがありません」(つまりSamsung)か何か、 などAsus(KitKat)はファイルマネージャでアプリを選択します。 test.noappという名前のファイルを開くと、テキストを選択する次のプロンプトAndroid(6.0)で不明なファイルタイプを開く
を与え、その後、テキスト処理アプリケーション
のリストを与える私はロールバックする必要があります私自身の"カテゴリリストとして開くか、またはAPI(レベル23)に私が活用できるものがありますか?
次のコードは、ファイル
Intent viewFileIntent = new Intent(Intent.ActionView);
Android.Net.Uri uriFile = Android.Net.Uri.FromFile(selectedAttachmentDetails.File);
string mimeType = GetAttachmentFileTypeMimeString(selectedAttachmentDetails.File.Name);
viewFileIntent.SetDataAndType(uriFile, mimeType);
THIS.StartActivityForResult(Intent.CreateChooser(viewFileIntent, "Complete action using"), 0);
private string GetAttachmentFileTypeMimeString(string attachmentFileName)
{
string ext = Android.Webkit.MimeTypeMap.GetFileExtensionFromUrl(attachmentFileName);
Android.Webkit.MimeTypeMap map = Android.Webkit.MimeTypeMap.Singleton;
string mimeType = map.GetMimeTypeFromExtension(ext);
return mimeType == null ? "*/*" : mimeType;
}
これは私がそれを自分自身を書くことだった場合、私はそれを実装するために考え出した方法ですが、私だけで可能な限りAPIを活用することなどです。 – samosaris
私はタイプを識別するために 'MimeTypeMap'を使用しています。 * null *を返すと、ユーザーはそれらを推測することなく、(* "*/*" 'があまりにも大きなリストを与えるので、カテゴリに分解することはできません)。 – samosaris
@SamusArinはい、ダイアログを表示して、 'text/*'、 'audio/*'などに絞り込むことができます。 –