没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
3页
1、监听广播 缺点,因为优先级的原因可能接收不到。 代码: public static final String TAG = ImiChatSMSReceiver; public static final String SMS_RECEIVED_ACTION = android.provider.Telephony.SMS_RECEIVED; public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(SMS_RECEIVED_ACTION))
资源详情
资源评论
资源推荐
Android中监听短信的两种方法中监听短信的两种方法
1、监听广播、监听广播
缺点,因为优先级的原因可能接收不到。
代码:
public static final String TAG = "ImiChatSMSReceiver";
public static final String SMS_RECEIVED_ACTION = "android.provider.Telephony.SMS_RECEIVED";
public void onReceive(Context context, Intent intent)
{
if (intent.getAction().equals(SMS_RECEIVED_ACTION))
{
SmsMessage[] messages = getMessagesFromIntent(intent);
for (SmsMessage message : messages)
{
String text = message.getOriginatingAddress() + " : " +
message.getDisplayOriginatingAddress() + " : " +
message.getDisplayMessageBody() + " : " +
message.getTimestampMillis();
String num = message.getOriginatingAddress();
Log.i(TAG, "-------------" + text);
Toast.makeText(context, text, Toast.LENGTH_LONG).show();
sendMessage(num, "来自" + num + "的短信已经收到", context);
context.getContentResolver().registerContentObserver(Uri.parse("content://sms/"), true, new SmsObserver(new Handler(),
context));
}
}
}
public void sendMessage(String num, String text, Context context)
{
SmsManager smsManager = SmsManager.getDefault();
PendingIntent sentIntent = PendingIntent.getBroadcast(context, 0, new Intent(), 0);
String strContent = text;
smsManager.sendTextMessage(num, null, strContent, sentIntent, null);
TelephonyManager tl = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
int itype = tl.getPhoneType();
Log.i(TAG, "-------------" + "当前卡类型为:" + itype);
if (itype == TelephonyManager.PHONE_TYPE_GSM)
{
Toast.makeText(context, "当前卡类型为:GSM", Toast.LENGTH_LONG).show();
}
else if (itype == TelephonyManager.PHONE_TYPE_CDMA)
{
Toast.makeText(context, "当前卡类型为 : CDMA", Toast.LENGTH_LONG).show();
}
else if (itype == TelephonyManager.PHONE_TYPE_NONE)
{
Toast.makeText(context, "当前卡类型为:NONE", Toast.LENGTH_LONG).show();
}
}
public final SmsMessage[] getMessagesFromIntent(Intent intent)
{
Object[] messages = (Object[]) intent.getSerializableExtra("pdus");
weixin_38641111
- 粉丝: 1
- 资源: 932
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于python的高性能爬虫程序,使用了多线程+缓存+xpath实现的,这里以彼-岸图库为例,实现,仅用于学习交流
- 中分辨率成像光谱仪(MODIS)烧毁面积产品信息MODIS-C6-BA-User-Guide-1.2.pdf
- Screenshot_20240427_172613_com.huawei.browser.jpg
- 关于学习Python的相关资源网站链接及相关介绍.docx
- (HAL库)基于STM32F103C8T6的温控PID系统[Dht11、ESP8266、无线透传、L298N……]
- VoLTE高丢包优化指导书.xlsx
- Rust资源文件.zip
- 前后端分离实践:使用 React 和 Express 搭建完整登录注册流程
- gradle-publish-to-MavenLocal.zip
- 10份网络优化创新案例.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论5