2012-12-13 115 views
2

我必須獲取一些低級別的信息,如RxLev,BLER,RxQual等,這些信息是無法通過Android框架API訪問的。我發現替代方案是AT命令。我正在使用紮根三星Galaxy S.在之前的文章中,關於發送AT命令的過程有許多困惑。在某些帖子中有回答,但是當我嘗試adb shell - > su - > echo -e「AT \ r」>/dev/smd0。它不顯示結果。請您提供的信息:如何在我的應用程序中實現AT命令調用?

  1. 是否有可能使用AT命令獲取所需的信息?
  2. 是否可以在第三方Android應用程序中通過adb shell &調用AT命令?
  3. 我是否需要執行AIDL/NDK並與RIL /內核通信?
  4. 流程要做?

請讓我知道,如果我在錯誤的方向。

任何指針將不勝感激。提前致謝。

-Shravan

+0

請查看http://tech-papers.org/executing-at-commands-android-application/ –

回答

0

如果你已經安裝的busybox,您可以使用microcom小程序:

echo "AT\r" | busybox microcom -t 500 /dev/smd0 
+0

感謝Alex,我安裝並推出了Busybox 1.20 .2根植於HTC Hero設備。通過USB將其與PC連接。在命令提示符下運行foll命令; 1)。 adb shell - > su - > echo「AT \ r」| busybox microcom -t 500/dev/smd0 2)。回聲「AT + CLAC」| busybox microcom -t 5000/dev/ttyGS0。但兩者都給分段錯誤。任何想法&是發送AT命令的正確方法? – Shravan

+0

獲得分段錯誤是相當意外的。我懷疑你的busybox二進制文件有問題。除此之外,您需要確保您使用的是正確的tty設備。有時設備不是默認創建的。檢查是否有任何初始化腳本提及了將任何「/ dev/tty *」或「/ dev/smd *」作爲參數的服務。 –

-1

您可以使用atinout程序非常容易地發送AT指令和檢索響應:

$ echo AT | atinout - /dev/smd0 - 
AT 
OK 
$ 
相關問題