2012-06-23 31 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