//PDF,PPT,WORD,EXCEL,CHM,HTML,TEXT,AUDIO,VIDEO
示例:
//这个不行,可能是因为PDF.apk程序没有权限访问其它APK里的asset资源文件,又或者是路径写错?
//Intent it = getPdfFileIntent("file:///android_asset/helphelp.pdf");
//下面这些都OK
//Intent it = getHtmlFileIntent("/mnt/sdcard/tutorial.html");//SD卡主目录
//Intent it = getHtmlFileIntent("/sdcard/tutorial.html");//SD卡主目录,这样也可以
Intent it = getHtmlFileIntent("/system/etc/tutorial.html");//系统内部的etc目录
//Intent it = getPdfFileIntent("/system/etc/helphelp.pdf");
//Intent it = getWordFileIntent("/system/etc/help.doc");
//Intent it = getExcelFileIntent("/mnt/sdcard/Book1.xls")
//Intent it = getPptFileIntent("/mnt/sdcard/download/Android_PPT.ppt");//SD卡的download目录下
//Intent it = getVideoFileIntent("/mnt/sdcard/ice.avi");
//Intent it = getAudioFileIntent("/mnt/sdcard/ren.mp3");
//Intent it = getImageFileIntent("/mnt/sdcard/images/001041580.jpg");
//Intent it = getTextFileIntent("/mnt/sdcard/hello.txt",false);
startActivity( it );
public class MyIntent
{
//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获取一个用于打开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获取一个用于打开文本文件的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获取一个用于打开音频文件的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获取一个用于打开视频文件的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获取一个用于打开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获取一个用于打开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获取一个用于打开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获取一个用于打开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 中使用 Intent 打开各种文件类型 Android 操作系统提供了 Intent 机制,允许应用程序之间进行交互和通信。Intent 是一个异步的消息机制,用于在应用程序之间请求或提供服务。通过使用 Intent,可以实现打开...
### Android用于打开各种文件的Intent知识点详解 #### 一、概述 在Android开发过程中,我们经常需要使用`Intent`来启动应用内的特定功能或者跳转到其他应用来处理某些文件类型(如PDF、PPT、Word文档等)。本文将...
以上代码示例展示了如何在Android中创建用于打开不同格式文件的Intent。通过这种方式,可以轻松地与其他应用程序共享文件,或者让其他应用程序帮助打开这些文件。需要注意的是,在实际应用中还需要处理权限问题以及...
// 使用selectedFileUri打开文件 } } ``` 8. **安全性与隐私** 当处理用户文件时,应确保遵循最佳实践,避免泄露用户数据。例如,不要在内存中长时间保留文件内容,及时清理不再使用的资源。 这个“android ...
`action`定义了要执行的操作,如`ACTION_VIEW`用于查看或打开文件;`data`则包含文件的URI,用于指定要操作的数据源。 对于不同类型的文件,Intent的创建方法有所不同。以下是一些具体的示例: 1. **HTML文件**: ...
- `Data`字段通常包含一个URI,用于标识与操作相关的数据,如打开特定的网页或处理特定的文件。 #### Category - `Category`提供了关于操作的额外信息,如`CATEGORY_HOME`用于指示显示桌面的Activity,有助于细化...
这涉及到Android的Intent机制,通过Intent我们可以启动各种系统服务或者应用,包括查看、编辑文档等。下面将详细介绍如何实现这一功能。 首先,我们需要了解Android的Intent。Intent是Android系统中用于组件间通信...
在Android系统中,打开各种类型的文件是一个常见的需求,这涉及到Android的Intent机制和文件操作。本文将详细讲解如何使用Android代码来实现根据文件类型自动打开相应应用程序的功能。 首先,理解Android的Intent是...
ACTION_VIEW通常用于打开一个视图,ACTION_SEND用于分享数据。 2. **数据(Data)**:Intent的数据部分可以是URI(统一资源标识符),用于指定操作的数据对象。例如,如果你想打开一个特定的网页,可以在Intent中...
Intent.ACTION_VIEW 是一种常用的 Intent 动作,用于打开一个网页。例如,下面的代码将打开一个网页: Uri uri = Uri.parse("http://blog.3gstdy.com/"); Intent intent = new Intent(Intent.ACTION_VIEW, uri); ...
在Android应用开发中,Intent是一种强大的机制,用于在组件之间进行通信。Intent不仅可以用来启动新的Activity,还可以启动服务、广播接收器等。本教程将详细讲解如何使用Intent来实现特定的功能,包括打开新的...
结合给定的资源,你可以创建一个简单的Android应用,包括一个用于下载Word文档的模块和一个用于打开文档的模块。下载部分负责从服务器获取文件并保存到本地,打开部分则根据保存的文件路径调用系统或第三方应用打开...
在Android开发中,Intent是一种强大的组件间通信机制,它用于启动其他组件或传递数据。本篇文章将深入探讨Intent的分类及其在Android应用中的作用,同时也会提及Broadcast Receiver,它是Android系统中处理全局广播...
- 文件打开:创建一个隐式Intent,设置Action为`ACTION_VIEW`,Data为文件Uri,然后启动,系统会根据文件类型选择合适的App打开。 - 跳转到设置:使用Intent.createChooser()可以让用户选择任何能够发送电子邮件的...
在Android平台上,打开各种格式的文件是一个常见的需求,这涉及到文件类型的识别、文件处理库的使用以及用户界面的集成。Android系统提供了丰富的API和第三方库,使得开发者能够处理包括文本、图片、音频、视频、...
在Android开发中,Intent是一种强大的工具,用于在不同的组件之间传递消息或启动操作。当我们想要在应用程序中打开一个网页时,Intent系统可以帮助我们轻松实现这一功能。本篇将详细讲解如何利用Intent在Android中...