我使用http://mobiforge.com/developing/story/sms-messaging-android一个字的代码示例字除外,我改变这样的事实:
import android.telephony.gsm.SmsManager;
至:
import android.telephony.SmsManager;
该短信发送精细然而,我没有得到它被交付的TOAST消息(发送到网络)。 我试图SMS融入我的应用程序,这是非常重要的。 我相信这是可以做到,因为怎么回事就股票的短信应用知道何时停止显示“发送圈”。 相关的代码段如下:
//---when the SMS has been sent---
registerReceiver(new BroadcastReceiver(){
@Override
public void onReceive(Context arg0, Intent arg1) {
switch (getResultCode())
{
case Activity.RESULT_OK:
Toast.makeText(getBaseContext(), "SMS sent",
Toast.LENGTH_SHORT).show();
break;
case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
Toast.makeText(getBaseContext(), "Generic failure",
Toast.LENGTH_SHORT).show();
break;
case SmsManager.RESULT_ERROR_NO_SERVICE:
Toast.makeText(getBaseContext(), "No service",
Toast.LENGTH_SHORT).show();
break;
case SmsManager.RESULT_ERROR_NULL_PDU:
Toast.makeText(getBaseContext(), "Null PDU",
Toast.LENGTH_SHORT).show();
break;
case SmsManager.RESULT_ERROR_RADIO_OFF:
Toast.makeText(getBaseContext(), "Radio off",
Toast.LENGTH_SHORT).show();
break;
}
}
}, new IntentFilter(SENT));
//---when the SMS has been delivered---
registerReceiver(new BroadcastReceiver(){
@Override
public void onReceive(Context arg0, Intent arg1) {
switch (getResultCode())
{
case Activity.RESULT_OK:
Toast.makeText(getBaseContext(), "SMS delivered",
Toast.LENGTH_SHORT).show();
break;
case Activity.RESULT_CANCELED:
Toast.makeText(getBaseContext(), "SMS not delivered",
Toast.LENGTH_SHORT).show();
break;
}
}
}, new IntentFilter(DELIVERED));
我使用的是果冻豆ROM,但我相信我刚才测试了同一网段中的姜饼和ICS具有相同的结果。 有API改变或有与样品的问题吗? 我在Sasmsung GSIII测试是否有帮助。 我的老测试是在一个史诗。