我正在創建一個應用程序的Android使用像「way2sms.com」,「fullonsms.com」網關發送短信,我已經成功地從這些網關發送消息,現在我想採取另一個步驟,即「SMS交付報告」。我有一個基本的想法,我將如何做到這一點。當我將短信發送到用戶選擇的號碼後,我會發送一條短信給用戶,並附上一些格式化的文本。 「SMSDELIVERYREPORT」。我想要做的是,當用戶收到這樣的消息,而不是我們收到正常短信時得到的正常通知時,應用程序會創建一個警報對話框,說明「消息已成功傳送」。請指導我完成這項任務。還有我如何確保這條消息不會進入用戶的正常消息收件箱。創建警報對話框接收短信
回答
此代碼將涵蓋您的短信發送的所有可能情況。
private void sendSMS(String phoneNumber, String message)
{
String SENT = "SMS_SENT";
String DELIVERED = "SMS_DELIVERED";
PendingIntent sentPI = PendingIntent.getBroadcast(this, 0,
new Intent(SENT), 0);
PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0,
new Intent(DELIVERED), 0);
//---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));
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);
}
這裏是一個great tutorial!
我使用「way2sms.com」或「fullonsms.com」發送短信,我可以使用此代碼嗎? –
我不明白。你是說你正在使用他們的API發送短信? – Swayam
是的,我正在使用API來發送短信。 –
我用this教程,當時我正在創建類似的東西!
只需跳到處理收到的短信!
但我該如何阻止這些消息進入用戶的收件箱? –
只需添加abortBroadcast();到你的廣播接收者(在檢查它是否是正確的短信之後) –
- 1. 警報對話框週期短
- 2. 短信收到後顯示對話框
- 3. 警報對話框?
- 4. 警報對話框
- 5. 在Android中顯示從短信接收器的對話框
- 6. 建立與列表警報對話框
- 7. 輸入警報對話框
- 8. Android對話框警報
- 9. android對話框警報
- 10. Tapestry 5警報對話框
- 11. Javafx警報對話框+ HTML
- 12. WP7警報對話框
- 13. jQuery警報對話框
- 14. 接收短信
- 15. 無法在陣列適配器中創建警報對話框
- 16. 如何爲警報對話框創建動畫?
- 17. 如何創建全局警報對話框
- 18. 在React Native函數中創建警報對話框?
- 19. 如何在ActionScript3中創建警報對話框?
- 20. 如何使用單選按鈕創建警報對話框?
- 21. onPrepareDialog ListView不填充第一個警報對話框創建
- 22. 如何在android中創建一個警報對話框?
- 23. 如何創建完全自定義的警報對話框?
- 24. 警報對話框或自定義警報對話框的大小
- 25. 廣播接收器 - 短信和電話
- 26. 警報對話
- 27. 應用程序發送多個短信接收電話/短信
- 28. pjsip接收短信
- 29. 接收短信j2me
- 30. 接收短信Android
嘗試使用BroadcastReceiver –