0

假设我有这样的代码:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_msmap);
    setUpMapIfNeeded();
    if (mMap == null) {
      return;
    }

在我开始活动之前,我已经检查了谷歌地图库是否可用。但是,如果没有 SIM 卡/互联网连接,mMap 仍然返回 null。

有人会认为这是可行的,因为谷歌地图/谷歌播放实际上显示了一个带有“不可用”的错误,并带有一个确定按钮。但是如果点击它,应用程序就会挂起......

因此,当 mMap == null 时,我想简单地退出显示错误的活动构造函数,然后返回到先前的活动。有没有办法以某种方式优雅地做到这一点?

4

4 回答 4

1

调用finish()将退出Activity.

protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_msmap);
  setUpMapIfNeeded();
  if (mMap == null) {
    finish();
  }
}
于 2013-04-09T14:26:11.427 回答
1

在活动中调用怎么样finish(),例如

if (mMap== null){
    finish();
}
于 2013-04-09T14:26:27.333 回答
1

finish()当你想退出时尝试调用:

  if (mMap == null) {
    finish();
  }
于 2013-04-09T14:26:33.800 回答
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();
    }
}
于 2013-04-09T16:47:51.783 回答