11

Bu fonksiyonu olan ağ bağlantısıtüründen statik olmayan yöntem getSystemService (String) statik bir başvuru yapamaz

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; 
    } 
} 

Ama ia ı kullanabilirsiniz, böylece statik yapmaya çalışırken Bu atma her aktivite:

türünden statik olmayan yöntem getSystemService (string) statik bir referans yapamaz

Her seferinde sınıfın nesnesini yaratmak istemiyorum. Eğer this da Context bir amacı bir etkinliğinizi içinden diyoruz Context.Typically sınıftan bir nesne gerekir erişmek için bunu

cevap

25

parametreleri olarak statik olmayan bağımlılıkları ekleyin:

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

Yardım için teşekkürler. – Developer

2

getSystemService, Context sınıfın olmayan statik bir yöntemdir. Eğer yöntemine bir Bağlam geçebileceği düzeltmek için isNetworkConnected

+0

Hala net değil –

+0

Tam olarak "bir Bağlamı yönteminize iletme" bölümünün parçası net değildir? – Blackbelt

0

şimdi Cocos2dxActivity.java

devralan içeriği almak için statik işlevi getContext() kullanabilirsiniz
+1

Lütfen bunun kullanımına dair bir örnek verin –

İlgili konular