android调用系统指纹设置页面录入指纹
程序员文章站
2022-04-27 19:13:02
在做指纹登录时,有时候会遇到设备并未录入指纹,需要提示用户去开启。
如果需要自动跳转到系统的指纹设置页面,录入指纹,那就需要调用系统组件
由于google加入指纹支持是在6...
在做指纹登录时,有时候会遇到设备并未录入指纹,需要提示用户去开启。
如果需要自动跳转到系统的指纹设置页面,录入指纹,那就需要调用系统组件
由于google加入指纹支持是在6.0,而国内很多厂商很早便加入了指纹支持,所以在这方面碎片化很严重。需要根据不同厂商来做适配。
跳转到Settings页面的Intent:
String pcgName = "com.android.settings"; String clsName = "com.android.settings.Settings"; Intent intent = new Intent(); ComponentName componentName = new ComponentName(pcgName, clsName); intent.setAction(Intent.ACTION_VIEW); startActivity(intent);
跳转到指纹页面参考如下:
sony:
String pcgName = "com.android.settings"; String clsName = "com.android.settings.Settings$FingerprintEnrollSuggestionActivity";
oppo:
String pcgName = "com.coloros.fingerprint"; String clsName = "com.coloros.fingerprint.FingerLockActivity";
huawei:
String pcgName = "com.android.settings"; String clsName = "com.android.settings.fingerprint.FingerprintSettingsActivity";
其他机型以后补充:
其中sony貌似使用的标准google sdk,所以页面com.android.settings.fingerprint.FingerprintSettings 跳转会报权限拒绝,可使用上面的clsName跳转到介绍页面去,录入指纹。
要查看不同机型的指纹页面,可在手机上打开相应系统页面,然后调用adb 工具去查看:
adb shell “dumpsys window w|grep name=”获取到当前显示的activity;
在跳转前,请先检查activity是否存在或允许跳转, 否则可能会造成RuntimeException。
上一篇: bzoj4358 perm