簡體   English   中英

獲取用戶是否通過網絡啟用了位置

[英]Get if user has enabled location via network

一些設備(或全部)允許用戶使用網絡(WiFi或數據)隱藏其位置。 如何知道此設置是啟用還是禁用?

我需要通過gps(如果啟用)或通過wifi或數據網絡獲取當前用戶位置。

LocationManager保存以下信息:

LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
boolean isGPSEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
boolean isNetworkdEnabled = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);

我正在使用以下代碼檢查用戶是否啟用了位置GPS或網絡提供商:

private static LocationManager sLocationManager =
    (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);

public static boolean isLocationProviderEnabled() {
    if (sLocationManager != null) {
        boolean gpsEnabled = false;
        boolean networkEnabled = false;

        try {
            gpsEnabled = sLocationManager
                    .isProviderEnabled(LocationManager.GPS_PROVIDER);
            networkEnabled = sLocationManager
                    .isProviderEnabled(LocationManager.NETWORK_PROVIDER);

            if (gpsEnabled || networkEnabled) {
                return true;
            }
        } catch (Exception e) {
        }
    }

    return false;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM