如果用户在调用startActivityForResult后按下主页按钮,是否可以通知我?

时间:2015-11-21 05:59:20

标签: android

我正在使用ZXing的IntentIntegrator打开条形码扫描仪活动。如果我使用后退按钮退出活动,则onActivityResult仍会使用resultCode以外的RESULT_OK进行调用。但是,如果我按下主页按钮,则根本不会调用onActivityResult(最终可能会在活动被处理掉的时候,但不会立刻就像我需要的那样)。

我尝试在IntentIntegrator用来打开扫描仪的意图中添加标记。我认为Intent.FLAG_ACTIVITY_NO_HISTORYIntent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS之类的标记可能会在按下主页按钮时将活动强制为finish,但不管它是否完成onActivityResult都不会触发。

我有什么样的选项,以便我可以收到通知或投票,并询问何时由startActivityForResult启动的活动(我没有写但不能更改)是因为用户按下了主页按钮,从最近打开另一个应用程序,从他们可能有的通知打开应用程序,或以任何其他方式离开已启动的活动?

1 个答案:

答案 0 :(得分:0)

因为当您按Home时,被叫活动实际上并非finish();它也不会返回到调用活动。这是预期的行为,因为被叫活动仍然是后台堆栈的顶部。

你做的任何事情"修复"这将违背基本的Android功能。