android Setting中隐藏项实现原理与代码

229058165

229058165

2016-02-19 10:58

今天图老师小编给大家介绍下android Setting中隐藏项实现原理与代码,平时喜欢android Setting中隐藏项实现原理与代码的朋友赶紧收藏起来吧!记得点赞哦~

我们都知道做程序员有时会恶搞,就像android中,程序员在setting中就隐藏这样一项:

我们可以找到“关于手机"这一项在里面有“android版本”这一项,如图:

当我们快速点击“android版本”这一项时会弹出一张图片(恶搞型
,这是2.3操作系统,但是4.0系统的话会弹出一个android标志图片

,你按住android标志不放的话会出现很多android标志在移动的动画:

)。

这里我们就说说2.3系统的

首先我们找到Settings的源码,在package/app/Settings/src/com/android/settings下,我们要找到

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

DeviceInfoSettings.java这个文件,就是“关于手机”这一项的相关代码,在其的OnCreate方法中引用了一个xml文件:
代码如下:

 addPreferencesFromResource(R.xml.device_info_settings);

所以我们找到device_info_settings.xml文件看看:
代码如下:

!-- Device firmware version --
Preference android:key="firmware_version"
style="?android:preferenceInformationStyle"
android:title="@string/firmware_version"
android:summary="@string/device_info_default"/

这个就是代表“android版本”的相关代码,我们可以看到它的Key是
代码如下:

firmware_version

所以我们在java文件中就去找到它所被引用的代码,在DeviceInfoSettings.java中有一个 public boolean onPreferenceTreeClick方法:
代码如下:

@Override
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
if (preference.getKey().equals("firmware_version")) {
System.arraycopy(mHits, 1, mHits, 0, mHits.length-1);
mHits[mHits.length-1] = SystemClock.uptimeMillis();
if (mHits[0] = (SystemClock.uptimeMillis()-500)) {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setClassName("android",
com.android.internal.app.PlatLogoActivity.class.getName());
try {
startActivity(intent);
} catch (Exception e) {
}
}
}
return super.onPreferenceTreeClick(preferenceScreen, preference);
}

在其中就实现了你快速点击“android版本”这一项所实现的功能。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

android Setting中隐藏项实现原理与代码

编程语言 网络编程
android Setting中隐藏项实现原理与代码

android书架效果实现原理与代码

编程语言 网络编程
android书架效果实现原理与代码

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Android在listview添加checkbox实现原理与代码

编程语言 网络编程
Android在listview添加checkbox实现原理与代码

Android键盘显示与隐藏代码

编程语言 网络编程
Android键盘显示与隐藏代码

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Android裁剪图片为圆形图片的实现原理与代码

编程语言 网络编程
Android裁剪图片为圆形图片的实现原理与代码

android IntentService实现原理及内部代码分享

编程语言 网络编程
android IntentService实现原理及内部代码分享

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

新手入门常用代码集锦

新手入门常用代码集锦

jquery简单体验

jquery简单体验
下拉加载更多内容 ↓