1. 程式人生 > >Android 檔案開啟方式

Android 檔案開啟方式

  1. publicstatic Intent openFile(String filePath){  
  2.         File file = new File(filePath);  
  3.         if(!file.exists()) returnnull;  
  4.         String end=file.getName().substring(file.getName().lastIndexOf(".") + 1,file.getName().length()).toLowerCase();   
  5.         if(end.equals("m4a")||end.equals(
    "mp3")||end.equals("mid")||  
  6.                 end.equals("xmf")||end.equals("ogg")||end.equals("wav")){  
  7.             return getAudioFileIntent(filePath);  
  8.         }elseif(end.equals("3gp")||end.equals("mp4")){  
  9.             return getAudioFileIntent(filePath);  
  10.         }elseif(end.equals(
    "jpg")||end.equals("gif")||end.equals("png")||  
  11.                 end.equals("jpeg")||end.equals("bmp")){  
  12.             return getImageFileIntent(filePath);  
  13.         }elseif(end.equals("apk")){  
  14.             return getApkFileIntent(filePath);  
  15.         }elseif(end.equals("ppt")){  
  16.             return
     getPptFileIntent(filePath);  
  17.         }elseif(end.equals("xls")){  
  18.             return getExcelFileIntent(filePath);  
  19.         }elseif(end.equals("doc")){  
  20.             return getWordFileIntent(filePath);  
  21.         }elseif(end.equals("pdf")){  
  22.             return getPdfFileIntent(filePath);  
  23.         }elseif(end.equals("chm")){  
  24.             return getChmFileIntent(filePath);  
  25.         }elseif(end.equals("txt")){  
  26.             return getTextFileIntent(filePath,false);  
  27.         }else{  
  28.             return getAllIntent(filePath);  
  29.         }  
  30.     }  
  31.     //Android獲取一個用於開啟APK檔案的intent
  32.     publicstatic Intent getAllIntent( String param ) {  
  33.         Intent intent = new Intent();    
  34.         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);    
  35.         intent.setAction(android.content.Intent.ACTION_VIEW);    
  36.         Uri uri = Uri.fromFile(new File(param ));  
  37.         intent.setDataAndType(uri,"*/*");   
  38.         return intent;  
  39.     }  
  40.     //Android獲取一個用於開啟APK檔案的intent
  41.     publicstatic Intent getApkFileIntent( String param ) {  
  42.         Intent intent = new Intent();    
  43.         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);    
  44.         intent.setAction(android.content.Intent.ACTION_VIEW);    
  45.         Uri uri = Uri.fromFile(new File(param ));  
  46.         intent.setDataAndType(uri,"application/vnd.android.package-archive");   
  47.         return intent;  
  48.     }  
  49.     //Android獲取一個用於開啟VIDEO檔案的intent
  50.     publicstatic Intent getVideoFileIntent( String param ) {  
  51.         Intent intent = new Intent("android.intent.action.VIEW");  
  52.         intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  
  53.         intent.putExtra("oneshot"0);  
  54.         intent.putExtra("configchange"0);  
  55.         Uri uri = Uri.fromFile(new File(param ));  
  56.         intent.setDataAndType(uri, "video/*");  
  57.         return intent;  
  58.     }  
  59.     //Android獲取一個用於開啟AUDIO檔案的intent
  60.     publicstatic Intent getAudioFileIntent( String param ){  
  61.         Intent intent = new Intent("android.intent.action.VIEW");  
  62.         intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  
  63.         intent.putExtra("oneshot"0);  
  64.         intent.putExtra("configchange"0);  
  65.         Uri uri = Uri.fromFile(new File(param ));  
  66.         intent.setDataAndType(uri, "audio/*");  
  67.         return intent;  
  68.     }  
  69.     //Android獲取一個用於開啟Html檔案的intent   
  70.     publicstatic Intent getHtmlFileIntent( String param ){  
  71.         Uri uri = Uri.parse(param ).buildUpon().encodedAuthority("com.android.htmlfileprovider").scheme("content").encodedPath(param ).build();  
  72.         Intent intent = new Intent("android.intent.action.VIEW");  
  73.         intent.setDataAndType(uri, "text/html");  
  74.         return intent;  
  75.     }  
  76.     //Android獲取一個用於開啟圖片檔案的intent
  77.     publicstatic Intent getImageFileIntent( String param ) {  
  78.         Intent intent = new Intent("android.intent.action.VIEW");  
  79.         intent.addCategory("android.intent.category.DEFAULT");  
  80.         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
  81.         Uri uri = Uri.fromFile(new File(param ));  
  82.         intent.setDataAndType(uri, "image/*");  
  83.         return intent;  
  84.     }  
  85.     //Android獲取一個用於開啟PPT檔案的intent   
  86.     publicstatic Intent getPptFileIntent( String param ){    
  87.         Intent intent = new Intent("android.intent.action.VIEW");     
  88.         intent.addCategory("android.intent.category.DEFAULT");     
  89.         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);     
  90.         Uri uri = Uri.fromFile(new File(param ));     
  91.         intent.setDataAndType(uri, "application/vnd.ms-powerpoint");     
  92.         return intent;     
  93.     }     
  94.     //Android獲取一個用於開啟Excel檔案的intent   
  95.     publicstatic Intent getExcelFileIntent( String param ){    
  96.         Intent intent = new Intent("android.intent.action.VIEW");     
  97.         intent.addCategory("android.intent.category.DEFAULT");     
  98.         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);     
  99.         Uri uri = Uri.fromFile(new File(param ));     
  100.         intent.setDataAndType(uri, "application/vnd.ms-excel");     
  101.         return intent;     
  102.     }     
  103.     //Android獲取一個用於開啟Word檔案的intent   
  104.     publicstatic Intent getWordFileIntent( String param ){    
  105.         Intent intent = new Intent("android.intent.action.VIEW");     
  106.         intent.addCategory("android.intent.category.DEFAULT");     
  107.         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);     
  108.         Uri uri = Uri.fromFile(new File(param ));     
  109.         intent.setDataAndType(uri, "application/msword");     
  110.         return intent;     
  111.     }     
  112.     //Android獲取一個用於開啟CHM檔案的intent   
  113.     publicstatic Intent getChmFileIntent( String param ){     
  114.         Intent intent = new Intent("android.intent.action.VIEW");     
  115.         intent.addCategory("android.intent.category.DEFAULT");     
  116.         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);     
  117.         Uri uri = Uri.fromFile(new File(param ));     
  118.         intent.setDataAndType(uri, "application/x-chm");     
  119.         return intent;     
  120.     }     
  121.     //Android獲取一個用於開啟文字檔案的intent   
  122.     publicstatic Intent getTextFileIntent( String param, boolean paramBoolean){     
  123.         Intent intent = new Intent("android.intent.action.VIEW");     
  124.         intent.addCategory("android.intent.category.DEFAULT");     
  125.         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);     
  126.         if (paramBoolean){     
  127.             Uri uri1 = Uri.parse(param );     
  128.             intent.setDataAndType(uri1, "text/plain");     
  129.         }else{     
  130.             Uri uri2 = Uri.fromFile(new File(param ));     
  131.             intent.setDataAndType(uri2, "text/plain");     
  132.         }     
  133.         return intent;     
  134.     }    
  135.     //Android獲取一個用於開啟PDF檔案的intent   
  136.     publicstatic Intent getPdfFileIntent( String param ){     
  137.         Intent intent = new Intent("android.intent.action.VIEW");