我正在做一個有登錄活動的應用程序,當我進入這個活動時,我要求用戶啓用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