是否有事件告訴我該設備已連接到INTERNET(3G或wifi)?只有設備連接到INTERNET後,我才需要啓動一些請求。該代碼需要支持Android 2.1。由於android連接到互聯網事件
6
A
回答
6
可以使用的廣播接收器,並等待行動ConnectivityManager.CONNECTIVITY_ACTION
這裏doc
例:
broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager connectivity = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo[] info = connectivity.getAllNetworkInfo();
//Play with the info about current network state
}
}
};
intentFilter = new IntentFilter();
intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(broadcastReceiver, intentFilter);
0
public static boolean checkInternetConnection(Context context) {
final ConnectivityManager mConnectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
final NetworkInfo netInfo = mConnectivityManager.getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnectedOrConnecting()) {
return true;
} else
return false;
}
使用此功能,如果網絡使用此功能,您能知道設備已連接互聯網的已連接其他假
+0
我知道如何檢查設備是否連接到互聯網,但我需要在設備連接到互聯網,而無需重複做檢查 – 2011-05-19 09:12:36
1
public static boolean connectionCheck(final Context context)
{
boolean returnTemp=true;
ConnectivityManager conManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo i = conManager.getActiveNetworkInfo();
if ((i == null)||(!i.isConnected())||(!i.isAvailable()))
{
AlertDialog.Builder dialog = new Builder(context);
dialog.setTitle("CONNECTION STATUS");
dialog.setMessage("Failed");
dialog.setCancelable(false);
dialog.setPositiveButton("Ok",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
wifiManager.setWifiEnabled(true);
Toast.makeText(TennisAppActivity.mContext,"Wi-Fi On", Toast.LENGTH_LONG).show();
}
});
dialog.show();
return false;
}
return true;`enter code here`
}
函數將返回true。 我希望這對你有幫助。
+0
請參見上面:( – 2011-05-19 09:15:13
2
使用廣播接收器將調用每當網絡狀態的變化:
private NetworkStateReceiver mNetSateReceiver = null;
private class NetworkStateReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
// Check the network state to determine whether
// we're connected or disconnected
}
}
@Override
public void onCreate()
{
registerReceiver(mNetSateReceiver, new IntentFilter(
ConnectivityManager.CONNECTIVITY_ACTION));
}
@Override
public void onDestroy()
{
save();
unregisterReceiver(mNetSateReceiver);
}
只要網絡狀態發生變化,onReceive就會被調用,並且您可以使用其他答案中詳述的技術來確定您是否實際連接。
相關問題
- 1. gethostbyname,連接到互聯網?
- 2. Android連續檢查互聯網連接
- 3. 互聯網連接
- 4. Android的互聯網連接超時
- 5. 在android中檢查互聯網連接
- 6. Android互聯網連接問題
- 7. Android:檢查互聯網連接
- 8. 在Android上檢查互聯網連接
- 9. Android:使用哪個互聯網連接?
- 10. 如何確定Android互聯網連接?
- 11. Android自動檢查互聯網連接
- 12. Android InputStream互聯網斷開連接
- 13. 超時檢查互聯網連接Android
- 14. Android檢查互聯網連接
- 15. 在android中建立互聯網連接
- 16. Android的互聯網連接問題
- 17. Android互聯網連接檢查問題
- 18. Android&T-Mobile互聯網連接問題
- 19. 在android中檢測互聯網連接
- 20. Android - 監控互聯網連接狀態
- 21. 在Android上檢查互聯網連接
- 22. Android:用於互聯網連接的BroadcastReceiver
- 23. 檢查互聯網連接
- 24. Eclipse和互聯網連接
- 25. 檢查互聯網連接
- 26. 互聯網連接錯誤
- 27. 互聯網連接問題
- 28. 互聯網連接管理?
- 29. 互聯網連接檢查
- 30. iPhone的互聯網連接
我的評論這是我在尋找,謝謝知道的。 – 2011-05-19 09:20:00
是正確的看到這個鏈接http://stackoverflow.com/questions/3767591/check-intent-internet-connection – Andy 2011-05-19 09:22:58