0

我的应用程序中有一个按钮,当您按下它时会打开一个 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();
                }
            }
        });

    }
4

2 回答 2

2

是否可以让我的按钮每次都从一开始就打开它?

不,因为 PDF 查看器的行为取决于该 PDF 查看器的作者。有许多适用于 Android 的 PDF 查看器应用程序,每个都可以按照作者的意愿处理。

于 2013-04-20T17:43:21.473 回答
0

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

于 2013-04-20T18:30:20.177 回答