android 開發 擷取各種intent (圖片、apk檔案、excel、pdf等檔案)

來源:互聯網
上載者:User

標籤:

public static Intent openFile(String filePath){        File file = new File(filePath);        if(!file.exists()) return null;        /* 取得副檔名 */        String end=file.getName().substring(file.getName().lastIndexOf(".") + 1,file.getName().length()).toLowerCase();         /* 依副檔名的類型決定MimeType */        if(end.equals("m4a")||end.equals("mp3")||end.equals("mid")||                end.equals("xmf")||end.equals("ogg")||end.equals("wav")){            return getAudioFileIntent(filePath);        }else if(end.equals("3gp")||end.equals("mp4")){            return getAudioFileIntent(filePath);        }else if(end.equals("jpg")||end.equals("gif")||end.equals("png")||                end.equals("jpeg")||end.equals("bmp")){            return getImageFileIntent(filePath);        }else if(end.equals("apk")){            return getApkFileIntent(filePath);        }else if(end.equals("ppt")){            return getPptFileIntent(filePath);        }else if(end.equals("xls")){            return getExcelFileIntent(filePath);        }else if(end.equals("doc")){            return getWordFileIntent(filePath);        }else if(end.equals("pdf")){            return getPdfFileIntent(filePath);        }else if(end.equals("chm")){            return getChmFileIntent(filePath);        }else if(end.equals("txt")){            return getTextFileIntent(filePath,false);        }else{            return getAllIntent(filePath);        }    }        //Android擷取一個用於開啟APK檔案的intent    public static Intent getAllIntent( String param ) {        Intent intent = new Intent();          intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);          intent.setAction(android.content.Intent.ACTION_VIEW);          Uri uri = Uri.fromFile(new File(param ));        intent.setDataAndType(uri,"*/*");         return intent;    }    //Android擷取一個用於開啟APK檔案的intent    public static Intent getApkFileIntent( String param ) {        Intent intent = new Intent();          intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);          intent.setAction(android.content.Intent.ACTION_VIEW);          Uri uri = Uri.fromFile(new File(param ));        intent.setDataAndType(uri,"application/vnd.android.package-archive");         return intent;    }    //Android擷取一個用於開啟VIDEO檔案的intent    public static Intent getVideoFileIntent( String param ) {        Intent intent = new Intent("android.intent.action.VIEW");        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);        intent.putExtra("oneshot", 0);        intent.putExtra("configchange", 0);        Uri uri = Uri.fromFile(new File(param ));        intent.setDataAndType(uri, "video/*");        return intent;    }    //Android擷取一個用於開啟AUDIO檔案的intent    public static Intent getAudioFileIntent( String param ){        Intent intent = new Intent("android.intent.action.VIEW");        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);        intent.putExtra("oneshot", 0);        intent.putExtra("configchange", 0);        Uri uri = Uri.fromFile(new File(param ));        intent.setDataAndType(uri, "audio/*");        return intent;    }    //Android擷取一個用於開啟Html檔案的intent       public static Intent getHtmlFileIntent( String param ){        Uri uri = Uri.parse(param ).buildUpon().encodedAuthority("com.android.htmlfileprovider").scheme("content").encodedPath(param ).build();        Intent intent = new Intent("android.intent.action.VIEW");        intent.setDataAndType(uri, "text/html");        return intent;    }    //Android擷取一個用於開啟圖片檔案的intent    public static Intent getImageFileIntent( String param ) {        Intent intent = new Intent("android.intent.action.VIEW");        intent.addCategory("android.intent.category.DEFAULT");        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);        Uri uri = Uri.fromFile(new File(param ));        intent.setDataAndType(uri, "image/*");        return intent;    }    //Android擷取一個用於開啟PPT檔案的intent       public static Intent getPptFileIntent( String param ){          Intent intent = new Intent("android.intent.action.VIEW");           intent.addCategory("android.intent.category.DEFAULT");           intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);           Uri uri = Uri.fromFile(new File(param ));           intent.setDataAndType(uri, "application/vnd.ms-powerpoint");           return intent;       }       //Android擷取一個用於開啟Excel檔案的intent       public static Intent getExcelFileIntent( String param ){          Intent intent = new Intent("android.intent.action.VIEW");           intent.addCategory("android.intent.category.DEFAULT");           intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);           Uri uri = Uri.fromFile(new File(param ));           intent.setDataAndType(uri, "application/vnd.ms-excel");           return intent;       }       //Android擷取一個用於開啟Word檔案的intent       public static Intent getWordFileIntent( String param ){          Intent intent = new Intent("android.intent.action.VIEW");           intent.addCategory("android.intent.category.DEFAULT");           intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);           Uri uri = Uri.fromFile(new File(param ));           intent.setDataAndType(uri, "application/msword");           return intent;       }       //Android擷取一個用於開啟CHM檔案的intent       public static Intent getChmFileIntent( String param ){           Intent intent = new Intent("android.intent.action.VIEW");           intent.addCategory("android.intent.category.DEFAULT");           intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);           Uri uri = Uri.fromFile(new File(param ));           intent.setDataAndType(uri, "application/x-chm");           return intent;       }       //Android擷取一個用於開啟文字檔的intent       public static Intent getTextFileIntent( String param, boolean paramBoolean){           Intent intent = new Intent("android.intent.action.VIEW");           intent.addCategory("android.intent.category.DEFAULT");           intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);           if (paramBoolean){               Uri uri1 = Uri.parse(param );               intent.setDataAndType(uri1, "text/plain");           }else{               Uri uri2 = Uri.fromFile(new File(param ));               intent.setDataAndType(uri2, "text/plain");           }           return intent;       }      //Android擷取一個用於開啟PDF檔案的intent       public static Intent getPdfFileIntent( String param ){           Intent intent = new Intent("android.intent.action.VIEW");           intent.addCategory("android.intent.category.DEFAULT");           intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);           Uri uri = Uri.fromFile(new File(param ));           intent.setDataAndType(uri, "application/pdf");           return intent;       }

 

android 開發 擷取各種intent (圖片、apk檔案、excel、pdf等檔案)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.