AndroidFacadeAPI

電話

このエントリーをはてなブックマークに追加
最終更新日 2012-12-02

発信

phoneCallNumber() を呼び出すと、指定した電話番号に電話をかけることができます。

import android
droid = android.Android()
droid.phoneCallNumber("123456789")

phoneCallNumber() は内部で phoneCall() を呼び出します。phoneCall() では電話番号を URI 形式で指定します。

import android
droid = android.Android()
droid.phoneCall("tel:123456789")

phoneDialNumber() を呼び出すと、指定した電話番号のダイヤル画面を表示することができます。

import android
droid = android.Android()
droid.phoneDialNumber("123456789")

phoneDialNumber() は内部で phoneDial() を呼び出します。phoneDial() では電話番号を URI 形式で指定します。

import android
droid = android.Android()
droid.phoneDial("tel:123456789")

着信

次に示すのは、電話状態を取得する例です。

import android
import time
droid = android.Android()
droid.startTrackingPhoneState()
time.sleep(10)
print droid.readPhoneState().result
droid.stopTrackingPhoneState()

startTrackingPhoneState() を呼び出すと電話状態の取得を開始します。 次に、sleep() を呼び出して適当な時間待機し、readPhoneState() を呼び出して電話状態を読み込みます。 readPhoneState() は以下の値を返します。

説明
state idle 待機中
ringing 着信中
offhook 通話中
incomingNumber 相手の電話番号

最後に stopTrackingPhoneState() を呼び出して電話状態の取得を停止します。

getRingerVolume() や getMaxRingerVolume() を呼び出すと、着信音の現在の音量や最大音量を取得でき、 setRingerVolume() を呼び出すと、着信音の音量を設定することができます。次に示すのは、最大音量を設定する例です。

import android
droid = android.Android()
volume = droid.getMaxRingerVolume()
droid.setRingerVolume(volume.result)

次に示すのは、マナーモードの設定をトーストで表示し、最後にマナーモードの ON と OFF を切り替える例です。

import android
droid = android.Android()
if droid.checkRingerSilentMode().result:
    droid.makeToast("ON")
else:
    droid.makeToast("OFF")
droid.toggleRingerSilentMode()

checkRingerSilentMode() はマナーモードが ON の場合は True を返し、OFF の場合は False を返します。 toggleRingerSilentMode() を呼び出すと現在の設定を切り替えることができ、第1引数に True を指定することで常に ON に設定することができます。

次に示すのは、着信バイブレーションの設定をトーストで表示し、最後に着信バイブレーションを ON に設定する例です。

import android
droid = android.Android()
if droid.getVibrateMode(True).result:
    droid.makeToast("ON")
else:
    droid.makeToast("OFF")
droid.toggleVibrateMode(True, True)

getVibrateMode() はバイブレーションが ON の場合は True を返し、OFF の場合は False を返します。 getVibrateMode() の引数に True を指定すると着信バイブレーションの設定を取得し、False の場合は通知バイブレーションの設定を取得します。 toggleVibrateMode() を呼び出すと現在の設定を切り替えることができ、第1引数に True を指定することで常に ON に設定することができます。 第2引数に True を指定すると着信バイブレーションの設定を変更し、False の場合は通知バイブレーションの設定を変更します。

phone イベント

startTrackingPhoneState() を呼び出すと、電話状態を取得した際に "phone" イベントが発生します。 次に示すのは、"phone" イベントを利用して電話状態を表示する例です。

import android
droid = android.Android()
droid.startTrackingPhoneState()
event = droid.eventWaitFor("phone")
print event.result["data"]
droid.stopTrackingPhoneState()

電話番号

getLine1Number() を呼び出すと、電話番号を取得することができます。 次に示すのは、電話番号を表示する例です。

import android
droid = android.Android()
print droid.getLine1Number().result

通信方式

次に示すのは、通信方式に関する情報を表示する例です。

import android
droid = android.Android()
print droid.getPhoneType().result
print droid.getSubscriberId().result
print droid.getDeviceId().result
print droid.getDeviceSoftwareVersion().result
print droid.checkNetworkRoaming().result

各 API は以下の値を返します。

API 説明
getPhoneType() 通信方式
getSubscriberId() サブスクライバ ID (GSM 方式の IMSI)
getDeviceId() デバイス ID (GSM 方式の IMEI)
getDeviceSoftwareVersion() デバイスソフトウェアバージョン番号(GSM 方式の IMEI/SV)
checkNetworkRoaming() デバイスが現在のネットワークでローミング中かどうかのフラグ

SIM

次に示すのは、SIM に関する情報を表示する例です。

import android
droid = android.Android()
print droid.getSimCountryIso().result
print droid.getSimOperator().result
print droid.getSimOperatorName().result
print droid.getSimSerialNumber().result
print droid.getSimState().result

各 API は以下の値を返します。

API 説明
getSimCountryIso() SIM 提供者の ISO 国コード
getSimOperator() SIM 提供者番号(MCC + MNC)
getSimOperatorName() SIM 提供者名
getSimSerialNumber() SIM シリアル番号
getSimState() uknown 不明
absent SIM カードが無い
pin_required ロック済み(解除にはユーザの PIN が必要)
puk_required ロック済み(解除にはユーザの PUK が必要)
network_locked ロック済み(解除にはネットワーク PIN が必要)
ready 利用可能

ネットワーク

次に示すのは、ネットワークに関する情報を表示する例です。

import android
droid = android.Android()
print droid.getNetworkOperator().result
print droid.getNetworkOperatorName().result
print droid.getNetworkType().result

各 API は以下の値を返します。

API 説明
getNetworkOperator() ネットワークオペレータ番号(MCC + MNC)
getNetworkOperatorName() ネットワークオペレータ名
getNetworkType() ネットワークタイプ

セル

次に示すのは、セルの位置情報を表示する例です。

import android
droid = android.Android()
cell = droid.getCellLocation()
print cell.result["cid"]
print cell.result["lac"]

GSM 方式の場合、getCellLocation() は以下の値を返します。

説明
cid セルID
lac ロケーションエリアコード

次に示すのは、近隣のセル情報を表示する例です。

import android
droid = android.Android()
cell = droid.getNeighboringCellInfo()
for i in cell.result:
    print i[u"cid"], i[u"rssi"]

getNeighboringCellInfo() は以下の値のリストを返します。

説明
cid セルID
rssi 受信シグナル強度

ボイスメール

次に示すのは、ボイスメールに関する情報を表示する例です。

import android
droid = android.Android()
print droid.getVoiceMailNumber().result
print droid.getVoiceMailAlphaTag().result.encode("utf-8")

各 API は以下の値を返します。

API 説明
getVoiceMailNumber() ボイスメール番号
getVoiceMailAlphaTag() ボイスメール名