【发布时间】:2020-11-19 18:32:51
【问题描述】:
在我的应用中收到通知后,点击它会打开活动 B。活动 B 有一个父活动 A。这是清单:
<activity
android:name="com.evapp.activities.B"
android:label="@string/title_activity_B"
android:parentActivityName="com.evapp.activities.A"
android:screenOrientation="portrait" >
<!-- Parent activity meta-data to support 4.0 and lower -->
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.evapp.activities.A" />
</activity>
在活动 B 中,我启用了向上功能(活动操作栏图标附近的左箭头),代码如下:
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
getActionBar().setDisplayHomeAsUpEnabled(true);
...
问题是,如果通过单击通知打开了活动 B(活动 A 不是带来活动 B 的活动),那么当单击图标时,应用程序将关闭。我想让它打开它的父活动,A. 有可能吗?还是我应该使用活动 B 中的 startActivity() 来做?
更新 1- 我已添加此代码:
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case android.R.id.home:
Intent upIntent = NavUtils.getParentActivityIntent(this);
if (NavUtils.shouldUpRecreateTask(this, upIntent))
{
TaskStackBuilder.create(this)
.addNextIntentWithParentStack(upIntent)
.startActivities();
}
else
{
NavUtils.navigateUpTo(this, upIntent);
}
return true;
谢谢
【问题讨论】: