0

我正在使用 JNI 将 IntPtr 获取到蓝牙连接方法。代码是:

IntPtr createRfcommSocket = JNIEnv.GetMethodID(device.Class.Handle, "createRfcommSocket", "(I)Landroid/bluetooth/BluetoothSocket;");
IntPtr socket = JNIEnv.CallObjectMethod(device.Handle, createRfcommSocket, new JValue(1));

有没有办法将 IntPtr 套接字转换为原生的 monodroid BlueToothSocket?

我需要它来为创建蓝牙套接字方法提供单个接口。

4

1 回答 1

0

有没有办法将 IntPtr 套接字转换为原生的 monodroid BlueToothSocket?

如果“本机 monodroid BlueToothSocket”是指BluetoothSocket,那么您使用Java.Lang.Object.GetObject<T>()方法:

var msocket = Java.Lang.Object.GetObject<Android.Bluetooth.BluetoothSocket>(socket, JniHandleOwnership.TransferLocalRef);
于 2012-06-15T17:15:42.287 回答