android源码中修改wifi热点默认始终开启
Posted 苏小七
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于android源码中修改wifi热点默认始终开启的主要内容,如果未能解决你的问题,请参考以下文章