使用android向av接收器发送信号

时间:2014-06-26 12:10:49

标签: java android sockets telnet

我想在我的Android应用程序中实现一个功能来打开/关闭我的AV接收器。 因此我创建了一个套接字并通过Telnet向接收器发送命令,但没有任何反应。 Socket创建成功!

我的接收器是Denon x-2000,根据官方协议,我必须发送PWSTANDBY命令。

 public void turnOff(View v){
    Runnable r = new Runnable() {

        @Override
        public void run() {
            Socket s = null;
            PrintWriter out = null;
            BufferedReader in= null;
            try{
                InetAddress ia = InetAddress.getByName("192.168.100.228");
                s= new Socket(ia, 23);
                out = new PrintWriter(s.getOutputStream(), true);
                in = new BufferedReader(new InputStreamReader(s.getInputStream()));
            } catch(IOException e){

            }
            Log.v("output","send standby");
            out.println("PWSTANDBY");
            out.flush();

            try {
                if(in.ready())
                Log.v("input", in.readLine());

            } catch (IOException e) {
                e.printStackTrace();
            }

            out.close();
            try {
                in.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            try {
                s.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    };

    Thread t = new Thread(r);
    t.start();


}

1 个答案:

答案 0 :(得分:0)

好的,我自己找到了一个解决方案,我改变了行

out.println("PWSTANDBY");

out.print("PWSTANDBY\r");

它有效。