Caused by java.lang.SecurityException: Permission Denial: isUserRunning() from pid=13462, uid=101010 requires android.permission.INTERACT_ACROSS_USERS
at android.os.Parcel.readException(Parcel.java:1683)
at android.os.Parcel.readException(Parcel.java:1636)
at android.app.admin.IDevicePolicyManager$Stub$Proxy.isActivePasswordSufficient(IDevicePolicyManager.java:3714)
at android.app.admin.DevicePolicyManager.isActivePasswordSufficient(DevicePolicyManager.java:2003)
public boolean isPasswordSufficient() {
return mDpm.isActivePasswordSufficient();
}
以上是导致此问题的崩溃日志和方法。崩溃日志取自在线崩溃报告工具Crashlytics。根据官方文档here调用isActivePasswordSufficient()方法可以在2个场景中抛出SecurityException
似乎第一种情况不会发生,因为我在调用方法之前检查了mDpm.isAdminActive(),设备管理员也有
<device-admin>
<uses-policies>
<limit-password/>
在元数据中。所以我认为这可能与第二种情况有关。我的问题是,如果用户未解锁,是什么意思?我怎么能重现这个问题(如果可能的话。我尝试创建多个用户并在用户帐户之间切换,也尝试启用了屏幕锁定),有没有办法处理这个崩溃而不是添加try catch块(如果它好的,请告诉我为什么)?此次崩溃只发生在目前为止的摩托罗拉Nexus 6 Android 7.0上。
答案 0 :(得分:0)