アンドロイドのデバイス管理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):*キャッチされないリモート例外! 035 14:20:15.427:E/JavaBinder(200):android.util.AndroidRuntimeException: アクティビティコンテキストの外部からstartActivity()を呼び出すには、FLAG_ACTIVITY_NEW_TASKフラグ が必要です。 。これは本当にあなたが望むものですか? 04/03 14:20:15.427:E/JavaBinder(200): android.app.ContextImpl.startActivity(ContextImpl.java:847)04-03 14:20:15.427:E/JavaBinder(200):com.android.internal.widget.LockPatternUtils.deleteGallery(LockPatternUtils.java:459) 04-03 14:20:15.427:E/JavaBinder(200): com.android.internal.widget.LockPatternUtils.saveLockPassword (LockPatternUtils.java:510) 04-03 14:20:15.427:E/JavaBinder(200): 20:15.427:E/JavaBinder(200): com.android.server.DevicePolicyManagerService.resetPassword(DevicePolicyManagerService.java:1573) 04-03 14:20:15.4 27:E/JavaBinder(200): android.app.admin.IDevicePolicyManager $ Stub.onTransact(IDevicePolicyManager.java:428) 04-03 14:20:15.427:E/JavaBinder(200): android。 os.Binder.execTransact(Binder.java:338)04-03 14:20:15.427: E/JavaBinder(200):dalvik.system.NativeStart.run(ネイティブメソッド)
で私がチェックしましたソースコードは、それは開始しようとしていると思われますが、mContextはアクティビティコンテキストではないようです。
void deleteGallery() {
if(usingBiometricWeak()) {
Intent intent = new Intent().setClassName("com.android.facelock",
"com.android.facelock.SetupFaceLock");
intent.putExtra("deleteGallery", true);
mContext.startActivity(intent);
}
}
誰かがフェイルロックのリセットに成功しましたか、またはバグを報告する必要がありますか?
を追加しましたバグレポート:動作していないhttp://code.google.com/p/android/issues/detail?id=28229 – lstipakov