微型技术博客-对文件的管理

对读写权限的处理

[java]  view plain  copy
  1. public class AppUtil {  
  2.     // Storage Permissions  
  3.     private static final int REQUEST_EXTERNAL_STORAGE = 1;  
  4.     private static String[] PERMISSIONS_STORAGE = {  
  5.         Manifest.permission.READ_EXTERNAL_STORAGE,  
  6.         Manifest.permission.WRITE_EXTERNAL_STORAGE };  
  7.          
  8.     public static void verifyStoragePermissions(Activity activity) {  
  9.         // Check if we have write permission  
  10.         int permission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);  
  11.         if (permission != PackageManager.PERMISSION_GRANTED) {  
  12.             // We don't have permission so prompt the user  
  13.             ActivityCompat.requestPermissions(activity, PERMISSIONS_STORAGE, REQUEST_EXTERNAL_STORAGE);  
  14.         }  
  15.     }  
  16.   
  17. }  


建立一个MIME类型与文件后缀名的匹配表
  

[java]  view plain  copy
  1. private final String[][] MIME_MapTable = {  
  2.            //{后缀名,    MIME类型}  
  3.            {".3gp""video/3gpp"},  
  4.            {".apk""application/vnd.android.package-archive"},  
  5.            {".asf""video/x-ms-asf"},  
  6.            {".avi""video/x-msvideo"},  
  7.            {".bin""application/octet-stream"},  
  8.            {".bmp""image/bmp"},  
  9.            {".c""text/plain"},  
  10.            {".class""application/octet-stream"},  
  11.            {".conf""text/plain"},  
  12.            {".cpp""text/plain"},  
  13.            {".doc""application/msword"},  
  14.            {".exe""application/octet-stream"},  
  15.            {".gif""image/gif"},  
  16.            {".gtar""application/x-gtar"},  
  17.            {".gz""application/x-gzip"},  
  18.            {".h""text/plain"},  
  19.            {".htm""text/html"},  
  20.            {".html""text/html"},  
  21.            {".jar""application/java-archive"},  
  22.            {".java""text/plain"},  
  23.            {".jpeg""image/jpeg"},  
  24.            {".jpg""image/jpeg"},  
  25.            {".js""application/x-javascript"},  
  26.            {".log""text/plain"},  
  27.            {".m3u""audio/x-mpegurl"},  
  28.            {".m4a""audio/mp4a-latm"},  
  29.            {".m4b""audio/mp4a-latm"},  
  30.            {".m4p""audio/mp4a-latm"},  
  31.            {".m4u""video/vnd.mpegurl"},  
  32.            {".m4v""video/x-m4v"},  
  33.            {".mov""video/quicktime"},  
  34.            {".mp2""audio/x-mpeg"},  
  35.            {".mp3""audio/x-mpeg"},  
  36.            {".mp4""video/mp4"},  
  37.            {".mpc""application/vnd.mpohun.certificate"},  
  38.            {".mpe""video/mpeg"},  
  39.            {".mpeg""video/mpeg"},  
  40.            {".mpg""video/mpeg"},  
  41.            {".mpg4""video/mp4"},  
  42.            {".mpga""audio/mpeg"},  
  43.            {".msg""application/vnd.ms-outlook"},  
  44.            {".ogg""audio/ogg"},  
  45.            {".pdf""application/pdf"},  
  46.            {".png""image/png"},  
  47.            {".pps""application/vnd.ms-powerpoint"},  
  48.            {".ppt""application/vnd.ms-powerpoint"},  
  49.            {".prop""text/plain"},  
  50.            {".rar""application/x-rar-compressed"},  
  51.            {".rc""text/plain"},  
  52.            {".rmvb""audio/x-pn-realaudio"},  
  53.            {".rtf""application/rtf"},  
  54.            {".sh""text/plain"},  
  55.            {".tar""application/x-tar"},  
  56.            {".tgz""application/x-compressed"},  
  57.            {".txt""text/plain"},  
  58.            {".wav""audio/x-wav"},  
  59.            {".wma""audio/x-ms-wma"},  
  60.            {".wmv""audio/x-ms-wmv"},  
  61.            {".wps""application/vnd.ms-works"},  
  62.            //{".xml",    "text/xml"},  
  63.            {".xml""text/plain"},  
  64.            {".z""application/x-compress"},  
  65.            {".zip""application/zip"},  
  66.            {"""*/*"}  
  67.    };  
打开一个文件 先要获取到文件的类型以及其对应的信息然后通过intent去寻找打开对应文件的功能

[java]  view plain  copy
  1. /** 
  2.  * 打开文件 
  3.  * 
  4.  * @param file 
  5.  */  
  6. private void openFile(File file) {  
  7.     if( file == null ) {  
  8.         return;  
  9.     }  
  10.     //Uri uri = Uri.parse("file://"+file.getAbsolutePath());  
  11.     Intent intent = new Intent();  
  12.     intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
  13.     //设置intent的Action属性  
  14.     intent.setAction(Intent.ACTION_VIEW);  
  15.     //获取文件file的MIME类型  
  16.     String type = getMIMEType(file);  
  17.     //设置intent的data和Type属性。  
  18.     intent.setDataAndType(Uri.fromFile(file), type);  
  19.     //跳转  
  20.   
  21.     try {  
  22.         startActivity(intent);  
  23.     } /*catch(E) { 
  24.  
  25.     } */catch (Exception e) {  
  26.         e.printStackTrace();  
  27.     }  
  28. }  

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值