私はに基づいてWiiバランスボードで入力罰金を接続し読み込んだAndroidアプリを製作しました。 私のアプリはAndroid 4.4(KitKat)までSDK 15 & 16で魅力的に働いていましたが、AndroidがWiiサポートを停止しました。 Wiiサポートが再び有効になりました。Android 5.1.1で始まります。私はまた、Bluetooth接続許可(ACCESS_COARSE_LOCATIONに含まれていません)を取得するための新しいアクセス許可スキームを実装しました。アンドロイド6+ Wiiバランスボードの接続方法は?
私の問題はWiiバランスボードの入力をもう読むことができないことです。
私は、発見ソケットを作成し、ソケットに接続するとき、私はメッセージ受け取ることができます:これまでとはもう働いていない私を助けread failed, socket might closed or timeout, read ret: -1
回答:
をいくつかのコード:
private BluetoothSocket createBluetoothSocket(
int type, int fd, boolean auth, boolean encrypt, String address, int port){
try {
Constructor<BluetoothSocket> constructor = BluetoothSocket.class.getDeclaredConstructor(
int.class, int.class,boolean.class,boolean.class,String.class, int.class);
constructor.setAccessible(true);
BluetoothSocket clientSocket = constructor.newInstance(type,fd,auth,encrypt,address,port);
return clientSocket;
} catch (Exception e) {
Log.v(TAG,"createBluetoothSocket failed: "+errorMsg(e));
return null;
}
}
private connectWii(String MAC) {
try {
// MAC is the MAC address of Wiiboard
int TYPE_L2CAP=3;
sk = createBluetoothSocket(TYPE_L2CAP, -1, false,false, MAC, 0x13);
// this fires read failed, socket might closed or timeout, read ret: -1
sk.connect();
} catch (Exception e) {
Log.v(TAG,"Failed : "+errorMsg(e));
}
}
ありがとうございます。