首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >适用于工具包的KeyGuard

适用于工具包的KeyGuard
EN

Stack Overflow用户
提问于 2018-01-12 16:33:46
回答 2查看 428关注 0票数 3

如果手机是在SDK21下,如何让应用程序让用户使用手机的PIN或任何使用KeyGuard的身份验证?

我想要像KeyguardManager#createConfirmDeviceCredentialIntent这样的东西,但在SDK21下。

EN

回答 2

Stack Overflow用户

发布于 2018-01-19 22:46:10

在API21之前没有类似的功能。如果您希望强制锁定设备和解锁用户,则必须实现您自己的设备管理应用程序(或应用程序的组件),并要求用户安装它。然后,您可以调用DevicePolicyManager.lockNow()强制锁定屏幕。使用设备管理框架,您还可以要求用户具有特定的安全密码/PIN要求。

票数 0
EN

Stack Overflow用户

发布于 2018-01-21 15:41:18

你可以使用这个库https://github.com/stfalcon-studio/SmsVerifyCatcher

通过Gradle下载:

代码语言:javascript
复制
compile 'com.github.stfalcon:smsverifycatcher:0.3.1’

用法向AndroidManifest.xml添加权限:

代码语言:javascript
复制
Init SmsVerifyCatcher in method like onCreate activity:
代码语言:javascript
复制
smsVerifyCatcher = new SmsVerifyCatcher(this, new OnSmsCatchListener<String>() {
    @Override
    public void onSmsCatch(String message) {
        String code = parseCode(message);//Parse verification code
        etCode.setText(code);//set code in edit text
        //then you can send verification code to server
    }
});

覆盖活动生命周期方法:

代码语言:javascript
复制
@Override
protected void onStart() {
    super.onStart();
    smsVerifyCatcher.onStart();
}

@Override
protected void onStop() {
    super.onStop();
    smsVerifyCatcher.onStop();
}

/**
 * need for Android 6 real time permissions
 */
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    smsVerifyCatcher.onRequestPermissionsResult(requestCode, permissions, grantResults);
}

您可以设置电话号码过滤器:

代码语言:javascript
复制
smsVerifyCatcher.setPhoneNumberFilter("777");

或者通过regexp设置消息过滤器:

smsVerifyCatcher.setFilter("");

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48222332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档