从URI启动PDF后退时返回错误的活动

时间:2013-01-08 17:30:48

标签: android android-intent

我希望这很简单,但我对于发生的事情感到非常困惑。我正在使用从我的应用程序中的其他地方复制的一段代码在Android活动中从Imagebutton启动PDF。

if (v==imagebutton20) {

                File file = new File("/sdcard/documents/20.pdf");
                  if (file.exists()) {
                        Uri path = Uri.fromFile(file);
                        Intent intent = new Intent(Intent.ACTION_VIEW);
                        intent.setDataAndType(path, "application/pdf");
                        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

                        try {
                            startActivity(intent);
                            overridePendingTransition(R.anim.zoom_enter, R.anim.zoom_exit);
                        } 
                        catch (ActivityNotFoundException e) {

                        }
                  }
            }   //end of   load

pdf加载正常但是当我按下启动pdf isnt show的活动时,它返回之前的活动。我试过评论

     intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

但效果相同。我错过了什么?对不起,但我无法理解官方的Android指南,必须有一个厚厚的一天!


因为我检查了清单文件,活动(脑)的.xml,然后每次使用上面的代码加载pdf时,我都会更加困惑,这会让我回到我的应用程序中的错误活动(主要)。我通过imageview调用Main的Brain活动,但效果很好。当我从Brain上面启动PDF时,后退按钮将我带到Main而不是启动活动Brain。

我在我的应用程序中的其他2个活动中使用上面的代码,后退键的行为完全符合您的期望/期望。这就是为什么我开始检查mainfest文件,但不知道我缺少什么。

任何帮助都是王牌!

感谢。

1 个答案:

答案 0 :(得分:0)

我无法解释为什么以下情况有效,但如果其他人有类似问题我通过以下方式解决了问题:

  • 在eclipse中创建新的Android活动。
  • 从行为不当的活动中复制代码。
  • 将代码粘贴到新创建的活动中。

简单而且不确定为什么会有效,但确实如此。