android开发怎样让悬浮Activity只是隐藏而不销毁

2020-11-17 09:50:32

android在mainfest中给Activity添加一个属性 android:theme="@android:style/Theme.Dialog",可以使Activity悬浮在其它窗口上面,在布局中可以设置activity的大小,当点击悬浮Activity边缘以外区域时,Activity会消失,观察消失时其生命周期会发现执行了finish()方法从而执行了onDestroy方法。有时我们只是需要将Activity隐藏,并不销毁,此时可以重写finish方法,如下:

/**
   * 判斷是否销毁Activity
  */
 @Override
 public void finish() {
  if (isRealFinish) {
   super.finish();
   this.moveTaskToBack(true);
  } else {
   this.moveTaskToBack(false);
  }
  isRealFinish = false;
 }
这里的moveTaskToBack()
是进栈,moveTaskToBack()就可以不销毁的把Activity放到后台去。


  • 2020-12-27 20:36:10

    音频播放AudioTrack之入门篇

    AudioTrack是管理和播放单一音频资源的类。AudioTrack仅仅能播放已经解码的PCM流,用于PCM音频流的回放。