无法以编程方式重置面部锁定

时间:2012-04-03 11:29:56

标签: java android device-admin

我不确定我是否遇到了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):at   com.android.internal.widget.LockPatternUtils.saveLockPassword(LockPatternUtils.java:570)   04-03 14:20:15.427:E / JavaBinder(200):at   com.android.server.DevicePolicyManagerService.resetPassword(DevicePolicyManagerService.java:1573)   04-03 14:20:15.427:E / JavaBinder(200):at   android.app.admin.IDevicePolicyManager $ Stub.onTransact(IDevicePolicyManager.java:428)   04-03 14:20:15.427:E / JavaBinder(200):at   android.os.Binder.execTransact(Binder.java:338)04-03 14:20:15.427:   E / JavaBinder(200):at dalvik.system.NativeStart.run(Native Method)

我已检查过源代码,似乎有尝试启动和活动,但mContext似乎不是活动上下文。

void deleteGallery() {
    if(usingBiometricWeak()) {
        Intent intent = new Intent().setClassName("com.android.facelock",
            "com.android.facelock.SetupFaceLock");
        intent.putExtra("deleteGallery", true);
        mContext.startActivity(intent);
    }
}

有没有人成功重置面部锁定,还是应该提交错误?

0 个答案:

没有答案