这个例外是我的主要活动:
java.lang.RuntimeException:无法暂停活动:
java.lang.SecurityException:uid没有android.permission.UPDATE_DEVICE_STATS
我注意到这是Android 6.0.1(Marshmallow),设备是三星Galaxy J7。当我研究了权限UPDATE_DEVICE_STATS
时,我发现系统应用需要此权限。
任何人都可以请指导我为什么这个异常突然出现,因为我的应用程序在其他设备上正常运行。
答案 0 :(得分:0)
在6.0及以上版本中,您必须动态获取权限,而不是在应用程序安装时必须检查此link。权限有两种类型危险且非危险。
答案 1 :(得分:0)
对于Marshmallow及以上版本的Android版本,您必须检查用户是否接受所请求的权限,或者使用以下代码动态检查:
ActivityCompat.requestPermissions();
您必须检查每个权限运行时。
并确保您在清单中定义了以下权限:
<uses-permission android:name="android.permission.GET_TASKS" >
</uses-permission>
不是
<user-permission android:name="android.permission.GET_TASKS" >
</user-permission>
另一个解决方案是在清单文件中定义targetSdkVersion,如下所示:
android:targetSdkVersion="21"