在Android中打开和关闭Gps?

时间:2013-07-23 15:18:11

标签: android gps

是否可以以编程方式打开设备上的LocationProviders(GPS提供商/网络提供商),如果它已关闭?

我可以在Android 2.2和2.3中没有问题地打开gps, 但是在android 4.0或4.1中,当我打开gps时,这个code.gps图标出现在通知中,但我无法在我的程序中获取当前位置

   Intent intent = new Intent("android.location.GPS_ENABLED_CHANGE");
   intent.putExtra("enabled", true);
   sendBroadcast(intent);

我现在做什么?我急需它

1 个答案:

答案 0 :(得分:1)

GeoBits发布了解释为什么GPS应该(并且可以)不能在程序上打开的正确链接。

保证只需打开设备的设置菜单,然后让用户完成工作。因此你必须使用这样的意图:

    Intent i = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
    startActivity(i);

也可以为结果启动此活动,以检查用户是否在onActivityResult()中启用了GPS。这可以这样做:

    public boolean checkForGpsProvider() {
        LocationManager locationManager = (LocationManager)
                getSystemService(Context.LOCATION_SERVICE);

        return locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
    }