Android,ActionBar后退按钮(setDisplayHomeAsUpEnabled(true))重新创建父活动

时间:2016-09-04 11:34:47

标签: java android

我有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种方法可以解决这个问题是:

  1. 覆盖android.R.id.home,如果是onOptionsItemSelected,请致电android.R.id.home

  2. 在ActivityA中使用finish()的代码较少,请注意android:launchMode="singleTop"被调用。

  3. 我的问题:我真的不喜欢第一个approche,我的问题是关于第二个问题,onNewIntent我怎么知道对{{1}的这个具体调用?来自后退按钮,而不是其他东西(例如,区分推送通知和其他调用,顺便说一下,我知道我可以为推送通知和其他东西设置数据,如果没有数据,那么它必须是那样但是无论如何) ,我是否必须再次覆盖onNewIntent 并设置一些意图数据,是否还有其他内容?

0 个答案:

没有答案