android检测蜂窝网络,Android 判断网络状态及开启网路

Android 判断网络状态及开启网路

发布时间:2020-10-22 10:10:42

来源:脚本之家

阅读:90

作者:lanyan_lan

Android 判断网络状态及开启网路

在使用Android连接网络的时候,并不是每次都能连接到网络,在这个时候,我们最好是在程序启动的时候对网络的状态进行一下判断,如果没有网络则进行即时提醒用户进行设置。

要判断网络状态,首先需要有相应的权限,下面为权限代码:

即允许访问网络状态:

下面为判断代码:

/**

* 测试网络

*/

public boolean TestNetWork()

{

if(context != null){

ConnectivityManager connectivityManager =(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();

if(activeNetInfo==null){

handler.sendEmptyMessage(8);

return false;

}

boolean netInfo = activeNetInfo.isAvailable();

if(!netInfo){

handler.sendEmptyMessage(8);

return false;

}

}

return true;

}

以上就是Android判断网路状态并开启网路的实例,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android 11 的 framework 中,可以通过以下代码实现设置蜂窝网络策略: 1. 在 NetworkPolicyManagerService.java 文件中,添加一个新的 API 方法,用于设置蜂窝网络策略: ```java public void setCellularPolicy(int uid, boolean restrictBackground) { // 获取应用程序 UID 对应的 NetworkTemplate NetworkTemplate template = NetworkTemplate.buildTemplateMobileAll( mPhoneSubId.get(uid)); // 创建 NetworkPolicy 对象 NetworkPolicy policy = new NetworkPolicy(template, 0L, "cellular", null, false, false); // 设置应用程序的数据使用限制 policy.restrictBackground = restrictBackground; setNetworkPolicies(new NetworkPolicy[] { policy }); } ``` 以上代码中,uid 表示应用程序的 UID,restrictBackground 表示是否限制应用程序在后台使用数据流量。在方法中,首先获取应用程序对应的 NetworkTemplate,然后创建一个新的 NetworkPolicy 对象,并设置 restrictBackground 属性,最后调用 setNetworkPolicies() 方法设置网络策略。 2. 在 NetworkPolicyManager.java 文件中,添加一个新的 API 方法,用于调用 NetworkPolicyManagerService 中的 setCellularPolicy() 方法: ```java public void setCellularPolicy(int uid, boolean restrictBackground) { try { mService.setCellularPolicy(uid, restrictBackground); } catch (RemoteException e) { Log.e(TAG, "Error setting cellular policy", e); } } ``` 以上代码中,uid 和 restrictBackground 的含义与 NetworkPolicyManagerService 中的方法相同。在方法中,调用 NetworkPolicyManagerService 的 setCellularPolicy() 方法,将参数传递给该方法。 通过以上代码,就可以在 Android 11 的 framework 中实现设置蜂窝网络策略的逻辑。需要注意的是,需要在 AndroidManifest.xml 文件中声明 android.permission.MANAGE_NETWORK_POLICY 权限。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值