我创建了Xamarin.Forms应用程序,并使用Acr.Biometrics插件。在PCL中,我检查设备的可用指纹。
private async void AvailableBiometric()
{
bool available = await Biometrics.Instance.IsAvailable();
lblStatus.Text = available ? "Yes" : "No";
}当我在Windows 10模拟器(UWP项目)上启动我的应用程序时,我得到的结果是false ("NO"),它是正确的。但是当我在Android6.0上启动应用程序(仿真器或有手指授权的真正设备)时,我会得到异常“。
我在GitHub上找到了这个插件的源代码。我的异常会生成这个插件的代码:

我不明白我做错了什么,为什么Windows应用程序没有产生这个异常。如果谁知道,请帮帮我。
发布于 2017-02-08 06:51:34
我不明白我做错了什么,为什么Windows应用程序没有产生这个异常。
我尝试只将Acr.Biometrics包安装到PCL,并调试了UWP项目。它也抛出了例外。
如果您想在Android和UWP平台上使用Acr.Biometrics库,请确保已将Acr.Biometrics nuget包安装到Android和UWP项目中。
您可以右键单击您的解决方案-->管理用于解决方案的NuGet包->选择Installed按钮->左击Acr.Biometrics NuGet包。

检查xxx.Droid项目option.And,然后按安装按钮。安装工作将在稍后完成。
对于Android支持,您需要在AndroidManifest.xml中添加以下内容
<uses-permission android:name="com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY" />
<uses-permission android:name="android.permission.USE_FINGERPRINT" />使用
在您的共享/PCL库中,只需检查传感器是否可用:
protected async override void OnAppearing()
{
base.OnAppearing();
if (await Biometrics.Instance.IsAvailable())
{
var success = await Biometrics.Instance.Evaluate("Your custom message");
if (success)
{
//do some stuff
}
}
}https://stackoverflow.com/questions/42099626
复制相似问题