Oczekiwanie na włączenie Internetu.

0

Witam,

mam przed sobą taki problem.
Chcę aby całe UI w androidzie ruszyło dopiero po wykryciu, że Internet jest włączony. Póki co, aplikacja włącza się nie czekając na to czy internet jest czy go nie ma.
Fragment kodu:

 
    @Override	
	protected void onCreate(Bundle savedInstanceState) {

    	super.onCreate(savedInstanceState);
    	setContentView(R.layout.activity_main);
        boolean connected = false;
    	
        while(!connected){
    	   try {
		   	runData();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
           connected =isConnected(getApplicationContext());
        }
    }

    private void runData() throws Exception{
		ConnectivityManager dataManager;
		dataManager  = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
		Method dataMtd = ConnectivityManager.class.getDeclaredMethod("setMobileDataEnabled", boolean.class);
		dataMtd.setAccessible(true);
		dataMtd.invoke(dataManager, true);  
	}
	
    public static boolean isConnected(Context context) {
	    ConnectivityManager connectivityManager = (ConnectivityManager)
	        context.getSystemService(Context.CONNECTIVITY_SERVICE);
	    NetworkInfo networkInfo = null;
	    if (connectivityManager != null) {
	        networkInfo = connectivityManager.getActiveNetworkInfo();
	    }

	    return networkInfo == null ? false : networkInfo.getState() == NetworkInfo.State.CONNECTED;
	}

Internet włącza się ale dopiero po pewnym czasie, gdy aplikacja już wyświetliła kontrolki. Tak bardzo zależy mi na tym aby najpierw uruchomił się Internet, ponieważ chcę przy starcie aplikacji łączyć się ze zdalnym hostem.

Proszę o pomoc ;)

0

setContentView(R.layout.activity_main);
to odpowiada za pojawienie sie kontrolek na Activity, na ekranie. Jednak trochę do d**y myślisz, bo ktoś chce odpalić aplikację i dostaje czarny ekran dopóki komórka nie nawiąże połączenia. Poprawne podejscie to chyba zrobić dodatkową Activity i na niej jakiegoś textview z komunikatem "oczekiwanie na połączenie" i dopiero jak będziesz miał dostęp to przechodzisz do następnej Activity

1 użytkowników online, w tym zalogowanych: 0, gości: 1