顯示具有 TelephonyManager 標籤的文章。 顯示所有文章
顯示具有 TelephonyManager 標籤的文章。 顯示所有文章

2008年9月8日 星期一

取得手機的相關資訊

How to get the telephony information?

在手機平台上,為了產生註冊碼,應用程式通常會要求使用者提供手機的 IMEI 碼。每個手機,都有個長 15 位數字的唯一 IMEI 碼,這可以說是手機的身分證號碼。通常在手機的背面或手機的包裝盒上,都會印有這個 IMEI 碼。你可以在手機上按下 *#06#,IMEI 碼就會顯示在你的手機螢幕上。

在 Android 的程式中,要如何取得這 IMEI 碼?

在 0.9 beta 之前的版本 (m3 or m5),你可以簡單地用 android.os.SystemProperties.get(TelephonyProperties.PROPERTY_IMEI) 取得這 IMEI 碼。

不過,在 0.9 beta 之後,這部份做了不小的更動。在 v0.9-r1 的 "API changes overview" 文件上,他提到:

You can now access these phone/subscriber properties through the new PhoneSubInfoManager, using the IPhoneSubInfo interface. Note that, to get access phone/subscriber information through the IPhoneSubInfo interface, you must add the permission ACCESS_PHONE_SUB_INFO to your application's manifest file.

吼,這段話真是錯得一塌糊塗,沒有一個是對的。在上面,我標示粗體的部份,都是不對的。

正確的方法在這啦。首先,你是要透過 TelephonyManager 這個類別,來取得資訊才對。 底下是一個簡單的範例,用來取得所有手機相關的資訊。

在模擬器上執行的結果如下:

要讓這個程式能正確執行,千萬要記住,還要在 AndroidManifest.xml 上, 加上下面這段才行。


繼續閱讀全文...