android-监视GPS状态(如果用户使用通知栏关闭GPS,则无法检查)

android-监视GPS状态(如果用户使用通知栏关闭GPS,则无法检查),第1张

概述在我的应用程序中,我需要监视GPS状态,该应用程序应仅在GPS打开的情况下运行,并且如果用户关闭GPS,则显示“位置和安全性”设置.我为GPS监控实现了自定义类:publicclassGPSManager{LocationManagermLocationManager;StatusListenerstatusListener;/***

在我的应用程序中,我需要监视GPS状态,该应用程序应仅在GPS打开的情况下运行,并且如果用户关闭GPS,则显示“位置和安全性”设置.我为GPS监控实现了自定义类:

public class GPSManager {    LocationManager mLocationManager;    StatusListener statusListener;    /**     * @param Context context - context to get LocationManager service     * @param IGpsstatusClIEnt clIEnt -component, which wants to receive GPS status update     */    public GPSManager(Context context, IGpsstatusClIEnt clIEnt) {        mLocationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);        statusListener=new StatusListener(clIEnt);    }    public boolean isGpsEnabled(){        return mLocationManager.isProvIDerEnabled(LocationManager.GPS_PROVIDER);    }    public voID registerUpdates() {        mLocationManager.addGpsstatusListener(statusListener);    }    public voID unregisterUpdates() {       mLocationManager.removeGpsstatusListener(statusListener);    }    class StatusListener implements Gpsstatus.Listener {        IGpsstatusClIEnt clIEnt;        public StatusListener(IGpsstatusClIEnt clIEnt){            this.clIEnt=clIEnt;        }        public voID onGpsstatusChanged(int event) {            if(event==Gpsstatus.GPS_EVENT_StopPED){                clIEnt.promptGpsSettings();            }        }    }}

客户端是一个Fragment类实例.它使用一种方法(我在其中显示位置设置)实现IGpsstatusClIEnt接口.
我在onResume()中注册更新,并在onPause()中注销
但这没有效果.当我展开通知栏并关闭GPS并返回到应用程序时,没有提示.据我了解,GPS状态通知不像“挂起的意图”,它会挂起一会儿,以便所有接收者都可以处理它.
有什么选择?
据我了解,GPS只能由用户关闭,而不是在我的活动可见时关闭.因此,我只应在Activity(或Fragment)生命周期事件中检查GPS状态.但是当通知栏展开时,我没有收到onResume()或onPause()调用(但是为什么我没有收到GPS状态通知?)
我当时在考虑服务,但认为这对我的问题来说是昂贵的.
有什么帮助吗?
谢谢.

解决方法:

您是否尝试实现LocationListener并使用onProvIDerDisabled / onProvIDerEnabled方法?

Here是指向LocationListener的androID开发人员页面的链接

总结

以上是内存溢出为你收集整理的android-监视GPS状态(如果用户使用通知栏关闭GPS,则无法检查)全部内容,希望文章能够帮你解决android-监视GPS状态(如果用户使用通知栏关闭GPS,则无法检查)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1210652.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存