androidandroid-wifionkeypress

how to Send string from Android to PC over wifi


Hello i am working on an android app which requires to send a string over wifi to PC resulting in simulating keyboard keypresses.Any ideas how i can achieve this task ?


Solution

  • You would have to write a server program on the PC and use a ServerSocket to accept a connection from and write a thread for your Android phone that uses a regular socket (with the same port as the PC end) and then manage them using DataInputStream and DataOutputStream. You also need to open permissions on your AndroidManifest.xml.

    For the permissions use this:

    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    

    For the code here's a little example:

    Server:

    String msg_received;
    
    ServerSocket socket = new ServerSocket(1755);
    Socket clientSocket = socket.accept();       //This is blocking. It will wait.
    DataInputStream DIS = new DataInputStream(clientSocket.getInputStream());
    msg_received = DIS.readUTF();
    clientSocket.close();
    socket.close();
    

    Client:

    Socket socket = new Socket("192.168.0.1",1755);
    DataOutputStream DOS = new DataOutputStream(socket.getOutputStream());
    DOS.writeUTF("HELLO_WORLD");
    socket.close();