2024年最全Android Settings和SettingsProvider源码分析与修改(1),BAT面试文档

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

false

200%

false

true

0

-1

-1

500

0

true

false

false

9

false

0

当然还有mtk_default.xml

修改完成后,在

frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java

中的 private void loadGlobalSettings(SQLiteDatabase db) { … … }函数中增加初始化数据库的值:

然后执行:

./mk -t mm frameworks/base/packages/SettingsProvider/

生成目录:

out/target/product/esky82_tb_cn_kk/system/priv-app/SettingsProvider.apk

删除设置中情景模式的震动选项(会议模式和户外模式)

packages/apps/Settings/res/xml/audioprofile_settings.xml

注释掉会议模式和户外模式

packages/apps/Settings/res/xml/edit_profile_prefs.xml

注释掉:

<PreferenceCategory

android:key=“general”

android:title=“@string/sound_category_sound_title”/>

<com.mediatek.audioprofile.RingerVolumePreference

android:key=“ring_volume”

android:title=“@string/all_volume_title”

android:dialogTitle=“@string/all_volume_title”

android:persistent=“false”/>

packages/apps/Settings/src/com/medietek/audrioprofile/AduioProfileSettings.java

注释掉public void onCreate(Bundle icicle) {}中以下几行代码:

//pref = (AudioProfilePreference) findPreference(MEETING_PREF_KEY);

//pref.setOnSettingsClickListener(mProfileSettingListener);

//pref = (AudioProfilePreference) findPreference(OUTDOOR_PREF_KEY);

//pref.setOnSettingsClickListener(mProfileSettingListener);

或者改成以下:

这个方案得:import android.os.SystemProperties;

if (!SystemProperties.get(“ro.project.target”).equals(“es706”)) {

// Do nothing

} else {

pref = (AudioProfilePreference) findPreference(MEETING_PREF_KEY);

pref.setOnSettingsClickListener(mProfileSettingListener);

pref = (AudioProfilePreference) findPreference(OUTDOOR_PREF_KEY);

pref.setOnSettingsClickListener(mProfileSettingListener);

}

packages/apps/Settings/src/com/medietek/audrioprofile/Editprofile.java

private void initPreference() {}中注释以下:

// mVibrat = (CheckBoxPreference) findPreference(KEY_VIBRATE);

… …

// mVibrat.setEnabled(false);

还有这里,总之搜索mVibrat的结果都注释掉或者加个判断:

if (!isSmsCapable()) {

// parent.removePreference(mVibrat);

}

