我正在尝试创建一个对话框,它将显示打开给定文件类型的可用应用程序列表。
我一直在 stackoverflow 上查看一些解决相同问题的问题,但由于缺乏答案而迷失了方向。我特别关注这个问题:
在 Android 中,如何根据文件类型显示应用程序选择器? https://stackoverflow.com/questions/4834374/in-android-how-can-i-display-an-application-selector-based-on-file-type
我的后续问题是:
- 该怎么办
List<ResolveInfo>
?
- 如何显示可用应用程序的名称和图标?
- 当用户选择一个应用程序时,如何根据所选项目的ResolveInfo启动它?
我找到了一个解决方案,它为我提供了可以打开给定 mimetype 的应用程序的完整列表。这不是最好的,因为我希望列表更具体,并且只有一些应用程序(例如,如果它是一个我想打开的 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 );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)