0

当后退按钮按下等事件发生时,我在使用 RxAndroidBle 时遇到了很多问题,我想知道暂停执行后退按钮的最佳方法是什么。我基本上想创建一个锁,直到特定的蓝牙操作完成。操作完成后,我想完成后退按钮的执行。有人有想法么?

4

1 回答 1

3

只是覆盖后退按钮并使用一些标志?例如

private boolean delayedBack = false; // as member field

...other Activity code

@Override
public void onBackPressed(){
   if(someCondition)
      super.onBackPressed();
    else
      delayedBack = true;  
}

然后,当一些异步操作完成时,只需检查该标志:

 if(delayedBack){
   super.onBackPressed();
   delayedBack = false; // in case you don't want to finish the Activity
  }

当然,您可以在用户点击后退按钮时执行任何其他操作,而不是使用super.onBackPressed();在大多数情况下将完成的操作。Activity

于 2017-09-20T14:58:16.580 回答