11

mam tej funkcji, która Połączenie siecioweNie można wykonać statyczny odniesienie do non-statycznej metody getSystemService (String) od rodzaju

public boolean isNetworkConnected() { 
    ConnectivityManager conManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo netInfo = conManager.getActiveNetworkInfo(); 

    if (netInfo == null) { 
     // There are no active networks. 
     return false; 
    } else { 
     return true; 
    } 
} 

Ale kiedy ia próbuje zrobić to statyczne tak, że można go używać w każda działalność jest rzucanie:

nie można wykonać statyczny odniesienie do non-statycznej metody getSystemService (String) od rodzaju

Nie chcę tworzyć obiektu klasy za każdym razem.

Odpowiedz

25

Dodać non-statyczne zależności jako parametry:

public static boolean isNetworkConnected(Context c) { 
     ConnectivityManager conManager = (ConnectivityManager) c.getSystemService(Context.CONNECTIVITY_SERVICE); 
     NetworkInfo netInfo = conManager.getActiveNetworkInfo(); 
     return (netInfo != null && netInfo.isConnected()); 
} 
+0

dzięki za pomoc – Developer

2

getSystemService jest non statyczna metoda klasy Context, tak aby do niego dostęp trzeba obiekt z klasy Context.Typically to nazwać od wewnątrz działaniach w którym this jest również przedmiotem Context. W celu ustalenia można przekazać kontekst metodę isNetworkConnected

+0

Nadal nie jest jasne –

+0

@marthajames, które stanowią część "przekazania kontekstu do twojej metody" nie jest jasne? – Blackbelt

0

teraz możemy użyć funkcji statycznego getContext() dostać kontekst które dziedziczą z Cocos2dxActivity.java

+1

Podaj przykład użycia –

Powiązane problemy