android:launchMode="standard":这种启动模式下,每startActivity()一次,即在内存中创建一个新实例。

android:launchMode="singleTop":如果在栈的顶端有该activity的引用存在,则再一次startActivity()不会onCreate创建新的,而是复用存在的实例,调用onNewIntent()方法。

android:launchMode="singleTask":只要整个栈中有该activity的引用存在,则再一次startActivity()不会onCreate创建新的,而是复用存在的实例,调用onNewIntent()方法。

android:launchMode="singleInstance":第一次创建后,即另开启一个任务栈,并且该新栈只能存在它的一个引用;再一次startActivity()不会onCreate创建新的,而是复用存在的实例,调用onNewIntent()方法。


再来看看startActivityForResult()方法:(亲测)

现在演示:A startActivityForResult()开启B,然后B返回数据;

如果A为standardB为singleTask、singleInstance,返回失败;A调用startActivityForResult()开启B后,会立即调用A的onActivityResult();此时B操作数据没有返回(还没获取)B为singleTop和standard都正常返回数据。如果A为singleTop同上如果A为singleTask同上如果A为singleInstance,则返回数据全失败

综上:如果需要自己的Activity中开启系统照相机,然后返回数据,请自己的activity不要设置为singleInstance;如果非要是singleInstance,那就不能使用onActivityResult方式获取返回数据了;可以在保存照片后,从SD卡中获取图片。

setResult()方法在onPause、onDestory()中执行是无效的。其它生命周期方法中执行有效。


每按一次后退键,都会调用onDestory();


调用this.finish(),会自动调用onDestory();



通知点击,传的intent值,进入目标Activity时,会调用onNewIntent()方法,只要该activity不为singleInstance,intent带的值都能取到。

Intent intent = new Intent(ctx, MainActivity.class);intent.putExtra("time", time);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);PendingIntent contentIntent = PendingIntent.getActivity(ctx, 0,intent, 0);

目标activity

@Overrideprotected void onNewIntent(Intent intent) {super.onNewIntent(intent);Logger.d(TAG, "MainActivity onNewIntent");String time = intent.getStringExtra("time");Logger.d(TAG, "onNewIntent time: "+time);if(!TextUtils.isEmpty(time)){Logger.d(TAG, "time: "+time);//经营数据mTabHost.setCurrentTab(0);rb_main_data.setChecked(true);//设置已读PushMsgDao dao = new PushMsgDao(this);SystemMessage systemMessage = dao.findMsgByTime(time);dao.setReaded(systemMessage.getId());}else{Logger.d(TAG, "没有时间");}}





更多相关文章

  1. android中的提示信息显示方法(toast应用)
  2. adb devices 找不到设备的解决方法
  3. Android百度地图(一):百度地图定位sdk 类方法参数、定位原理详细
  4. Android(安卓)stuio在MainActivity中运行java的main方法
  5. Android例子—设置Activity全屏的三种方法
  6. Android最佳实践之Notification、下拉刷新、内存及性能建议等
  7. android dialog用法汇总
  8. 浅谈Java中Collections.sort对List排序的两种方法
  9. Python list sort方法的具体使用

随机推荐

  1. 多条柱状图图
  2. Mediacodec
  3. android存储对象到本地
  4. Android学习笔记(21)————利用JDBC连
  5. Android(安卓)Studio购物车,结算,二级目录
  6. android 界面 自动化测试
  7. android ListView的复选框
  8. 错误 java.lang.NoSuchMethodError: No s
  9. Android(安卓)应用程序内切换语言
  10. android---MediaRecorder