- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android打开WIFI或者移动网络的代码实现.doc
Android打开WIFI或者移动网络的代码实现
MainActivity如下:
?
[java] ?
package wy.testnetwork; ?
??
import java.lang.reflect.Field; ?
import java.lang.reflect.InvocationTargetException; ?
import java.lang.reflect.Method; ?
import .ConnectivityManager; ?
import .wifi.WifiManager; ?
import android.os.Bundle; ?
import android.app.Activity; ?
import android.content.Context; ?
/**?
?* Demo描述:?
?* 通过代码打开wifi或者移动网络?
?* ?
?* 学习资料:?
?* 1 /way_ping_li/article/details/8493700?
?* 2 /questionshow-can-i-turn-off-3g-data-programmatically-on-android?? 3 /willyan/archive/2012/07/03/2574513.html?? 4 /questions/152?? 5 /lfdfhl/article/details? 6 /tu_bingbing/arti cle/details/8469871?? 7 /stevenhu_223/article/details/9052083?? ?Thank you very much?? ??? 备注说明:?
?* 1 在学习资料1中还涉及到利用代码打开GPS?
?* 2 通过代码打开wifi和移动网络在某些机型上是不可实现的?
?*?
?*/ ?
public class MainActivity extends Activity { ?
? ? @Override ?
? ? protected void onCreate(Bundle savedInstanceState) { ?
? ? ? ? super.onCreate(savedInstanceState); ?
? ? ? ? setContentView(R.layout.main); ?
? ? ? ? toggleWiFi(this, false); ?
? ? ? ? toggleMobileData(this, true); ?
? ? } ?
??
? ? ??
? ? ?//设置是否打开Wifi ?
? ? private void toggleWiFi(Context context, boolean enabled) { ?
? ? ? ? WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); ?
? ? ? ? wifiManager.setWifiEnabled(enabled); ?
? ? } ?
? ? ??
? ? /**?
? ? ?* 设置是否打开移动网络?
? ? ?* ?
? ? ?* 但没有直接的API可调用,但是我们发现:?
? ? ?* 在ConnectivityManager中有一隐藏的方法setMobileDataEnabled()?
? ? ?* 源码如下:?
? ? ?* public void setMobileDataEnabled(boolean enabled) {?
? ? ?* ? try {?
? ? ?* ? ? ?mService.setMobileDataEnabled(enabled);?
? ? ?* ? } catch (RemoteException e) {?
? ? ?* ? ? ?}?
? ? ?* }?
? ? ?* ?
? ? ?* 这里的重点就是mService,查看其声明:?
? ? ?* private IConnectivityManager mService;?
? ? ?* 继续查看源码可知IConnectivityManager为了一个AIDL(接口interface IConnectivityManager)?
? ? ?* ?
? ? ?* ?
? ? ?* 调用过程:?
? ? ?* ConnectivityManager中有一隐藏的方法setMobileDataEnabled()?
? ? ?* 在setMobileData
您可能关注的文档
最近下载
- 2022年一级造价师-土建案例-陈江潮精讲班完整讲义.pdf
- 第一册: 标准设计与典型造价 V3.0版 智能配电站.pdf
- 第二课性骚扰的危害 课件 2024—2025学年华东师大版(2024))初中体育与健康七年级全一册.pptx VIP
- 《工程勘察设计收费管理规定》计价格【2002】10号.doc
- 【国家标准】GB14759-2010 食品安全国家标准 食品添加剂 牛磺酸.pdf
- 2020年广西防城港中考生物真题及答案.doc VIP
- 前列腺癌的基础知识.pptx
- 食品安全管理员考试试题及答案(2025版).docx VIP
- 2025年中国空调离合器皮带轮市场现状分析及前景预测报告.docx
- (2)IT运维管理:ITIL先锋论坛—DevOps来了运维如何改变.docx
文档评论(0)