使用intent打開各種文件 打開sd卡路徑 打開系統(tǒng)目錄etc

說明://自定義android Intent類,//可用于獲取打開以下文件的intent//PDF,PPT,WORD,EXCEL,CHM,HTML,TEXT,AUDIO,VIDEO

下面這些都OKIntent it = getHtmlFileIntent("/mnt/sdcard/tutorial.html");
SD卡主目錄
Intent it = getHtmlFileIntent("/sdcard/tutorial.html");

SD卡主目錄,這樣也可以
Intent it = getHtmlFileIntent("/system/etc/tutorial.html");

系統(tǒng)內(nèi)部的etc目錄
Intent it = getPdfFileIntent("/system/etc/helphelp.pdf");
Intent it = getWordFileIntent("/system/etc/help.doc");
Intent it = getExcelFileIntent("/mnt/sdcard/Book1.xls")
Intent it = getPptFileIntent("/mnt/sdcard/download/Android_PPT.ppt");

SD卡的download目錄下
Intent it = getVideoFileIntent("/mnt/sdcard/ice.avi");
Intent it = getAudioFileIntent("/mnt/sdcard/ren.mp3");
Intent it = getImageFileIntent("/mnt/sdcard/images/001041580.jpg");
Intent it = getTextFileIntent("/mnt/sdcard/hello.txt",false);startActivity( it );

public class MyIntent {
//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獲取一個用于打開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
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獲取一個用于打開音頻文件的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獲取一個用于打開視頻文件的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獲取一個用于打開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獲取一個用于打開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獲取一個用于打開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獲取一個用于打開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;
}

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,058評論 25 709
  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 7,334評論 0 17
  • 大學(xué)剛畢業(yè)那會,有部名叫《大女當嫁》的電視劇正在熱播,當時沒怎么看。前兩天,有電視臺在播,閑著無聊,看了幾眼。突...
    煙囪不冒煙閱讀 416評論 0 0
  • 立體定向適形放射技術(shù)治療腦腫瘤的試驗大部分為劑量測定型、或回顧型、或小型前瞻性研究,尚缺乏大型隨機對照試驗數(shù)據(jù)。研...
    亨利福特健康閱讀 326評論 0 1
  • /陌上韻 夜、好靜好靜 夢、好深好深 她、終于出現(xiàn)在夢的傍晚 朦朧不清的臉 還未來得及回想 陽光猛射進來 刺痛雙...
    陌上韻閱讀 394評論 2 3

友情鏈接更多精彩內(nèi)容