• android获取一个用于打开Word文件的intent


     通过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<ResolveInfo> 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);
                    }
                }
            });
    
  • 相关阅读:
    如何使用CslaGen生成CSLA DAL层代码
    DefaultCellStyle.NullValue与CellEndEdit
    列Readonly的问题
    IOS谓词NSPredicate
    项目展示新浪微博客户端
    KVO的概述与使用
    iOS设计模式——委托(delegate)
    ScrollView
    UIButton
    ScrollView图片的放大缩小
  • 原文地址:https://www.cnblogs.com/wabi87547568/p/4966712.html
Copyright © 2020-2023  润新知