gpt4 book ai didi

android - Activity 在 Nexus 7 上失败,但在 Nexus 4 和 5 上运行良好

转载 作者:行者123 更新时间:2023-11-29 21:14:08 25 4
gpt4 key购买 nike

我有一个应用程序可以在 map 上精确定位用户的位置。这在我的 Nexus 4 和 5 上都能成功运行,但在我的 Nexus 7 上将不再有效。

它确实在 7 上运行,但随后设备在执行过程中断电,现在该应用程序将不再运行。

我已将设备重置为出厂设置并运行所有更新。

这是我的 onCreate 方法的代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
map.setMyLocationEnabled(true);
Criteria criteria = new Criteria();
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
String provider = locationManager.getBestProvider(criteria, false);
Location location = locationManager.getLastKnownLocation(provider);
double lat = location.getLatitude();
double lng = location.getLongitude();
LatLng coordinate = new LatLng(lat, lng);
CameraUpdate center = CameraUpdateFactory.newLatLng(coordinate);
CameraUpdate zoom=CameraUpdateFactory.zoomTo(16);
map.moveCamera(center);
map.animateCamera(zoom);
}

它说我在 ** ** double lat = location.getLatitude(); 处收到 NullPointerException;

如果我的所有设备都会发生问题,我可以理解,但我无法理解为什么只有这台设备(尤其是在它较早工作之后)?

最佳答案

根据 getLastKnownLocation documentation :

If the provider is currently disabled, null is returned.

当您使用 getBestProvider(criteria, false) 时,您是说您允许未启用的提供程序(这就是 false 的意思)- 将其切换为 true 如果您只想查看已启用的提供程序(这将确保 getLastKnownLocation 不会返回 null)。

请注意,getLastKnownLocation 可能已经过时,如果您需要获取最近的位置,您可能仍希望查找位置更新。

关于android - Activity 在 Nexus 7 上失败,但在 Nexus 4 和 5 上运行良好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21897798/

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