android调用第三方应用程序后发生了什么事件?

android调用第三方应用程序后发生了什么事件?,android,android-intent,Android,Android Intent,我对android有点陌生,我只想问一下android调用第三方应用程序后会发生什么事件 例如,我有以下代码打开adobe reader从SD卡读取我的文件: File fileToShow = new File(passedFileToShow); Intent nextActivity = new Intent(); nextActivity.setAction(android.content.Intent.ACTION_VIEW); nextActivity.setDataAndType(

我对android有点陌生,我只想问一下android调用第三方应用程序后会发生什么事件

例如,我有以下代码打开adobe reader从SD卡读取我的文件:

File fileToShow = new File(passedFileToShow);
Intent nextActivity = new Intent();
nextActivity.setAction(android.content.Intent.ACTION_VIEW);
nextActivity.setDataAndType(Uri.fromFile(fileToShow), "application/pdf");
nextActivity.putExtra("itemName", itemName );
startActivityForResult(nextActivity, 0);
打开adobe reader并阅读完文件后,点击设备后退按钮后如何调用事件

onBackPressed不起作用, onActivityResult也不起作用


非常感谢您的帮助!:

如果您按下“上一步”按钮,它将调用onRestart,并且它应该调用onActivityResult,ResultCode*Activity.RESULT\u已取消*


您可以看到整个活动生命周期

我要做的是定义一个布尔值,用于跟踪用户是否打开adobe

 boolean userOpenedAdobe = false;
然后在打开pdf之前将其设置为true:

File fileToShow = new File(passedFileToShow);
Intent nextActivity = new Intent();
nextActivity.setAction(android.content.Intent.ACTION_VIEW);
nextActivity.setDataAndType(Uri.fromFile(fileToShow), "application/pdf");
nextActivity.putExtra("itemName", itemName );
userOpenedAdobe = true;
startActivityForResult(nextActivity, 0);
然后,您可以检查onResume中的布尔值并执行一些操作。请记住在之后将其设置回false:

protected void onResume() {
    super.onResume();
    if (userOpenedAdobe) {
        // do something
    }
    userOpenedAdobe = false;
}

哇,重新启动为我工作了,非常感谢@SeRPRo!:onResume在adobe reader启动之前就被调用了…我使用了onRestart,无论如何,感谢您的回复@SBerg413!