C/C++プログラマの管理者が, Androidプログラムにチャレンジ. AndroidプログラミングのTipsをメモっていく予定です.

端末の国際移動体装置識別番号(IMEI;International Mobile Equipment Identifier)を取得するには, TelephonyManagerクラスを利用する.

IMEIの取得

  • Telephony01.java
    • getSystemServiceメソッドで, TELEPHONY_SERVICEを指定してTelephonyManagerのインスタンスを取得する.
    • TelephonyManager#getDeviceIdメソッドで, IMEIを取得する.
package com.moonlight_aska.android.telephony01;

import android.app.Activity;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.widget.TextView;

public class Telephony01 extends Activity {
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    TextView text = (TextView)findViewById(R.id.text_id);
    TelephonyManager manager = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
    text.setText("識別番号:" + manager.getDeviceId());
  }
}
  • AndroidManifest.xml
    • Phoneの状態を参照するには, "android.permission.READ_PHONE_STATE"パーミションを設定する.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.moonlight_aska.android.telephony01"
  android:versionCode="1"
  android:versionName="1.0" >
  <uses-sdk android:minSdkVersion="8" />
  <uses-permission android:name="android.permission.READ_PHONE_STATE"/>

  <application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
      android:label="@string/app_name"
      android:name=".Telephony01" >
      <intent-filter >
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>
  </application>
</manifest>
  • 動作例
端末:SH-03C(SHARP)/Android2.2




このページへのコメント

andoroid 10 以降は特権がないと固有情報へアクセスできなくなったようです

0
Posted by 名無し(ID:n5Q8mOQyGQ) 2023年06月16日(金) 14:55:53 返信

コメントをかく


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

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

Menu


逆引き(基礎編)

画面表示/操作(49)

フラグメント(1)

逆引き(応用編)

Firebase(2)

AD



管理人/副管理人のみ編集できます