Android中调用第三方打开本地doc、pdf、ppt、text等文件功能的实现

2024-05-09 14:58

本文主要是介绍Android中调用第三方打开本地doc、pdf、ppt、text等文件功能的实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

打开各种格式文件的工具类,代码如下

import android.content.Intent;  
import android.net.Uri;  import java.io.File;  public class FileUtils {  //android获取一个用于打开HTML文件的intent  public static Intent getHtmlFileIntent(String Path)  {  File file = new File(Path);  Uri uri = Uri.parse(file.toString()).buildUpon().encodedAuthority("com.android.htmlfileprovider").scheme("content").encodedPath(file.toString()).build();  Intent intent = new Intent("android.intent.action.VIEW");  intent.setDataAndType(uri, "text/html");  return intent;  }  //android获取一个用于打开图片文件的intent  public static Intent getImageFileIntent(String Path)  {  File file = new File(Path);  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(file);  intent.setDataAndType(uri, "image/*");  return intent;  }  //android获取一个用于打开PDF文件的intent  public static Intent getPdfFileIntent(String Path)  {  File file = new File(Path);  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(file);  intent.setDataAndType(uri, "application/pdf");  return intent;  }  //android获取一个用于打开文本文件的intent  public static Intent getTextFileIntent(String Path)  {  File file = new File(Path);  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(file);  intent.setDataAndType(uri, "text/plain");  return intent;  }  //android获取一个用于打开音频文件的intent  public static Intent getAudioFileIntent(String Path)  {  File file = new File(Path);  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(file);  intent.setDataAndType(uri, "audio/*");  return intent;  }  //android获取一个用于打开视频文件的intent  public static Intent getVideoFileIntent(String Path)  {  File file = new File(Path);  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(file);  intent.setDataAndType(uri, "video/*");  return intent;  }  //android获取一个用于打开CHM文件的intent  public static Intent getChmFileIntent(String Path)  {  File file = new File(Path);  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(file);  intent.setDataAndType(uri, "application/x-chm");  return intent;  }  //android获取一个用于打开Word文件的intent  public static Intent getWordFileIntent(String Path)  {  File file = new File(Path);  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(file);  intent.setDataAndType(uri, "application/msword");  return intent;  }  //android获取一个用于打开Excel文件的intent  public static Intent getExcelFileIntent(String Path)  {  File file = new File(Path);  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(file);  intent.setDataAndType(uri, "application/vnd.ms-excel");  return intent;  }  //android获取一个用于打开PPT文件的intent  public static Intent getPPTFileIntent(String Path)  {  File file = new File(Path);  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(file);  intent.setDataAndType(uri, "application/vnd.ms-powerpoint");  return intent;  }  //android获取一个用于打开apk文件的intent  public static Intent getApkFileIntent(String Path)  {  File file = new File(Path);  Intent intent = new Intent();  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  intent.setAction(android.content.Intent.ACTION_VIEW);  intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");  return intent;  }  
}  

转自:http://blog.csdn.net/baidu_34260638/article/details/53120737

这篇关于Android中调用第三方打开本地doc、pdf、ppt、text等文件功能的实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/973706

相关文章

Java设计模式之代理模式2-动态代理(jdk实现)

这篇是接着上一篇继续介绍java设计模式之代理模式。下面讲解的是jdk实现动态代理。 1.)首先我们要声明一个动态代理类,实现InvocationHandler接口 package com.zhong.pattern.proxy;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;/*** 演

使用Array实现Java堆栈

本教程给出了使用Array 实现Stack数据结构的示例。堆栈提供将新对象放在堆栈上(方法push())并从堆栈中获取对象(方法pop())。堆栈根据后进先出(LIFO)返回对象。请注意,JDK提供了一个默认的Java堆栈实现作为类java.util.Stack。 适用于所有堆栈实现的两个强制操作是: push():数据项放置在堆栈指针指向的位置。pop():从堆栈指针指向的位置删除并返回数据

Apache Shiro会话管理功能-07

Apache Shiro会话管理功能 会话是您的用户在使用您的应用程序时携带一段时间的数据桶。传统上,会话专用于Web或EJB环境。Shiro支持任何应用程序环境的会话。此外,Shiro还提供许多其他强大功能来帮助您管理会话。 特征 基于POJO / J2SE(IoC) - Shiro中的所有内容(包括会话和会话管理的所有方面)都是基于接口的,并使用POJO实现。这允许您使用任何与Ja

Apache Shiro授权功能-05

Apache Shiro授权功能 授权(也称为访问控制)是确定应用程序中资源的访问权限的过程。换句话说,确定“谁有权访问什么。”授权用于回答安全问题,例如“用户是否允许编辑帐户”,“该用户是否允许查看此网页”,“该用户是否可以访问”到这个按钮?“这些都是决定用户有权访问的决定,因此都代表授权检查。 授权是任何应用程序的关键元素,但它很快就会变得非常复杂。Shiro的目标是消除授权的大部分复杂性

Apache Shiro身份验证功能-04

Apache Shiro身份验证功能 身份验证是身份验证的过程 - 您试图验证用户是否是他们所说的人。为此,用户需要提供系统理解和信任的某种身份证明。 Shiro框架旨在使身份验证尽可能干净和直观,同时提供丰富的功能。以下是Shiro身份验证功能的一个亮点。 特征 基于主题 - 您在Shiro中执行的几乎所有操作都基于当前正在执行的用户,称为主题。您可以轻松地在代码中的任何位置检索主题。

Redis利用zset数据结构如何实现多字段排序,score的调整(finalScore = score*MAX_NAME_VALUE + getIntRepresentation(name) )

1、原文:   2、使用sql很容易实现多字段的排序功能,比如: select * from user order by score desc,name desc; 3、问题:用两个字段(score,name)排序。在redis中应该怎么做?   4、使用按分数排序的redis集合。你必须根据你的需要准备分数。 finalScore = score*MAX_NAME_VALUE +

打开VMware WorkStation没反应的解决办法

今天在打开虚拟机的时候,遇到过一个故障:就是用虚拟机打开Ubuntu系统半天没反应,刚开始以为是电脑反应太慢了,之后,在关闭虚拟机,重新打开,等上半天还是没反应。 之后在网上查找了一下,听说是 VMware tools的原因。VMware tools有個功能,就是從縮主機複製文件到虛擬系統,或者從虛擬系統複製文件到縮主系統。很方便,但有時會出現故障。我只能说可能是这个原因!因为之前重新安

字符串处理函数strchr和strstr的实现

1,strchr函数 函数功能:查找一个字符。在一个字符串中查找一个特定的字符。 函数原型:char *strchr(char const *str,int ch); 函数说明:strchr在字符串str中查找字符ch第一次出现的位置,找到后返回一个指向该位置的指针。如果该字符不存在于字符串中,则返回一个NULL指针。注意:第二个参数是一个整型值,但是,它包含了一个字符串值。

Android_04_网络图片查看器

1>不带缓存的图片查看器 MainActivity.java package com.ithiema.imageviewer;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import jav

Android_03_数据库的使用总结

前言: 1>区分SQL和SQLite SQL 是一门 ANSI 的标准计算机语言,用来访问和操作数据库系统。SQL 语句用于取回和更新数据库中的数据。 SQL 可与数据库程序协同工作,比如 MS Access、DB2、Informix、MS SQL Server、Oracle、Sybase 以及其他数据库系统。 不幸地是,存在着很多不同版本的 SQL 语言,但是为了与 ANSI 标准相