【发布时间】:2013-12-04 19:34:49
【问题描述】:
我有一个关于 android 安全应用程序的想法,但是查看设备管理员 api 文档,我看不出它是否可行。我希望该应用程序能够设置用于解锁手机的密码。它需要在没有用户输入或确认的情况下设置密码。
任何人都知道这是否可能,如果可能,是否有任何文档?
【问题讨论】:
我有一个关于 android 安全应用程序的想法,但是查看设备管理员 api 文档,我看不出它是否可行。我希望该应用程序能够设置用于解锁手机的密码。它需要在没有用户输入或确认的情况下设置密码。
任何人都知道这是否可能,如果可能,是否有任何文档?
【问题讨论】:
找到我要找的东西,可以按时完成
public boolean resetPassword(字符串密码,int 标志)
在 API 级别 8 中添加 强制用户使用新的设备解锁密码(访问整个设备所需的密码,而不是单个帐户的密码)。这立即生效。给定的密码必须足以满足 getPasswordQuality(ComponentName) 和 getPasswordMinimumLength(ComponentName) 返回的当前密码质量和长度限制;如果它不满足这些约束,那么它将被拒绝并返回 false。请注意,密码可能具有更高的质量(当请求的质量仅为数字时包含字母数字字符),在这种情况下,当前活动的质量将被提高以匹配。
调用设备管理员必须请求USES_POLICY_RESET_PASSWORD才能调用此方法;如果没有,则会抛出安全异常。
参数 密码 用户的新密码。 flags 可以是 0 或 RESET_PASSWORD_REQUIRE_ENTRY。 退货 如果应用了密码,则返回 true,如果当前约束不可接受,则返回 false。
【讨论】:
我认为这根本不可能,因为每个应用程序都在沙盒中运行,以禁止恶意软件执行您提到的某些事情。
【讨论】:
看这个:http://developer.android.com/guide/topics/admin/device-admin.html
似乎有一种方法可以让应用要求输入密码:
为设备设置密码 此代码显示一个用户界面,提示用户设置密码:
Intent intent = new Intent(DevicePolicyManager.ACTION_SET_NEW_PASSWORD);
startActivity(intent);
但是,我不确定您是否可以在应用内静默执行此操作,无需任何用户输入。此外,设备管理应用似乎不是普通应用,似乎是为公司/机构设计的。
【讨论】: