android Setting中隐藏项

简介:

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


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



当我们快速点击“android版本”这一项时会弹出一张图片(恶搞型,这是2.3操作



系统,但是4.0系统的话会弹出一个android标志图片


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


)。


这里我们就说说2.3系统的:


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


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


[java]  view plain copy
  1.  addPreferencesFromResource(R.xml.device_info_settings);  

所以我们找到device_info_settings.xml文件看看:


[java]  view plain copy
  1. <!-- Device firmware version -->  
  2.         <Preference android:key="firmware_version"   
  3.                 style="?android:preferenceInformationStyle"  
  4.                 android:title="@string/firmware_version"  
  5.                 android:summary="@string/device_info_default"/>  

这个就是代表“android版本”的相关代码,我们可以看到它的Key是
[java]  view plain copy
  1. firmware_version  

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


[java]  view plain copy
  1. @Override  
  2.     public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {  
  3.         if (preference.getKey().equals("firmware_version")) {  
  4.             System.arraycopy(mHits, 1, mHits, 0, mHits.length-1);  
  5.             mHits[mHits.length-1] = SystemClock.uptimeMillis();  
  6.             if (mHits[0] >= (SystemClock.uptimeMillis()-500)) {  
  7.                 Intent intent = new Intent(Intent.ACTION_MAIN);  
  8.                 intent.setClassName("android",  
  9.                         com.android.internal.app.PlatLogoActivity.class.getName());  
  10.                 try {  
  11.                     startActivity(intent);  
  12.                 } catch (Exception e) {  
  13.                 }  
  14.             }  
  15.         }  
  16.         return super.onPreferenceTreeClick(preferenceScreen, preference);  
  17.     }  

在其中就实现了你快速点击“android版本”这一项所实现的功能。
相关文章
|
安全 Java Android开发
PhotoSharing Part I: Setting up the Photo Sharing Android Application
We will build a photo sharing Android app with real-time image uploading and downloading functionality using Alibaba Cloud OSS.
1858 0
|
XML Android开发 数据格式
android Setting PreferenceScreen 修改背景
引用:http://blog.sina.com.cn/s/blog_7eeffcc701010f68.html example:                  如果是个PreferenceGroup 可以通过Intent 链接到新建activity extends Pre...
1895 0
|
15天前
|
开发工具 Android开发
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
194 11
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
|
25天前
|
Java 开发工具 Maven
【01】完整的安卓二次商业实战-详细的初级步骤同步项目和gradle配置以及开发思路-优雅草伊凡
【01】完整的安卓二次商业实战-详细的初级步骤同步项目和gradle配置以及开发思路-优雅草伊凡
96 6
|
3月前
|
安全 数据库 Android开发
在Android开发中实现两个Intent跳转及数据交换的方法
总结上述内容,在Android开发中,Intent不仅是活动跳转的桥梁,也是两个活动之间进行数据交换的媒介。运用Intent传递数据时需注意数据类型、传输大小限制以及安全性问题的处理,以确保应用的健壯性和安全性。
179 11
|
3月前
|
移动开发 Java 编译器
Kotlin与Jetpack Compose:Android开发生态的演进与架构思考
本文从资深Android工程师视角深入分析Kotlin与Jetpack Compose在Android系统中的技术定位。Kotlin通过空安全、协程等特性解决了Java在移动开发中的痛点,成为Android官方首选语言。Jetpack Compose则引入声明式UI范式,通过重组机制实现高效UI更新。两者结合不仅提升开发效率,更为跨平台战略和现代架构模式提供技术基础,代表了Android开发生态的根本性演进。
114 0
|
7月前
|
JavaScript Linux 网络安全
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
1400 77
|
4月前
|
安全 Java Android开发
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
189 0
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡

热门文章

最新文章

  • 1
    Android实战经验之Kotlin中快速实现MVI架构
    344
  • 2
    即时通讯安全篇(一):正确地理解和使用Android端加密算法
    210
  • 3
    escrcpy:【技术党必看】Android开发,Escrcpy 让你无线投屏新体验!图形界面掌控 Android,30-120fps 超流畅!🔥
    553
  • 4
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
    854
  • 5
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
    313
  • 6
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    230
  • 7
    Android历史版本与APK文件结构
    739
  • 8
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    245
  • 9
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
    259
  • 10
    APP-国内主流安卓商店-应用市场-鸿蒙商店上架之必备前提·全国公安安全信息评估报告如何申请-需要安全评估报告的资料是哪些-优雅草卓伊凡全程操作
    491