我想知道如何处理网络检查BroadcastReceiver的任何应用程序,我知道如何检查网络可用性,当我打电话给我的服务,但假设我的网络断开交易之间我无法处理这种情况。网络检查android
请提供一些教程链接,我也可以学习这一点。
谢谢。
我想知道如何处理网络检查BroadcastReceiver的任何应用程序,我知道如何检查网络可用性,当我打电话给我的服务,但假设我的网络断开交易之间我无法处理这种情况。网络检查android
请提供一些教程链接,我也可以学习这一点。
谢谢。
BroadcastReceiver networkStateReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.w("Network Listener", "Network Type Changed");
}
};
IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(networkStateReceiver, filter);
这是一个example code。
使用此: -
public boolean isNetworkAvailable()
{
ConnectivityManager cmanager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInformation= cmanager .getActiveNetworkInfo();
if (netInformation!= null && netInformation.isAvailable() && netInformation.isConnected())
{
return true;
}
return false;
}
或检查: -
Checking the Networking Connectivity using BroadcastReceiver in Android
这是代码,我发现这里#2(不记得是谁写的)
public static boolean isConnected(Context context) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = cm.getActiveNetworkInfo();
if (info == null) {
return false;
}
return info.isConnected();
}
需要internet
和network_state
权限
第一个答案也是一样的,这段代码可以检查网络可用性,正如我在我的问题中提到的,我知道如何检查网络可用性,我上面发布的答案适合我。 – Puneet
ü还可以添加info.isConnectedOrConnecting像这样()选项。 。
public static boolean checkConn(Context ctx)
{
ConnectivityManager conMgr = (ConnectivityManager)ctx.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = conMgr.getActiveNetworkInfo();
if (info == null || !info.isConnected() || !info.isAvailable()||!info.isConnectedOrConnecting()){
Toast.makeText(ctx, "Internet is not available", Toast.LENGTH_SHORT).show();
return false;
}
return true;
}
你有什么尝试? –