2011-09-16 4 views
1

ウィンドウのモバイル6の電話機で、デバイスのSIMカードの電話番号を取得する必要があります。 *#100#を手動でダイヤルすると、画面に電話番号が表示されます。プログラムで#100#をダイヤルして自分の電話番号を取得するにはどうすればよいですか?

誰でもこのプログラムを実行する方法を知っていますか?

C#ではC#で行いますが、私は翻訳することができます。

SystemState.OwnerNumberは空の文字列を返します(おそらくSIMに正しく格納されている数に依存しています)が、#100#は機能します。

+0

'SystemState.OwnerNumber'は、Windows Mobileの所有者の詳細セクションでユーザが設定した情報から情報を取得します。 ちょうどRIL、私は頭を叩いて一日を過ごした。 'RIL_GetSubscriberNumbers()'は何もしません。理由は分かりませんが、エラーがなくても0データが返されました。 次に、 '*#100#'をRIL_Di​​alに渡す際にランダムな刺し込みがありました。 接続、切断、エラーではなく有用なデータがありません。 – RoboJ1M

答えて

2

電話番号は実際にはSIMカードに格納されず、HLRというモバイルネットワークデータベースに格納されています。ユーザーフレンドリーな電話番号はSIMカードに物理的に格納されているIMSIと呼ばれるサブスクリプションIDと一致します。
したがって、電話番号を取得するには、デバイスがネットワーク上で通信するアプリケーションを許可する必要があります。

+0

だから、どのようにHLRデータベースを照会するのですか? – RoboJ1M

+0

*#100#以外のあなたが私には分かりません。私はSIMカードとモバイルネットワークのアプリケーション/サービスを開発している会社に勤務していますが、私たちの製品のGUI開発に明記します。あなたは何を求めているのか私は答えがあまりにもバックエンド指向です...私は恐れています... = P – AndroidHustle

+0

いくつかの神話的なAPIの使い方を知っている誰かが、プログラマチックにダイヤルする方法を知っていることを願っています* 100#then。そして、私も*#100#を検索させてくれていないためにGoogleを駄目にする! ありがとう、J. – RoboJ1M

0

電話機のSIMカードの番号を取得する方法は、一部のサーバーがリッスンしているいくつかの番号にSMSを送信することです。 SMSは送信者の電話番号に沿って運ばれます。サーバがSMSを受信すると、サーバはクライアントが必要とする電話番号でクライアントアプリケーションにプッシュメッセージを送信できます。お役に立てれば。

関連する問題