2012-06-23 30 views
0

我沒有收到使用4G網絡的BroadcastReceiver的意圖。我正在使用以下代碼來接收短信發送結果代碼。我在2G網絡中獲得了正確的結果,但是沒有獲得4G的結果。
如果有什麼意見請回復。
謝謝。使用4G網絡發送短信後,Braodcast接收器未收到Intent

registerReceiver(sendBroadcastReceiver, new IntentFilter("SENT")); 
sendBroadcastReceiver = new BroadcastReceiver() 
{ 
    int result = getResultCode(); 
    @Override 
    public void onReceive(Context context, Intent intent) 
    { 
     switch (result) 
     { 
      case Activity.RESULT_OK: 
       System.out.println("Received response"); 
       break; 
      case SmsManager.RESULT_ERROR_GENERIC_FAILURE: 
       addFailedResultsInList("RESULT_ERROR_GENERIC_FAILURE"); 
       break; 
      case SmsManager.RESULT_ERROR_NO_SERVICE: 
       addFailedResultsInList("RESULT_ERROR_NO_SERVICE"); 
       break; 
      case SmsManager.RESULT_ERROR_NULL_PDU: 
       addFailedResultsInList("RESULT_ERROR_NULL_PDU"); 
       break; 
      case SmsManager.RESULT_ERROR_RADIO_OFF: 
       addFailedResultsInList("RESULT_ERROR_RADIO_OFF"); 
       break; 

     } 
    } 
}; 

    <uses-permission android:name="android.permission.VIBRATE" /> 
    <uses-permission android:name="android.permission.WRITE_SMS" /> 
    <uses-permission android:name="android.permission.READ_SMS" /> 
    <uses-permission android:name="android.permission.RECEIVE_SMS" /> 
    <uses-permission android:name="android.permission.SEND_SMS" /> 
    <uses-permission android:name="android.permission.READ_CONTACTS" /> 
    <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
+0

顯示完整的代碼註冊事件

android.provider.Telephony.SMS_RECEIVED 

,並要求允許包括清單! –

+0

您初始化結果的位置? –

+0

它應該是result = getResultCode();之前swtich –

回答

0

除了創建BroadcastReceiver之外,您還需要爲您想要獲取的事件進行註冊。你可能會想按照這個教程 http://www.vogella.com/articles/AndroidBroadcastReceiver/article.html

當你想被通知短信接收你需要爲 http://developer.android.com/reference/android/Manifest.permission.html#RECEIVE_SMS

+0

謝謝巴爾泰克我更新了我的代碼..仍然沒有得到 – askimp

+0

我沒有收到短信,但我接收發送短信的這個廣播接收器後發送短信的結果。 – askimp

0
sendBroadcastReceiver = new BroadcastReceiver() 
{ 
    @Override 
    public void onReceive(Context context, Intent intent) 
    { 

     result = getResultCode(); //<------------------- 

     switch (result) 
     { 
      case Activity.RESULT_OK: 
       System.out.println("Received response"); 
       break; 
      case SmsManager.RESULT_ERROR_GENERIC_FAILURE: 
       addFailedResultsInList("RESULT_ERROR_GENERIC_FAILURE"); 
       break; 
+0

http://webcache.googleusercontent.com/search?q=cache:zK1JvoJkoQMJ:developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/os/SmsMessagingDemo.html+BroadcastReceiver+result + intent +%22getResultCode%22&cd = 2&hl = en&ct = clnk&gl =在 –

+1

感謝您的回覆我更新了我的代碼...仍然沒有得到 – askimp