gpt4 book ai didi

android - LocationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER) 在 Galaxy S7 上总是返回 NULL(仅)

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:55:58 26 4
gpt4 key购买 nike

刚收到运行 Marshmallow (6.0.1) 的 Galaxy S7 (Edge),发现我的应用有问题.当我调用 locationManager.getLastKnownLocation() 时,它总是返回 NULL。这是我正在运行的:

public Location getLastKnownLocationObject(Context context) {

LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);

try {
if (locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) {
Location location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
// Location is always null on S7 (only)
Log.i(TAG, ">>> getLastKnownLocationObject() getLastKnownLocation: " + location);
return location;
}

} catch (Exception e) {
Log.e(TAG, ">>> getLastKnownLocationObject() exception", e);
}
return null;

}

同样的代码在我试过的所有其他设备上都能正常工作:Galaxy S5 (5.0.1)、Nexus 7 (5.0.1)、Nexus 9 (6.0.1) 和 Samsung Tab3 (4.4.2)

请注意,如果我将 list 更改为使用 ACCESS_FINE_LOCATION,则上述代码在每个设备上都可以正常工作。不幸的是,管理层此时不允许我更改权限。

在我在 SO 上看到的一些答案中,建议在执行 getLastKnownLocation() 之前调用以下方法,但这没有任何效果。

locationManager.requestLocationUpdates(
LocationManager.NETWORK_PROVIDER, 0, 0, new LocationListener() {
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}

@Override
public void onProviderEnabled(String provider) {
}

@Override
public void onProviderDisabled(String provider) {
}

@Override
public void onLocationChanged(final Location location) {
// NEVER CALLED on Samsung S7 for LocationManager.NETWORK_PROVIDER
}
});

所以目前,我觉得这是新三星 Galaxy S7 独有的问题。

最佳答案

根据我使用三星设备的经验。如果您重新启动手机并且不启用 GPS,您将无法获得位置。如果您启用 GPS 作为某个点 - 也许通过运行谷歌地图,那么您将获得一个位置。三星不会返回 GPS、网络或无源供应商的位置,除非它在设备开机周期内获得了位置。

我在代码中进行的所有调用都没有让它启动并激活并获取位置。它们在其他设备上运行良好。三星似乎也不会长时间缓存此信息。

关于android - LocationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER) 在 Galaxy S7 上总是返回 NULL(仅),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36018740/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com