Android:每次从头开始打开PDF文件

时间:2013-04-20 17:31:55

标签: android android-intent android-button

我的应用中有一个按钮,按下它时会打开一个pdf文件。但是,当我退出pdf文件然后再次按下按钮时,它会打开我最后一次打开的页面上的pdf文件。是否可以让我的按钮从头开始每次打开?如何做到这一点?下面是我的代码:

ImageButton userGuide = (ImageButton) findViewById(R.id.main_menu_user_guide_button);
        userGuide.setOnClickListener(new View.OnClickListener() {

            public void onClick(View view) {
                SimpleAudioEngine.sharedEngine(context).playEffect(
                        "sfx/Button_Pop.wav");
                File pdfFile = new File(Environment
                        .getExternalStorageDirectory().getAbsolutePath()
                        + "/MathBarsPDFDocument/userg.pdf");
                Uri path = Uri.fromFile(pdfFile);
                Intent intent = new Intent(Intent.ACTION_VIEW);
                intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                intent.setDataAndType(path, "application/pdf");
                try {

                    startActivity(intent);

                } catch (ActivityNotFoundException e) {
                    // No application to view, ask to download one
                    AlertDialog.Builder builder = new AlertDialog.Builder(
                            HelpMenu.this);
                    builder.setTitle("No Application Found");
                    builder.setMessage("Download one from Android Market?");
                    builder.setPositiveButton("Yes, Please",
                            new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog,
                                        int which) {
                                    Intent marketIntent = new Intent(
                                            Intent.ACTION_VIEW);
                                    marketIntent.setData(Uri
                                            .parse("market://details?id=com.adobe.reader"));
                                    startActivity(marketIntent);
                                }
                            });
                    builder.setNegativeButton("No, Thanks", null);
                    builder.create().show();
                }
            }
        });

    }

2 个答案:

答案 0 :(得分:2)

  

每次都可以让我的按钮从头开始打开吗?

不,因为PDF查看器的行为取决于该PDF查看器的作者。有许多适用于Android的PDF查看器应用程序,每个应用程序都可以处理这些,但这些作者想要的。

答案 1 :(得分:0)

在您的代码中,您发送了一个隐含的意图。这使Android OS能够决定哪个应用程序应该处理这个问题。您已经失去了对系统行为的控制。现在,根据pdf查看器应用程序的行为,它可以工作。你不能对它做任何改变。如果您找到任何操作属性,那么它也不适用于所有应用程序的通用属性。可以做的一件事是在您的应用程序中进行简单的PDF查看器活动。