2012-04-21 2 views
5

私はアンドロイドにファイルエクスプローラアプリを開発しています。 拡張子が不明なファイルを処理するにはどうすればよいですか?私がこの種のファイルを開こうとすると、その例外ActivityNotFound例外がスローされます。しかし私は、アプリケーションを手動で選択して開くことができるように、システムのリストをポップアップしてほしい。 誰でも私を助けることができますか?Android:未知のファイルタイプを開く方法

ファイルとその拡張子をインテントにバインドしてファイルを開くアクティビティを開始します。

Intent intent = new Intent(Intent.ACTION_VIEW); 
MimeTypeMap mime = MimeTypeMap.getSingleton(); 
String ext = file.getName().substring(file.getName().lastIndexOf(".") + 1); 
String type = mime.getMimeTypeFromExtension(ext); 
intent.setDataAndType(Uri.fromFile(new File(file.toString())), type); 
try 
{ 
    startActivity(intent); 
} 
catch(Exception e){} 

答えて

4

ActivityNotFound特定のファイルタイプを処理できるアプリケーションが登録されていない場合にスローされます。つまり、表示するアプリのリストは空になります。

彼の状況に対処する最も適切な方法は、ActivityNotFound例外をキャッチして、ファイルを開く適切なアプリケーションがないことをユーザーに通知することです。

すべてのアンドロイドブラウザはこのように処理されます。

私は同じ問題を対象とし、それをもう少し詳しくここから、このリンク、去る
+0

Asusのファイルマネージャ(4.4)をリスト一般的な「として開く」だ与えます4つの項目は一般的なカテゴリ(テキスト、イメージ、オーディオ、ビデオ)を表します。 1つを選択すると、ファイルを開くための関連するアプリのリストが表示されます(Windowsのように)。 – samosaris

関連する問題