我正在构建一个在线游戏,所以我需要手机一直检查网络连接......所以我可以通知用户他的 Wifi 或移动数据出了问题
2 回答
0
您不需要在 Android 上进行轮询,您可以设置一个广播接收器,该接收器将在 android 7 (API 24) 的连接状态发生任何变化时被调用
只要上下文有效,应用程序就会在注册时接收CONNECTIVITY_ACTION广播。BroadcastReceiverContext.registerReceiver()
于 2018-10-19T08:11:24.100 回答
0
使用它来检查您的 Internet 连接并使用计时器或处理程序和 runnable 定期检查它
public static boolean isConnectedToInternet(){
ConnectivityManager cm =
(ConnectivityManager) getContext().getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = null;
if (cm != null) {
activeNetwork = cm.getActiveNetworkInfo();
}
// it need to connect to wifi/LTE and can access the internet
return activeNetwork != null && activeNetwork.isConnectedOrConnecting();
}
可运行
Runnable mStatusChecker = new Runnable() {
@Override
public void run() {
try {
// check internet connection
}finally {
mHandler.postDelayed(mStatusChecker, STATUS_CHECK_INTERVAL);
}
}
};
于 2018-10-19T06:16:55.670 回答