假设我有这样的代码:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_msmap);
setUpMapIfNeeded();
if (mMap == null) {
return;
}
在我开始活动之前,我已经检查了谷歌地图库。但是,如果没有SIM卡/互联网连接,mMap仍然会返回null。
有人会认为这是有效的,因为谷歌地图/谷歌播放实际上显示错误与“不可用”与确定按钮。但如果点击它,应用程序就会挂起......
因此,当mMap == null时,我想简单地退出显示错误的活动构造函数,然后返回到先前的活动。有没有办法以某种方式优雅地做到这一点?
答案 0 :(得分:1)
致电finish()
将退出Activity
。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_msmap);
setUpMapIfNeeded();
if (mMap == null) {
finish();
}
}
答案 1 :(得分:1)
如何在活动中呼叫finish()
,例如
if (mMap== null){
finish();
}
答案 2 :(得分:1)
如果要退出,请尝试拨打finish()
:
if (mMap == null) {
finish();
}
答案 3 :(得分:1)
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_msmap);
setUpMapIfNeeded();
if (mMap == null) {
AlertDialog.Builder dlgAlert = new AlertDialog.Builder(this);
dlgAlert.setMessage("Whatever your error is");
dlgAlert.setTitle("Title");
dlgAlert.setPositiveButton("Ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
finish();
}
});
dlgAlert.create().show();
}
}