我使用http://mobiforge.com/developing/story/sms-messaging-android代碼示例逐字逐句除了事實,我改變:編程方式發送短信的Android(不接收狀態)
import android.telephony.gsm.SmsManager;
到:
import android.telephony.SmsManager;
的短信發送罰款但是我沒有收到它傳遞(發送到網絡)的TOAST消息。我正在嘗試將SMS集成到我的應用程序中,這很重要。我確信可以這樣做,因爲股票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。我的舊測試是在一個史詩。
您是否安裝了Go SMS或類似的東西? –
沒有。目前我正在使用股票ASOP短信應用程序(正在運行CyannogenMod),但在韌體中的其他ROM上進行了測試。我沒有在ADB logcat中看到任何意圖。 – user974896
可能的重複[編程發送短信(未獲取交付狀態)](http://stackoverflow.com/questions/12701215/programatically-send-sms-not-getting-delivery-status) – Sam