3

特定のファイルタイプを開くために使用できるアプリケーションのリストを表示するダイアログを作成しようとしています。

同じ問題で動作するスタックオーバーフローに関するいくつかの質問をここで見てきましたが、答えがないために迷子になります。特に、私はこの質問を見てきました:

Android で、ファイルの種類に基づいてアプリケーション セレクターを表示するにはどうすればよいですか?

私のフォローアップの質問は次のとおりです。

  • をどうするList<ResolveInfo>か?
  • 利用可能なアプリケーションを名前とアイコンで表示するにはどうすればよいですか?
  • ユーザーがアプリケーションを選択したときに、選択したアイテムの ResolveInfo に基づいてアプリケーションを開始するにはどうすればよいですか?
4

1 に答える 1

3

特定の MIME タイプを開くことができるアプリケーションの完全なリストを提供する解決策を見つけました。リストをより具体的にして、いくつかのアプリケーションのみを表示したいので、これは最善ではありません (たとえば、それがブラウザのみを開きたい URL である場合) が、目的には役立ちます。

これが私がしたことです:

File file = new File( "myFileLocation.txt" );
String extension = MimeTypeMap.getFileExtensionFromUrl( file.getPath() );
String type = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);

Intent intent = new Intent();
intent.setAction( Intent.ACTION_VIEW );
intent.setDataAndType( Uri.fromFile( file ), type );    
context.startActivity( intent );
于 2011-10-04T08:18:40.373 に答える