停止位置侦听器服务 Android

     2023-04-14     301

关键词:

【中文标题】停止位置侦听器服务 Android【英文标题】:Stop Location Listener Service Android 【发布时间】:2017-11-05 09:36:16 【问题描述】:

我需要从位置侦听器中删除更新,我已经尝试了一些代码但无法正常工作。

我从片段调用了一个服务来获取位置更新,但是当我在我的位置监听器服务中点击一个调用此方法的触发器时,我需要停止位置监听器:

public void stopUsingGPS() 
    if (locationManager != null) 
        locationManager.removeUpdates(this);
        locationManager = null;
        stopSelf();
        Toast.makeText(mContext, "off pressed" , Toast.LENGTH_SHORT).show();
    

@Override onLocationChanged(Location location) 上的位置监听器仍在更新。

实际上,当我将 locationManager.removeUpdates(this); 放入 onLocationChanged(); 时,它正在工作

所以我尝试在onLocationChanged();中给出条件

Boolean stop = false;

public void stopUsingGPS() 
    if (locationManager != null) 
        stop = true;

        Toast.makeText(mContext, "off pressed" , Toast.LENGTH_SHORT).show();
    


@Override
public void onLocationChanged(Location location) 

    if(stop)
        locationManager.removeUpdates(this);
    else
        Toast.makeText(mContext, String.valueOf(location.getLatitude()) , Toast.LENGTH_SHORT).show();    
    


但仍然无法正常工作。即使我调用了stopUsingGPS() 方法,覆盖仍将 stop 读为 false。

请帮忙,在此先感谢。

【问题讨论】:

你在使用 LocationManager 类吗?如果是这样,该课程已经很老了,并且不支持该课程。我建议您改用 Fused Location 切换到 Google Location API。 developer.android.com/training/location/…当然,这个api需要设备有Google Play服务。 嗯好的谢谢,我去看看 【参考方案1】:

onStartCommand ---> Service.START_STICKY

@Override
public void onDestroy() 
    locationManager.removeUpdates(listener);
    locationManager=null;
    super.onDestroy();
    Log.v("STOP_SERVICE", "DONE");

    locationManager.removeUpdates(listener);
    locationManager=null;

【讨论】:

后台服务Android中的位置侦听器

】后台服务Android中的位置侦听器【英文标题】:LocationListenerinBackgroundServiceAndroid【发布时间】:2012-08-2623:39:42【问题描述】:哪种方法更好,像这样直接实现LocationListenerpublicclassBackgroundServiceextendsServiceimplementsLocationListener或者... 查看详情

Android 位置服务:我可以为 GPS 和网络位置使用单个位置侦听器吗?

】Android位置服务:我可以为GPS和网络位置使用单个位置侦听器吗?【英文标题】:AndroidLocationService:CanIuseasinglelocationlistenerforbothGPSandNetworkLocation?【发布时间】:2012-06-0106:45:25【问题描述】:我是为网络位置和gps位置注册一个loca... 查看详情

在我重新激活 WiFi/移动网络之前,服务中的 Android 位置侦听器不起作用

】在我重新激活WiFi/移动网络之前,服务中的Android位置侦听器不起作用【英文标题】:AndroidLocationlistenerinServicedoesnotworkuntilIreactivateWiFi/mobilenetwork【发布时间】:2013-06-1416:23:57【问题描述】:我的位置监听器工作正常,收集数据... 查看详情

一旦您调用取消注册位置侦听器,Gps 状态侦听器就会停止运行

】一旦您调用取消注册位置侦听器,Gps状态侦听器就会停止运行【英文标题】:Gpsstatuslistenerstopsfunctioningonceyoucallde-registeralocationlistener【发布时间】:2013-09-0304:43:32【问题描述】:一旦您在LocationManager实例上调用removeUpdates,GpsSt... 查看详情

当应用不在前台时,Android 服务停止工作

】当应用不在前台时,Android服务停止工作【英文标题】:AndroidServicestopsworking,whenappisn\'tontheforeground【发布时间】:2019-01-2523:36:11【问题描述】:我有一个小问题:我从服务中收到LocationListener给出的速度值。但是当我关闭我的应... 查看详情

可以停止位置更新,Android服务

