如果聯繫人沒有區號,那麼您認爲區號是本地區號。如果它的本地區號,那麼用戶的電話號碼必須有這個區號。因此,您可以獲取用戶的電話號碼以確定本地區號,並將該區號應用於任何沒有區號的號碼。
要獲得用戶的電話號碼,你可以使用此代碼 -
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String mPhoneNumber = tm.getLine1Number();
從this問題複製。
然後,您可以通過查看前3位(或可能4位,如果String
的長度爲11 char
s)數字來提取區號。
String areaCode = mPhoneNumer.substring(0, mPhoneNumber.length()==10 ? 3 : 4);
注意:確保你加入這行READ_PHONE_STATE權限添加到AndroidManifest.xml文件 -
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
這是偉大的,偉大的工程,無論其怎麼樣有一個電話簿平板設備。 .. theres沒有電話號碼存儲的平板電腦。因爲我在我的平板電腦上測試時遇到NULL值,並且崩潰。授予即時試圖趕上解決崩潰和if語句如果值爲null提醒他們沒有電話號碼,並要求那裏的聯繫人的地方代碼。但你相信這是另一種方式嗎? –
@AaronRussell啊......讓事情變得更復雜一點。我現在沒有任何東西,但是我試着去想一些東西。我最初的預感是,這是不可能的,因爲(1)平板電腦沒有電話功能,並且(2)沒有區號可以使電話號碼模糊不清。底線 - 我不認爲除了你說的話之外還有別的方法,如果沒有電話號碼的話。 –
現在我知道我的問題是如何得到它,而不使用位置服務,也許我可以包裝if語句,如果它的null嘗試並獲得位置服務?你知道我怎麼能這樣嗎?我們可以把這個方法放在一個完整的證明方式中,併發布給所有人。 –