Android雜談–網路狀態判斷(3G/WIFI)

來源:互聯網
上載者:User

  在http://www.cnblogs.com/loulijun/archive/2012/02/03/2337230.html這篇文章中已經介紹了網路狀態的判斷,但是測試後發現用此方法只能夠判斷WIFI是否串連,而現在的智能機可以是wifi、3G、甚至2G。那麼如果用上面的方法就不行了需要進行一下修改,使其在網路不串連(無論wifi、3G、2G)的時候也可以判斷。代碼如下

//Check network
public void CheckNetworkState()
{
boolean flag = false;
ConnectivityManager manager = (ConnectivityManager)getSystemService(
Context.CONNECTIVITY_SERVICE);
State mobile = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
State wifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
//如果3G、wifi、2G等網路狀態是串連的,則退出,否則顯示提示資訊進入網路設定介面
if(mobile == State.CONNECTED||mobile==State.CONNECTING)
return;
if(wifi == State.CONNECTED||wifi==State.CONNECTING)
return;
showTips();
}

private void showTips()
{
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setIcon(android.R.drawable.ic_dialog_alert);
builder.setTitle(R.string.netstate);
builder.setMessage(R.string.setnetwork);
builder.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// 如果沒有網路連接,則進入網路設定介面
startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));
}
});
builder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builder.create();
builder.show();
}

這種方式更加簡單,也更加有用,當然第一篇也有可取之處,可以加入3G狀態檢查即可
注意:別忘了加上許可權

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.