山本隆氏のblogよりコピペ
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();