2011-08-17 5 views
0

私のアプリケーションでは、私は読む電話番号:これはデバイス持っ電話アプリケーションまで動作する場合は、Androidの

TelephonyManager telephonyManager = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE); 
// Read phone number of device owner. 
String phoneNumber = telephonyManager.getLine1Number(); 

などのデバイスの電話番号をお読みください。

ただし、デバイスをタブレット(一部のタブレットには電話アプリケーションがありません)を使用している場合、phoneNumberの値はどのようになりますか?それはヌルか空文字列ですか?それとも、エラーになりますか?

サムスンギャラクシータブを持つSDKと電話アプリを持っているので、エミュレータで確認できませんでした。

答えて

1

これは、電話アプリケーションを持つデバイスまで動作します。

いいえ、そうではありません。 SIMカードにどの電話番号がプログラムされているかによって異なります。一部の電話機では、nullが返されます。私の個人的な電話で、それは間違った電話番号を返します。多くの場合、getLine1Number()に頼らないでください。

nullまたは空白文字列ですか?

私はそれがnullを返すことを合理的に確信しています。 Exceptionを発行してはいけません。

+0

他の方法で電話番号を読むことはできますか? –

+0

@ user594955:私が認識しているわけではありません。少なくともGSMネットワークでは電話機が電話番号を知っている必要はありません。 – CommonsWare