我正在使用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?
我需要这个来为创建蓝牙套接字方法提供单个接口。
答案 0 :(得分:0)
无论如何将IntPtr套接字转换为原生monodroid BlueToothSocket?
如果“原生monodroid BlueToothSocket”是指BluetoothSocket,那么您使用Java.Lang.Object.GetObject<T>()方法:
var msocket = Java.Lang.Object.GetObject<Android.Bluetooth.BluetoothSocket>(socket, JniHandleOwnership.TransferLocalRef);