android 触发home之后activity销毁问题
2013-11-08 13:53
309 查看
在使用Notification通知栏的时候模拟home键返回桌面,在未重写onSaveInstanceState方法的情况下,activity会被销毁掉,当点通知栏跳回activity会报错。
网上看过不少文章都是说需要重写onSaveInstanceState,也有一些列子但是试过activity还是销毁掉了,后来看了查看后台出现java.lang.ClassCastException: java.lang.String cannot be cast to android.os.Bundle,才知道当重写onSaveInstanceState保存的信息有误,如果需要activity不销毁需要保存AndroidManifest.xml里面activity 的name
例如
AndroidManifest.xml
<activity
android:name="com.MainActivity"...........
@Override
protected void onSaveInstanceState(Bundle outState) {
outState.putInt(key, "com.MainActivity");
super.onSaveInstanceState(outState);
}
之后再模拟home键
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addCategory(Intent.CATEGORY_HOME);
this.startActivity(intent);
是会调用onSaveInstanceState,保存好activity name返回桌面activity就没有销毁.
网上看过不少文章都是说需要重写onSaveInstanceState,也有一些列子但是试过activity还是销毁掉了,后来看了查看后台出现java.lang.ClassCastException: java.lang.String cannot be cast to android.os.Bundle,才知道当重写onSaveInstanceState保存的信息有误,如果需要activity不销毁需要保存AndroidManifest.xml里面activity 的name
例如
AndroidManifest.xml
<activity
android:name="com.MainActivity"...........
@Override
protected void onSaveInstanceState(Bundle outState) {
outState.putInt(key, "com.MainActivity");
super.onSaveInstanceState(outState);
}
之后再模拟home键
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addCategory(Intent.CATEGORY_HOME);
this.startActivity(intent);
是会调用onSaveInstanceState,保存好activity name返回桌面activity就没有销毁.
相关文章推荐
- Android应用点击HOME后,再次启动该应用,不显示最近Activity的问题解决。
- Android——处理设备旋转Activity销毁时临时数据丢失的问题
- android 打开app进入某个activity之后在按home,在点击桌面图标进入会重启。
- 关于三星手机调用系统相机之后activity被销毁导致数据丢失问题
- Activity设置启动模式android:launchMode="singleInstance" 按home键后会销毁
- Android下Activity结束(finish())之后没有释放内存问题的解决方法初探
- Android连接无线键鼠导致Activity生命周期销毁重建的问题
- Android:解决打开activity之后 屏幕初始位置不是顶部问题
- 解决 Android中用里ScrollView 之后 Activity 中的 onTouchEvent 失效问题
- Android下Activity结束(finish())之后没有释放内存问题的解决方法初探
- Android | 设置按home键之后是否销毁当前Activity
- Android之Activity结束(finish())之后没有释放内存问题的解决方法
- Android下Activity结束(finish())之后没有释放内存问题的解决方法
- Android开发系统主动销毁activity时问题
- Android-完美解决在Activity中触摸返回键onBackPressed不能触发问题
- Android开发——异步任务中Activity销毁时的问题
- Qt signal slot遇到的一点点小问题,监控对象销毁之后不能触发slot
- 解决 Android中用里ScrollView 之后 Activity 中的 onTouchEvent 失效问题
- Android下Activity结束(finish())之后没有释放内存问题的解决方法