2016年6月9日 星期四

偵測網路狀態


public class MainActivity extends Activity {

private Button mbtnOK;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

mbtnOK = (Button) findViewById(R.id.btnOK);
mbtnOK.setOnClickListener(mbtnOK_OnClickListener);
}

  private View.OnClickListener mbtnOK_OnClickListener = new View.OnClickListener() {

@Override
public void onClick(View v) {
    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
       NetworkInfo ni = cm.getActiveNetworkInfo();

if (ni != null && ni.isConnected()) {
ShowAlertDialog("網路狀態正常", "網路連線功能正常");
} else if (ni == null) {
ShowAlertDialog("無法使用", "請開啟網路連線功能");
}
}
  };

   private void ShowAlertDialog(String Message, String Title) {
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setMessage(Message);
dialog.setTitle(Title);
dialog.setIcon(android.R.drawable.presence_away);
dialog.setCancelable(false); // 取消「返回鍵」功能
dialog.setNeutralButton("確定", null);
dialog.show();
   }

}

AndroidManifest.xml 需加入
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE">
才能夠存取網路







範例下載

沒有留言: