网络选择 | Phone | 自定义ListPreference | Handler | 切换网络的AT指令

来源:互联网 发布:leap计算软件 编辑:程序博客网 时间:2024/05/20 23:58

添加网络偏好选择:默认(3G优先、仅3G、仅2G)。

 

一、自定义ListPreference

android:persistent为true时,系统会帮助我们去保存该设置,即使重启后依然能记忆之前的设置,这也是所谓的持久化。这里将android:persistent设置为False,表明不需要让系统去做持久化,开发者系统通过自己的方式去实现持久化。例如,在此我们是通过在自定义ListPreference的执行构造函数时,读取系统设置来决定ListPreference的选中状态。

gsm_umts_options.xml

 

UseNetModeListPreference派生于ListPreference,这个类主要实现两个功能:一是设置网络模式,二是读取系统设置的网络模式并用ListPreference显示。这里访问和设置网络模式是一个耗时的操作,它由Phone对象去完成。我们不希望在执行网络模式访问和设置时阻塞UI线程,而是希望UI线程和子线程能实现异步,并且在子线程(Phone对象)操作完成后给UI线程发个消息通知,这样UI就能根据子线程的操作结果来更新界面了 。

Handler机制就是为了实现线程间的消息通信和异步处理所产生的。

UseNetModeListPreference.java

 

二、切换网络的AT指令

查询模组的AT指令手册:

AT^DSTM Set access technology mode
AT^DDTM Set Default Run mode and Access technology

refrence_ril.c

原创粉丝点击