Delphi XE6でAndroidスマートフォンの電話番号などの端末情報を取得するサンプルアプリケーションです。
FireMonkeyモバイルアプリケーションを作成します。
フォームにボタンコンポーネント(TButton)とメモコンポーネント(TMemo)を配置します。
ボタンコンポーネントのクリックイベントを記述します。
uses
Androidapi.Helpers,
Androidapi.JNI.JavaTypes,
Androidapi.JNI.GraphicsContentViewText,
Androidapi.JNIBridge,
Androidapi.JNI.Telephony,
FMX.Helpers.Android;
procedure TForm1.Button1Click(Sender: TObject);
var
TelephonyServiceNative: JObject;
TelephonyManager: JTelephonyManager;
SimState: Integer;
begin
TelephonyServiceNative := SharedActivityContext.getSystemService
(TJContext.JavaClass.TELEPHONY_SERVICE);
TelephonyManager := TJTelephonyManager.Wrap
((TelephonyServiceNative as ILocalObject).GetObjectID);
Memo1.Lines.BeginUpdate;
try
Memo1.Lines.Add('電話番号');
Memo1.Lines.Add(JStringToString(TelephonyManager.getLine1Number));
Memo1.Lines.Add('デバイスID');
Memo1.Lines.Add(JStringToString(TelephonyManager.getDeviceId));
Memo1.Lines.Add('SIMの国コード');
Memo1.Lines.Add(JStringToString(TelephonyManager.getSimCountryIso));
Memo1.Lines.Add('MCC+MNC (mobile country code + mobile network code)');
Memo1.Lines.Add(JStringToString(TelephonyManager.getSimOperator));
Memo1.Lines.Add('サービスプロバイダの名前');
Memo1.Lines.Add(JStringToString(TelephonyManager.getSimOperatorName));
Memo1.Lines.Add('SIMのシリアル番号');
Memo1.Lines.Add(JStringToString(TelephonyManager.getSimSerialNumber));
Memo1.Lines.Add('ボイスメールナンバー');
Memo1.Lines.Add(JStringToString(TelephonyManager.getVoiceMailNumber));
Memo1.Lines.Add('SIMの状態');
SimState := TelephonyManager.getSimState;
if SimState = TJTelephonyManager.JavaClass.SIM_STATE_UNKNOWN then
Memo1.Lines.Add('SIM_STATE_UNKNOWN');
if SimState = TJTelephonyManager.JavaClass.SIM_STATE_ABSENT then
Memo1.Lines.Add('SIM_STATE_ABSENT');
if SimState = TJTelephonyManager.JavaClass.SIM_STATE_PIN_REQUIRED then
Memo1.Lines.Add('SIM_STATE_PIN_REQUIRED');
if SimState = TJTelephonyManager.JavaClass.SIM_STATE_NETWORK_LOCKED then
Memo1.Lines.Add('SIM_STATE_NETWORK_LOCKED');
if SimState = TJTelephonyManager.JavaClass.SIM_STATE_READY then
Memo1.Lines.Add('SIM_STATE_READY');
finally
Memo1.Lines.EndUpdate;
end;
end;
アプリケーションを実行し、ボタンをクリックします。
メモコンポーネントに端末情報が表示されます。