android源码中修改wifi热点默认始终开启

在项目\frameworks\base\wifi\java\android\net\wifi\WifiStateMachine.java里面,有如下的代码,是设置wifi热点保持状态的:如下: 

 private class HotspotAutoDisableObserver extends ContentObserver {
        public HotspotAutoDisableObserver(Handler handler) {
            super(handler);
            mContext.getContentResolver().registerContentObserver(Settings.System.getUriFor(
                Settings.System.WIFI_HOTSPOT_AUTO_DISABLE), false, this);
        }

        @Override
        public void onChange(boolean selfChange) {
            super.onChange(selfChange);
            mDuration = Settings.System.getInt(mContext.getContentResolver(), Settings.System.WIFI_HOTSPOT_AUTO_DISABLE,
                    Settings.System.WIFI_HOTSPOT_AUTO_DISABLE_FOR_FIVE_MINS);
            if (mDuration != Settings.System.WIFI_HOTSPOT_AUTO_DISABLE_OFF && mPluggedType == 0) {
                if (mClientNum == 0 && WifiStateMachine.this.getCurrentState() == mTetheredState) {
                    mAlarmManager.cancel(mIntentStopHotspot);
                    Xlog.d(TAG, "Set alarm for setting changed, mDuration:" + mDuration);
                    mAlarmManager.set(AlarmManager.RTC_WAKEUP,
                        System.currentTimeMillis() + mDuration * HOTSPOT_DISABLE_MS, mIntentStopHotspot);
                }
            } else {
                mAlarmManager.cancel(mIntentStopHotspot);
            }
        }
    }

修改默认值为始终:

mDuration = Settings.System.getInt(mContext.getContentResolver(), Settings.System.WIFI_HOTSPOT_AUTO_DISABLE,
                    Settings.System.WIFI_HOTSPOT_AUTO_DISABLE_OFF);

另外,System.xxxx的常量定义在源码中的路径:项目\frameworks\base\core\java\android\provider\Settings.java

时间: 2024-10-15 21:00:56

android源码中修改wifi热点默认始终开启的相关文章

源码中修改Android的开机画面和动画【转】

本文转载自:http://blog.csdn.net/dddxxxx/article/details/54343976 参照文章:http://blog.csdn.net/a345017062/article/details/6222962.http://bbs.gfan.com/android-146253-1-1.html. Android系统开机显示画面分成两个过程,第一个过程从按电源键到Frameworks启动为止.第二个过程从Frameworks启动完成到Launcher程序启动完成.

Eclipse与Android源码中ProGuard工具的使用

由于工作需要,这两天和同事在研究android下面的ProGuard工具的使用,通过查看android官网对该工具的介绍以及网络上其它相关资料,再加上自己的亲手实践,算是有了一个基本了解.下面将自己的理解和认识简要的做个笔记,有异议或者不解的,可以直接留言. 什么是ProGuard工具? ProGuard是android提供的一个免费的工具,它能够移除工程中一些没用的代码,或者使用语义上隐晦的名称来重命名代码中的类.字段和函数等,达到压缩.优化和混淆代码的功能.具体来说,使用ProGuard工具

Android源码中的FLAG为何使用16进制

1.在阅读源码的时候经常发现有一些标志属性使用一些位操作来判断是否具有该标志,增加标志或者去除标志. 比如View.java中的 /** * This view does not want keystrokes. Use with TAKES_FOCUS_MASK when * calling setFlags. */ private static final int NOT_FOCUSABLE = 0x00000000; /** * This view wants keystrokes. Us

Android源码中的抽象工厂---IPolicy

抽象工厂应用是很广的,在Android源码中,这个IPolicy就是一个简单的抽象工厂模式.下面分析一下IPolicy及其实现,以及创建的相关对象(源码基于5.0.0). 抽象工厂 意图 提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类. UML类图 通过继承抽象工厂,可以产生不同的产品系列 代码示例 abstract class AbsFactory{ public abstract AbsProductA createProduct1(); public abstract

为什么android源码中有的public方法,在官网会查不到并且我们也用不了?

比如,看这个: 在android开发官网上搜是搜不到这个方法的,我们也调用不了,为什么呢?这是因为我们只能调用到android Framework层给我们提供的api,而这个方法框架层不开放调用,所以自然我们就调用不到了.不过,我们可以通过反射的方式间接调用此类方法(详细见我上一篇博客). 附在线看android源代码网址:http://grepcode.com/project/repository.grepcode.com/java/ext/com.google.android/android

访何红辉:谈谈Android源码中的设计模式

最近Android 6.0版本的源代码开放下载,刚好分析Android源码的技术书籍<Android源码设计模式解析与实战>上市,我们邀请到它的作者何红辉,来谈谈Android源码中的设计模式,以及近期Android开发中的一些热点话题. 受访嘉宾介绍: 何红辉(@MrSimp1e),前友盟Android工程师,活跃于国内各大技术社区,热爱开源,热爱技术,热爱分享.Android开源库 AndroidEventBus . Colorful 作者, 开发技术前线 站长,<Android源码

The Independent JPEG Group&#39;s JPEG software Android源码中 JPEG的ReadMe文件

The Independent JPEG Group's JPEG software========================================== README for release 6b of 27-Mar-1998==================================== This distribution contains the sixth public release of the Independent JPEGGroup's free JPEG

在Android源码中查找Java代码中native函数对应的C++实现

Android源码中很多关键代码都是C++实现的,java通过jni来调用,经常会看到java中这样的代码: static native Thread currentThread(); 如何根据方法名找到其对应的C++实现,有两个方法. 先来个java代码的示例VMThread.java: package java.lang; class VMThread { Thread thread; int vmData; VMThread(Thread t) { thread = t; } native

Android 源码中的设计模式

最近看了一些android的源码,发现设计模式无处不在啊!感觉有点乱,于是决定要把设计模式好好梳理一下,于是有了这篇文章. 面向对象的六大原则 单一职责原则 所谓职责是指类变化的原因.如果一个类有多于一个的动机被改变,那么这个类就具有多于一个的职责.而单一职责原则就是指一个类或者模块应该有且只有一个改变的原因.通俗的说,即一个类只负责一项职责,将一组相关性很高的函数.数据封装到一个类中. 开闭原则 对于扩展是开放的,这意味着模块的行为是可以扩展的.当应用的需求改变时,我们可以对模块进行扩展,使其