900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > android打开系统文件怎么打开方式 Android调用系统应用打开任意文件

android打开系统文件怎么打开方式 Android调用系统应用打开任意文件

时间:2021-08-25 23:48:37

相关推荐

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("对不起,这不是文件!");

}

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。