我在使用RxAndroidBle遇到大量问题时发生了后退按钮按下等事件,我想知道暂停执行后退按钮的最佳方法是什么。我基本上想要创建一个锁,直到特定的蓝牙操作完成。一旦操作完成,我想完成后退按钮的执行。有人有什么想法吗?
答案 0 :(得分:2)
只需覆盖后退按钮并使用一些标志? E.g。
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
,您可以执行当用户点击后退按钮时执行的任何其他操作。