1

我正在 Android SDK 模拟器中测试第 3 方应用程序,该应用程序旨在发送 SMS 文本消息以进行注册。我没有此应用程序的源代码,但是否可以使用带有模拟器的调试器来拦截对 SmsManager 的调用并确定正在发送什么信息以及发送到什么目的地?

谢谢!

4

1 回答 1

0

既然你有源代码,你所能做的就是观察 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}
于 2012-11-15T17:37:41.430 回答