我使用下面的代码来发送短信。但是当没有发送sms时,这似乎不会产生异常。例如,当没有足够的钱来发送它时,我仍然使用smsSucces();有人知道解决这个问题的方法来确定它已经发送了吗?
private boolean composeSms(String telefoonnr, String boodschap) {
if(telefoonnr.equals("") || boodschap.equals("")) {
smsFail();
return false;
}
try {
SmsManager sm = SmsManager.getDefault();
//PendingIntent pi = PendingIntent.getActivity(this, 0, new Intent(this, SmsActivity.class), 0);
sm.sendTextMessage(telefoonnr, null, boodschap, null, null);
DataClass dc = (DataClass) getApplicationContext();
dc.setBoolean(DataClass.ACTIVATED_SMS, true);
dc.setString(DataClass.SMS_NUMBER, telefoonnr);
Log.d("temp","sms send succesfully");
smsSucces();
return true;
}
catch (Exception e) {
e.printStackTrace();
smsFail();
return false;
}
}发布于 2011-05-06 17:32:15
您好,您可以使用广播短信投递报告`
以下是此操作的代码
//短信下发待定意图
PendingIntent deliveredIntent = PendingIntent.getBroadcast(this, 0, new Intent(DELIVERED_ACTION), 0);//短信发送接收方
registerReceiver(new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG, "SMS sent intent received.");
}
}, new IntentFilter(SENT_ACTION));//短信下发接收方
registerReceiver(new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG, "SMS delivered intent received.");
}
}, new IntentFilter(DELIVERED_ACTION));发布于 2011-05-06 17:32:31
老实说我也不确定。但是也许你可以在这里找到答案:http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/os/SmsMessagingDemo.html
https://stackoverflow.com/questions/5908790
复制相似问题