android Setting中隱藏項實現(xiàn)原理與代碼
我們都知道做程序員有時就像android中,程序員在setting中就隱藏這樣一項:
我們可以找到“關(guān)于手機"這一項在里面有“android版本”這一項,如圖:
當(dāng)我們快速點擊“android版本”這一項時會彈出一張圖
,這是2.3操作系統(tǒng),但是4.0系統(tǒng)的話會彈出一個android標(biāo)志圖片
,你按住android標(biāo)志不放的話會出現(xiàn)很多android標(biāo)志在移動的動畫:
)。
這里我們就說說2.3系統(tǒng)的:
首先我們找到Settings的源碼,在package/app/Settings/src/com/android/settings下,我們要找到
DeviceInfoSettings.java這個文件,就是“關(guān)于手機”這一項的相關(guān)代碼,在其的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版本”的相關(guān)代碼,我們可以看到它的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);
}
在其中就實現(xiàn)了你快速點擊“android版本”這一項所實現(xiàn)的功能。
相關(guān)文章
Android應(yīng)用開發(fā)中Fragment與Activity間通信示例講解
這篇文章主要介紹了Android應(yīng)用開發(fā)中Fragment與Activity間通信實例講解,需要的朋友可以參考下2016-02-02Android小程序?qū)崿F(xiàn)訪問聯(lián)系人
這篇文章主要為大家詳細介紹了Android小程序?qū)崿F(xiàn)訪問聯(lián)系人,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一2020-05-05Android自定義ViewGroup實現(xiàn)豎向引導(dǎo)界面
這篇文章主要為大家詳細介紹了Andoird自定義ViewGroup實現(xiàn)豎向引導(dǎo)界面,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-03-03在ubuntu下編譯ijkplayer-android的方法
下面小編就為大家分享一篇在ubuntu下編譯ijkplayer-android的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01Android中判斷手機是否聯(lián)網(wǎng)實例
這篇文章主要介紹了Android中判斷手機是否聯(lián)網(wǎng)實例,包括xml配置文件及功能代碼的實現(xiàn),需要的朋友可以參考下2014-10-10Ubutu1604安裝colmap實現(xiàn)方法詳細教程
這篇文章主要介紹了Ubutu1604安裝colmap實現(xiàn)方法詳細教程,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11