private void updatePreference() {

// mVibrat.setChecked(mProfileManager.getVibrationEnabled(mKey));

… …

还有这一大段:

// if (mVibrat != null) {

// final String name = AudioProfileManager.getVibrationKey(mKey);

// Xlog.d(TAG,"name " + name);

// String vibrateEnabled = Settings.System.getString(

// getContentResolver(), name);

// if (vibrateEnabled != null) {

// mVibrat.setChecked(“true”

// .equals(vibrateEnabled));

// Xlog.d(TAG,

// "vibrate setting is "

// + “true”.equals(vibrateEnabled));

// }

//

// }

还有:

public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,

Preference preference) {

Xlog.d(TAG, “Key :” + preference.getKey());

// if ((preference.getKey()).equals(KEY_VIBRATE)) {

// boolean isVibrate = mVibrat.isChecked();

// Xlog.d(TAG, “set vibrate” + isVibrate);

// mProfileManager.setVibrationEnabled(mKey, isVibrate);

// } else

显示设置中增加“永不休眠”功能

首先在frameworks\base\packages\SettingsProvider\res\values\defaults.xml中设置def_screen_off_timeout为-1,即

-1

然后修改alps\packages\apps\Settings\res\values\arrays.xml:

15 seconds

30 seconds

1 minute

2 minutes

10 minutes

30 minutes

never

15000

30000

60000

120000

600000

1800000

-1

接着修改对比语言value文件夹下的arrays.xml, 修改screen_timeout_entries对应的翻译。不用管那个msgid,只是google用来表示是他自己的资源而已,直接添加“永不休眠”即可。

然后是代码的改动:

frameworks/base/services/java/com/android/server/power/PowerManagerService.java

private void updateUserActivitySummaryLocked(long now, int dirty) {

//change code here ==============

Slog.d(TAG,“mScreenOffTimeoutSetting =”+mScreenOffTimeoutSetting);

//if (mUserActivitySummary != 0 ) {

if (mUserActivitySummary != 0 && mScreenOffTimeoutSetting > 0) {

//change code here end ==============

Message msg = mHandler.obtainMessage(MSG_USER_ACTIVITY_TIMEOUT);

msg.setAsynchronous(true);

mHandler.sendMessageAtTime(msg, nextTimeout);

}

Android修改应用的默认安装位置

Google默认的PackageManager,会读取应用AndroidManifest.xml的对应定义

installLocation规则如下:

1.如果没有定义安装位置,表示安装在手机内存上;

2.android:installLocation =“auto” :先查看手机内存是否足够,如果够就安装在手机内存上,不够就安装在T 卡上;

3.android:installLocation = “internalOnly”:表示安装在手机内存上;

4.android:installLocation = “preferExternal”:表示安装在 T 卡上;

如何在设置中增加“选取应用安装位置”的功能,让用户选择默认的安装位置?

修改如下文件:frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java

loadSetting(stmt, Global.SET_INSTALL_LOCATION, 0);

改为:

loadSetting(stmt, Secure.SET_INSTALL_LOCATION, 1);

并将

loadSetting(stmt, Settings.Secure.SET_INSTALL_LOCATION, 0);

改为:

loadSetting(stmt, Settings.Secure.SET_INSTALL_LOCATION, 1);

这样修改之后,在设置>应用中会出现“选取应用安装位置”的功能,不过无论在这里选择什么,对于应用中AndroidManifest.xml文件中声明

android:installLocation = “internalOnly”

的,该apk 都会安装到手机上,这样做的好处是避免程序运行错误,因为定义android:installLocation = “internalOnly” 的 apk 一般要安装到手机内存上才能正常运行。

默认输入法勾选多国语言,并默认其中一种语言

1.首先在设备上调整输入法

设置>语言输入法>Android键盘(AOSP),在输入语言里勾选要选择的语言,比如选“英语(美国)”和“西班牙文”两种:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.选择系统输入法的默认语言(默认为两种语言中的“西班牙文”)

打开一个能能调出输入法的应用,下拉通知栏里,“选择输入法”调整为“西班牙文”

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.查看Setting数据库文件

adb pull data/data/com.android.providers.settings/databases/settings.db C:\

打开Secure表,查看default_input_method,enabled_input_methods和selected_input_method_subtype三个字段内容,并记录:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

default_input_method       com.android.inputmethod.latin/.LatinIME

enabled_input_methods    com.android.inputmethod.latin/.LatinIME;816242702;-921088104

selected_input_method_subtype    816242702

4.修改SettingsProvider文件

frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java

将函数private void loadSecureSettings(SQLiteDatabase db) 中的以下两行(注意是loadSecureSettings函数,不是loadSystemSettings):

loadSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS, defaultIme);

loadSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD, defaultIme);

修改为以下三行:

loadSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS,“com.android.inputmethod.latin/.LatinIME;816242702;-921088104”);//选中的输入法

loadSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD, “com.android.inputmethod.latin/.LatinIME”);// 默认输入法为系统输入法

loadSetting(stmt, Settings.Secure.SELECTED_INPUT_METHOD_SUBTYPE, “816242702”); // 默认输入法的默认语言

android.provider.Settings的Secure和System常量

android.provider.Settings.Secure常量

String ACCESSIBILITY_DISPLAY_INVERSION_ENABLEDSetting that specifies whether display color inversion is enabled.

