如何要求用户启用位置(如地图一样)

时间:2016-09-02 15:14:14

标签: android gps location android-gps

如果我在关闭GPS的情况下打开谷歌地图应用程序,并尝试获取我的位置,我会得到图1中的提示(抱歉,如果数字是意大利语)。

我在StackOverflow中找到了几个答案,但是所有答案都建议做这样的事情:

if(gpsNotEnabled) {
    AlertDialog.Builder dialog = new AlertDialog.Builder(this);
    dialog.setMessage("GPS not enabled");
    dialog.setPositiveButton("Enable", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface paramDialogInterface, int paramInt) {
            Intent myIntent = new Intent( Settings.ACTION_LOCATION_SOURCE_SETTINGS);
            startActivity(myIntent);
            //get gps coordinates
        }
    });
    dialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface paramDialogInterface, int paramInt) {
            // Do something without gps
        }
    });
    dialog.show();
}

但如果我这样做,我会得到一个如图2所示的对话框;如果我点击enable,我会进入GPS设置,如图3所示,我可以在那里打开GPS然后再回来。

enter image description here

这不是我们在Google地图中可以看到的行为:如果我在提示中点击yes,则GPS会自动开启,甚至无需退出当前应用。我们怎样才能实现这种行为?

0 个答案:

没有答案