android app设置首选网络方法
方法一
在 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设置首选网络方法相关推荐
- android设置主题的方法,Android_修改Android App样式风格的方法,android中可以自定义主题和风格 - phpStudy...
修改Android App样式风格的方法 android中可以自定义主题和风格.风格,也就是style,我们可以将一些统一的属性拿出来,比方说,长,宽,字体大小,字体颜色等等.可以在res/value ...
- Android App 设置系统时间,语言和时区、系统重启
文章目录 说明 1. 修改系统时间 1. 设置系统时间(仅设置xx:xx) 2. 设置系统日期(仅设置到xxxx年xx月xx日) 3.设置系统是否自动获取时间 4.判断系统是否自动获取时间 2. 修改 ...
- [Android7.1][RK3399] 将设置首选网络类型由3G设置为LTE
Platform: RK3399 OS: Android 7.1 Kernel: v4.4.126 需求 将设置首选网络类型由3G设置为LTE 设置步骤 diff --git a/rk3399_mid ...
- 常见android app加固厂商脱壳方法研究
这篇文章主要介绍了常见android app加固厂商脱壳方法研究,需要的朋友可以参考下 目录简述(脱壳前学习的知识.壳的历史.脱壳方法) 第一代壳 第二代壳 第三代壳 第N代壳 简述Apk文件结构De ...
- Android App性能自动化评测方法
前言 App运行在设备上的性能表现也是质量保障的一个重要环节.因此,当我们确保了基本功能的准确之后,还需要有一定的方法评测App在不同设备上的性能表现.本文将从性能指标,评测方法,自动化体系建设等三个 ...
- android 让app全屏显示,Android app设置全屏模式
Android中,为APP设置全屏模式,主要有如下几种方式: 在manifest中设置 在项目中找到AndroidManifest.xml配置文件,找到Activity所在的节点,添加theme. p ...
- 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 ...
- Android App设置成Launch
做这个的需求是因为要做开机自启,但是通过广播的方式会有延迟,所以采用了这种方式,把app设置成launch,这样开机就不会再进入系统的桌面,直接进入app 1.<application>中 ...
- Android APP一键退出的方法总结分析
本文出处: 炎之铠csdn博客:http://blog.csdn.net/totond 炎之铠邮箱:yanzhikai_yjk@qq.com 本文demo地址:https://github.com/t ...
最新文章
- 利用Arduino IDE对ATMEGA8等单片机编程
- MFC与OpenCv中的图片转换实例
- log4j2自动删除_登录样式:log4j 2,上下文,自动清除…全部不附带任何字符串!...
- 1.13 编程基础之综合应用 10 判决素数个数 python
- 蓝桥杯 ADV-144算法提高 01背包
- 【数据结构和算法笔记】:稀疏矩阵的存储结构详解
- Python字符串isprintable()
- 非参数统计——第二章 单样本问题
- php 如何滑动,php 滑动门切换代码示例
- js将人民币小写金额转换为大写
- oracle增加字段为主键自增_Oracle新增自增一的主键字段和赋值代码
- 软件建模与分析--共享单车管理系统
- Positive Definite Matrices
- 年终盘点:2021年中国科技的重大突破
- L1-8 雀魂majsoul (20 分)
- 如何区分本地用户和域用户?
- 数据采集程序-----直播间
- Sentinel-2批量大气校正_基于Sen2Cor
- Win10打开任务管理器卡死的解决方法
- wf 《计算机专业英语》,武汉4-5岁MFWF轻松自信说英语课程