String ACCESSIBILITY_ENABLED If accessibility is enabled.

String ACCESSIBILITY_SPEAK_PASSWORD Whether to speak passwords while in accessibility mode.

String ADB_ENABLED This constant was deprecated in API level 17. Use ADB_ENABLED instead

String ALLOWED_GEOLOCATION_ORIGINS Origins for which browsers should allow geolocation by default.

String ALLOW_MOCK_LOCATION Setting to allow mock locations and location provider status to be injected into the LocationManager service for testing purposes during application development.

String ANDROID_ID A 64-bit number (as a hex string) that is randomly generated when the user first sets up the device and should remain constant for the lifetime of the user’s device.

String BACKGROUND_DATA This constant was deprecated in API level 14. As of ICE_CREAM_SANDWICH, availability of background data depends on several combined factors. When background data is unavailable, getActiveNetworkInfo() will now appear disconnected.

String BLUETOOTH_ON This constant was deprecated in API level 17. Use BLUETOOTH_ON instead

String DATA_ROAMING This constant was deprecated in API level 17. Use DATA_ROAMING instead

String DEFAULT_INPUT_METHOD Setting to record the input method used by default, holding the ID of the desired method.

String DEVELOPMENT_SETTINGS_ENABLED This constant was deprecated in API level 17. Use DEVELOPMENT_SETTINGS_ENABLED instead

String DEVICE_PROVISIONED This constant was deprecated in API level 17. Use DEVICE_PROVISIONED instead

String ENABLED_ACCESSIBILITY_SERVICES List of the enabled accessibility providers.

String ENABLED_INPUT_METHODS List of input methods that are currently enabled.

String HTTP_PROXY This constant was deprecated in API level 17. Use HTTP_PROXY

String INPUT_METHOD_SELECTOR_VISIBILITY Setting to record the visibility of input method selector

String INSTALL_NON_MARKET_APPS Whether applications can be installed for this user via the system’s ACTION_INSTALL_PACKAGE mechanism.

String LOCATION_MODE The degree of location access enabled by the user.

int LOCATION_MODE_BATTERY_SAVING Reduced power usage, such as limiting the number of GPS updates per hour.

int LOCATION_MODE_HIGH_ACCURACY Best-effort location computation allowed.

int LOCATION_MODE_OFF Location access disabled.

int LOCATION_MODE_SENSORS_ONLY Network Location Provider disabled, but GPS and other sensors enabled.

String LOCATION_PROVIDERS_ALLOWED This constant was deprecated in API level 19. use LOCATION_MODE and MODE_CHANGED_ACTION (or PROVIDERS_CHANGED_ACTION)

String LOCK_PATTERN_ENABLED Whether autolock is enabled (0 = false, 1 = true)

String LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED This constant was deprecated in API level 17. Starting in JELLY_BEAN_MR1 the lockscreen uses HAPTIC_FEEDBACK_ENABLED.

String LOCK_PATTERN_VISIBLE Whether lock pattern is visible as user enters (0 = false, 1 = true)

String LOGGING_ID This constant was deprecated in API level 3. This identifier is poorly initialized and has many collisions. It should not be used.

String NETWORK_PREFERENCE This constant was deprecated in API level 17. Use NETWORK_PREFERENCE instead

String PARENTAL_CONTROL_ENABLED No longer supported.

String PARENTAL_CONTROL_LAST_UPDATE No longer supported.

String PARENTAL_CONTROL_REDIRECT_URL No longer supported.

String SELECTED_INPUT_METHOD_SUBTYPE Setting to record the input method subtype used by default, holding the ID of the desired method.

String SETTINGS_CLASSNAME Settings classname to launch when Settings is clicked from All Applications.

String SYS_PROP_SETTING_VERSION

String TOUCH_EXPLORATION_ENABLED If touch exploration is enabled.

