gpt4 book ai didi

android - 第一个 Android 应用程序使用 GPS 定位和 map ,但电池没电了

转载 作者:行者123 更新时间:2023-11-29 15:33:12 25 4
gpt4 key购买 nike

我刚刚开始开发我的第一个 Android 应用程序,一切顺利。我已经设法让该应用程序在 map 上找到我当前的位置并将蓝色圆圈放在那里。我可以看到通知栏中的卫星图标正在工作(卫星天线发出光线)。

我对 Android 手机完全陌生,但在完成我的应用程序后,我只是使用返回键或主页键退出它,效果很好,但我注意到卫星图标仍在工作。一个小时后回到我的手机,GPS 仍在运行。这当然会使手机电池很快耗尽。

我假设与 iPhone 不同,Android 应用程序可以在后台运行并且它仍在运行。当我的应用程序不再显示在 map View 中时,如何让我的应用程序停止使用 GPS?

这是我到目前为止所做的一个例子:

//find and initialise map view
private void initMapView() {
map = (MapView) findViewById(R.id.map);
controller = map.getController();
map.setSatellite(false);
map.setBuiltInZoomControls(true);
}

//start tracking the position on the map
private void initMyLocation() {
final MyLocationOverlay overlay = new MyLocationOverlay(this, map);
overlay.enableMyLocation();
//overlay.enableCompass(); does not work in emulator
overlay.runOnFirstFix(new Runnable() {
public void run() {
//zoom in to current location
controller.setZoom(8);
controller.animateTo(overlay.getMyLocation());
}
});
map.getOverlays().add(overlay);
}

离开 map View 时是否需要禁用某些功能?如果是,怎么办?

大家好

最佳答案

您可能应该看看 Activity Lifecycle .简而言之,您的假设是正确的:Android 不会在您离开时杀死您的应用程序。

您必须实现onPause() 方法和unregister the GPS listener .也许还删除了 map View ,但我认为这对电池生命周期而言并不重要。

此外,您应该移动 registration of the GPS进入 onResume() 方法。这是必要的,以便在您的应用程序重新出现时再次启用 GPS。

onPause()、onResume()、onCreate()(等等)方法在适当的时候由 android 本身调用。

关于android - 第一个 Android 应用程序使用 GPS 定位和 map ,但电池没电了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3218469/

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