我有2个活动,让我们称之为A和B,当我使用startActivity
导航到活动B时,在活动BI中使用getSupportActionBar()
访问支持操作栏然后我正在调用{ {1}}在清单中显示为setDisplayHomeAsUpEnabled(true)
后退按钮:
android.R.id.home
因此,当我点击硬件后退按钮后,ActivityA将不重新创建,当我点击 <activity
android:name=".activities.ActivityA"
android:label="ActivityA"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".activities.ActivityB"
android:label="ActivityB"
android:parentActivityName=".activities.ActivityA"
android:theme="@style/AppTheme.NoActionBar">
<!-- The meta-data element is needed for versions lower than 4.1 -->
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".activities.ActivityA" />
</activity>
后退按钮ActivityA RECREATED 时,现在有2种方法可以解决这个问题是:
覆盖android.R.id.home
,如果是onOptionsItemSelected
,请致电android.R.id.home
。
在ActivityA中使用finish()
的代码较少,请注意android:launchMode="singleTop"
被调用。
我的问题:我真的不喜欢第一个approche,我的问题是关于第二个问题,onNewIntent
我怎么知道对{{1}的这个具体调用?来自后退按钮,而不是其他东西(例如,区分推送通知和其他调用,顺便说一下,我知道我可以为推送通知和其他东西设置数据,如果没有数据,那么它必须是那样但是无论如何) ,我是否必须再次覆盖onNewIntent
并设置一些意图数据,是否还有其他内容?