String TTS_DEFAULT_COUNTRY This constant was deprecated in API level 14. this setting is no longer in use, as of the Ice Cream Sandwich release. Apps should never need to read this setting directly, instead can query the TextToSpeech framework classes for the default locale. getLanguage().

String TTS_DEFAULT_LANG This constant was deprecated in API level 14. this setting is no longer in use, as of the Ice Cream Sandwich release. Apps should never need to read this setting directly, instead can query the TextToSpeech framework classes for the default locale. getLanguage().

String TTS_DEFAULT_PITCH Default text-to-speech engine pitch.

String TTS_DEFAULT_RATE Default text-to-speech engine speech rate.

String TTS_DEFAULT_SYNTH Default text-to-speech engine.

String TTS_DEFAULT_VARIANT This constant was deprecated in API level 14. this setting is no longer in use, as of the Ice Cream Sandwich release. Apps should never need to read this setting directly, instead can query the TextToSpeech framework classes for the locale that is in use getLanguage().

String TTS_ENABLED_PLUGINS Space delimited list of plugin packages that are enabled.

String TTS_USE_DEFAULTS This constant was deprecated in API level 14. The value of this setting is no longer respected by the framework text to speech APIs as of the Ice Cream Sandwich release.

String USB_MASS_STORAGE_ENABLED This constant was deprecated in API level 17. Use USB_MASS_STORAGE_ENABLED instead

String USE_GOOGLE_MAIL This constant was deprecated in API level 17. Use USE_GOOGLE_MAIL instead

String WIFI_MAX_DHCP_RETRY_COUNT This constant was deprecated in API level 17. Use WIFI_MAX_DHCP_RETRY_COUNT instead

String WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS This constant was deprecated in API level 17. Use WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS instead

String WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON This constant was deprecated in API level 17. Use WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON instead.

String WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY This constant was deprecated in API level 17. Use WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY instead.

String WIFI_NUM_OPEN_NETWORKS_KEPT This constant was deprecated in API level 17. Use WIFI_NUM_OPEN_NETWORKS_KEPT instead.

String WIFI_ON This constant was deprecated in API level 17. Use WIFI_ON instead.

String WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE This constant was deprecated in API level 14. This setting is not used.

String WIFI_WATCHDOG_AP_COUNT This constant was deprecated in API level 14. This setting is not used.

String WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS This constant was deprecated in API level 14. This setting is not used.

String WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED This constant was deprecated in API level 14. This setting is not used.

String WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS This constant was deprecated in API level 14. This setting is not used.

String WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT This constant was deprecated in API level 14. This setting is not used.

String WIFI_WATCHDOG_MAX_AP_CHECKS This constant was deprecated in API level 14. This setting is not used.

String WIFI_WATCHDOG_ON This constant was deprecated in API level 17. Use WIFI_WATCHDOG_ON instead

String WIFI_WATCHDOG_PING_COUNT This constant was deprecated in API level 14. This setting is not used.

String WIFI_WATCHDOG_PING_DELAY_MS This constant was deprecated in API level 14. This setting is not used.

String WIFI_WATCHDOG_PING_TIMEOUT_MS This constant was deprecated in API level 14. This setting is not used.

String WIFI_WATCHDOG_WATCH_LISTThis constant was deprecated in API level 14. This setting is not used.

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

android.provider.Settings.System常量

StringACCELEROMETER_ROTATIONControl whether the accelerometer will be used to change screen orientation.

StringADB_ENABLEDThis constant was deprecated in API level 3. Use ADB_ENABLED instead

StringAIRPLANE_MODE_ONThis constant was deprecated in API level 17. Use AIRPLANE_MODE_ON instead

StringAIRPLANE_MODE_RADIOSThis constant was deprecated in API level 17. Use AIRPLANE_MODE_RADIOS instead

StringALARM_ALERTPersistent store for the system-wide default alarm alert.

StringALWAYS_FINISH_ACTIVITIESThis constant was deprecated in API level 17. Use ALWAYS_FINISH_ACTIVITIES instead

