次のコードを使用して、特性を読み取り、その値を取得しようとしています
private byte[] val;
mBluetoothLeService.readCharacteristic(characteristic);// reads it
val=characteristic.getValue();
String s=new String(val);
アプリがクラッシュし、「アプリケーションがメイン スレッドで処理しすぎている可能性があります」というエラーが表示されます。
私も試してみました
private String s;
mBluetoothLeService.readCharacteristic(characteristic);// reads it
s=characteristic.getStringValue(0);
しかし、エラーは同じです
コードをデバッグして、値が取得されているかどうかを確認しました
private String s;
mBluetoothLeService.readCharacteristic(characteristic);// reads it
s=characteristic.getStringValue(0);
system.out.println(s);
これは正しい値を表示しますが、Android アプリとしてコードを実行すると表示されます。同じエラーが発生します。