检查蓝牙 IsEnabled 使我的应用程序崩溃

Checking bluetooth IsEnabled is crashing my app

我正在创建一个 AndroidBluetoothService 来处理来自我的 Xamarin 应用程序的蓝牙交互。

在这个服务中,我使用了一个私有 class 变量:

    private BluetoothAdapter ServiceAdapter;

然后我在构造函数中初始化它:

        ServiceAdapter = BluetoothAdapter.DefaultAdapter;

然后,当我检查它是否已启用时:

            bool enabled = ServiceAdapter.IsEnabled;

我遇到一个使我的应用程序崩溃的异常:

System.NotSupportedException
  Message=Could not activate JNI Handle 0xbef405b8 (key_handle 0xdb031b8) of Java type 'crc6402525acf0275fedf/MainActivity' as managed type 'ArduinoSerial.MainActivity'.

其中 ArduinoSerial 是我的 project/app 的名称,MainActivity 是 activity 的 运行。我已经对代码进行了注释和取消注释,以找出到底是哪一行被炸毁了。不确定如何从这里开始,但我现在跳过该行并假设它已启用。

看来问题是应用没有蓝牙权限导致的。我加了

到 AndroidManifest.xml 并解决了问题。

为简单问题创建钝错误的方法。 :( 希望这对其他人有帮助。