我不确定我是否在 android 的设备管理 API 中遇到了错误,或者我使用错误。
我需要以编程方式重置面部锁定。我的应用程序除了带有按钮的活动外,什么都没有,onClick 处理程序会重置设备密码。
@Override
public void onClick(View pArg0) {
DevicePolicyManager admin = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE);
admin.resetPassword("", 0);
}
除了启用面部锁定的情况外,一切正常。在这种情况下,锁定未重置,我看到以下跟踪:
04-03 14:20:15.427: E/JavaBinder(200): *未捕获的远程异常!(跨进程尚不支持异常。) 04-03 14:20:15.427:E/JavaBinder(200):android.util.AndroidRuntimeException:从 Activity 上下文外部调用 startActivity() 需要 FLAG_ACTIVITY_NEW_TASK 标志。这真的是你想要的吗?04-03 14:20:15.427: E/JavaBinder(200): at android.app.ContextImpl.startActivity(ContextImpl.java:847) 04-03 14:20:15.427: E/JavaBinder(200): at com. android.internal.widget.LockPatternUtils.deleteGallery(LockPatternUtils.java:459) 04-03 14:20:15.427: E/JavaBinder(200): at com.android.internal.widget.LockPatternUtils.saveLockPassword(LockPatternUtils.java:605 ) 04-03 14:20:15.427: E/JavaBinder(200): 在 com.android.internal.widget.LockPatternUtils.saveLockPassword(LockPatternUtils.java:570) 04-03 14:20:15.427: E/JavaBinder(200) ):
我检查了源代码,似乎有尝试启动和活动,但是 mContext 似乎不是活动上下文。
void deleteGallery() {
if(usingBiometricWeak()) {
Intent intent = new Intent().setClassName("com.android.facelock",
"com.android.facelock.SetupFaceLock");
intent.putExtra("deleteGallery", true);
mContext.startActivity(intent);
}
}
有没有人成功重置面部锁定,或者我应该提交一个错误?