如何在Android Marshmallow中检查是否将任何应用程序设置为选定的模拟位置设置
对于Android棒棒糖和以下版本,我检查如下 但是对于Android M此选项将被删除。现在对于Android M我正在做下面的事情。但这不起作用,并引发异常如何在Android Marshmallow中检查是否将任何应用程序设置为选定的模拟位置设置,android,cordova,ionic-framework,gps,Android,Cordova,Ionic Framework,Gps,对于Android棒棒糖和以下版本,我检查如下 但是对于Android M此选项将被删除。现在对于Android M我正在做下面的事情。但这不起作用,并引发异常 if(Build.VERSION.SDK\u INT>=Build.VERSION\u CODES.M) { AppOpsManager opsManager=(AppOpsManager)this.cordova.getActivity().getApplicationContext().getSystemService(Contex
if(Build.VERSION.SDK\u INT>=Build.VERSION\u CODES.M)
{
AppOpsManager opsManager=(AppOpsManager)this.cordova.getActivity().getApplicationContext().getSystemService(Context.APP_OPS_SERVICE);
PackageManager pm=this.cordova.getActivity().getApplicationContext().getPackageManager();
名单
你解决了吗?没有。我没有得到任何解决方案。现在我允许接受所有位置而不进行过滤。你想修复它吗?我已经修复了它,我可以共享我的代码。没有人仅仅因为这个问题才购买我们的应用程序。我以某种方式解决了它。请共享代码。即使对我来说也是必需的。提前谢谢。
if (Secure.getString(this.cordova.getActivity().getContentResolver(), Secure.ALLOW_MOCK_LOCATION).equals("0")) {
return true;
} else {
return false;
}
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
{
AppOpsManager opsManager = (AppOpsManager) this.cordova.getActivity().getApplicationContext().getSystemService(Context.APP_OPS_SERVICE);
PackageManager pm = this.cordova.getActivity().getApplicationContext().getPackageManager();
List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_META_DATA);
for (ApplicationInfo applicationInfo : packages) {
if (opsManager.checkOp(AppOpsManager.OPSTR_MOCK_LOCATION, applicationInfo.uid, applicationInfo.packageName)== AppOpsManager.MODE_ALLOWED) {
return true;
break;
}
}
}