我创建了一个android应用程序,该应用程序在启动时要求一些运行时权限!但是在某些棉花糖设备中,即使用户授予了权限,应用程序再次启动或加载MainActivity后,应用程序也会再次请求权限!我不知道为什么!它的工作原理在nogout,oreo等方面都没有任何问题。我的客户有一个定制的中国设备。.我在genymotion中尝试了此操作,并且遇到了同样的问题!
我请求类似的权限
String[] PERMISSIONS = {android.Manifest.permission.WRITE_EXTERNAL_STORAGE,android.Manifest.permission.ACCESS_FINE_LOCATION,android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.INSTALL_PACKAGES,android.Manifest.permission.READ_EXTERNAL_STORAGE, android.Manifest.permission.CAMERA};
Log.e("PERMISSSION ADDED",String.valueOf(hasPermissions(this, PERMISSIONS)));
if(!hasPermissions(this, PERMISSIONS)){
ActivityCompat.requestPermissions(this, PERMISSIONS, PERMISSION_ALL);
}
public static boolean hasPermissions(Context context, String... permissions) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && context != null && permissions != null) {
for (String permission : permissions) {
if (ActivityCompat.checkSelfPermission(context, permission) != PackageManager.PERMISSION_GRANTED) {
return false;
}
}
}
return true;
}
我记录了值!重新启动应用程序/活动后,它始终为假!
我该如何解决?请帮忙!
更新
我删除Manifest.permission.INSTALL_PACKAGES
后,该问题已解决。。但是,由于我需要通过从URL下载apk来安装软件包,因此我需要INSTALL_PACKAGES吗?