Android-使用Intent打開各種文件

JoleenHXIG 8年前發布 | 9K 次閱讀 Intent Android開發 移動開發

1、打開Html文件

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;  
}

2、打開圖片文件

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;  
}

3、打開pdf文件

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; 
}

4、打開txt文件

public static Intent getTextFileIntent( String paramString, 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");    
    }   
    while (true) {      
        return intent;      
        Uri uri2 = Uri.fromFile(new File(param ));     
        intent.setDataAndType(uri2, "text/plain");    
    }  
}

5、打開音頻文件

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;  
}

6、打開視頻文件

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;  
}

7、打開chm文件

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;  
}

8、打開word文件

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;  
}

9、打開Excel文件

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;

}

10、打開ppt文件

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;  
}

 

來自:http://www.jianshu.com/p/e510f1e19136

 

 本文由用戶 JoleenHXIG 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!