Android 移动网络检查

Android 移动网络检查,android,Android,我正在开发一个集成了OTP屏幕的应用程序。这里有一个小问题。我必须检查两种情况,一种是,如果网络不可用,那么我必须显示一条错误消息网络不可用。否则,如果用户输入了错误的OTP,则错误消息应显示“输入了错误的OTP” 现在,我为这两种情况显示了一条共同的消息。不,如果不是的话。我想把它们一分为二。我的问题是,如果移动网络可用或不可用,我们如何检查移动网络问题 if(task.issusccessful()){ if(previousScreenTitle==R.string.login){ use

我正在开发一个集成了OTP屏幕的应用程序。这里有一个小问题。我必须检查两种情况,一种是,如果网络不可用,那么我必须显示一条错误消息
网络不可用
。否则,如果用户输入了错误的OTP,则错误消息应显示“输入了错误的OTP”

现在,我为这两种情况显示了一条共同的消息。不,如果不是的话。我想把它们一分为二。我的问题是,如果移动网络可用或不可用,我们如何检查移动网络问题

if(task.issusccessful()){
if(previousScreenTitle==R.string.login){
userPrivateInfo=Constants.ALL_USERS_REFERENCE.child(userMobileNumber);
userPrivateInfo.addListenerForSingleValueEvent(新的ValueEventListener()){
@凌驾
public void onDataChange(@NonNull DataSnapshot DataSnapshot){
/*检查数据库中是否找到用户手机号*/
if(dataSnapshot.exists()){
startActivity(新意图(OTP.this,nammaPartmentShome.class));
}
/*在firebase中找不到用户记录,因此我们将其导航到注册页面*/
否则{
意向意向=新意向(OTP.this,SignUp.class);
intent.putExtra(Constants.MOBILE_NUMBER,userMobileNumber);
星触觉(意向);
}
完成();
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
}
});
}否则{
setResult(Activity.RESULT_OK,new Intent());
完成();
}
}否则{
textResendOTPOrVerificationMessage.setText(R.string.check\u network\u connection);
}
使用此方法

private boolean chechInternetConnection() {
    connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    if (connectivityManager != null) {
        if (connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED ||
                connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED) {
            connected = true;
            Log.i("Internet", "Connected");
        } else {
            connected = false;
            Log.i("Internet", "Not Connected");
        }
    }
    return connected;
}

以下代码段显示如何使用查询活动网络并确定其是否具有Internet连接

ConnectivityManager cm =
        (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null &&
                      activeNetwork.isConnectedOrConnecting();
确定您的internet连接类型

设备连接可以通过移动数据、WiMAX、Wi-Fi和以太网连接提供。通过查询活动网络的类型,如下所示,您可以根据可用带宽更改刷新率

boolean isWiFi = activeNetwork.getType() == ConnectivityManager.TYPE_WIFI;
详细了解

希望这对您有所帮助。

您可能也喜欢或