您的位置:首页 > 其它

Intent打开其它文件的使用

2015-06-30 09:56 316 查看
public class OpenFileUtils {

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("jpg") || end.equals("gif") || end.equals("png")

|| end.equals("jpeg") || end.equals("bmp")) {

return getImageFileIntent(filePath);

} else if (end.equals("ppt") || end.equals("pptx")) {

return getPptFileIntent(filePath);

} else if (end.equals("xls") || end.equals("xlsx")) {

return getExcelFileIntent(filePath);

} else if (end.equals("doc") || end.equals("docx")) {

return getWordFileIntent(filePath);

} else if (end.equals("pdf")) {

return getPdfFileIntent(filePath);

} else if (end.equals("mp4")) {

return getVideoFileIntent(filePath);

} else if (end.equals("apk")) {

return getApkFileIntent(filePath);

} 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获取一个用于打开图片文件的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获取一个用于打开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获取一个用于打开PDF文件的intent

public static Intent getVideoFileIntent(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, "video/*");

return intent;

}

// Android获取一个用于打开PDF文件的intent

public static Intent getApkFileIntent(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.android.package-archive");

return intent;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: