2012-05-30 74 views
0

我希望實現SMS環回,即發送和接收來自同一應用程序的SMS。爲此,我創建了一個擴展了BroadcastReciever的類,實現了onReceive()方法,並聲明瞭相關權限。Android - SMS Loopback

我通過使用telnet發送短信來驗證實現。 我想自動執行遠程登錄過程,即通過發送短信使應用程序自行測試。爲了做到這一點,我在調用的主要活動如下方法,但BroadcastReceiver永遠不會被調用:

private final void sendSMS() { 
    final TelephonyManager telMgr = (TelephonyManager) 
      getSystemService(Context.TELEPHONY_SERVICE); 
    final int len = telMgr.getLine1Number().length(); 
    final String phoneNum = telMgr.getLine1Number().substring(len - 4, len); 
    final String msg = "msg"; 
    SmsManager.getDefault().sendTextMessage(phoneNum, null, msg, null, null); 
} 

任何線索什麼是錯的...?

更新:請注意,上面的代碼專供模擬器使用。

回答

0

不知道如果我理解你的問題是正確的,但你是否嘗試從模擬器發送短信到自己?據我所知,這是不可能的。只需加載另一個模擬器,並在它們之間發送消息。

由於Telnet命令工作,你的廣播接收器可能是正確實施,但你可能應該重視它的代碼反正...它很難解決的代碼,你不能看到:)

+0

謝謝您的答覆。爲什麼你聲稱不可能讓模擬器發送短信給自己? – MrRoth

+0

我聲稱,因爲它從來沒有在我的任何模擬器上工作。不通過內置的SMS應用程序,也不通過SmsManager。當使用內置的SMS應用程序時,SMS將被標記爲已發送,但您永遠不會收到它:( – Ole

+0

這正是問題:( – MrRoth