1、发送短信
a、获取SmsManager
b、创建PendingIntent对象
c、发送短信
权限:
<!-- 授予发送短信的权限 -->
<uses-permission android:name="android.permission.SEND_SMS"/>
代码片段:
SmsManager sManager = SmsManager.getDefault();
// 创建一个PendingIntent对象
PendingIntent pi = PendingIntent.getActivity(SendSms.this
, 0, new Intent(), 0);
// 发送短信
sManager.sendTextMessage("电话号码"
, null, "发送信息", pi, null);
2、拦截信息
a、建立一个广播
b、设置广播接收
c、屏蔽系统的信息接收
d、对信息进行简单解析显示
权限:
<!-- 授予发送短信的权限 -->
<uses-permission android:name="android.permission.SEND_SMS"/>
代码片段:
public void onReceive(Context context, Intent intent)
{
// 当街收到短信时触发
if (intent.getAction().equals(
"android.provider.Telephony.SMS_RECEIVED"))
{
//取消广播(这行代码会让系统收不到短信)
abortBroadcast();
StringBuilder sb = new StringBuilder();
//接收有SMS传过来的数据
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 (SmsMessage message : messages)
{
sb.append("短信来源:");
sb.append(message.getDisplayOriginatingAddress());
sb.append("\n------短信内容------\n");
sb.append(message.getDisplayMessageBody());
}
}
Toast.makeText(context, sb.toString()
,150000).show();
}
}