我有一个应用程序,用户可以上传任何扩展名的文件(例如.png、.mp3、.txt、.pdf、.bmp、.apk等等)
这些文件会在列表视图中显示。
当用户点击列表视图中的项目时,将调用意图(android.content.Intent.ACTION_VIEW
),并应该打开设备中已安装的相应应用程序。
例如
如果用户点击nature.png,则会调用意图并建议类似于Gallery、PS Touch等应用程序(如屏幕截图1所示)
如果用户点击book.pdf,则会调用意图并建议类似于MuPdf、Polaris Office、apv等应用程序(如屏幕截图2所示)
对于 .txt、.pdf、.png 和 .jpg--我通过设置mime类型 intent.setDataAndType(Uri.fromFile(file), mime);
解决了这个问题
同时也适用于URL
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(https://www.google.co.in/));
它的功能完美无缺,但对于其他文件扩展名我仍然感到困惑 - 我该怎么做?如何做?
我已经搜索过了,但没有得到令人满意的答案..!
我的问题:
- 如何编写代码以处理任何文件扩展名,使其调用安装在设备上的相应应用程序?
- 如何在XML中定义自定义文件扩展名?