Button btnOn = (Button) findViewById(R.id.button4);
btnOn.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
if(boolOn == true) {
isNetworkStat(getApplicationContext()) ; // 버튼을 클릭하면 함수를 호출함...
}
}
});
}
// 호출 함수
final boolean isNetworkStat(Context context) {
// 밑줄이 있는 것 한가지는 사용되지 않은 함수일 경우에도 밑줄이 있습니다.
ConnectivityManager manager =
(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mobile = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
NetworkInfo wifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
NetworkInfo lte_4g = manager.getNetworkInfo(ConnectivityManager.TYPE_WIMAX);
boolean blte_4g = false;
if(lte_4g != null)
blte_4g = lte_4g.isConnected();
if(!mobile.isConnected() && !wifi.isConnected() && !blte_4g){
AlertDialog.Builder dlg = new AlertDialog.Builder(context);
dlg.setTitle("네트워크 오류");
dlg.setMessage("네트워크 상태를 확인해 주십시요.");
dlg.setIcon(R.drawable.ic_launcher);
dlg.setNegativeButton("확인", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
dialog.dismiss();
}
});
dlg.show();
} else if(mobile.isConnected() || wifi.isConnected() || blte_4g){
myProgressDialog = ProgressDialog.show(CvaccineActivity.this,
"업데이트", "DB 업데이트 중입니다..", true);
Handler handler=new Handler();
new LoadingThread(handler).start();
}
return blte_4g;
}
class LoadingThread extends Thread {
Handler handler;
public LoadingThread(Handler handler) {
super();
this.handler=handler;
};
public void run() {
try{
sleep(2000);
} catch (InterruptedException e) {
}
handler.post(new FinishThread());
}
}
class FinishThread extends Thread {
public void run() {
if(myProgressDialog!=null)
myProgressDialog.dismiss();
}
}