Java 检测位置设置从快速设置更改
我目前正在开发一个应用程序,要求Android的位置服务始终处于活动状态 现在,我能够检测用户在恢复应用程序时是否激活或停用位置服务(在onResume()事件中) 问题是,如果用户通过“快速设置”菜单停用位置服务,我将无法检测到事件 我如何知道用户何时通过快速设置激活/停用设备的位置 多谢各位 我的代码:Java 检测位置设置从快速设置更改,java,android,location,Java,Android,Location,我目前正在开发一个应用程序,要求Android的位置服务始终处于活动状态 现在,我能够检测用户在恢复应用程序时是否激活或停用位置服务(在onResume()事件中) 问题是,如果用户通过“快速设置”菜单停用位置服务,我将无法检测到事件 我如何知道用户何时通过快速设置激活/停用设备的位置 多谢各位 我的代码: ... BroadcastReceiver mGpsSwitchStateReceiver = new BroadcastReceiver() { @Override pu
...
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));
我遵循的参考文献:
我也有同样的问题。
这对我有用
intentFilter.addAction(android.location.LocationManager.PROVIDERS_CHANGED_ACTION);
不要把它和
Intent.ACTION_PROVIDER_CHANGED
它工作得很好。非常感谢。很抱歉花了这么长时间才回答,但当时我决定把这个问题留到以后再说。现在我终于找到了解决问题的时间。你知道如何识别用户何时断开与互联网的连接吗?是通过停用wifi还是通过移动数据?@LuísHenriques不是通过意向过滤器抱歉。但您可以使用
ConnectivityManager.getActiveNetworkInfo
检查internet是否可用。我希望这有帮助