java打开android_Java-在Android中使用默认应用程序打开文件

我正在用android做一个文件浏览器.因此,我想单击目录以外的任何文件时,都希望得到可以打开它的应用程序的建议,如果没有应用程序,则显示一个目录.我尝试了一些解决方案,但没有任何效果,所以,现在,我只是显示文件不是Toast中的目录

这是代码的一部分:

protected void onListItemClick(ListView l, View v, int position, long id) {

String filename = (String) getListAdapter().getItem(position);

if (path.endsWith(File.separator)) {

filename = path + filename;

} else {

filename = path + File.separator + filename;

}

if (new File(filename).isDirectory()) {

Intent intent = new Intent(this, ListFileActivity.class);

intent.putExtra("path", filename);

startActivity(intent);

} else {

Toast.makeText(this, filename + " is not a directory", Toast.LENGTH_LONG).show();

}

}

解决方法:

Android具有一些内置的Intent Action Type,可帮助您打开或查看特定文件,但是为此,您需要知道要处理的文件类型.

假设如果您使用的文件类型归类为文档类型,

具有特定MIME_TYPE(Android 4.4或更高版本)的ACTION_OPEN_DOCUMENT

或如果您要处理某些媒体文件(音频/视频)

您可以使用,

ACTION_VIEW

要识别特定文件的MIME_TYPE,您可以使用函数

guessContentTypeFromName(字符串URL)Link

或getMimeTypeFromExtension(字符串扩展)Link

标签:android-intent,java,android

来源: https://codeday.me/bug/20191120/2043302.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值