指纹锁 WindowManager

swyqaz 2016-06-23 11:28:19

在acivity 中
FingerprintManagerCompat manager = FingerprintManagerCompat.from(getContext().getApplicationContext());
manager.authenticate(...) 可以

在 Service 中 起一个WindowManager
调用
FingerprintManagerCompat manager = FingerprintManagerCompat.from(getContext().getApplicationContext());
manager.authenticate(...) 无反应 。。。

这是什么原因?
...全文
326 6 打赏 收藏 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
AllenJK 2017-04-12
  • 打赏
  • 举报
回复
楼主你好!!!一摸一样的问题 WindowManager 里面使用指纹解锁 没反应 怎么处理的? 求解 感谢 感谢...
swyqaz 2016-06-24
  • 打赏
  • 举报
回复
截取 FingerprintService 一段源码 924 行 说明 在验证时 opPackageName 为 foreground 才可以。 @Override // Binder call 921 public void authenticate(final IBinder token, final long opId, final int groupId, 922 final IFingerprintServiceReceiver receiver, final int flags, 923 final String opPackageName) { 924 if (!canUseFingerprint(opPackageName, true /* foregroundOnly */)) { 925 if (DEBUG) Slog.v(TAG, "authenticate(): reject " + opPackageName); 926 return; 927 } 928 929 // Group ID is arbitrarily set to parent profile user ID. It just represents 930 // the default fingerprints for the user. 931 final int effectiveGroupId = getEffectiveUserId(groupId); 932 933 final boolean restricted = isRestricted(); 934 mHandler.post(new Runnable() { 935 @Override 936 public void run() { 937 MetricsLogger.histogram(mContext, "fingerprint_token", opId != 0L ? 1 : 0); 938 startAuthentication(token, opId, effectiveGroupId, receiver, flags, restricted, 939 opPackageName); 940 } 941 }); 942 }
liudashao0 2016-06-23
  • 打赏
  • 举报
回复
你的服务开启了吗?
swyqaz 2016-06-23
  • 打赏
  • 举报
回复
AiFocus_Rain 2016-06-23
  • 打赏
  • 举报
回复
哥们也在做指纹解锁吗?能留个QQ交流一下?
swyqaz 2016-06-23
  • 打赏
  • 举报
回复
开启了 在Service 中 启动一个 WindowManager。

80,490

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