- 浏览: 55231 次
- 性别:
- 来自: 武汉
最新评论
-
Stark_Summer:
很好 顶顶
android 面试题经典 -
fff32165:
LZ好牛啊!膜拜ing
activity与service的交互
import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.net.Uri.Builder; import java.io.File; import android.content.Intent;
//自定义android Intent类, //可用于获取打开以下文件的intent //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; }
} |
发表评论
-
hydra框架中js与java互调原理
2019-06-10 17:18 0本文档主要阐述hydra框架中js与java是如何实现相互 ... -
自定义gradle插件
2019-09-02 11:25 4021.Gradle插件 Gradle可以认为是一个框 ... -
Rxjava2使用
2019-04-24 17:46 0Rxjava是一个基于观察者模式,通过可观察对象发送数据流 ... -
android NDK cmake
2019-04-19 16:00 0CMake是一个跨平台的安 ... -
504 Unsatisfiable Request 问题解决
2019-04-15 11:09 0问题出现背景及描述:在业务中使用Retrofit2网络工具库进 ... -
adb 命令操作
2019-04-11 16:46 0解决ANR还得需要trace.txt ... -
Android Framework之常用类介绍
2012-05-17 09:10 0WindowManagerService 窗口调度服务 ... -
application私有文件访问
2012-05-16 23:13 0首先内部存储路径为/data/data/youPackageN ... -
BroadcastReceiver的使用
2011-12-15 09:47 836使用广播接收器有两种方法,一种是建立一个BroadcastRe ... -
android:gravity 与 layout_gravity的区别
2011-10-27 16:04 700android:gravity 本view内部信息的排列方式对 ... -
activity与service的交互
2011-07-31 13:16 1575Activity访问service有两种方式,第一种是通过Ib ... -
Android源码学习之六——ActivityManager框架解析
2011-07-06 22:46 952ActivityManager在操作系统中有重要的作用,本文利 ... -
Android Application Task Activities的关系
2011-07-05 22:11 831什么是Android Application ... -
Android的PackageManager和ActivityManager的功能简介
2011-07-05 21:56 957Android系统为应用管理功能提供了大量的API。根据功能的 ... -
Android 对话框(Dialog)大全
2011-06-30 20:38 772Android 对话框(Dialog)大全 建立你自己的对 ... -
android 开发环境搭建
2011-06-19 15:15 7221.jdk安装及环境变量配置 以jdk1.4 ... -
[Android]正确地访问网络资源----Proxy的使用
2011-05-27 15:15 2485天朝有很多独特的东西,今天要涉及到的是CMWAP与CMNET。 ... -
指定浏览器访问指定页面(支持UC、Opera、QQ、Dolphin、Skyfire、Steel、Google)
2011-05-27 14:32 1309/*先看一下系统浏览器com.android.browser ... -
android:webView总结
2011-05-27 10:02 1132在Android手机中内置了一款高性能webkit内核浏览器, ... -
android 发送短信
2011-05-25 17:56 775要使用手机短信服务,在AndroidManifest.xml中 ...
相关推荐
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中...