Java 当服务器套接字接受连接时显示警报对话框
我需要创建一个类,该类实现一个服务器套接字,该套接字等待来自客户端(在本例中为web浏览器)的连接请求。在我接受连接之后,我想向用户显示一个带有两个按钮的警报对话框。因此,目前,我已经准备好了用于服务器套接字的类,以及实现警报对话框的方法。如何在ServerSocket类中使用alert对话框方法来显示带有两个按钮的消息?以下是服务器类: 更新:在服务器接受连接后,我添加了创建警报对话框的代码Java 当服务器套接字接受连接时显示警报对话框,java,android,sockets,android-dialog,Java,Android,Sockets,Android Dialog,我需要创建一个类,该类实现一个服务器套接字,该套接字等待来自客户端(在本例中为web浏览器)的连接请求。在我接受连接之后,我想向用户显示一个带有两个按钮的警报对话框。因此,目前,我已经准备好了用于服务器套接字的类,以及实现警报对话框的方法。如何在ServerSocket类中使用alert对话框方法来显示带有两个按钮的消息?以下是服务器类: 更新:在服务器接受连接后,我添加了创建警报对话框的代码 public class ServerThread extends AndroidApp2 imple
public class ServerThread extends AndroidApp2 implements Runnable {
public void run() {
try{
if ( SERVERIP != null){
handler.post(new Runnable(){
@Override
public void run(){
serverStatus.setText("Listening on IP: " + ip_address_conversion + ":" + SERVERPORT);
}
});
serverSocket = new ServerSocket(SERVERPORT);
while (true){
Socket client = serverSocket.accept();
handler.post(new Runnable(){
@Override
public void run(){
serverStatus.setText("Connected");
}
});
try{
AlertDialog.Builder connection_alert3 = new AlertDialog.Builder(this);
connection_alert3.setTitle("Connection Incoming");
connection_alert3.setMessage("bla bla boa");
connection_alert3.setCancelable(false);
connection_alert3.setPositiveButton("Yes", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int id) {
}
});
connection_alert3.setNegativeButton("No", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int id){
}
});
AlertDialog alert = connection_alert3.create();
alert.show();
} catch (Exception e){
handler.post(new Runnable() {
@Override
public void run() {
serverStatus.setText("Oops. Connection interrupted. Please reconnect your phones.");
}
});
e.printStackTrace();
}
}
}else{
handler.post(new Runnable(){
@Override
public void run(){
serverStatus.setText("Couldn't detect internet connection."); }
});
}
}catch (Exception e) {
handler.post(new Runnable(){
@Override
public void run(){
serverStatus.setText("Error");
}
});
e.printStackTrace();
}
}
}
谢谢
}
如果处理程序是在ui线程上创建的(我想是这样的),这将起作用,因为您正在使用它设置文本。谢谢您的回答。我已经在我的活动类中添加了您的方法,并修复了参数的名称。所以我在服务器套接字类中调用了这个方法,但是什么也没发生。。。我遗漏了什么?参考这个:嗨Android28!我看到了你的链接,但我已经实现了警报对话框。我的问题是我不能在socket类上显示它。我遵循教程和@Pratik示例,但什么都没有。我必须在我的问题上添加剩余的代码吗?
public void showDialog(Activity activity, String title, CharSequence message)
{
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
if (title != null)
builder.setTitle(title);
builder.setMessage(message);
builder.setPositiveButton("OK", null);
builder.setNegativeButton("Cancel", null);
builder.show();
handler.post(new Runnable() {
@Override
public void run() {
// create the dialog here
}
});