笔记--Activity

来源:互联网 发布:算法导论 第四版 mobi 编辑:程序博客网 时间:2024/06/06 05:51

1.生命周期OnStop()

   加入A,B两个activity,正常情况下:

  A启动:onCreate()——>onStart()——>onResume()

  从A打开B:第一个Activity A onPause()——>第二个Activity  B  onCreate()——>onStart()——>onResume() 
——>第一个Activity A   onStop()

  从B打开A:  第一个Activity B onPause()——>第二个Activity A  onCreate()——>onStart()——>onResume() 
——>第一个Activity B onStop()

  从B返回A(back键):第一个Activity B onPause()——>第二个Activity A  onCreate()——>onStart()——>onResume() 
——>第一个Activity B onStop()  ——>onDestroy()


2.启动模式(具体四种standard,singletop,singletask,singleinstance讲解见收藏)

  值得注意的时:

    这些启动模式可以在功能清单文件AndroidManifest.xml中进行设置,中的launchMode属性。
  相关的代码中也有一些标志可以使用,比如我们想只启用一个实例,则可以使用 Intent.FLAG_ACTIVITY_REORDER_TO_FRONT 标志,这个标志表示:如果这个activity已经启动了,就不产生新的activity,而只是把这个activity实例加到栈顶来就可以了。

    Intent intent = new Intent(ReorderFour.this, ReorderTwo.class);  intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);  startActivity(intent);
    当初做啄木鸟巡护系统时,就因为从notification跳转导致每次都重新开始(毕竟重新创建了实例),纠结了很久


3.back键操作

  1.重写onBackPressed方法 

@Override      public void onBackPressed() {          // do something what you want          super.onBackPressed();  //如果要自己实现返回键的操作,这句话一定要注掉,不然又去调用默认的back处理方式了    }  
  2.经过查找是可以用别的方法实现 back键的功能的

//RunTime.exec()这个接口可以说是给我们开发者提供了一个很好的直观操作底层操作系统      Runtime runtime = Runtime.getRuntime();      try {        runtime.exec("input keyevent " + KeyEvent.KEYCODE_BACK);      } catch (IOException e) {      }



    

0 0
原创粉丝点击