每次我可能离开我的应用程序时,我都需要调用另一个应用程序的意图。这意味着每当我(重新开始)我的MainActivity
时,我需要在onResume
中调用此意图:
Intent intent = new Intent();
intent.setData(Uri.parse("protocol://mycall.stuff"));
intent.setAction("protocol.GET");
startActivityForResult(intent, 1);
问题在于此意图会导致onActivityResult
在完成后似乎再次调用onResume
,等等。
我试图在我的finish()
之后使用onActivityResult
,就像在其他一些帖子中建议的那样,但接下来我的活动 - 很好 - 完成。
有什么想法吗?
谢谢!
答案 0 :(得分:2)
使用boolean
来处理以下情况......
boolean done = false;
@Override
protected void onResume() {
super.onResume();
if (!done) {
Intent intent = new Intent();
intent.setData(Uri.parse("protocol://mycall.stuff"));
intent.setAction("protocol.GET");
startActivityForResult(intent, 1);
done = true;
}
}
答案 1 :(得分:0)
Android在其生命周期中具有onResume状态,因此在创建活动时无法阻止调用onResume。你可以做的是通过一个标志来控制它,以防止在ifResume内调用if(flag)return;