Android:创建时退出活动

时间:2013-04-09 14:21:10

标签: android android-activity oncreate

假设我有这样的代码:

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

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

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

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

4 个答案:

答案 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();
    }
}