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("m4a")||end.equals("mp3")||end.equals("mid")||
end.equals("xmf")||end.equals("ogg")||end.equals("wav")){
return getAudioFileIntent(filePath);
}else if(end.equals("3gp")||end.equals("mp4")){
return getAudioFileIntent(filePath);
}else if(end.equals("jpg")||end.equals("gif")||end.equals("png")||
end.equals("jpeg")||end.equals("bmp")){
return getImageFileIntent(filePath);
}else if(end.equals("apk")){
return getApkFileIntent(filePath);
}else if(end.equals("ppt")){
return getPptFileIntent(filePath);
}else if(end.equals("xls")){
return getExcelFileIntent(filePath);
}else if(end.equals("doc")){
return getWordFileIntent(filePath);
}else if(end.equals("pdf")){
return getPdfFileIntent(filePath);
}else if(end.equals("chm")){
return getChmFileIntent(filePath);
}else if(end.equals("txt")){
return getTextFileIntent(filePath,false);
}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获取一个用于打开APK文件的intent
public static Intent getApkFileIntent( 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,"application/vnd.android.package-archive");
return intent;
}
//Android获取一个用于打开VIDEO文件的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获取一个用于打开AUDIO文件的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获取一个用于打开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获取一个用于打开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获取一个用于打开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获取一个用于打开文本文件的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获取一个用于打开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;
}
分享到:
相关推荐
本文将详细介绍如何使用一个名为SQLiteBrowser的工具来查看Android设备上的数据库文件(db)。 SQLiteBrowser是一款开源、免费的图形界面工具,它允许开发者直观地浏览、编辑和操作SQLite数据库。它支持创建、打开...
总之,“android 文件打开辅助类”是一个高效的工具,它通过封装Android的Intent机制,简化了对不同类型的文件进行操作的过程。对于开发者来说,这大大减少了在处理文件打开时可能出现的错误和复杂性,提高了开发...
本文将深入探讨“android各种工具类”这一主题,包括文件操作、日期处理、图片处理、系统服务利用、网络通信以及数据库管理等核心知识点。 1. 文件操作: 在Android中,文件操作是非常基础且重要的功能。开发者需要...
4. **工具类实现**:描述中提到的“Android本地打开doc文档工具类”可能是一个自定义的Java类,封装了使用POI读取和显示.doc文件的逻辑。这类工具类通常会包括以下功能: - 读取.doc文件内容:使用POI的...
在Android平台上,打开各种格式的文件是一个常见的需求,这涉及到文件类型的识别、文件处理库的使用以及用户界面的集成。Android系统提供了丰富的API和第三方库,使得开发者能够处理包括文本、图片、音频、视频、...
综上所述,`DownloadFTPUtil.java`文件中的代码应包含上述各个步骤,创建一个功能完整的FTP下载工具类,以满足Android应用程序中对FTP文件下载的需求。开发者可以根据实际需求对其进行定制和扩展,例如添加断点续传...
这个"Android之将RAW资源文件写入SD卡工具类"是一个实用的功能,可以帮助开发者轻松完成这个任务。下面将详细解释相关知识点。 1. **Android权限管理**: 在Android系统中,读写外部存储(SD卡)需要申请相应的...
1、借助第三方办公app直接打开word、htlm、pdf等文档 2、判断第三方app是否安装方法 3、根据URL或路径获取文件后缀
本文将详细讨论`FileInputStream`工具类及其在Android中的使用。 首先,Android提供了多种数据存储方式,如SharedPreferences、SQLite数据库、文件存储等。文件存储通常用于处理非结构化的数据,例如文本文件、图片...
然后,可以调用`AssetManager`的`open()`或`openFd()`方法来打开文件。例如: ```java AssetManager assetManager = getAssets(); InputStream is = null; try { is = assetManager.open("filename.txt"); // ...
然后,创建或打开文件,利用`FileWriter`写入日志内容。以下是大致步骤: 1. 检查外部存储权限,如果需要,请求用户授权。 2. 获取外部存储的根目录,创建自定义的日志文件夹,如`/storage/emulated/0/Logs`。 3. ...
这是一个工具类,导入你的项目就可以直接使用,调用该类方法实现你的功能
使用时,你需要先将数据库文件从Android设备上导出(通常位于/data/data/应用包名/databases/目录下),然后用该工具打开文件进行查看和操作。 总的来说,Android数据库文件查看工具是开发者不可或缺的助手,它们...
这个工具类允许开发者轻松地集成到自己的应用程序中,以实现文件的下载功能。 **DownloadManager简介** DownloadManager是Android API Level 9( Gingerbread)引入的一个类,位于`android.app.DownloadManager`包...
本文将详细讲解如何在Android应用中调用系统内置或第三方工具来打开这些文件,并提供一个名为`OpenWord.java`的核心代码实现。 首先,Android系统支持通过Intent机制来启动其他应用程序并传递数据。当需要打开一个...
本文将详细介绍如何利用Android系统自带的工具来查找并打开不同类型的文件,同时解决媒体库文件不全的问题。 一、Android文件系统概述 Android系统的文件组织结构基于Linux,主要分为内部存储和外部存储两部分。...
"android导出实体表格工具类"就是这样一个功能,它能够帮助开发者将Java Bean集合转换成XLS格式的Excel文件,并存储到设备的SD卡上。下面我们将详细探讨这个工具类的工作原理、实现方式以及其在实际应用中的价值。 ...
这个压缩包“android系统下载管理器下载文件并打开.rar”似乎包含了一个名为“NetUtil.java”的源代码文件,可能是一个工具类,用于辅助实现使用DownloadManager进行文件下载及后续的文件打开操作。以下将详细讲解...
总的来说,Android文件系统浏览器是Android应用开发中的一个重要工具,它通过提供直观的界面和便捷的操作,帮助用户更好地管理和利用设备的存储空间。开发者在实现这一功能时,需要关注权限控制、文件操作以及用户...
这个工具类只是一个基础框架,你可能需要根据具体需求进行扩展,例如支持多文件操作、目录操作、文件流操作等。同时,为了优化用户体验,你还可以添加进度条显示文件传输的进度,或者使用异步任务来避免阻塞UI线程。...