打开系统位置设置后,android对话框不会关闭

时间:2012-12-23 01:28:44

标签: android dialog settings

我有一个对话框,提示用户启用gps位置(如果未启用)。

打开设置后,用户启用gps,然后按位置设置屏幕中的后退按钮,它们会返回到应用程序,但对话框仍然可见。

以下是点击按钮的代码。

    // On pressing Settings button
    alertDialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog,int which) {
            Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
            mContext.startActivity(intent);
            dialog.dismiss();
        }

    });

我的问题是为什么dialog.dismiss()没有关闭对话框,我也尝试了dialog.cancel(),结果相同。打开设置屏幕后,我应该做些什么吗?

谢谢,

1 个答案:

答案 0 :(得分:2)

我的Activity中有完整的代码:

private void showLocationDisabledInfo() {
    final Context c = this;
    AlertDialog.Builder builder = new AlertDialog.Builder(c);
    builder.setMessage("TEST");
    builder.setPositiveButton("OK", new OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
            c.startActivity(intent);
        }
    });
    builder.setNeutralButton(R.string.cancel, null);
    builder.create().show();
}

它会自动关闭对话框,无论我点击什么按钮。它来自我的应用程序,并在使用API​​ 810的设备以及运行API 17的模拟器上进行了测试。我们的代码之间唯一的区别(可能)是mContext的值。请提供负责设置对话框的完整代码以及您已看到描述行为的环境。