デバイスのネットワーク ステータスを確認しています。使用:-
private boolean isNetworkAvailable() {
ConnectivityManager connectivityManager
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnected();
これをもう少し進めて、デバイスがインターネットまたはhttp://www.google.comなどの特定のサイトにアクセスできるかどうか、および true を返すことができるかどうか、できない場合は確認したいと思います。 false として返します。
私のコードの問題は、デバイスがルーターに接続されていて、ルーターがオフラインの場合に 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();
}