如何在订阅完成之前暂停执行后退按钮?
How to pause execution of back button until subscription completes?
当按下后退按钮等事件发生时,我使用 RxAndroidBle 运行 遇到了很多问题,我想知道暂停执行后退按钮的最佳方法是什么。我基本上想创建一个锁,直到特定的蓝牙操作完成。操作完成后,我想完成后退按钮的执行。有人有什么想法吗?
只是覆盖后退按钮并使用一些标志?例如
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
}
当然,除了使用在大多数情况下会完成 Activity
的 super.onBackPressed();
之外,您还可以执行当用户点击后退按钮时执行的任何其他操作。
当按下后退按钮等事件发生时,我使用 RxAndroidBle 运行 遇到了很多问题,我想知道暂停执行后退按钮的最佳方法是什么。我基本上想创建一个锁,直到特定的蓝牙操作完成。操作完成后,我想完成后退按钮的执行。有人有什么想法吗?
只是覆盖后退按钮并使用一些标志?例如
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
}
当然,除了使用在大多数情况下会完成 Activity
的 super.onBackPressed();
之外,您还可以执行当用户点击后退按钮时执行的任何其他操作。