android短信论文,Android中的短信发送报告

该博客内容涉及在Android应用中实现短信发送功能,并通过BroadcastReceiver监控短信的发送状态。当短信发送失败时,尤其是余额为0导致的失败,应用会显示相应的错误报告,如"无服务"、"通用失败"等。博主提供了使用SmsManager发送短信的代码示例,以及注册和注销BroadcastReceiver的方法。
摘要由CSDN通过智能技术生成

我想收到短信发送报告我正在尝试很多例子但是,一个流程没有显示发送报告,如果我的余额为0,当我的代码中的短信发送不显示短信发送报告失败,否则显示报告,如没有服务等..我想要当我的余额为0时,查找短信发送失败的送达报告.

帮我任何代码!

提前致谢!

解决方法

BroadcastReceiver sendBroadcastReceiver = new SentReceiver();

BroadcastReceiver deliveryBroadcastReciever = new DeliverReceiver();;

@Override

protected void onPause() {

// TODO Auto-generated method stub

super.onPause();

try {

unregisterReceiver(sendBroadcastReceiver);

unregisterReceiver(deliveryBroadcastReciever);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

@Override

protected void onDestroy() {

// TODO Auto-generated method stub

super.onDestroy();

try {

unregisterReceiver(sendBroadcastReceiver);

unregisterReceiver(deliveryBroadcastReciever);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

send_sms.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

if (textView.getText().toString().equals("")

| textView.getText().toString().equals(null)) {

Toast.makeText(SendSMS.this,enter_ph_no,Toast.LENGTH_LONG)

.show();

} else {

sendSMS(textView.getText().toString(),"sms_content");

finish();

}

}

});

private void sendSMS(String phoneNumber,String message) {

String SENT = "SMS_SENT";

String DELIVERED = "SMS_DELIVERED";

PendingIntent sentPI = PendingIntent.getBroadcast(this,new Intent(

SENT),0);

PendingIntent deliveredPI = PendingIntent.getBroadcast(this,new Intent(DELIVERED),0);

registerReceiver(sendBroadcastReceiver,new IntentFilter(SENT));

registerReceiver(deliveryBroadcastReciever,new IntentFilter(DELIVERED));

SmsManager sms = SmsManager.getDefault();

sms.sendTextMessage(phoneNumber,null,message,sentPI,deliveredPI);

}

class DeliverReceiver extends BroadcastReceiver {

@Override

public void onReceive(Context context,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;

}

}

}

class SentReceiver extends BroadcastReceiver {

@Override

public void onReceive(Context context,sms_sent,Toast.LENGTH_SHORT)

.show();

startActivity(new Intent(SendSMS.this,ChooSEOption.class));

overridePendingTransition(R.anim.animation,R.anim.animation2);

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;

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值