flutter local_auth plugin having crash in Xiaomi Redmi note 5

0g0grzrc  于 6个月前  发布在  Flutter
关注(0)|答案(3)|浏览(58)

重现步骤

当我在调用 await localAuthentication.authenticate( 函数时,设备在上述设备上崩溃。此设备支持生物识别本地认证。设备的 Android 版本为 8.1.0

预期结果

在所有设备上都能正常工作。

实际结果

local_auth 插件在小米 Redmi note 5 上崩溃

代码示例

我正在使用以下代码进行本地认证

authenticated = await localAuthentication.authenticate(
        localizedReason: 'Univest',
        options: const AuthenticationOptions(
          sensitiveTransaction: true,
          useErrorDialogs: true,
          stickyAuth: true,
        ),
      );

截图或视频

截图/视频演示
[上传媒体在这里]

日志

日志

[Paste your logs here]

Flutter Doctor 输出

Doctor 输出

[Paste your output here]
0sgqnhkj

0sgqnhkj1#

你好@lokesh-univest,我没有这样的设备,所以我无法在我这边检查。为了其他人以后调查这个问题,你能提供以下信息吗?

  • 请提供崩溃堆栈跟踪
  • local_auth 的当前包版本是什么?(你可以从 pubspec.lock 文件中查看,因为它是应用程序正在使用的获取版本)
  • 你可以和 package example 确认一下吗?(以确保崩溃不是由其他因素影响,如第三方软件包集成或用户代码实现等)
i1icjdpr

i1icjdpr2#

  1. 无法获取崩溃堆栈跟踪,因为它来自我的一个用户的手机。
  2. 我正在使用local_auth:^2.2.0
  3. 我在应用中使用的代码:
enum LocalAuthSupportState {
  unknown,
  supported,
  unsupported,
}

class LocalAuthHelper {
  LocalAuthentication localAuthentication = LocalAuthentication();
  LocalAuthSupportState supportState = LocalAuthSupportState.unknown;

  Future<void> deviceSupportLocalAuth() async {
    bool supportStateStatus = await localAuthentication.isDeviceSupported();
    supportState = supportStateStatus
        ? LocalAuthSupportState.supported
        : LocalAuthSupportState.unsupported;
    print("LOCAL_AUTH -> $supportState");
  }

  Future<bool> authenticate() async {
    bool authenticated = false;
    try {
      authenticated = await localAuthentication.authenticate(
        localizedReason: '--',
        options: const AuthenticationOptions(
          sensitiveTransaction: true,
          useErrorDialogs: true,
          stickyAuth: true,
        ),
      );
      print("LOCAL_AUTH -> authenticated $authenticated");
      return authenticated;
    } on PlatformException catch (e) {
      print("LOCAL_AUTH -> Error in local auth authenticate -> $e");
      cancelAuthentication();
    }
    print("LOCAL_AUTH -> authenticated $authenticated");
    return authenticated;
  }

  Future<void> cancelAuthentication() async {
    await localAuthentication.stopAuthentication();
  }
}
tvokkenx

tvokkenx3#

没有错误堆栈跟踪,我们无法确定问题来自包代码的哪个部分。您应该尝试让用户提供它或在您的设备上重现它,这将有助于调试问题。

相关问题