电话 API¶
控制电话通话和获取电话信息。
电话状态跟踪¶
startTrackingPhoneState()¶
开始跟踪电话状态变化。生成 'phone' 事件。
readPhoneState()¶
读取当前电话状态。
返回: 包含电话状态和来电号码的 Bundle
stopTrackingPhoneState()¶
停止跟踪电话状态。
拨打电话¶
phoneCall()¶
通过 URI 呼叫联系人/电话号码。
参数:
- uri (str): 联系人 URI 或电话号码 URI
phoneCallNumber()¶
直接拨打电话号码。
参数:
- phone_number (str): 要拨打的电话号码
phoneDial()¶
拨打号码(打开拨号器但不呼叫)。
参数:
- uri (str): 联系人 URI 或电话号码 URI
phoneDialNumber()¶
拨打电话号码(打开拨号器但不呼叫)。
参数:
- phone_number (str): 电话号码
基站位置¶
getCellLocation()¶
获取当前基站位置。
返回: 包含基站位置数据的 JSONObject
getAllCellsLocation()¶
获取所有基站位置(适用于双卡设备)。
返回: 基站位置的 JSONArray
网络信息¶
getNetworkOperator()¶
获取当前运营商的 MCC+MNC。
返回: 字符串(例如 '310260')
getNetworkOperatorName()¶
获取当前运营商的名称。
返回: 字符串(例如 'T-Mobile')
getNetworkType()¶
获取当前网络类型。
返回: 描述无线电技术的字符串(例如 'LTE', 'UMTS', 'GSM')
getPhoneType()¶
获取电话类型。
返回: 字符串(例如 'GSM', 'CDMA', 'SIP')
SIM 卡信息¶
getSimCountryIso()¶
获取 SIM 卡的 ISO 国家代码。
返回: 字符串(例如 'us')
getSimOperator()¶
获取 SIM 运营商的 MCC+MNC。
返回: 字符串(例如 '310260')
getSimOperatorName()¶
获取 SIM 运营商名称。
返回: 字符串(例如 'T-Mobile')
getSimSerialNumber()¶
获取 SIM 序列号。
返回: 字符串 SIM 序列号
getSimState()¶
获取 SIM 卡状态。
返回: 描述 SIM 状态的字符串
getSubscriberId()¶
获取订阅者 ID。
返回: 字符串订阅者 ID
语音邮件¶
getVoiceMailAlphaTag()¶
获取语音邮件字母标签。
返回: 字符串语音邮件标签
getVoiceMailNumber()¶
获取语音邮件号码。
返回: 字符串语音邮件号码
设备信息¶
getDeviceId()¶
获取设备 ID(GSM 的 IMEI)。已废弃。
返回: 字符串设备 ID
getDeviceSoftwareVersion()¶
获取设备软件版本。
返回: 字符串软件版本
getLine1Number()¶
获取线路 1 电话号码。
返回: 字符串电话号码
checkNetworkRoaming()¶
检查是否连接到漫游网络。
返回: 如果正在漫游则为 True
基站信息¶
getAllCellInfo()¶
获取所有基站的信息。
返回: 基站信息列表
setDataEnabled()¶
启用或禁用移动数据。
参数:
- enabled (bool): True 启用,False 禁用
使用示例¶
import androidhelper
droid = androidhelper.Android()
# 获取网络信息
operator = droid.getNetworkOperatorName().result
print(f"Operator: {operator}")
network_type = droid.getNetworkType().result
print(f"Network: {network_type}")
# 获取 SIM 信息
sim_state = droid.getSimState().result
print(f"SIM: {sim_state}")
# 获取电话号码
line1 = droid.getLine1Number().result
print(f"Phone: {line1}")
# 跟踪电话状态
droid.startTrackingPhoneState()
print("Tracking phone state...")
droid.stopTrackingPhoneState()