方法一

在 Telephony 中增加一个服务允许配置(以android4.4为例)

主要是通过 setPreferredNetworkModeForPhone 方法配置

添加静态服务
packages/services/Telephony/src/com/android/phone/NetTypeReceiver.java

 public class NetTypeReceiver extends BroadcastReceiver {private static final String LOG_TAG = NetTypeReceiver.class.getSimpleName();public static final String ACTION_UPDATE_CALLER_INFO_CACHE ="com.android.phone.CHANGE_NETWORK_MODE";private int mPhoneId = 0; private Phone mPhone;@Overridepublic void onReceive(Context context, Intent intent) {Bundle bundle = intent.getExtras();int modemNetworkMode = 0;Log.d(LOG_TAG,  "NetTypeReceiver#onReceive(). Intent: " + intent);// mPhoneId = getIntent().getIntExtra(NetTypeReceiver.SUB_ID, 0);Log.d(LOG_TAG, "mPhoneId:" + mPhoneId);mPhone = (PhoneFactory.getPhones())[mPhoneId];if (mPhone != null) {if (bundle != null) {modemNetworkMode = bundle.getInt("com.android.phone.NETWORK_MODE");}Log.d(LOG_TAG, "NetTypeReceiver#onReceive(). mPhone ceate success");int primaryCard = TelephonyManager.from(mPhone.getContext()).getPrimaryCard();Log.d(LOG_TAG, "NetTypeReceiver#onReceive(). primaryCard:" + primaryCard);if (modemNetworkMode != -1 && SimManager.isValidPhoneId(primaryCard)) {RadioTaskManager.getDefault().setPreferredNetworkModeForPhone(primaryCard,modemNetworkMode);}}}}

在 xml 中配置

 <receiver android:name="NetTypeReceiver"><intent-filter><action android:name="com.android.phone.CHANGE_NETWORK_MODE" /></intent-filter></receiver>

在app中通过设置属性和广播配置

 private static final int PREFERRED_NETWORK_MODE_4G_3G_2G = 0;private static final int PREFERRED_NETWORK_MODE_3G_2G = 1;private static final int PREFERRED_NETWORK_MODE_2G_ONLY = 4;public void setPreferedNetWorkType(Context context, int mode){Settings.Secure.putInt(context.getContentResolver(), "preferred_network_mode", mode);Intent intent = new Intent("com.android.phone.CHANGE_NETWORK_MODE");intent.putExtra("com.android.phone.NETWORK_MODE", mode);context.sendBroadcast(intent);}

android app设置首选网络方法相关推荐

  1. android设置主题的方法,Android_修改Android App样式风格的方法,android中可以自定义主题和风格 - phpStudy...

    修改Android App样式风格的方法 android中可以自定义主题和风格.风格,也就是style,我们可以将一些统一的属性拿出来,比方说,长,宽,字体大小,字体颜色等等.可以在res/value ...

  2. Android App 设置系统时间,语言和时区、系统重启

    文章目录 说明 1. 修改系统时间 1. 设置系统时间(仅设置xx:xx) 2. 设置系统日期(仅设置到xxxx年xx月xx日) 3.设置系统是否自动获取时间 4.判断系统是否自动获取时间 2. 修改 ...

  3. [Android7.1][RK3399] 将设置首选网络类型由3G设置为LTE

    Platform: RK3399 OS: Android 7.1 Kernel: v4.4.126 需求 将设置首选网络类型由3G设置为LTE 设置步骤 diff --git a/rk3399_mid ...

  4. 常见android app加固厂商脱壳方法研究

    这篇文章主要介绍了常见android app加固厂商脱壳方法研究,需要的朋友可以参考下 目录简述(脱壳前学习的知识.壳的历史.脱壳方法) 第一代壳 第二代壳 第三代壳 第N代壳 简述Apk文件结构De ...

  5. Android App性能自动化评测方法

    前言 App运行在设备上的性能表现也是质量保障的一个重要环节.因此,当我们确保了基本功能的准确之后,还需要有一定的方法评测App在不同设备上的性能表现.本文将从性能指标,评测方法,自动化体系建设等三个 ...

  6. android 让app全屏显示,Android app设置全屏模式

    Android中,为APP设置全屏模式,主要有如下几种方式: 在manifest中设置 在项目中找到AndroidManifest.xml配置文件,找到Activity所在的节点,添加theme. p ...

  7. Android app:用Log方法打印调试信息 (Log.v,Log.d,Log.i,Log.w,Log.e)以及修改LogCat的颜色

    Android app:Log方法打印调试信息 (Log.v,Log.d,Log.i,Log.w,Log.e)和修改LogCat的颜色 一.包含Log类,import android.util.Log ...

  8. Android App设置成Launch

    做这个的需求是因为要做开机自启,但是通过广播的方式会有延迟,所以采用了这种方式,把app设置成launch,这样开机就不会再进入系统的桌面,直接进入app 1.<application>中 ...

  9. Android APP一键退出的方法总结分析

    本文出处: 炎之铠csdn博客:http://blog.csdn.net/totond 炎之铠邮箱:yanzhikai_yjk@qq.com 本文demo地址:https://github.com/t ...

最新文章

  1. 利用Arduino IDE对ATMEGA8等单片机编程
  2. MFC与OpenCv中的图片转换实例
  3. log4j2自动删除_登录样式:log4j 2,上下文,自动清除…全部不附带任何字符串!...
  4. 1.13 编程基础之综合应用 10 判决素数个数 python
  5. 蓝桥杯 ADV-144算法提高 01背包
  6. 【数据结构和算法笔记】:稀疏矩阵的存储结构详解
  7. Python字符串isprintable()
  8. 非参数统计——第二章 单样本问题
  9. php 如何滑动,php 滑动门切换代码示例
  10. js将人民币小写金额转换为大写
  11. oracle增加字段为主键自增_Oracle新增自增一的主键字段和赋值代码
  12. 软件建模与分析--共享单车管理系统
  13. Positive Definite Matrices
  14. 年终盘点:2021年中国科技的重大突破
  15. L1-8 雀魂majsoul (20 分)
  16. 如何区分本地用户和域用户?
  17. 数据采集程序-----直播间
  18. Sentinel-2批量大气校正_基于Sen2Cor
  19. Win10打开任务管理器卡死的解决方法
  20. wf 《计算机专业英语》,武汉4-5岁MFWF轻松自信说英语课程

热门文章

  1. 3D小人竞聘述职报告PPT模板
  2. xperia android os更新,索尼Xperia 1 II迎来安卓11系统更新,体验升级
  3. 开源软件鸿蒙闪退,鸿蒙开源是怎样一情况
  4. 【C语言】求绝对值abs
  5. 动态网页html语言,动态网页设计HTML语言基础.ppt
  6. 【R语言】第二章上机实验记录
  7. 【考研政治】思修和法律基础总结
  8. 支付宝、微信共同宣布:将“取消”扫码支付,使用全新付款方式!
  9. CleanMyMac X免费电脑清理加速软件-清理内存磁盘缓存注册表
  10. PhoneGap安装和使用教程