2014-09-23 60 views
0

我想在應用程序啓動,我使用此代碼獲取網絡狀態時,應用程序啓動

public class ConnectionChangeReceiver extends BroadcastReceiver 
{ 
    @Override 
    public void onReceive(Context context, Intent intent) 
    { 
    ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo(); 
    NetworkInfo mobNetInfo = connectivityManager.getNetworkInfo( ConnectivityManager.TYPE_MOBILE); 
    Log.w("Network Status:",""+activeNetInfo); 
    if (activeNetInfo != null) 
    { 

     Toast.makeText(context, "Active Network Type : " + activeNetInfo.getTypeName(), Toast.LENGTH_SHORT).show(); 
    } 
    if(mobNetInfo != null) 
    { 
     Toast.makeText(context, "Mobile Network Type : " + mobNetInfo.getTypeName(), Toast.LENGTH_SHORT).show(); 
    } 
    } 
} 

學習網絡狀態但這只是打電話時,當應用程序啓動網絡狀態changed.I需要了解網絡狀態。我怎樣才能做到這一點 ?

+0

你的意思是說要麼是網絡連接?或者是其他東西 – Android 2014-09-23 12:37:50

回答

0

小的代碼示例:

public boolean isOnline() 
{ 
    ConnectivityManager cm = 
     (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo netInfo = cm.getActiveNetworkInfo(); 
    if (netInfo != null && netInfo.isConnectedOrConnecting()) { 
     return true; 
    } 
    return false; 
} 

而且不要忘記設置權限。

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
相關問題