【问题标题】:GPS automatic enabling problemsGPS自动启用问题
【发布时间】:2014-01-27 15:10:46
【问题描述】:

我正在开发一个应用程序,它会在应用程序启动时自动将用户引导至 GPS 设置。

  Problems:

1.我是否必须为此在清单中声明写入安全设置。(如果是,则显示“权限仅授予系统应用程序)在这种情况下该怎么办,如果答案是肯定的

2.我的应用程序现在正在做什么,它将用户直接带到 GPS 设置,我想要的是,会出现一个对话框(仅当 GPS 关闭时),其中包含“GPS 设置”和“取消”按钮。如果用户选择“取消”,我想显示另一个对话框,显示“App will not work with GPS OFF”。

如何处理这些问题,请提出建议。

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

我正在使用此代码进行 GPS 设置。

【问题讨论】:

    标签: android geolocation gps


    【解决方案1】:

    Write Secure Settings 不需要任何额外权限。您只需使用以下方法检查您的 GPS 是否已启用或禁用:

    // flag for GPS status
     boolean isGPSEnabled = false;
    
     // Declaring a Location Manager
    protected LocationManager locationManager;
    
    locationManager = (LocationManager) mContext
                    .getSystemService(LOCATION_SERVICE);
    
            // getting GPS status
            isGPSEnabled = locationManager
                    .isProviderEnabled(LocationManager.GPS_PROVIDER);
    
    if (!isGPSEnabled ) {
        // no GPS provider is enabled
        //Create your Dialog over here
            } else{
        // GPS provider is enabled
     }
    

    【讨论】:

    • @bhanukaushik mContext 是您的活动上下文。就是这样。
    【解决方案2】:

    您可以像下面这样检查 GPS 的状态

    LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
    if (locationManager != null) {
      boolean state = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多