android发送短信的两种方式,发送长短信的两种方式,群发短信 |
您所在的位置:网站首页 › 群发短信是什么罪行类型 › android发送短信的两种方式,发送长短信的两种方式,群发短信 |
android 发送短信的方法
方法一:调用系统的短信APP,发送短信。 Intent smsIntent = new Intent(Intent.ACTION_VIEW); smsIntent.setData(Uri.parse("smsto:")); smsIntent.setType("vnd.android-dir/mms-sms");//必须指定type smsIntent.putExtra("address", new String("15050524563"));//address字段不能改 smsIntent.putExtra("sms_body", "测试");//sms_body 不能改 startActivity(smsIntent); 或者 Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:"+ "15050524525")); intent.putExtra("sms_body", "测试"); startActivity(intent); 方法二:调用系统发送短信接口(此方法可以实现短信发送成功后回调)
利用SmsManager 发送短信参数说明。 SmsManager smsManager = SmsManager.getDefault(); smsManager.sendTextMessage(String destinationAddress, String scAddress, String text,PendingIntent sentIntent, PendingIntent deliveryIntent); /** * 参数说明 * destinationAddress:收信人的手机号码 * scAddress:发信人的手机号码 * text:发送信息的内容 * sentIntent:发送是否成功的回执,用于监听短信是否发送成功。 * DeliveryIntent:接收是否成功的回执,用于监听短信对方是否接收成功。 */注册监听器:定义IntentFilter,注册BroadcastReceiver. private void initBroadcastReceiver() { //发送短信状态 IntentFilter sendIntentFilter = new IntentFilter(); sendIntentFilter.addAction(SENT_SMS_ACTION); sendBroadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { System.out.println("发送短信状态"); switch (getResultCode()) { case Activity.RESULT_OK: Toast.makeText(context, "短信发送成功", Toast.LENGTH_SHORT).show(); break; case SmsManager.RESULT_ERROR_GENERIC_FAILURE: break; case SmsManager.RESULT_ERROR_RADIO_OFF: break; case SmsManager.RESULT_ERROR_NULL_PDU: break; } } }; registerReceiver(sendBroadcastReceiver, sendIntentFilter); //接收短信状态 IntentFilter deliverIntentFilter = new IntentFilter(); deliverIntentFilter.addAction(DELIVERED_SMS_ACTION); deliverBroadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { System.out.println("接收短信状态"); Toast.makeText(context, "收信人已经成功接收", Toast.LENGTH_SHORT).show(); } }; registerReceiver(deliverBroadcastReceiver, deliverIntentFilter); } 点击按钮发送短信: 定义了发送状态和接收状态的PendingIntent。调用sendTextMessage 方法。 protected void sendMessageByInterface1() { String phoneNumber = vSendNo.getText().toString().trim(); String message = vSendContent.getText().toString().trim(); SmsManager sms = SmsManager.getDefault(); Intent sentIntent = new Intent(SENT_SMS_ACTION); PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, sentIntent, 0); Intent deliverIntent = new Intent(DELIVERED_SMS_ACTION); PendingIntent deliverPI = PendingIntent.getBroadcast(this, 0, deliverIntent, 0); if (message.length() > 70) { ArrayList msgs = sms.divideMessage(message); for (String msg : msgs) { sms.sendTextMessage(phoneNumber, null, msg, sentPI, deliverPI); } } else { sms.sendTextMessage(phoneNumber, null, message, sentPI, deliverPI); } } 另外一种发送短信的接口: protected void sendMessageByInterface2() { String phoneNumber = vSendNo.getText().toString().trim(); String message = vSendContent.getText().toString().trim(); SmsManager sms = SmsManager.getDefault(); Intent sentIntent = new Intent(SENT_SMS_ACTION); PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, sentIntent, 0); Intent deliverIntent = new Intent(DELIVERED_SMS_ACTION); PendingIntent deliverPI = PendingIntent.getBroadcast(this, 0, deliverIntent, 0); if (message.length() > 70) { ArrayList msgs = sms.divideMessage(message); ArrayList sentIntents = new ArrayList(); for(int i = 0;i |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |