我想知道如何處理網絡檢查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;
}
你有什麼嘗試? –