如果没有互联网连接,我需要显示一条消息。目前,如果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
}


而已 ;)!!

08-05 17:02