Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 锁定屏幕_Android_Passwords_Locking - Fatal编程技术网

Android 锁定屏幕

Android 锁定屏幕,android,passwords,locking,Android,Passwords,Locking,我想用用户从应用程序本身指定的特定密码锁定应用程序 例如,如果它收到短信“密码锁定abc”,它应该 用abc锁上电话 我已经用设备管理员试过了。但它只锁定了手机 我使用的代码是 IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON); filter.addAction(Intent.ACTION_SCREEN_OFF); ComponentName

我想用用户从应用程序本身指定的特定密码锁定应用程序

例如,如果它收到短信“密码锁定abc”,它应该 用abc锁上电话

我已经用设备管理员试过了。但它只锁定了手机

我使用的代码是

    IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON); 
                filter.addAction(Intent.ACTION_SCREEN_OFF);

                ComponentName mAdminName = new ComponentName(ScreenLockService.this,LockActivity.class);

                if(!mDPM.isAdminActive(mAdminName))
                {
                    Intent intent1 = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
                    intent1.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mAdminName);
                      intent1.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,"is locked");
                      intent1.putExtra("force-locked", DeviceAdminInfo.USES_POLICY_FORCE_LOCK);

                    context.startActivity(intent1);
                    System.out.println("The Device Could not lock because device admin not enabled");
                    Toast.makeText(getApplicationContext(), "Activate The DeviceAdmin and then Click start Again", Toast.LENGTH_LONG).show();
                    //mDPM.lockNow();
                }
                else
                {
                    System.out.println("The Device  device admin enabled");
                    Intent  intent1 = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
                    intent1.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mAdminName);
                    intent1.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,"onEnabled");
                    mDPM.lockNow();
                    mDPM.setMaximumTimeToLock(mAdminName, 0);
                    intent1.putExtra("force-locked", DeviceAdminInfo.USES_POLICY_FORCE_LOCK);
                    context.startActivity(intent1); 
}
}

有没有办法使之成为可能?

您必须使用重置密码

来自文档

public boolean resetPassword(字符串密码,int标志)

强制用户使用新的设备解锁密码(访问整个设备所需的密码,而不是个人帐户所需的密码)。这将立即生效

然后调用lock方法来锁定设备

mDPM.lockNow()