如果问题尚不清楚,我的意思是我的应用完全取决于用户的位置,一旦GPS禁用或应用不再具有权限,我需要知道。
现在有4种可能的发生方式,
我觉得1和2是相同的动作,而3和4也相同。
请参见下面的图片以了解选项
当前,我只能使用BroadcastReceiver
来知道选项2,但是它有一个局限性,就是我不知道用户执行了什么操作?他打开还是关闭了它?它只是以任何一种方式打印日志。
private BroadcastReceiver mGpsSwitchStateReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().matches("android.location.PROVIDERS_CHANGED")) {
// this triggers either the user turn on or off the GPS
Log.i("TAG", "onReceive: ");
}
}
};
我的问题不是this question的重复,因为我正在寻求一种方法来确定GPS是否已被广播接收器禁用!?还有另一个问题集中在媒体而不是位置上,这是完全不同的事情!