有没有办法通过adb获取电话的电话号码?
我认为dumpsys是一个可能的答案,但是似乎没有任何系统服务能够跟踪电话的自身号码。
最佳答案
iphonesubinfo
服务“保留跟踪”订户信息,包括电话号码。不幸的是,iphonesubinfo
服务未实现dump()
方法,因此dumpsys没有显示任何内容。您将不得不使用service call
命令来代替IPhoneSubInfo.getLine1Number()
或IPhoneSubInfo.getMsisdn()
根据Android版本和运营商的不同,以下一个或两个命令会告诉您电话号码(service call
命令需要root
特权):
service call iphonesubinfo 4
service call iphonesubinfo 5
service call iphonesubinfo 6
service call iphonesubinfo 7
service call iphonesubinfo 8
如果要查找适合您特定设备的代码,请从Calling Android services from ADB shell帖子下载脚本并按以下方式运行它:
./get_android_service_call_numbers.sh iphonesubinfo | grep getLine1Number
更新
Android 5.0的交易代码:
service call iphonesubinfo 11 # getLine1Number()
service call iphonesubinfo 15 # getMsisdn()
Android 5.1的交易代码:
service call iphonesubinfo 13 # getLine1Number()
service call iphonesubinfo 17 # getMsisdn()