是否有事件告訴我該設備已連接到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. android不連接到互聯網
- 2. Android - 讓用戶連接到互聯網
- 3. Android AVD無法連接到互聯網
- 4. gethostbyname,連接到互聯網?
- 5. Android連續檢查互聯網連接
- 6. 互聯網連接
- 7. 調用事件,當它連接到互聯網
- 8. Android互聯網連接檢查
- 9. Android互聯網連接問題
- 10. 在Android中檢查互聯網連接
- 11. Android的互聯網連接超時
- 12. Android互聯網連接檢查問題
- 13. Android定期檢查互聯網連接
- 14. 在Android上檢查互聯網連接
- 15. 如何確定Android互聯網連接?
- 16. Android重新連接互聯網問題
- 17. Android - 監控互聯網連接狀態
- 18. 互聯網沒有連接在android
- 19. Android檢查互聯網連接
- 20. Android&T-Mobile互聯網連接問題
- 21. 在Android中測試互聯網連接
- 22. 超時檢查互聯網連接Android
- 23. Android應用程序互聯網連接
- 24. Android,檢查互聯網連接
- 25. Android的互聯網連接問題
- 26. 在android中檢查互聯網連接
- 27. Android:建立互聯網連接
- 28. 啓用互聯網連接 - Android Wear
- 29. 在android中檢測互聯網連接
- 30. 在Android上檢查互聯網連接
我的評論這是我在尋找,謝謝知道的。 – 2011-05-19 09:20:00
是正確的看到這個鏈接http://stackoverflow.com/questions/3767591/check-intent-internet-connection – Andy 2011-05-19 09:22:58