Я работаю над уведомлением о Android TV. Я реализовал это с помощью подключения к серверу Socket IO. Я установил соединение с Socket Server с помощью java.net.Socket, но не могу прослушать отправленные сообщения с сервера.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_listen_socket_message);
new AsyncAction().execute();
}
private class AsyncAction extends AsyncTask<String, Void, String> {
protected String doInBackground(String... args) {
try {
InetAddress serverAddr = InetAddress.getByName("xx.xx.xxx.xxx");
clientSocket = new Socket(serverAddr, 8000);
} catch (UnknownHostException e1) {
e1.printStackTrace();
Log.d("Exception_UnknownHost", e1.getMessage());
} catch (IOException e1) {
e1.printStackTrace();
Log.d("Exception_socket", e1.getMessage());
}
return null;//returns what you want to pass to the onPostExecute()
}
protected void onPostExecute(String result) {
//resultis the data returned from doInbackground
if (clientSocket.isConnected()) {
setListener();
Toast.makeText(SocketConnectionActivity.this, "Connected!!", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(SocketConnectionActivity.this, "Not Connected!!", Toast.LENGTH_LONG).show();
}
}
}
private void setListener() {
// TODO Auto-generated method stub
new Thread() {
@Override
public void run() {
try {
BufferedReader br = new BufferedReader(
new InputStreamReader(clientSocket.getInputStream()));
String line = br.readLine();
Log.d("SocketConnection",line);
br.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}.start();
}