如何解决实时网络检查-Android
我有一个应用,其中,我想检查手机的实时网络。
这是我的Java代码:
这只是完整的Java文件中的一部分。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_notes);
if (checkNetwork() == false) {
Toast noNetwork = Toast.makeText(getApplicationContext(),"Sync is paused,due to no
internet...",Toast.LENGTH_LONG);
noNetwork.show();
} else if (checkNetwork() == true) {
Toast yesNetwork = Toast.makeText(getApplicationContext(),"Sync is turned on...",Toast.LENGTH_LONG);
yesNetwork.show();
}
// This code we will add later - bottomNavigation.getMenu().removeItem(R.id.navigation_notes);
}
private boolean checkNetwork() {
ConnectivityManager connectivityManager
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}
如果我打开我的应用并导航至此页面,它将显示internet is there
吐司,但是在关闭移动数据的同时,未显示另一个显示internet is not there
的吐司。我认为上面的代码不是real-time
,或者我不知道烤面包有问题。
我想知道是否可以通过某种方式实时实现上述代码。预先感谢。
解决方法
使用registerNetworkCallback()方法注册NetworkCallback。示例代码为here。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。