我从这样的代码开始使用pdf阅读器:
public static final int MY_INTENT_FLAG = 1;
String documentName = "filename.pdf";
File file = new File(getFilesDir(), documentName);
if (file != null && file.exists()) {
Uri filePathUri = Uri.fromFile(file);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(filePathUri, "application/pdf");
try {
startActivityForResult(intent,MY_INTENT_FLAG);
} catch (ActivityNotFoundException e) {...}
}
打开文档并阅读它可以正常工作。但是,当我按下pdf阅读器上的后退按钮时,不会调用onActivityResult()。为什么是这样?可以简单地说因为特定的PDF阅读器在完成时没有设置结果代码吗?我的设备上有Acrobat Reader。
我想知道何时从外部活动回来,以便用户在这种情况下不需要再次登录。
感谢您提供任何意见
答案 0 :(得分:0)
这是为什么?它可以简单地因为特定的pdf阅读器 完成后没有设置结果代码?我有Acrobat Reader 设备
是的,通常就是这种情况。
要传回的结果,子活动需要先调用setResult(),然后调用finish()。如果不是,则“结果”不会传播回父活动。
答案 1 :(得分:0)
您可以获得onActivityResult()
方法,但无法从子活动中获取结果,因为它不会按setResult()
并且您告诉您登录检查,以便您有其他方法来检查登录
例如
您可以将用户名和密码保存到preference
,然后您可以从中读取登录详细信息
如果其中存在详细信息,则用户登录,如果没有,则可以将登录屏幕弹出到用户。