StringANDROID_IDThis constant was deprecated in API level 3. Use ANDROID_ID instead

StringANIMATOR_DURATION_SCALEThis constant was deprecated in API level 17. Use ANIMATOR_DURATION_SCALE instead

StringAPPEND_FOR_LAST_AUDIBLEAppended to various volume related settings to record the previous values before they the settings were affected by a silent/vibrate ringer mode change.

StringAUTO_TIMEThis constant was deprecated in API level 17. Use AUTO_TIME instead

StringAUTO_TIME_ZONEThis constant was deprecated in API level 17. Use AUTO_TIME_ZONE instead

StringBLUETOOTH_DISCOVERABILITYDetermines whether remote devices may discover and/or connect to this device.

StringBLUETOOTH_DISCOVERABILITY_TIMEOUTBluetooth discoverability timeout.

StringBLUETOOTH_ONThis constant was deprecated in API level 3. Use BLUETOOTH_ON instead

StringDATA_ROAMINGThis constant was deprecated in API level 3. Use DATA_ROAMING instead

StringDATE_FORMATDate format string mm/dd/yyyy dd/mm/yyyy yyyy/mm/dd

StringDEBUG_APPThis constant was deprecated in API level 17. Use DEBUG_APP instead

StringDEVICE_PROVISIONEDThis constant was deprecated in API level 3. Use DEVICE_PROVISIONED instead

StringDIM_SCREENThis constant was deprecated in API level 17. This setting is no longer used.

StringDTMF_TONE_WHEN_DIALINGWhether the audible DTMF tones are played by the dialer when dialing.

StringEND_BUTTON_BEHAVIORWhat happens when the user presses the end call button if they’re not on a call.

StringFONT_SCALEScaling factor for fonts, float.

StringHAPTIC_FEEDBACK_ENABLEDWhether the haptic feedback (long presses, …) are enabled.

StringHTTP_PROXYThis constant was deprecated in API level 3. Use HTTP_PROXY instead

StringINSTALL_NON_MARKET_APPSThis constant was deprecated in API level 3. Use INSTALL_NON_MARKET_APPS instead

StringLOCATION_PROVIDERS_ALLOWEDThis constant was deprecated in API level 3. Use LOCATION_PROVIDERS_ALLOWED instead

StringLOCK_PATTERN_ENABLEDThis constant was deprecated in API level 8. Use LOCK_PATTERN_ENABLED instead

StringLOCK_PATTERN_TACTILE_FEEDBACK_ENABLEDThis constant was deprecated in API level 8. Use LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED instead

StringLOCK_PATTERN_VISIBLEThis constant was deprecated in API level 8. Use LOCK_PATTERN_VISIBLE instead

StringLOGGING_IDThis constant was deprecated in API level 3. Use LOGGING_ID instead

StringMODE_RINGERThis constant was deprecated in API level 17. Use MODE_RINGER instead

StringMODE_RINGER_STREAMS_AFFECTEDDetermines which streams are affected by ringer mode changes.

StringMUTE_STREAMS_AFFECTEDDetermines which streams are affected by mute.

StringNETWORK_PREFERENCEThis constant was deprecated in API level 3. Use NETWORK_PREFERENCE instead

StringNEXT_ALARM_FORMATTEDA formatted string of the next alarm that is set, or the empty string if there is no alarm set.

StringNOTIFICATION_SOUNDPersistent store for the system-wide default notification sound.

StringPARENTAL_CONTROL_ENABLEDThis constant was deprecated in API level 3. Use PARENTAL_CONTROL_ENABLED instead

StringPARENTAL_CONTROL_LAST_UPDATEThis constant was deprecated in API level 3. Use PARENTAL_CONTROL_LAST_UPDATE instead

StringPARENTAL_CONTROL_REDIRECT_URLThis constant was deprecated in API level 3. Use PARENTAL_CONTROL_REDIRECT_URL instead

