我正在檢查設備的網絡狀態。使用: -檢查網站是否可用
private boolean isNetworkAvailable() {
ConnectivityManager connectivityManager
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnected();
我想借此對遠一點和檢查,看看是否該設備可以訪問互聯網或http://www.google.com給定的站點,例如,如果可以則返回爲真,如果它能夠」然後返回爲假。
我的代碼的問題是,如果設備連接到路由器並且路由器處於脫機狀態,它將返回true。我需要一個實際的互聯網連接檢查。
修訂後的代碼
public void GoToStation(View v)
{
try {
InetAddress ina = InetAddress.getByName("http://188.65.176.98/");
if(ina.isReachable(3000)) {
Intent myIntent = new Intent(MainActivity.this, CustomizedListViewStation.class);
startActivityForResult(myIntent, 0);
} else {
Toast.makeText(this, "You need a data connection to view Safety Zones", Toast.LENGTH_LONG).show();
}
} catch (IOException ioe) {
ioe.printStackTrace();
}
在哪個系統,你正在檢查這一點。 –
我建議你閱讀這篇文章。可能是你要找的: http://stackoverflow.com/questions/3905358/how-to-ping-external-ip-from-java-android – Aleks
我很抱歉這是一個Android應用程序。 –