0

我想使用已安装的 adobe reader 打开 pdf 文件。我尝试通过以下方式阻止“使用完成操作”菜单。

Intent intent = new Intent();
intent.setPackage("com.adobe.reader");
intent.setDataAndType(Uri.fromFile(doc), "application/pdf");
startActivity(intent);

使用上面的代码,我设法将列表大小减少到 2。有没有办法避免显示上下文菜单(使用完成操作)。

谢谢!

4

2 回答 2

1

当两个活动具有相同的意图过滤操作时,Android 系统会自动显示“完成操作使用”对话框。一旦您选择了默认操作。Android 不会显示它并使用默认操作完成任务。

于 2012-07-18T07:38:36.763 回答
-2

我要感谢每一位试图回答这个问题的人。经过一番浏览,我找到了我的问题的解决方案。这对我来说非常有用。

而不是使用

intent.setPackage("com.adobe.reader");

我用了

intent.setClassName("com.adobe.reader", "com.adobe.reader.AdobeReader");

不要忘记在 try catch 块中启动活动,当设备上未安装 adobe reader 时,它会有所帮助。请检查以下代码段。

try {
    Intent intent = new Intent();

    intent.setClassName("com.adobe.reader", "com.adobe.reader.AdobeReader");
    intent.setAction(Intent.ACTION_VIEW);
    intent.setDataAndType(Uri.fromFile(doc), "application/pdf");
    startActivity(intent);

   } 
   catch (ActivityNotFoundException activityNotFoundException) {
    activityNotFoundException.printStackTrace();
    }
于 2012-07-19T13:04:01.337 回答