My MainActivity
有lauchMode="singleTask"
现在我想从具有特殊意图数据的通知启动活动。
在MainActivity.onResume
我访问给定的意图数据...
问题是:当活动已经存在时,我单击通知,活动进入前台,但是该方法onResume
没有被调用,我无法访问意图数据。
我尝试了旗帜FLAG_ACTIVITY_CLEAR_TASK
这适用于 Honeycomb,但不适用于 Gingerbread。
这是我从通知开始活动的方式:
Intent intent = new Intent();
intent.setClass(this, MainActivity.class);
intent.putExtra("triggerid", triggerid);
startActivity(intent);
onResume()
如果 Activity 不在前台,则始终会调用。然而,你可能看到的是getIntent()
返回启动该活动的意图,而不是最近发送给该活动的意图。
要解决此问题,您应该覆盖onNewIntent()
。这将接收发送给它的新意图。然后你可以打电话setIntent()
与收到的意图,这将导致getIntent()
在使用时返回新意图onResume()
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)