我需要在我的应用程序中快速打开我的.doc文件而不寻找合适的应用程序(选项)

时间:2014-06-14 07:38:09

标签: android android-intent

我需要在我的应用中快速打开我的.doc文件,而不需要寻找合适的应用(选项)。

我在这里使用了这个

    Intent intent = new Intent();

    intent.setAction(android.content.Intent.ACTION_VIEW);
    Uri uri = Uri.fromFile(file);
    //String type = MimeTypeMap.getSingleton().getMimeTypeFromExtension(
    //      MimeTypeMap.getFileExtensionFromUrl(uri.toString()));
    //intent.setDataAndType(uri, type == null ? "*/*" : type);
    intent.setDataAndType(uri, "application/msword");

    startActivity((Intent.createChooser(intent,
            getString(R.string.open_using))));

此代码显示了我不需要的合适目标应用

2 个答案:

答案 0 :(得分:1)

删除createChooser调用,并将意图传递给startActivity。然后它将打开mime类型的默认应用程序,假设设置了一个。如果没有设置,它仍然可以在那些声称可以打开它的应用程序中弹出一个选择器。如果你只想打开快速办公室,你可以按活动名称这样做,但如果没有安装快速办公室,它将失败(并可能抛出异常)。

答案 1 :(得分:0)

它对我有用。

        PackageManager packageManager = getPackageManager();
        Intent quickOffice = packageManager
            .getLaunchIntentForPackage("com.quickoffice.android");

        File sdcard = Environment.getExternalStorageDirectory();
        //your file location
        File file = new File(sdcard, "Meta Data.doc");
        Uri path = Uri.fromFile(file);

        quickOffice.setAction(Intent.ACTION_VIEW);
        quickOffice.setDataAndType(path, "application/msword");// ---->application/msword

        startActivity(quickOffice);