인터넷 연결이 있는지 확인하는 코드를 구현 중입니다. 그렇지 않은 경우 사용자가 인터넷 연결을 선택할 수 있도록 WiFi 설정을 시작합니다.startActivity (의도) 이후 활동 재개
문제는 사용자가 연결을 선택하고 뒤로 버튼을 클릭하면 내 활동이 실행을 계속할 연결이 있는지 다시 확인하지만 다시 NETWORK_INACTIVE
대화 상자로 이동하기를 원합니다. 내가 옵션 startActivityForResult(Intent, int)
을 본 적이 있지만, 내가 설정의 사용과 어떤 해결책을 발견 did't
protected boolean hasNetworkConnection() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo wifi = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
NetworkInfo mobile = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
try{
if (!wifi.isConnected()){
if(mobile==null || (mobile!=null && !mobile.isConnected())){
onCreateDialog(NETWORK_INACTIVE).show();
return false;
}
}
}catch(Exception e){
Log.e("AEP41-Has Network", ""+e.getStackTrace());
}
return true;
}
@Override
protected Dialog onCreateDialog(int id) {
AlertDialog.Builder builter = new AlertDialog.Builder(
AEP41Activity.this);
switch (id) {
case NETWORK_INACTIVE:
builter.setCancelable(false);
builter.setTitle("Erreur de Reseau");
builter.setMessage("Aucune connexion internet trouve");
builter.setNegativeButton("Sortir",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
AEP41Activity.this.finish();
}
});
builter.setNeutralButton("Choisir Connexion",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
startActivity(new Intent(
Settings.ACTION_WIFI_SETTINGS));
});
break;
default:
break;
}
return builter.create();
}
: 여기
내가 새로운 활동을 시작하는 코드입니다.이렇게하는 방법이 있습니까? 사전에
감사)
'Activity'의 어떤 메소드에서'hasNetworkConnection()'을 호출하고 있습니까? – Squonk
@Squonk 그 onCreate()의 시작 부분에 –