导航:首页 > 编程大全 > android网络状态

android网络状态

发布时间:2021-12-05 03:52:51

① android 怎么监控网络状态可以访问互联网而不是连接状态

在开发android应用时,涉及到要进行网络访问,时常需要进行网络状态的检查,以提供给用户必要的提醒。一般可以通过ConnectivityManager来完成该工作。
ConnectivityManager有四个主要任务:
1、监听手机网络状态(包括GPRS,wifi, UMTS等)
2、手机状态发生改变时,发送广播
3、当一个网络连接失败时进行故障切换
4、为应用程序提供可以获取可用网络的高精度和粗糙的状态
当我们要在程序中监听网络状态时,只要一下几个步骤即可:
1、定义一个Receiver重载其中的onReceive函数,在其中完成所需要的功能,如根据WIFI和GPRS是否断开来改变空间的外观
复制代码 代码如下:

connectionReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager connectMgr = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo mobNetInfo = connectMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
NetworkInfo wifiNetInfo = connectMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (!mobNetInfo.isConnected() && !wifiNetInfo.isConnected()) {
Log.i(TAG, "unconnect");
// unconnect network
}else {
// connect network
}
}
};

2、在适当的地方注册Receiver,可以在程序中注册,在onCreate中调用如下函数即可:
复制代码 代码如下:

IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(connectionReceiver, intentFilter);

3、在适当时取消注册Receiver,可以在程序中取消,在onDestroye中调用如下函数即可:
复制代码 代码如下:

if (connectionReceiver != null) {
unregisterReceiver(connectionReceiver);
}

② 再次提问 android 一个简单的网络状态监听出错

应该修改manifest.xml 为< receiver android:name=".myBroadcastReceiver" ...

③ android 如何判断网络是否能够上网

实现步骤:
下面解决办法来自于android学习手册,android学习手册包含9个章节,108个例子,源码文档随便看,例子都是可交互,可运行,源码采用android studio目录结构,高亮显示代码,文档都采用文档结构图显示,可以快速定位。360手机助手中下载。排到第三个。
1、获取ConnectivityManager对象
Context context = activity.getApplicationContext();
// 获取手机所有连接管理对象(包括对wi-fi,net等连接的管理)
ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);

2、获取NetworkInfo对象
// 获取NetworkInfo对象
NetworkInfo[] networkInfo = connectivityManager.getAllNetworkInfo();

3、判断当前网络状态是否为连接状态
if (networkInfo[i].getState() == NetworkInfo.State.CONNECTED)
{
return true;
}

4、在AndroidManifest.xml中添加访问当前网络状态权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>

代码如下:

public class ClassTestDemoActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
if (isNetworkAvailable(ClassTestDemoActivity.this))
{
Toast.makeText(getApplicationContext(), "当前有可用网络!", Toast.LENGTH_LONG).show();
}
else
{
Toast.makeText(getApplicationContext(), "当前没有可用网络!", Toast.LENGTH_LONG).show();
}
}

/**
* 检查当前网络是否可用
*
* @param context
* @return
*/

public boolean isNetworkAvailable(Activity activity)
{
Context context = activity.getApplicationContext();
// 获取手机所有连接管理对象(包括对wi-fi,net等连接的管理)
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

if (connectivityManager == null)
{
return false;
}
else
{
// 获取NetworkInfo对象
NetworkInfo[] networkInfo = connectivityManager.getAllNetworkInfo();

if (networkInfo != null && networkInfo.length > 0)
{
for (int i = 0; i < networkInfo.length; i++)
{
System.out.println(i + "===状态===" + networkInfo[i].getState());
System.out.println(i + "===类型===" + networkInfo[i].getTypeName());
// 判断当前网络状态是否为连接状态
if (networkInfo[i].getState() == NetworkInfo.State.CONNECTED)
{
return true;
}
}
}
}
return false;
}
}

④ android判断移动网络是否打开

Android 判断网络状态这一应用技巧在实际应中是比较重要的。那么,在Android操作系统中,如何能够正确的判断我们所连接的网络是否断开:
public class ConnectionChangeReceiver extends
BroadcastReceiver
{
@Override
public void onReceive( Context context, Intent intent )
{
ConnectivityManager connectivityManager =
(ConnectivityManager) context.getSystemService
( Context.CONNECTIVITY_SERVICE );
NetworkInfo activeNetInfo = connectivityManager.
getActiveNetworkInfo();
NetworkInfo mobNetInfo = connectivityManager.getNetworkInfo
( ConnectivityManager.TYPE_MOBILE );
if ( activeNetInfo != null )
{
Toast.makeText( context, "Active Network Type : " +
activeNetInfo.getTypeName(), Toast.LENGTH_SHORT ).show();
}
if( mobNetInfo != null )
{
Toast.makeText( context, "Mobile Network Type : " +
mobNetInfo.getTypeName(), Toast.LENGTH_SHORT ).show();
}
}
}
< !-- Needed to check when the network connection changes -->
< uses-permission android:name="android.permission.
ACCESS_NETWORK_STATE"/>
< receiver android:name="com.blackboard.androidtest.
receiver.ConnectionChangeReceiver"
android:label="NetworkConnection">
< intent-filter>
< action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
< /intent-filter>
< /receiver>

⑤ Android系列之如何判断网络链接状态

给你一段代码
public static boolean CheckNetWork(Context mContext) {
ConnectivityManager connectivityManager = (ConnectivityManager) mContext
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = connectivityManager.getActiveNetworkInfo();
if (info == null || !info.isAvailable()) {
return false;
} else {
return true;
}
}

把你需要判断是否联网的窗体加进去,连内网状态下返回true,否则容false。

⑥ Android使用广播监听网络状态变化 一直收到系统广播

因为这个系统广播在不停的发送,系统网络状态在不停的变化。比如关闭,打开,扫描,正在连接,已连接等状态。

⑦ android判断网络的状态断开与否

java">privatebooleanCheckNetWorking(){
booleanbool=false;
=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo[]infos=connectivityManager.getAllNetworkInfo();
if(infos!=null){
for(inti=0;i<infos.length;i++){
if(infos[i].getState()==NetworkInfo.State.CONNECTED){
bool=true;
returnbool;

}
}
}
returnbool;
}

最后记得在Manifests.xml中加入Internet,NETWORK权限

⑧ android 怎么判断当前网络状态

屏幕的上方有没有E\G\H\3G的图标,图标下方是打对勾的还是上下箭头?如果有就代表你的网络是开启的

阅读全文

与android网络状态相关的资料

热点内容
dede后台密码重置 浏览:255
w10换w7系统安装教程 浏览:183
学编程天津哪个学校好一些 浏览:392
大数据架构师月薪多少 浏览:676
excel文件如何损坏的 浏览:775
下载修复系统文件在哪里下载地址 浏览:54
大数据存放list问题 浏览:421
安卓qq表情文件夹在哪里 浏览:399
工艺过程有哪些文件 浏览:797
如何查看网站的端口 浏览:647
如何卸载苹果90系统 浏览:244
数据服务是做什么的 浏览:362
sql每个数据分别在哪里 浏览:471
微信浏览器点击返回事件 浏览:347
cad高级教程pdf 浏览:491
创维43m6的屏幕是那里产的 浏览:192
nodejsjs调用 浏览:46
恶搞app视频制作软件有哪些 浏览:694
大数据时代真的来了吗 浏览:53
dfx文件arcgis 浏览:56