`
loDANve
  • 浏览: 6442 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android 打开不同文件工具类(转)

阅读更多
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;   
	}
分享到:
评论

相关推荐

    查看android的数据库文件db工具

    本文将详细介绍如何使用一个名为SQLiteBrowser的工具来查看Android设备上的数据库文件(db)。 SQLiteBrowser是一款开源、免费的图形界面工具,它允许开发者直观地浏览、编辑和操作SQLite数据库。它支持创建、打开...

    android 文件打开辅助类

    总之,“android 文件打开辅助类”是一个高效的工具,它通过封装Android的Intent机制,简化了对不同类型的文件进行操作的过程。对于开发者来说,这大大减少了在处理文件打开时可能出现的错误和复杂性,提高了开发...

    android各种工具类

    本文将深入探讨“android各种工具类”这一主题,包括文件操作、日期处理、图片处理、系统服务利用、网络通信以及数据库管理等核心知识点。 1. 文件操作: 在Android中,文件操作是非常基础且重要的功能。开发者需要...

    poi-3.15 及Android 打开doc工具类

    4. **工具类实现**:描述中提到的“Android本地打开doc文档工具类”可能是一个自定义的Java类,封装了使用POI读取和显示.doc文件的逻辑。这类工具类通常会包括以下功能: - 读取.doc文件内容:使用POI的...

    Android打开各种格式文件

    在Android平台上,打开各种格式的文件是一个常见的需求,这涉及到文件类型的识别、文件处理库的使用以及用户界面的集成。Android系统提供了丰富的API和第三方库,使得开发者能够处理包括文本、图片、音频、视频、...

    Android ftp 下载工具类

    综上所述,`DownloadFTPUtil.java`文件中的代码应包含上述各个步骤,创建一个功能完整的FTP下载工具类,以满足Android应用程序中对FTP文件下载的需求。开发者可以根据实际需求对其进行定制和扩展,例如添加断点续传...

    Android 之 将RAW资源文件写入SD卡工具类

    这个"Android之将RAW资源文件写入SD卡工具类"是一个实用的功能,可以帮助开发者轻松完成这个任务。下面将详细解释相关知识点。 1. **Android权限管理**: 在Android系统中,读写外部存储(SD卡)需要申请相应的...

    android打开所有办公文档的工具类

    1、借助第三方办公app直接打开word、htlm、pdf等文档 2、判断第三方app是否安装方法 3、根据URL或路径获取文件后缀

    Android 数据存储之 FileInputStream 工具类及FileInputStream类的使用

    本文将详细讨论`FileInputStream`工具类及其在Android中的使用。 首先,Android提供了多种数据存储方式,如SharedPreferences、SQLite数据库、文件存储等。文件存储通常用于处理非结构化的数据,例如文本文件、图片...

    Android Assets文件和Raw文件读取

    然后,可以调用`AssetManager`的`open()`或`openFd()`方法来打开文件。例如: ```java AssetManager assetManager = getAssets(); InputStream is = null; try { is = assetManager.open("filename.txt"); // ...

    android保存log到本地的工具类

    然后,创建或打开文件,利用`FileWriter`写入日志内容。以下是大致步骤: 1. 检查外部存储权限,如果需要,请求用户授权。 2. 获取外部存储的根目录,创建自定义的日志文件夹,如`/storage/emulated/0/Logs`。 3. ...

    android打开各种mime类型文件的工具类

    这是一个工具类,导入你的项目就可以直接使用,调用该类方法实现你的功能

    Android数据库文件查看工具

    使用时,你需要先将数据库文件从Android设备上导出(通常位于/data/data/应用包名/databases/目录下),然后用该工具打开文件进行查看和操作。 总的来说,Android数据库文件查看工具是开发者不可或缺的助手,它们...

    android系统DownloadManager下载工具类

    这个工具类允许开发者轻松地集成到自己的应用程序中,以实现文件的下载功能。 **DownloadManager简介** DownloadManager是Android API Level 9( Gingerbread)引入的一个类,位于`android.app.DownloadManager`包...

    Android 用工具打开word,pdf等文件

    本文将详细讲解如何在Android应用中调用系统内置或第三方工具来打开这些文件,并提供一个名为`OpenWord.java`的核心代码实现。 首先,Android系统支持通过Intent机制来启动其他应用程序并传递数据。当需要打开一个...

    Android快速查找手机文件内某种类型文件,可以调用系统自带工具打开文件

    本文将详细介绍如何利用Android系统自带的工具来查找并打开不同类型的文件,同时解决媒体库文件不全的问题。 一、Android文件系统概述 Android系统的文件组织结构基于Linux,主要分为内部存储和外部存储两部分。...

    android导出实体表格工具类

    "android导出实体表格工具类"就是这样一个功能,它能够帮助开发者将Java Bean集合转换成XLS格式的Excel文件,并存储到设备的SD卡上。下面我们将详细探讨这个工具类的工作原理、实现方式以及其在实际应用中的价值。 ...

    android系统下载管理器下载文件并打开.rar

    这个压缩包“android系统下载管理器下载文件并打开.rar”似乎包含了一个名为“NetUtil.java”的源代码文件,可能是一个工具类,用于辅助实现使用DownloadManager进行文件下载及后续的文件打开操作。以下将详细讲解...

    android文件系统浏览器

    总的来说,Android文件系统浏览器是Android应用开发中的一个重要工具,它通过提供直观的界面和便捷的操作,帮助用户更好地管理和利用设备的存储空间。开发者在实现这一功能时,需要关注权限控制、文件操作以及用户...

    Android 实现读写U盘文件

    这个工具类只是一个基础框架,你可能需要根据具体需求进行扩展,例如支持多文件操作、目录操作、文件流操作等。同时,为了优化用户体验,你还可以添加进度条显示文件传输的进度,或者使用异步任务来避免阻塞UI线程。...

Global site tag (gtag.js) - Google Analytics