我一直在尝试从https://github.com/smstuebe/xamarin-fingerprint实现指纹插件
这个想法是我希望用户在签署他所做的一些工作时能够使用他的指纹而不是输入代码。
它适用于 iOS 设备,但是当我在 Android 设备上尝试时,“CrossFingerprint.Current.IsAvailable”总是返回 false。有谁知道可能出了什么问题?
这是一些代码:
public class FingerprintAuthentication : IFingerprintAuthentication
{
public FingerprintAuthentication()
{
}
public bool IsFingerprintIdentificationAvailable()
{
return CrossFingerprint.Current.IsAvailable; //this works directly when using an iOS device, but always returns false when using an Android device
}
}
我也尝试过实现 DependencyService 并处理 Android 项目中的方法,但它返回相同的结果:
[assembly: Xamarin.Forms.Dependency(typeof(FingerprintAuthentication))]
namespace AVMobile.Droid.NativeImpl
{
class FingerprintAuthentication : IFingerprintAuthentication
{
public async Task<FingerprintAuthenticationResult> AuthenticateFingerprint(string reason)
{
var result = await CrossFingerprint.Current.AuthenticateAsync(reason);
return result;
}
public void DisableFingerprintIdentification()
{
Core.Settings.Settings.IsUsingFingerprintIdentification = false;
}
public void EnableFingerprintIdentification()
{
Core.Settings.Settings.IsUsingFingerprintIdentification = true;
}
public bool IsFingerprintIdentificationAvailable()
{
var result = CrossFingerprint.Current.IsAvailable;
//return result;
}
}
}
有谁知道可能出了什么问题?由于它适用于没有任何 DependencyService 等的 iOS 设备,我只能想象它与 Android 有关。