android打开系统文件怎么打开方式,Android调用系统应用打开任意文件
public class OpenFiles {
//android獲取一個用于打開HTML文件的intent
public static Intent getHtmlFileIntent(File file)
{
Uri uri = Uri.parse(file.toString()).buildUpon().encodedAuthority("com.android.htmlfileprovider").scheme("content").encodedPath(file.toString()).build();
Intent intent = new Intent("android.intent.action.VIEW");
intent.setDataAndType(uri, "text/html");
return intent;
}
//android獲取一個用于打開圖片文件的intent
public static Intent getImageFileIntent(File file)
{
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(file);
intent.setDataAndType(uri, "image/*");
return intent;
}
//android獲取一個用于打開PDF文件的intent
public static Intent getPdfFileIntent(File file)
{
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(file);
intent.setDataAndType(uri, "application/pdf");
return intent;
}
//android獲取一個用于打開文本文件的intent
public static Intent getTextFileIntent(File file)
{
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(file);
intent.setDataAndType(uri, "text/plain");
return intent;
}
//android獲取一個用于打開音頻文件的intent
public static Intent getAudioFileIntent(File file)
{
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(file);
intent.setDataAndType(uri, "audio/*");
return intent;
}
//android獲取一個用于打開視頻文件的intent
public static Intent getVideoFileIntent(File file)
{
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(file);
intent.setDataAndType(uri, "video/*");
return intent;
}
//android獲取一個用于打開CHM文件的intent
public static Intent getChmFileIntent(File file)
{
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(file);
intent.setDataAndType(uri, "application/x-chm");
return intent;
}
//android獲取一個用于打開Word文件的intent
public static Intent getWordFileIntent(File file)
{
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(file);
intent.setDataAndType(uri, "application/msword");
return intent;
}
//android獲取一個用于打開Excel文件的intent
public static Intent getExcelFileIntent(File file)
{
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(file);
intent.setDataAndType(uri, "application/vnd.ms-excel");
return intent;
}
//android獲取一個用于打開PPT文件的intent
public static Intent getPPTFileIntent(File file)
{
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(file);
intent.setDataAndType(uri, "application/vnd.ms-powerpoint");
return intent;
}
//android獲取一個用于打開apk文件的intent
public static Intent getApkFileIntent(File file)
{
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");
return intent;
}
public static boolean checkEndsWithInStringArray(String checkItsEnd,
String[] fileEndings){
for(String aEnd : fileEndings){
if(checkItsEnd.endsWith(aEnd))
return true;
}
return false;
}
public static void openFile(File currentPath){
if(currentPath!=null&¤tPath.isFile()){
String fileName = currentPath.toString();
Intent intent;
if(checkEndsWithInStringArray(fileName, BaseApp.getContext().getResources().
getStringArray(R.array.imageFile))){
intent = OpenFiles.getImageFileIntent(currentPath);
BaseApp.getContext().startActivity(intent);
}else if(checkEndsWithInStringArray(fileName,BaseApp.getContext().getResources().
getStringArray(R.array.htmlFile))){
intent = OpenFiles.getHtmlFileIntent(currentPath);
BaseApp.getContext().startActivity(intent);
}else if(checkEndsWithInStringArray(fileName,BaseApp.getContext().getResources().
getStringArray(R.array.packageFile))){
intent = OpenFiles.getApkFileIntent(currentPath);
BaseApp.getContext().startActivity(intent);
}else if(checkEndsWithInStringArray(fileName,BaseApp.getContext().getResources().
getStringArray(R.array.audioFile))){
intent = OpenFiles.getAudioFileIntent(currentPath);
BaseApp.getContext().startActivity(intent);
}else if(checkEndsWithInStringArray(fileName,BaseApp.getContext().getResources().
getStringArray(R.array.videoFile))){
intent = OpenFiles.getVideoFileIntent(currentPath);
BaseApp.getContext().startActivity(intent);
}else if(checkEndsWithInStringArray(fileName,BaseApp.getContext().getResources().
getStringArray(R.array.textFile))){
intent = OpenFiles.getTextFileIntent(currentPath);
BaseApp.getContext().startActivity(intent);
}else if(checkEndsWithInStringArray(fileName,BaseApp.getContext().getResources().
getStringArray(R.array.pdfFile))){
intent = OpenFiles.getPdfFileIntent(currentPath);
BaseApp.getContext().startActivity(intent);
}else if(checkEndsWithInStringArray(fileName,BaseApp.getContext().getResources().
getStringArray(R.array.wordFile))){
intent = OpenFiles.getWordFileIntent(currentPath);
BaseApp.getContext().startActivity(intent);
}else if(checkEndsWithInStringArray(fileName,BaseApp.getContext().getResources().
getStringArray(R.array.excelFile))){
intent = OpenFiles.getExcelFileIntent(currentPath);
BaseApp.getContext().startActivity(intent);
}else if(checkEndsWithInStringArray(fileName,BaseApp.getContext().getResources().
getStringArray(R.array.pptFile))){
intent = OpenFiles.getPPTFileIntent(currentPath);
BaseApp.getContext().startActivity(intent);
}else
{
TSLog.e("無法打開,請安裝相應的軟件!");
}
}else{
TSLog.e("對不起,這不是文件!");
}
}
}
總結
以上是生活随笔為你收集整理的android打开系统文件怎么打开方式,Android调用系统应用打开任意文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux系统平均负载的含义
- 下一篇: Android WebView 调用相机