StringRADIO_BLUETOOTHThis constant was deprecated in API level 17. Use RADIO_BLUETOOTH instead

StringRADIO_CELLThis constant was deprecated in API level 17. Use RADIO_CELL instead

StringRADIO_NFCThis constant was deprecated in API level 17. Use RADIO_NFC instead

StringRADIO_WIFIThis constant was deprecated in API level 17. Use RADIO_WIFI instead

StringRINGTONEPersistent store for the system-wide default ringtone URI.

StringSCREEN_BRIGHTNESSThe screen backlight brightness between 0 and 255.

StringSCREEN_BRIGHTNESS_MODEControl whether to enable automatic brightness mode.

intSCREEN_BRIGHTNESS_MODE_AUTOMATICSCREEN_BRIGHTNESS_MODE value for automatic mode.

intSCREEN_BRIGHTNESS_MODE_MANUALSCREEN_BRIGHTNESS_MODE value for manual mode.

StringSCREEN_OFF_TIMEOUTThe timeout before the screen turns off.

StringSETTINGS_CLASSNAMEThis constant was deprecated in API level 3. Use SETTINGS_CLASSNAME instead

StringSETUP_WIZARD_HAS_RUNWhether the setup wizard has been run before (on first boot), or if it still needs to be run.

StringSHOW_GTALK_SERVICE_STATUS

StringSHOW_PROCESSESThis constant was deprecated in API level 17. Use SHOW_PROCESSES instead

StringSHOW_WEB_SUGGESTIONSThis constant was deprecated in API level 11. Each application that shows web suggestions should have its own setting for this.

StringSOUND_EFFECTS_ENABLEDWhether the sounds effects (key clicks, lid open …) are enabled.

StringSTAY_ON_WHILE_PLUGGED_INThis constant was deprecated in API level 17. Use STAY_ON_WHILE_PLUGGED_IN instead

StringSYS_PROP_SETTING_VERSION

StringTEXT_AUTO_CAPSSetting to enable Auto Caps in text editors.

StringTEXT_AUTO_PUNCTUATESetting to enable Auto Punctuate in text editors.

StringTEXT_AUTO_REPLACESetting to enable Auto Replace (AutoText) in text editors.

StringTEXT_SHOW_PASSWORDSetting to showing password characters in text editors.

StringTIME_12_24Display times as 12 or 24 hours 12 24

StringTRANSITION_ANIMATION_SCALEThis constant was deprecated in API level 17. Use TRANSITION_ANIMATION_SCALE instead

StringUSB_MASS_STORAGE_ENABLEDThis constant was deprecated in API level 3. Use USB_MASS_STORAGE_ENABLED instead

StringUSER_ROTATIONDefault screen rotation when no other policy applies.

StringUSE_GOOGLE_MAILThis constant was deprecated in API level 3. Use USE_GOOGLE_MAIL instead

StringVIBRATE_ONWhether vibrate is on for different events.

StringVOLUME_ALARMAlarm volume.

StringVOLUME_BLUETOOTH_SCOBluetooth Headset volume.

StringVOLUME_MUSICMusic/media/gaming volume.

StringVOLUME_NOTIFICATIONNotification volume.

StringVOLUME_RINGRinger volume.

StringVOLUME_SYSTEMSystem/notifications volume.

StringVOLUME_VOICEVoice call volume.

StringWAIT_FOR_DEBUGGERThis constant was deprecated in API level 17. Use WAIT_FOR_DEBUGGER instead

StringWALLPAPER_ACTIVITYThis constant was deprecated in API level 17. Use WallpaperManager instead.

StringWIFI_MAX_DHCP_RETRY_COUNTThis constant was deprecated in API level 3. Use WIFI_MAX_DHCP_RETRY_COUNT instead

StringWIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MSThis constant was deprecated in API level 3. Use WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS instead

StringWIFI_NETWORKS_AVAILABLE_NOTIFICATION_ONThis constant was deprecated in API level 3. Use WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON instead

