2014-11-21 70 views
0

我正在使用TelepphonyManager和Context.TELEPHONY_SERVICE我是否需要數據連接才能獲得TELEPHONY_SERVICE?

設備ID
TelephonyManager tManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); 
    String uid = tManager.getDeviceId(); 

我需要一個可用的3G/4G/LTE數據連接來獲取TELEPHONY_SERVICE?或者如果沒有信號,它會返回null嗎?

編輯:

是否關閉移動數據在設備系統設置的設置,就好像沒有數據連接都完全關閉數據連接?因爲這樣很容易測試。

+1

這是什麼? – 2014-11-21 17:41:43

+0

嘗試在設置中禁用您的數據計劃並進行測試。我不確定,但那是我想要檢查的最簡單的方法。 – zgc7009 2014-11-21 17:46:06

+0

更新了標題,也更新了問題..不確定在設置中禁用數據是否與根本沒有連接相同? – 2014-11-21 18:46:41

回答

0

你可以隨時getSystemService(Context.TELEPHONY_SERVICE)

在沒有無線電硬件的設備上,getDeviceId()將返回NULL。在具有蜂窩無線電的設備上,即使您禁用了IMEI/MEID/ESN(即,飛行模式,無SIM等),您也將獲得IMEI/MEID/ESN。

在Android虛擬設備(AVD,a/k/a仿真器)中,getDeviceId()返回IMEI爲000000000000000

在Genymotion的免費版本中,getDeviceId()返回和IMEI 000000000000000(但我剛剛注意到他們的棒棒糖預覽設備返回NULL)。如果您有付費版本,則可以使用VM外觀上的ID按鈕設置任何IMEI。

相關問題