我正在 Android SDK 模拟器中测试第 3 方应用程序,该应用程序旨在发送 SMS 文本消息以进行注册。我没有此应用程序的源代码,但是否可以使用带有模拟器的调试器来拦截对 SmsManager 的调用并确定正在发送什么信息以及发送到什么目的地?
谢谢!
我正在 Android SDK 模拟器中测试第 3 方应用程序,该应用程序旨在发送 SMS 文本消息以进行注册。我没有此应用程序的源代码,但是否可以使用带有模拟器的调试器来拦截对 SmsManager 的调用并确定正在发送什么信息以及发送到什么目的地?
谢谢!
既然你有源代码,你所能做的就是观察 adb logcat 的输出。您也可以使用“adb logcat -b radio”来观看任何调制解调器命令。例如,如果您尝试发送短信,您将看到以下内容。这取决于您要调试的内容。
D/AT ( 29): AT> AT+CSQ
D/AT ( 29): AT< +CSQ: 7,99
D/AT ( 29): AT< OK
D/RILJ ( 95): [0058]< SIGNAL_STRENGTH {7, 99, 0, 0, 0, 0, 0}
D/RILJ ( 95): WAKE_LOCK_TIMEOUT mReqPending=0 mRequestList=1
D/RILJ ( 95): 0: [19] SET_NETWORK_SELECTION_AUTOMATIC
D/SMS ( 95): SMS send size=0time=1353001019635
D/RILJ ( 95): [0059]> SEND_SMS
D/RIL ( 29): onRequest: SEND_SMS
D/AT ( 29): AT> AT+CMGS=13
D/AT ( 29): AT< >
D/AT ( 29): AT> 00010004815545000004e432990c^Z
D/AT ( 29): AT< +CMGS: 0
D/AT ( 29): AT< OK
D/RILJ ( 95): [0059]< SEND_SMS { messageRef = 0, errorCode = 0, ackPdu = null}
D/SMS ( 95): SMS send complete. Broadcasting intent: PendingIntent{44c8c118: android.os.BinderProxy@44c8c0e0}