Androidはデバイスのネットワーク接続状態を判断し、接続方式を判断する
3958 ワード
Android開発の過程で、ネットワークに接続する必要があるAndroidデバイスに対して、デバイスのネットワーク状態の検出が必要です!多くのAppがネットワークに接続する必要があります.デバイスがネットワークに接続されているかどうかを判断し、ネットワークに接続されている状態でwifi無線接続かGPRS携帯電話ネットワーク接続かを判断することで、異なるネットワークに接続して異なる方法を呼び出し、異なることを処理することができる.これらの機能は以下のコードに書かれています!主なコードは次のとおりです.
/**
*
* @return
*/
private boolean checkNetworkState() {
boolean flag = false;
//
manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
//
if (manager.getActiveNetworkInfo() != null) {
flag = manager.getActiveNetworkInfo().isAvailable();
}
if (!flag) {
setNetwork();
} else {
isNetworkAvailable();
}
return flag;
}
/**
* ,
*/
private void setNetwork(){
Toast.makeText(this, "wifi is closed!", Toast.LENGTH_SHORT).show();
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle(" ");
builder.setMessage(" , , !");
builder.setPositiveButton(" ", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent = null;
/**
* ! API 10 3.0+
* 3.0 3.0 ,
*/
if (android.os.Build.VERSION.SDK_INT > 10) {
intent = new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS);
} else {
intent = new Intent();
ComponentName component = new ComponentName(
"com.android.settings",
"com.android.settings.WirelessSettings");
intent.setComponent(component);
intent.setAction("android.intent.action.VIEW");
}
startActivity(intent);
}
});
builder.setNegativeButton(" ", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
builder.create();
builder.show();
}
/**
* , wifi GPRS
*
*/
private void isNetworkAvailable(){
State gprs = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
State wifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
if(gprs == State.CONNECTED || gprs == State.CONNECTING){
Toast.makeText(this, "wifi is open! gprs", Toast.LENGTH_SHORT).show();
}
// wifi , GPRS !
if(wifi == State.CONNECTED || wifi == State.CONNECTING){
Toast.makeText(this, "wifi is open! wifi", Toast.LENGTH_SHORT).show();
loadAdmob();
}
}