如何在Android应用程序(wifi、3g、4g等)中使用任何互联网连接?

如何在Android应用程序(wifi、3g、4g等)中使用任何互联网连接?,android,network-programming,wifi,3g,Android,Network Programming,Wifi,3g,我正在编写一个需要使用互联网的应用程序。我掌握的一些相关代码如下: <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 然而,我的应用程序似乎只在WiFi连接上工作。无论它如何连接到Internet,我如何使其工作?试试这个 public class N

我正在编写一个需要使用互联网的应用程序。我掌握的一些相关代码如下:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
然而,我的应用程序似乎只在WiFi连接上工作。无论它如何连接到Internet,我如何使其工作?

试试这个

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) {

您应该使用isConnectedOrConnecting()而不是isConnected()。我从不检查用户是否已连接,因为当你想做网络工作而用户未连接时,它会抛出异常。
 NetWorkCheck networkCheck = new NetWorkCheck();
 boolean connection;

connection = networkCheck.checkNow(UpdateVehicleDetails.this);
                if (connection) {