我正在做一个有登录活动的应用程序,当我进入这个活动时,我要求用户启用WIFI或移动数据,如果没有连接到我的服务器。我在对话框中给出3个选项,WIFI,MOBILE DATA和CANCEL。有没有办法等待连接?回调?听众?
public void checkConnectionDialog(Context context){
if(dialogConnection != null && dialogConnection.isShowing()) return;
dialogConnection = new Dialog(context);
dialogConnection.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialogConnection.setCanceledOnTouchOutside(false);
dialogConnection.setCancelable(false);
dialogConnection.setContentView(R.layout.dialog_connection);
Button bt_data = (Button) dialogConnection.findViewById(R.id.bt_data);
Button bt_wifi = (Button) dialogConnection.findViewById(R.id.bt_wifi);
Button bt_cancel = (Button) dialogConnection.findViewById(R.id.bt_cancel);
bt_data.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(Settings.ACTION_DATA_ROAMING_SETTINGS));
dialogConnection.dismiss();
}
});
bt_wifi.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
dialogConnection.dismiss();
}
});
bt_cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialogConnection.dismiss();
setResult(RESULT_CANCELED, null);
finish();
}
});
dialogConnection.show();
}
通过Intents,我将用户发送到WIFI或MOBILE DATA设置。如果用户启用wifi或数据并返回(按下后退按钮),则系统需要几秒钟才能连接到互联网。
如果用户在启用互联网后单击回来,当他返回到应用程序时,它仍然没有连接。
我想知道的是如何让应用程序等待连接继续。
APP(未连接) - >意图(WiFi或已启用数据) - > APP(等到连接显示视图)
感谢您的帮助。
创建一个BroadcastReceiver,当您连接到互联网时它将触发一个事件:) – Kedarnath