2

TelephonyManager.getLine1Number() は GSM 電話では機能しますが、CDMA 電話では機能しません。Android API呼び出しを介してCDMA電話の電話番号を取得することは可能ですか? ありがとう

4

2 に答える 2

2

提案された方法はうまくいくかもしれませんが、一部の通信事業者 (私はそれが彼らの選択だと思います) はこの番号を提供せず、代わりに null を返します。

null を返すことは、次のドキュメントに記載されています: http://developer.android.com/reference/android/telephony/TelephonyManager.html (メソッドのドキュメントまで下にスクロールします)。

考えられる回避策のリンクは次のとおりです: http://code.google.com/p/android/issues/detail?id=1110#c5

于 2010-10-21T14:03:18.927 に答える
0

どちらも CDMA である Motorola Droid と HTC EVO 4G で以下を正常に使用しました。

TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
String phoneNumber = telephonyManager.getLine1Number();

マニフェストで正しいアクセス許可を要求していることを確認してください。

<uses-permission android:name="android.permission.READ_PHONE_STATE" />
于 2010-09-12T21:52:16.060 に答える