】可以停止位置更新,Android服务【英文标题】:Canabletostoplocationupdate,Androidservice【发布时间】:2015-08-2317:46:23【问题描述】:我正在尝试创建一个路线跟踪应用程序。即使应用程序在后台,它也需要跟踪位置。所以我创建了一... 查看详情

在后台每 10 分钟检查一次位置

...的事情的基本要点是-启动服务。等待一分钟(最多)让侦听器获取位置,一旦获取位置,移除侦听器然后停止服务。如果监听器没有响应,使用getLastKnownLocat 查看详情

Android Activity 不会停止服务和位置更新

】AndroidActivity不会停止服务和位置更新【英文标题】:AndroidActivitydoesn\'tstopserviceandlocationupdates【发布时间】:2020-01-2808:49:38【问题描述】:我正在使用googleapi客户端跟踪MainActivity中用户的当前位置并更新当前位置的标记。在服... 查看详情

当我在 Android 设置中手动禁用位置时,为啥 Android 前台服务会停止?

】当我在Android设置中手动禁用位置时,为啥Android前台服务会停止?【英文标题】:WhyAndroidforegroundservicestopswhenImanuallydisablethelocationinAndriodsettings?当我在Android设置中手动禁用位置时,为什么Android前台服务会停止?【发布时间】... 查看详情

打盹模式停止了定位服务

】打盹模式停止了定位服务【英文标题】:LocationservicegotstoppedbyDozemode【发布时间】:2017-05-0322:39:27【问题描述】:我正在开发运动跟踪应用程序,它使用位置管理器和gps提供程序来每秒获取位置更新,即使屏幕关闭并且手机在... 查看详情

android:处理可选位置

...程序。在活动中处理这种情况很简单:我设置了一个位置侦听器并等待一个进度对话框,但允许用户中止等待(碰巧如果位置提供程序被禁用,没有特殊错误就是永远返回位置...不错)。但是,我也有需要位置的服务。该服务可... 查看详情

我无法在我的 Android 应用上停止我的服务(更新我的位置)!

】我无法在我的Android应用上停止我的服务(更新我的位置)!【英文标题】:Ican\'tstopmyService(updatemylocation)onmyandroidapp!【发布时间】:2011-03-0321:47:56【问题描述】:我已经实现了一项服务,它可以更新我的当前位置并将其发送到... 查看详情

NetTcpActivator 服务(Net.Tcp 侦听器适配器)偶尔停止响应

】NetTcpActivator服务(Net.Tcp侦听器适配器)偶尔停止响应【英文标题】:NetTcpActivatorservice(Net.TcpListenerAdapter)stopsrespondingoccasionally【发布时间】:2013-03-0300:11:29【问题描述】:在我当前的项目中,我们(我的意思是“项目团队”)... 查看详情

Android前台服务不会停止

】Android前台服务不会停止【英文标题】:Androidforegroundservicewon\'tstop【发布时间】:2019-02-1206:28:26【问题描述】:我终于设置了我的应用程序(跟踪实时GPS)以使用前台服务进行跟踪。但是,我现在遇到的问题是服务永远不会停... 查看详情

服务中的位置侦听器

】服务中的位置侦听器【英文标题】:LocationListenerInService【发布时间】:2016-01-2023:03:49【问题描述】:我的提醒程序中需要一项服务来重复检查位置,我正在使用此代码执行此操作,但在服务启动时我会强制关闭:@Overridepublicin... 查看详情

Android:停止服务

】Android:停止服务【英文标题】:Android:Stopservice【发布时间】:2014-06-2216:51:56【问题描述】:我正在尝试一个演示,在该演示中,我在启动按钮上启动一项服务。该服务在后台运行,获取GPS位置并将其发送到服务器。代码如下... 查看详情

位置侦听器从服务而不是 IntentService 工作

】位置侦听器从服务而不是IntentService工作【英文标题】:LocationlistenerworksfromaServicebutnotanIntentService【发布时间】:2013-11-2712:56:37【问题描述】:我有一个应用程序,我试图定期获取用户位置并发送到服务器。我有一个附加到Alarm... 查看详情

javaweb的监听器导致服务停止运行

...可以正常运行。参考技术AJavaweb的监听器可能会导致服务停止运行,因为它可以检测到服务器上的某些变化,如文件系统变化、网络连接变化或者其他应用程序的变化,并作出相应的响应。如果监听器检测到一些不正常的情况,... 查看详情