2015-04-06 69 views
0

爲了讓我的設備在我將check_internet_connection()的代碼放入BroadcastReceiver中時連接了互聯網。我需要這種方法來重新調整布爾值的問題,但我該如何管理它?Android:在布爾方法中使用BroadcastReceiver

當前的錯誤是這些線 「返回true」 或 「返回false」: 「太虛方法不能返回值」

\t public boolean check_internet_connection() { 
 
\t \t registerReceiver(new BroadcastReceiver() { 
 

 
\t \t \t @Override 
 
\t \t \t public void onReceive(Context context, Intent intent) { 
 
\t \t \t \t ConnectivityManager cm = (ConnectivityManager) getApplicationContext() 
 
\t \t \t \t \t \t .getSystemService(Context.CONNECTIVITY_SERVICE); 
 

 
\t \t \t \t NetworkInfo wifiNetwork = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 
 
\t \t \t \t if (wifiNetwork != null && wifiNetwork.isConnected()) { 
 
\t \t \t \t \t return true; 
 
\t \t \t \t } 
 

 
\t \t \t \t NetworkInfo mobileNetwork = cm 
 
\t \t \t \t \t \t .getNetworkInfo(ConnectivityManager.TYPE_MOBILE); 
 
\t \t \t \t if (mobileNetwork != null && mobileNetwork.isConnected()) { 
 
\t \t \t \t \t return true; 
 
\t \t \t \t } 
 

 
\t \t \t \t NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); 
 
\t \t \t \t if (activeNetwork != null && activeNetwork.isConnected()) { 
 
\t \t \t \t \t return true; 
 
\t \t \t \t } 
 
\t \t \t \t return false; 
 
\t \t \t } 
 

 
\t \t }, new IntentFilter(ConnectivityManager.EXTRA_NETWORK_TYPE)); 
 
\t }

回答

0
public static boolean hasInternetConnection(Context context) { 
     ConnectivityManager check = (ConnectivityManager) context 
       .getSystemService(Context.CONNECTIVITY_SERVICE); 

//getActiveNetworkInfo() Returns details about the currently active default data network. 
    NetworkInfo info = check.getActiveNetworkInfo(); 

    return info != null && info.isConnected(); 
} 

希望它有助於

+0

可能的重複http://stackoverflow.com/questions/15698790/broadcast-receiver-for-checking-internet-connection-in-android-app –