我需要确定用户是否在他们的设备上有任何指纹注册。但是,使用此行时出错
FingerprintManagerCompat fpm = (FingerprintManagerCompat)CrossCurrentActivity.Current.Activity.GetSystemService(Context.FingerprintService);
```错误``
{System.InvalidCastException: Specified cast is not valid.
at app.Droid.lyA.FingerPrint.HasEnrolledFingerprints () [0x00002] in /../../../appmobile/../Droid/lyA/FingerPrint.cs:19 }
这是我需要回归的。
使用FingerprintManagerCompat的正确方法实际上是这样的:
FingerprintManagerCompat fpm= FingerprintManagerCompat.From(CrossCurrentActivity.Current.Activity);
祝好运!
在查询时还原。
将我的评论转换为答案 -
看来你所做的投射有错误
FingerprintManagerCompat fpm = (FingerprintManagerCompat)CrossCurrentActivity.Current.Activity.GetSystemService(Context.FingerprintService);
看来这里返回的任何东西都不能被投射到FingerprintManagerCompat
。
正如另一个答案中所提到的,使用FingerprintManagerCompat的正确方法实际上是 -
FingerprintManagerCompat fpm= FingerprintManagerCompat.From(this);
我建议改为这个并检查它是否解决了这个问题。