检查是否在Android中启用了GPS

时间:2014-07-19 06:24:49

标签: java android eclipse gps

我正在开发一个包含谷歌地图的项目。当活动加载时,我想检查GPS是否启用。所以我使用以下代码重定向到包含设置的页面。

if(!manager.isProviderEnabled( LocationManager.GPS_PROVIDER ))
        {
             AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
                alertDialogBuilder.setMessage("GPS is disabled in your device. Would you like to enable it?")
                .setCancelable(false)
                .setPositiveButton("Goto Settings Page To Enable GPS",
                        new DialogInterface.OnClickListener(){
                    public void onClick(DialogInterface dialog, int id){
                        Intent callGPSSettingIntent = new Intent(
                                android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
                        startActivity(callGPSSettingIntent);
                    }
                });
                alertDialogBuilder.setNegativeButton("Cancel",
                        new DialogInterface.OnClickListener(){
                    public void onClick(DialogInterface dialog, int id){
                        dialog.cancel();
                    }
                });
                AlertDialog alert = alertDialogBuilder.create();
                alert.show();
        }

但问题是,如果我启用GPS并返回应用程序,我希望页面再次加载,以便加载地图。如何确保我的活动再次运行?

2 个答案:

答案 0 :(得分:0)

您必须覆盖方法onResume

如果您了解活动生命周期,则会在激活GPS时看到您的活动暂停(onPause),并且当您返回活动时会调用onResume

答案 1 :(得分:0)

将android:noHistory =“true”放在当前类的清单文件中。它不会留下任何痕迹。清理堆栈。