博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android获取一个用于打开Word文件的intent
阅读量:6961 次
发布时间:2019-06-27

本文共 2435 字,大约阅读时间需要 8 分钟。

 通过Intent打开手机中能够阅读word,excle或pdf的应用,让那个应用来打开文件。这里给出word,excle的open

OpenWord类

package com.example.tomorrow.MobileOA.utils;import android.content.Context;import android.content.Intent;import android.content.pm.PackageManager;import android.content.pm.ResolveInfo;import android.net.Uri;import java.io.File;import java.util.List;/** * Created by he on 11/10 2015.  * wang */public class OpenWord {  //param为文档的主要路径    public static Intent getWordFileIntent(String param) {        Intent intent = null;        try {            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");        } catch (Exception e) {            e.printStackTrace();        }        return intent;    }    public static Intent getExcelFileIntent(File 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(param);        intent.setDataAndType(uri, "application/vnd.ms-excel");        return intent;    }    /**     * 判断Intent 是否存在 防止崩溃     * @param context     * @param intent     * @return     */    public static boolean isIntentAvailable(Context context, Intent intent) {        final PackageManager packageManager = context.getPackageManager();        List
list = packageManager.queryIntentActivities(intent, PackageManager.GET_ACTIVITIES); return list.size() > 0; }}

 为一个按钮绑定事件

bt_download_look.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                String name = files.get(position).getName();                FileUtils fileUtils = new FileUtils();                String path = fileUtils.getSDPATH() + "MobileOA/" + name;                Intent intent = OpenWord.getWordFileIntent(path);                boolean flag = OpenWord.isIntentAvailable(context, intent);                if (!flag) {                    Toast.makeText(context, "请安装offer", Toast.LENGTH_SHORT).show();                } else {                    context.startActivity(intent);                }            }        });

 

转载于:https://www.cnblogs.com/wabi87547568/p/4966712.html

你可能感兴趣的文章
这个qq的域名【c.gj.qq.com】是做什么的?chrome浏览器,访问什么网站都有这个请求...
查看>>
ubuntu14.04+Django1.7.1+nginx1.6+uwsgi2.0环境搭建
查看>>
C++中的类型转换
查看>>
大数据引发的变革与企业面临的挑战
查看>>
LRSlidingTableViewCell
查看>>
FlipCardNavigationView
查看>>
【系统日志笔记二】——撸起袖子写个自定义日志注解
查看>>
完全平衡树的简单实现(Scala)
查看>>
HttpServlet详解
查看>>
无线网络
查看>>
架构设计:生产者/消费者模式 第4页:注意事项
查看>>
1233
查看>>
php写入文件权限失败 file_put_contents: failed to open stream: Permission denied
查看>>
MarMoible的 java4android视频
查看>>
我想象的创业团队
查看>>
Android 自定义控件实现点击波浪效果(九)
查看>>
MySQL单列索引和组合索引的区别介绍
查看>>
Git命令
查看>>
aws S3 util demo
查看>>
react native ios 网络请求问题
查看>>