如果没有互联网连接,我需要显示一条消息。目前,如果wifi处于关闭状态,则toast方法将起作用,并且不会继续前进。但是,即使没有服务计划也要打开移动数据,它仍将打开空白活动。
这是我从这里得到的代码
public static boolean isInternetAvailable(Context context)
{
NetworkInfo info = (NetworkInfo) ((ConnectivityManager)
context.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();
if (info == null)
{
Log.d(TAG,"no internet connection");
return false;
}
else
{
if(info.isConnected())
{
Log.d(TAG," internet connection available...");
return true;
}
else
{
Log.d(TAG," internet connection");
return true;
}
这是在我的onClick方法中。
newsButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(CheckNetwork.isInternetAvailable(MainActivity.this)) //returns true if internet available
{
moveToNews();
}
else
{
Toast.makeText(MainActivity.this,"Please Check Your Internet Connection and Try Again",Toast.LENGTH_LONG*4000).show();
}
最佳答案
检查我下面的代码
[1]。将以下互联网访问权限添加到AndroidManifest.xml中
<uses-permission android:name="android.permission.INTERNET" />
[2]。在您要显示或进入下一个活动的MainActivity或Parent活动上,添加以下代码
[2.1]全局声明以下变量
private boolean isInternetConnected;
[2.2]将以下行添加到onCreate()中
isInternetConnected = isNetworkConnected(getApplicationContext());
[2.3]添加以下方法
public boolean isNetworkConnected(Context context)
{
if(context != null)
{
ConnectivityManager cm = (ConnectivityManager) context.getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
if (cm != null) {
NetworkInfo ni = cm.getActiveNetworkInfo();
if (ni == null) {
return false;
} else
return true;
}
else
{
return true;
}
}
else
{
return true;
}
}
[3]。将以下代码添加到此行i
sInternetConnected = isNetworkConnected(getApplicationContext());
下面的onCreate()中if(isInternetConnected){
//Move to another Activity or display Toast
}
else{
//Toast of not connected with Internet
}
而已 ;)!!