我的应用中有一个按钮,按下它时会打开一个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();
}
}
});
}
答案 0 :(得分:2)
每次都可以让我的按钮从头开始打开吗?
不,因为PDF查看器的行为取决于该PDF查看器的作者。有许多适用于Android的PDF查看器应用程序,每个应用程序都可以处理这些,但这些作者想要的。
答案 1 :(得分:0)
在您的代码中,您发送了一个隐含的意图。这使Android OS能够决定哪个应用程序应该处理这个问题。您已经失去了对系统行为的控制。现在,根据pdf查看器应用程序的行为,它可以工作。你不能对它做任何改变。如果您找到任何操作属性,那么它也不适用于所有应用程序的通用属性。可以做的一件事是在您的应用程序中进行简单的PDF查看器活动。