山本隆氏のblogよりコピペ
http://www.gesource.jp/weblog/?p=6744
Delphi
c++Builder http://www.gesource.jp/weblog/?p=6746
Android Stdio http://www.adakoda.com/android/000324.html
http://www.gesource.jp/weblog/?p=6744
Delphi
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;
c++Builder http://www.gesource.jp/weblog/?p=6746
#include <Androidapi.Helpers.hpp> #include <Androidapi.JNI.JavaTypes.hpp> #include <Androidapi.JNI.GraphicsContentViewText.hpp> #include <Androidapi.JNIBridge.hpp> #include <Androidapi.JNI.Telephony.hpp> #include <FMX.Helpers.Android.hpp> void __fastcall TForm1::Button1Click(TObject *Sender) { _di_JObject TelephonyServiceNative = SharedActivityContext()->getSystemService(TJContext::JavaClass->TELEPHONY_SERVICE); _di_JTelephonyManager TelephonyManager = TJTelephonyManager::Wrap(((_di_ILocalObject)TelephonyServiceNative)->GetObjectID()); Memo1->Lines->BeginUpdate(); try { Memo1->Lines->Add(L"電話番号"); Memo1->Lines->Add(JStringToString(TelephonyManager->getLine1Number())); Memo1->Lines->Add(L"デバイスID"); Memo1->Lines->Add(JStringToString(TelephonyManager->getDeviceId())); Memo1->Lines->Add(L"SIMの国コード"); Memo1->Lines->Add(JStringToString(TelephonyManager->getSimCountryIso())); Memo1->Lines->Add(L"MCC+MNC (mobile country code + mobile network code)"); Memo1->Lines->Add(JStringToString(TelephonyManager->getSimOperator())); Memo1->Lines->Add(L"サービスプロバイダの名前"); Memo1->Lines->Add(JStringToString(TelephonyManager->getSimOperatorName())); Memo1->Lines->Add(L"SIMのシリアル番号"); Memo1->Lines->Add(JStringToString(TelephonyManager->getSimSerialNumber())); Memo1->Lines->Add(L"ボイスメールナンバー"); Memo1->Lines->Add(JStringToString(TelephonyManager->getVoiceMailNumber())); Memo1->Lines->Add(L"SIMの状態"); const int SimState = TelephonyManager->getSimState(); if (SimState == TJTelephonyManager::JavaClass->SIM_STATE_UNKNOWN) Memo1->Lines->Add(L"SIM_STATE_UNKNOWN"); if (SimState == TJTelephonyManager::JavaClass->SIM_STATE_ABSENT) Memo1->Lines->Add(L"SIM_STATE_ABSENT"); if (SimState == TJTelephonyManager::JavaClass->SIM_STATE_PIN_REQUIRED) Memo1->Lines->Add(L"SIM_STATE_PIN_REQUIRED"); if (SimState == TJTelephonyManager::JavaClass->SIM_STATE_NETWORK_LOCKED) Memo1->Lines->Add(L"SIM_STATE_NETWORK_LOCKED"); if (SimState == TJTelephonyManager::JavaClass->SIM_STATE_READY) Memo1->Lines->Add(L"SIM_STATE_READY"); } __finally { Memo1->Lines->EndUpdate(); } }
Android Stdio http://www.adakoda.com/android/000324.html
TelephonyManager telephonyManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); // 電話番号を取得します // android.permission.READ_PHONE_STATE パーミッションが必要です String line1Number = telephonyManager.getLine1Number();
コメントをかく