0

インターネットを使う必要のあるアプリを書いています。私が持っているコードのいくつかの関連するビットは次のとおりです。

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

private boolean isConnected() {
    ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo netInfo = cm.getActiveNetworkInfo();

    if (netInfo != null && netInfo.isConnected()) {
        // do stuff
        return true;
    }
    else{
        // don't do stuff and display dialog instead
        return false;
    }
}

ただし、私のアプリはWiFi接続でしか機能しないようです。インターネットへの接続方法に関係なく、どうすれば機能させることができますか?

4

1 に答える 1

1

これを試して

public class NetWorkCheck{
    ConnectivityManager connectivityManager;
    NetworkInfo wifiInfo, mobileInfo, lanInfo;


    public Boolean checkNow(Context con){

        try{
            connectivityManager = (ConnectivityManager) con.getSystemService(Context.CONNECTIVITY_SERVICE);
            wifiInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
            mobileInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);


            if(wifiInfo.isConnected() || mobileInfo.isConnected())
            {
                return true;
            }
        }
        catch(Exception e){
            System.out.println("CheckConnectivity Exception: " + e.getMessage());
        }

        return false;
    }
}

接続をテストしたいアクティビティで、このコードを記述します

 NetWorkCheck networkCheck = new NetWorkCheck();
 boolean connection;

connection = networkCheck.checkNow(UpdateVehicleDetails.this);
                if (connection) {
于 2012-10-10T14:39:46.503 に答える