ubuntu 在 R40e 上 還有 Debian 在 Sempron 2600 上

2011年5月20日 星期五

worklog - Android : add entry into 'About phones'

想要在 About phones 增加一個 entry..

找到好像是在 apps/Settings/src/com/android/settings/DeviceInfoSettings.java


整個 Sett
ing 有關的 Makefile 是在 settings/AndroidManifest.xml,其中和 'About phones' 頁面相關的好像是: <activity android:name="DeviceInfoSettings" androi
d:label="@string/device_info_settings"
>

<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.DEVICE_INFO_SETTINGS"
; /> <category android:name="android.intent.category.DEFAULT" />
<category
android:name="android.intent.category.VOICE_LAUNCH" />
; </intent-filter> </activity>
所以 activity 是 DeviceInfoSettings


source 在 DeviceInfoSettings.java,onCreate 一開始: protected void onCreate(Bundle icicle) { super.onCreate(icicle); addPreferencesFromResource(R.xml.device_info_settings); 所以內容是xml 決定 (device_info_settings.xml)。
找到:res/xml/device_info_settings.xml <!-- Device Kernel version --> <Preference android:key="kernel_version" style="?android:preferenceInformationStyle" android:title="@string/kernel_version" android:summary="@string/device_info_default"/> <!-- Detailed build version --> <Preference android:key="build_number" style="?android:preferenceInformationStyle" android:title="@string/build_number" android:summary="@string/device_info_default"/>
所以在後面copy 一份 把所有 build_number 都改 mcu_version。
在 code 的部份加上 setStringSummary("mcu_version","1.2.3"); build 的結果說 string resource 沒有 mcu_version。

結果 res/***/string.xml 一堆語系都要加上 mcu_version 這個 entry。
另外這些 string.xml的每一個 entry 都有 msgid 屬性,看起來是 unique,但是不知道要怎麼產生新的,所以就不寫了。

都加上後 build 就 OK 了。

測試結果的確在 'About phones' 的最後增加了一個 item : mcu versionm 內容是 1.2.3

沒有留言:

標籤

網誌存檔