您可以使用isFinishing阅读文档
检查此活动是否正在进行中 销毁以便使用新配置重新创建。 这是 通常在onStop()中使用以确定状态是否需要 清理或将传递给活动的下一个实例 通过onRetainNonConfigurationInstance()。
返回:如果活动被拆除以便重新创建,则返回 使用新配置时,返回true; 否则返回假
用示例简单说明
isFinishing
是用于检查活动是否将被销毁以重新创建的方法(由于方向改变)
如何使用它 ?
如果您使用api> = 11,那么没问题,但是如果您使用api <11,那么我们必须手动处理此方法,我将布尔变量称为IsconfigChange
private boolean IsconfigChange ;
...
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
IsconfigChange = true ;
}
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
@Override
public boolean isChangingConfigurations() {
if(android.os.Build.VERSION.SDK_INT >= 11){
Log.i("DEBUG", "Orientation changed api >= 11 ");
return super.isChangingConfigurations();
}else {
Log.i("DEBUG", "Orientation changed api < 11 ");
return IsconfigChange;
}
}
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
@Override
protected void onStop() {
super.onStop();
if(isChangingConfigurations()){
Log.i("DEBUG", "isChangingConfirgurations OnStop Called");
} else{
Log.i("DEBUG", "OnStop Called");
}
}
夏日
您可以使用onStop中的isFinishing检查应用程序停止位是否被破坏或方向改变。
或者您可以使用isFinishing在这里查看我的答案