我想创建一个可以通过蓝牙控制桌面鼠标光标的应用程序(Android Studio和Java)。我该怎么做呢?是否有任何功能来控制通过BT连接的设备的光标?提前致谢!
答案 0 :(得分:1)
这是一个迟到的答案,但一个解决方案是设计架构,如:
能够使用MotionEvent.ACTION_MOVE
读取触摸输入并记录先前和当前值并计算通过蓝牙UDP客户端将其发送到服务器的差异的应用程序。
@Override public boolean onTouch(MotionEvent e) { switch(e) { case MotionEvent.ACTION_DOWN: float initX = e.getX(); float initY = e.getY(); return true; case MotionEvent.ACTION_MOVE: float curX = initX - e.getX(); float curY = initY - e.getY(); sendThroughUDP(curX, curY); return true; } }
桌面上运行的服务器能够读取此内容。例如,通过蓝牙的简单java UDP服务器,可以给定here。这将接收这些值,然后将这些值注入Robot
类(如果是Java)。
//implement the UDP over the bluetooth stack. public static void main(String [] args) { UDPOverBluetoothServer UDPBT = new UDPOverBluetoothSever(socketInformation); int xValue = UDPBT.getX(); int yValue = UDPBT.getY(); Robot robot = new Robot(); Point mousePointer = MouseInfo.getPointerInfo().getLocation(); robot.mouseMove(mousePointer.x - xValue, mousePointer.y - yValue); }