检测位置设置从快速设置更改

问题描述 投票:1回答:1

我目前正在开发要求Android的位置服务始终处于活动状态的应用。

现在,我能够在用户恢复应用程序时(在onResume()事件中检测用户是激活还是停用了位置服务。

问题是,如果用户通过快速设置菜单停用了定位服务,则无法检测到该事件。

我怎么知道用户何时通过快速设置激活/禁用设备的位置?

谢谢。

我的代码:

...

BroadcastReceiver mGpsSwitchStateReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {

        if (intent.getAction() != null && intent.getAction().matches("android.location.PROVIDERS_CHANGED")) {
            // Make an action or refresh an already managed state.
            Log.d("vtApp", "CHANGED");
        }
    }
};

currentActivity.registerReceiver(mGpsSwitchStateReceiver, new IntentFilter(LocationManager.PROVIDERS_CHANGED_ACTION));

我遵循的参考文献:

How to trigger broadcast receiver when gps is turn on/off?

Android Quick Settings notifications?

Changing Location Settings

java android location
1个回答
0
投票

我有同样的问题。这对我有用

© www.soinside.com 2019 - 2024. All rights reserved.