package org.anymobile.demo.sms;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.gsm.SmsMessage;
import android.util.Log;
public class SMSReceiver extends BroadcastReceiver
{
public static final String TAG = "ImiChatSMSReceiver" ;
//android.provider.Telephony.Sms.Intents
public static final String SMS_RECEIVED_ACTION = "android.provider.Telephony.SMS_RECEIVED" ;
@Override
public void onReceive(Context context, Intent intent)
{
if (intent.getAction().equals( SMS_RECEIVED_ACTION ))
{
SmsMessage[] messages = getMessagesFromIntent(intent);
for (SmsMessage message : messages)
{
Log.i ( TAG , message.getOriginatingAddress() + " : " +
message.getDisplayOriginatingAddress() + " : " +
message.getDisplayMessageBody() + " : " +
message.getTimestampMillis());
}
}
}
public final SmsMessage[] getMessagesFromIntent(Intent intent)
{
Object[] messages = (Object[]) intent.getSerializableExtra( "pdus" );
byte [][] pduObjs = new byte [messages. length ][];
for ( int i = 0; i < messages. length ; i++)
{
pduObjs[i] = ( byte []) messages[i];
}
byte [][] pdus = new byte [pduObjs. length ][];
int pduCount = pdus. length ;
SmsMessage[] msgs = new SmsMessage[pduCount];
for ( int i = 0; i < pduCount; i++)
{
pdus[i] = pduObjs[i];
msgs[i] = SmsMessage.createFromPdu (pdus[i]);
}
return msgs;
}
}
|
相关推荐
在Android平台上,开发人员可以利用系统的短信服务API来实现发送短信以及监听短信发送的状态。这一功能对于构建一些需要确认信息传递的应用,如验证码发送、通知提醒等,是至关重要的。以下将详细介绍如何在Android...
在Android平台上,短信功能是...通过这个项目,你可以更好地理解和实践Android短信相关的开发工作,包括但不限于短信的发送、接收和处理流程。这不仅有助于提高你的编程技能,也有助于在实际项目中构建更丰富的功能。
对于短信监听,需要设置`<action android:name="android.provider.Telephony.SMS_RECEIVED" />`。 6. **数据持久化**: 电话和短信的信息可能需要保存在数据库或文件中,因此开发者需要熟悉SQLite数据库的操作或者...
本文将从以下几点深入解析Android短信发送与接收广播实现的细节: 1. Android清单文件(AndroidManifest.xml)中的权限配置 在开发短信发送和接收功能时,必须在Android清单文件中声明相应的权限。由于涉及到短信...
以上就是Android 6.0及以上版本中实现短信监听的关键步骤。需要注意的是,Android 10(API级别29)之后,如果你的应用不在前台运行,系统可能会阻止你的应用接收到短信广播,除非在Manifest中设置了`android:...
在Android开发中,监听短信数据库的变化是一项常见的需求,尤其是在实现如短信自动回复、短信通知等功能时。通过监听短信数据库,开发者可以实时获取到用户手机上接收到的新短信或已有的短信变化,从而进行相应的...
android NotificationListenerService 监听通知栏,android NotificationListenerService 监听通知栏 android NotificationListenerService 监听通知栏
在Android系统中,监听短信通常有两种方法:通过注册BroadcastReceiver监听SMS_RECEIVED_ACTION广播和使用ContentObserver监控短信数据库。...根据实际需求和系统环境,开发者可以选择合适的方式进行短信监听。
在Android平台上,电话和短信的监听是通过特定...通过仔细研究这个源码,你将更好地理解Android电话和短信监听的工作原理,同时也能学习到如何在实际项目中应用这些功能。这将有助于提升你在Android应用开发中的技能。
在Android平台上,监听收到的短信是一项常见的功能,例如在开发安全应用或自动化工具时。本文将详细介绍两种主要方法:通过广播监听短信消息和通过短信数据库获取短信内容。 **方式一:通过广播监听短信消息** 在...
总结来说,监听Android短信验证码需要创建ContentObserver,注意onChange的多次调用,并处理权限问题。同时,验证码的提取依赖于准确地解析短信内容,这可能需要根据实际业务需求调整。在面对不同Android系统版本和...
在Android平台上,开发电话和短信监听程序涉及到一系列的API接口和权限管理。下面将详细讲解这一领域的关键知识点。 首先,监听电话状态需要使用到`TelephonyManager`类,它是Android提供的一个系统服务,用于获取...
Android 广播监听短信并显示内容 Android 广播监听短信并显示内容是指在 Android 应用程序中,使用广播监听来监控和处理短信,获取短信内容并将其显示出来。本文将详细介绍如何使用 Android 广播监听来监听短信,并...
总的来说,这个压缩包提供的示例可能包含了创建、注册、使用和停止短信监听器的全过程,对于理解Android短信监听机制及其应用具有一定的参考价值。开发者应当注意合法、合规地使用这些功能,尊重并保护用户的隐私权...
总结起来,“smsListener”项目是一个Android短信监听的实例,它涵盖了Android权限管理、BroadcastReceiver的使用、短信消息的解析和处理等关键知识点。通过学习和实践这个示例,开发者可以掌握在Android应用中实现...
"Android短信收发流程分析" Android 短信收发流程是 Android 系统源码中一个非常重要的模块,它负责处理短信的发送和接收过程。在这个流程中,涉及到多个组件和类别,包括 ComposeMessageActivity、WorkingMessage...
综上所述,"SMSListener.zip" 文件可能包含了一个完整的Android短信监听应用的源代码,其核心功能是接收短信并能识别并屏蔽垃圾短信。通过深入研究这些源码,开发者可以学习到如何在Android平台上实现类似功能,以及...
这是一个关键组件,用于监听系统或应用发送的广播事件,比如安装应用、接收到短信等。在我们的场景中,我们需要创建一个BroadcastReceiver来监听APK安装完成的广播。Android系统在安装完新的APK后会发送ACTION_...
【Android SMSNotify】是一款专为Android...通过对`SMSNotify`源码的学习和理解,开发者不仅可以掌握Android短信通知的实现方式,还能深入了解Android系统的组件交互、权限管理、数据存储以及性能优化等多方面知识。