我没有收到来自使用4G网络的BroadcastReceiver的意向。我使用以下代码来接收短信发送结果的代码。我在2G蜂窝网络中得到了正确的结果,但在4G网络中却没有。
如果任何人有什么想法,请回复。
谢谢。
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" />发布于 2012-06-23 14:32:31
除了创建BroadcastReceiver之外,您还需要为您想要获取的事件注册它。您可能需要遵循本教程http://www.vogella.com/articles/AndroidBroadcastReceiver/article.html
当你想收到短信通知时,你需要注册事件
android.provider.Telephony.SMS_RECEIVED并请求该http://developer.android.com/reference/android/Manifest.permission.html#RECEIVE_SMS的权限
发布于 2012-06-23 14:40:35
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;https://stackoverflow.com/questions/11167429
复制相似问题