java Android,ActionBar后退按钮(setDisplayHomeAsUpEnabled(true))重新创建父活动
我有两个活动,我们称它们为A和B,当我使用startActivity
导航到活动B时,在活动B中,我使用getSupportActionBar()
访问支持操作栏,然后我调用setDisplayHomeAsUpEnabled(true)
在清单中显示为安卓.R.id.home
返回按钮:
<activity
安卓:name=".activities.ActivityA"
安卓:label="ActivityA"
安卓:theme="@style/AppTheme.NoActionBar" />
<activity
安卓:name=".activities.ActivityB"
安卓:label="ActivityB"
安卓:parentActivityName=".activities.ActivityA"
安卓:theme="@style/AppTheme.NoActionBar">
<!-- The meta-data element is needed for versions lower than 4.1 -->
<meta-data
安卓:name="安卓.support.PARENT_ACTIVITY"
安卓:value=".activities.ActivityA" />
</activity>
因此,当我点击“硬件后退”按钮时,将不被重新创建,当我点击安卓.R.id.home
后退按钮时,将重新创建,现在有两种修复方法:
重写
onOptionsItemSelected
,如果是安卓.R.id.home
,则调用finish()
较少的代码将
安卓:launchMode="singleTop"
与ActivityA一起使用,请注意onNewIntent
被调用
我的问题:我不太喜欢第一种方法,我的问题是关于第二种方法,在onNewIntent
中,我如何知道对onNewIntent
的这个特定调用来自后退按钮而不是其他东西(例如,为了区分推送通知和其他调用,顺便说一句,我知道我可以为推送通知和其他东西设置数据,如果没有数据,那么无论如何都必须是这样),我是否必须再次覆盖onOptionsItemSelected
并设置一些意图数据,是否还有其他内容
共 (0) 个答案