StringWIFI_NETWORKS_AVAILABLE_REPEAT_DELAYThis constant was deprecated in API level 3. Use WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY instead

StringWIFI_NUM_OPEN_NETWORKS_KEPTThis constant was deprecated in API level 3. Use WIFI_NUM_OPEN_NETWORKS_KEPT instead

StringWIFI_ONThis constant was deprecated in API level 3. Use WIFI_ON instead

StringWIFI_SLEEP_POLICYThis constant was deprecated in API level 17. Use WIFI_SLEEP_POLICY instead

intWIFI_SLEEP_POLICY_DEFAULTThis constant was deprecated in API level 17. Use WIFI_SLEEP_POLICY_DEFAULT instead

intWIFI_SLEEP_POLICY_NEVERThis constant was deprecated in API level 17. Use WIFI_SLEEP_POLICY_NEVER instead

intWIFI_SLEEP_POLICY_NEVER_WHILE_PLUGGEDThis constant was deprecated in API level 17. Use WIFI_SLEEP_POLICY_NEVER_WHILE_PLUGGED instead

StringWIFI_STATIC_DNS1This constant was deprecated in API level 17. Use WifiManager instead

StringWIFI_STATIC_DNS2This constant was deprecated in API level 17. Use WifiManager instead

StringWIFI_STATIC_GATEWAYThis constant was deprecated in API level 17. Use WifiManager instead

StringWIFI_STATIC_IPThis constant was deprecated in API level 17. Use WifiManager instead

StringWIFI_STATIC_NETMASKThis constant was deprecated in API level 17. Use WifiManager instead

StringWIFI_USE_STATIC_IPThis constant was deprecated in API level 17. Use WifiManager instead

StringWIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGEThis constant was deprecated in API level 3. Use WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE instead

写在最后

由于本文罗列的知识点是根据我自身总结出来的,并且由于本人水平有限,无法全部提及,欢迎大神们能补充~

将来我会对上面的知识点一个一个深入学习,也希望有童鞋跟我一起学习,一起进阶。

提升架构认知不是一蹴而就的,它离不开刻意学习和思考。

**这里,笔者分享一份从架构哲学的层面来剖析的视频及资料分享给大家,**梳理了多年的架构经验,筹备近1个月最新录制的,相信这份视频能给你带来不一样的启发、收获。

最近还在整理并复习一些Android基础知识点,有问题希望大家够指出,谢谢。

希望读到这的您能转发分享和关注一下我,以后还会更新技术干货,谢谢您的支持!

转发+点赞+关注,第一时间获取最新知识点

Android架构师之路很漫长,一起共勉吧!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

StringWIFI_STATIC_NETMASKThis constant was deprecated in API level 17. Use WifiManager instead

StringWIFI_USE_STATIC_IPThis constant was deprecated in API level 17. Use WifiManager instead

StringWIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGEThis constant was deprecated in API level 3. Use WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE instead

写在最后

由于本文罗列的知识点是根据我自身总结出来的,并且由于本人水平有限,无法全部提及,欢迎大神们能补充~

将来我会对上面的知识点一个一个深入学习,也希望有童鞋跟我一起学习,一起进阶。

提升架构认知不是一蹴而就的,它离不开刻意学习和思考。

**这里,笔者分享一份从架构哲学的层面来剖析的视频及资料分享给大家,**梳理了多年的架构经验,筹备近1个月最新录制的,相信这份视频能给你带来不一样的启发、收获。

[外链图片转存中…(img-CkOG2Ron-1715841479084)]

[外链图片转存中…(img-7IkGuMbw-1715841479084)]

最近还在整理并复习一些Android基础知识点,有问题希望大家够指出,谢谢。

希望读到这的您能转发分享和关注一下我,以后还会更新技术干货,谢谢您的支持!

转发+点赞+关注,第一时间获取最新知识点

Android架构师之路很漫长,一起共勉吧!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值