“模拟位置应用”出现在列表中,但无法选择

时间:2018-07-04 19:40:11

标签: android android-studio permissions gps location

我无法理解为什么我正在使用的应用程序出现在开发人员设置下的“模拟位置应用程序”列表中,但是如果我没有选择,它仍然处于关闭状态... 我到处搜索但找不到解决方案,我在这里阅读的每个问题都与列表中未出现的应用程序 相关。

清单:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

布尔值:

private boolean hasMockLocationPermission() {
    if (Build.VERSION.SDK_INT > 22) {
        try {
            LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
            locationManager.addTestProvider(LocationManager.GPS_PROVIDER,
                    true, true, false, false,
                    true, true, true, Criteria.POWER_HIGH, Criteria.ACCURACY_FINE);
            return true;
        } catch (Exception e) {
            return false;
        }
    } else {
        return (Settings.Secure.getInt(getContentResolver(), Settings.Secure.ALLOW_MOCK_LOCATION, 0) != 0);
    }
}

0 个答案:

没有答案