我在Android应用程序中有2个活动(A和B),我使用意图从活动A到活动B.使用parent_activity:
<activity
android:name=".B"
android:label="B" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.app_name.A" />
</activity>
Run Code Online (Sandbox Code Playgroud)
我还使用了一个提供UP按钮的主题.
因此,在我调用活动之后,BI可以使用UP按钮返回活动A.问题是应用程序似乎再次调用活动A 的onCreate()函数,这不是我需要的行为.我需要活动A看起来像我在调用活动B之前看起来一样.
有没有办法实现这个目标?
提前致谢
编辑:
我没有编写任何代码来从活动A开始活动B.我认为它是由eclipse自动生成的.
B类看起来像:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_b);
getActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_b, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
Run Code Online (Sandbox Code Playgroud) 我有一个应用程序,它会在选择启动活动时发出通知.根据Android文档,我可以使用NavUtils.shouldUpRecreateTask来检查活动是否已直接启动(即来自通知)或通过正常活动堆栈启动.但它给出了错误的答案.我正在JellyBean上测试它,但使用支持库.
基本上,即使从通知中启动了活动,shouldUpRecreateTask也总是返回false.
关于为什么uppRecreateTask未能给出正确答案的任何想法?
android android-intent android-notifications android-activity