gpt4 book ai didi

android - 检查 android 设备中可用的移动网络数据

转载 作者:行者123 更新时间:2023-11-29 17:28:02 30 4
gpt4 key购买 nike

我在 Android 中使用 Parse 开发应用程序,我需要检查设备上的互联网连接。所以我为登录做了这个:

connectivityManager = (ConnectivityManager)getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
networkInfo = connectivityManager.getActiveNetworkInfo();

btnLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (networkInfo != null && networkInfo.isConnected()) {
if (validate()) {
ParseUser.logInInBackground(user, password, new LogInCallback() {
@Override
public void done(ParseUser user, ParseException e) {
if (user != null) {
//code to send to MainActivity
} else {
//code if the values are wrong
}
}
});
}
}else {
Toast.makeText(getActivity(), "Check your network connection", Toast.LENGTH_LONG).show();
}
}
});

我的问题来了。在我的国家,我们的手机提供商免费为我们提供 whatsapp 和 facebook,但如果您尝试浏览或使用其他应用程序,则不允许使用您的移动数据。当我尝试在没有任何移动数据的情况下登录我的应用程序时,我不知道该应用程序如何检测到一些移动数据并尝试登录。我在这里阅读 SO,使用网络连接的最佳方式,但我认为这些不是解决方案。如何检查设备中的兆字节或数据?还是我应该做些不同的事情来检查连接?提前致谢

最佳答案

尝试使用此解决方案可能会有帮助。

public boolean isNetworkOnline() {
boolean status=false;
try{
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getNetworkInfo(0);
if (netInfo != null && netInfo.getState()==NetworkInfo.State.CONNECTED) {
status= true;
}else {
netInfo = cm.getNetworkInfo(1);
if(netInfo!=null && netInfo.getState()==NetworkInfo.State.CONNECTED)
status= true;
}
}catch(Exception e){
e.printStackTrace();
return false;
}
return status;

}

关于android - 检查 android 设备中可用的移动网络数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33944724/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com