C++Builder のメモ書き

山本隆氏の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();

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

フリーエリア

アクセスカウンター

メンバーのみ編集できます