您的位置:首页 > 理论基础 > 计算机网络

Android网络判断,网络设置

2014-03-07 13:41 344 查看
连接网络时,弹出对话框选择联网
InActivity.java 代码

import android.os.Bundle;

import android.app.Activity;

import android.app.AlertDialog;

import android.app.AlertDialog.Builder;

import android.content.ComponentName;

import android.content.Context;

import android.content.DialogInterface;

import android.content.Intent;

import android.util.Log;

import android.view.Menu;

import android.widget.Toast;

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

}

@Override

protected void onStart() {

Log.i("MainActivity", "onStart");

if (!NetworkUtil.isNetworkAvailable(this)) {

showSetNetworkUI(this);

} else {

Toast.makeText(this, "网络可用...", 0).show();

}

super.onStart();

}

@Override

protected void onResume() {

Log.i("MainActivity", "onStart");

super.onResume();

}

/*

* 打开设置网络界面

*/

public void showSetNetworkUI(final Context context) {

// 提示对话框

AlertDialog.Builder builder = new Builder(context);

builder.setTitle("网络设置提示")

.setMessage("网络连接不可用,是否进行设置?")

.setPositiveButton("设置", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

Intent intent = null;

// 判断手机系统的版本 即API大于10 就是3.0或以上版本

if (android.os.Build.VERSION.SDK_INT > 10) {

intent = new Intent(

android.provider.Settings.ACTION_SETTINGS);// 设置

// android.provider.Settings.ACTION_WIFI_SETTINGS);//wifi

// android.provider.Settings.ACTION_WIRELESS_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");

}

context.startActivity(intent);

}

})

.setNegativeButton("取消", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

dialog.dismiss();

}

}).show();

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

}

import android.content.Context;

import android.net.ConnectivityManager;

import android.net.NetworkInfo;

检查网络是否可用!!!的java类

public class NetworkJudge{

/**

* 检查网络是否可用

*

* @param context

* @return

*/

public static boolean isNetworkAvailable(Context context) {

ConnectivityManager manager = (ConnectivityManager) context

.getApplicationContext().getSystemService(

Context.CONNECTIVITY_SERVICE);

if (manager == null) {

return false;

}

NetworkInfo networkinfo = manager.getActiveNetworkInfo();

if (networkinfo == null || !networkinfo.isAvailable()) {

return false;

}

return true;

}

}

不要忘了加权限
<uses-permission android:name="android.permission.INTERNET" />

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: