Android activity 的启动模式。新人提问,大侠在哪????????
问题描述:
先看两个activity的xml配置
第一个MainActivity
<activity
android:name="com.example.tasktest.MainActivity"
android:taskAffinity="test"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
第二个SecondActivity
<activity
android:taskAffinity="nest"
android:name="com.example.tasktest.SecondActivity"
android:parentActivityName="com.example.tasktest.MainActivity"></activity>
接着我在MainActivity中启动SecondActivity
Intent intent = new Intent(MainActivity.this,SecondActivity.clas);
intent.setFlag(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
我进行了一系列的操作:
我从MainActivity跳到SecondActivity后,按back键和actionBar上的back(就是左上角那个返回)都能很好返回MainActivity,但是当我在SecondActivity界面按了home键后再调出recent app 界面,进入到SecondActivity 界面,按Actionbar的back(就是左上角的返回键)是可以回到MainActivity界面,但是按back 键是直接回到home界面了。
我的疑问:
1.ActionBar的返回和back键的返回机制是不同的吗?
2.如果说在不同的task中的activity是不能返回的,那为什么在我没按home键之前不同task中的MainActivity和SecondActivity是可以返回的?
Android小白,求大神指点。先在此谢过。。。
答
Home在低版本有些机型上和Back键一样处理,但是到高版本了,很多机型得不到事件,有的人会甚至通过系统Log来找突破口,总之Home已经不鼓励人为干扰
按back键退到Main再退就退出了