问题描述
这是我的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。