Android收发短信
来源:互联网 发布:mysql 返回错误信息 编辑:程序博客网 时间:2024/04/30 03:31
调用短信编辑界面
Intent smsIntent = new Intent(Intent.ACTION_SENDTO,Uri.parse("sms:5556"));smsIntent.putExtra("sms_body", "Press send to send me");startActivity(smsIntent);
发送短信比较简单:
String SENT_SMS_ACTION = "SENT_SMS_ACTION";String DELIVERED_SMS_ACTION = "DELIVERED_SMS_ACTION";SmsManager smsManager = SmsManager.getDefault();String sendTo = "5556";String myMessage = "Android supports programmatic SMS messaging!";// Create the sentIntent parameterIntent sentIntent = new Intent(SENT_SMS_ACTION);PendingIntent sentPI = PendingIntent.getBroadcast(getApplicationContext(),0,sentIntent, 0);// Create the deliveryIntent parameterIntent deliveryIntent = new Intent(DELIVERED_SMS_ACTION);PendingIntent deliverPI = PendingIntent.getBroadcast(getApplicationContext(), 0,deliveryIntent,0);// Register the Broadcast ReceiversregisterReceiver(new BroadcastReceiver(){public void onReceive(Context _context, Intent _intent){switch (getResultCode()) {case Activity.RESULT_OK: break;case SmsManager.RESULT_ERROR_GENERIC_FAILURE: break;case SmsManager.RESULT_ERROR_RADIO_OFF:break;case SmsManager.RESULT_ERROR_NULL_PDU:break;}}},new IntentFilter(SENT_SMS_ACTION));registerReceiver(new BroadcastReceiver() {@Overridepublic void onReceive(Context _context, Intent _intent){}},new IntentFilter(DELIVERED_SMS_ACTION));// Send the messagesmsManager.sendTextMessage(sendTo, null, myMessage, sentPI, deliverPI);
接受短信要注册一个listener:
final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED"; IntentFilter filter = new IntentFilter(SMS_RECEIVED); BroadcastReceiver receiver = new IncomingSMSReceiver(); registerReceiver(receiver, filter);自定义的listener:
class IncomingSMSReceiver extends BroadcastReceiver {private static final String queryString = "@echo";private static final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";public void onReceive(Context _context, Intent _intent) {if (_intent.getAction().equals(SMS_RECEIVED)) {SmsManager sms = SmsManager.getDefault();Bundle bundle = _intent.getExtras();if (bundle != null) {Object[] pdus = (Object[]) bundle.get("pdus");SmsMessage[] messages = new SmsMessage[pdus.length];for (int i = 0; i < pdus.length; i++)messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);for (int i=0; i<messages.length; i++){SmsMessage message = messages[i];String msg = message.getMessageBody();String to = message.getOriginatingAddress();if (msg.toLowerCase().startsWith(queryString)) {String out = msg.substring(queryString.length());sms.sendTextMessage(to, null, out, null, null);}}}}}}
- android收发短信
- Android收发短信
- Android短信收发
- Android收发短信
- Android收发短信
- Android短信收发
- Android 应用中收发短信
- Android 接收和收发短信
- Android中短信的收发
- Android 收发短信 (8.2)
- Android下实现短信的收发
- Android下实现短信SMS的收发
- Android下调用收发短信邮件等
- Android下实现短信的收发
- Android下调用收发短信邮件等
- android应用程序(一) 短信收发
- Android中通过广播接收者收发短信
- Android实战技巧之三十九:短信收发
- 云计算讲解之二
- 在Android模拟器中模拟GPS、打电话、发短信……
- 浅谈 jsp中form表单的处理
- 笔记记录软件:NoteRecorder
- ubuntu软件包管理
- Android收发短信
- Java 可变参数的传递
- Linux下实现秒级定时任务的两种方案(crontab 每秒运行)
- 连续子序列最大和
- 3DS Max Plugin 编程一,开始
- java中方法和变量在继承时的覆盖与引用
- Apache+tomcat的整合
- 使用libjpeg库在LCD上显示图片
- AndroidManifest.xml详解