Android打开文件

本文介绍了一个通用的方法,用于在Android设备上打开各种类型的文件。通过使用Intent和根据文件扩展名确定MIME类型的方式,该方法能够智能地选择合适的程序来打开文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/* 在手机上打开文件的method */
       private void openFile(File f)
       {
         Intent intent = new Intent();
         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         intent.setAction(android.content.Intent.ACTION_VIEW);
        
         /* 调用getMIMEType()来取得MimeType */
         String type = getMIMEType(f);
         /* 设置intent的file与MimeType */
         intent.setDataAndType(Uri.fromFile(f),type);
         startActivity(intent);
       }

       /* 判断文件MimeType的method */
       private String getMIMEType(File f)
       {
         String type="";
         String fName=f.getName();
         /* 取得扩展名 */
         String end=fName.substring(fName.lastIndexOf(".")
         +1,fName.length()).toLowerCase();
        
         /* 依扩展名的类型决定MimeType */
         if(end.equals("m4a")||end.equals("mp3")||end.equals("mid")||
         end.equals("xmf")||end.equals("ogg")||end.equals("wav"))
         {
           type = "audio";
         }
         else if(end.equals("3gp")||end.equals("mp4"))
         {
           type = "video";
         }
         else if(end.equals("jpg")||end.equals("gif")||end.equals("png")||
         end.equals("jpeg")||end.equals("bmp"))
         {
           type = "image";
         }
         else if(end.equals("apk"))
         {
           /* android.permission.INSTALL_PACKAGES */
           type = "application/vnd.android.package-archive";
         }
         else
         {
           type="*";
         }
         /*如果无法直接打开,就跳出软件列表给用户选择 */
         if(end.equals("apk"))
         {
         }
         else
         {
           type += "/*"; 
         }
         return type; 
       }

这是个通用的方法,用来打开任意类型文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值