杭州阿里云代理商:Android 监听短信的源码

以下是一个基本的 Android 监听短信的源码示例:

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.SmsMessage;
import android.util.Log;

public class SmsReceiver extends BroadcastReceiver {

    private static final String TAG = "SmsReceiver";

    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")) {
            Object[] pdus = (Object[]) intent.getExtras().get("pdus");
            if (pdus != null) {
                for (Object pdu : pdus) {
                    SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) pdu);
                    String sender = smsMessage.getOriginatingAddress();
                    String message = smsMessage.getMessageBody();

                    Log.d(TAG, "Received SMS: From " + sender + ", Message: " + message);
                    // 在这里进行你的业务逻辑处理
                }
            }
        }
    }
}

你需要在 AndroidManifest.xml 文件中声明 BroadcastReceiver:

<uses-permission android:name="android.permission.RECEIVE_SMS" />

<application
    ...
    <receiver android:name=".SmsReceiver">
        <intent-filter>
            <action android:name="android.provider.Telephony.SMS_RECEIVED" />
        </intent-filter>
    </receiver>
    ...
</application>

记得在 AndroidManifest.xml 文件中添加 RECEIVE_SMS 权限。

这样,当手机接收到新的短信时,SmsReceiver 的 onReceive 方法会被调用,并在日志中打印短信发送者的号码和短信内容。你可以在这个方法中添加自己的业务逻辑来处理接收到的短信。

以下是一个简单的Android监听短信的代码示例:

首先,在Manifest文件中添加以下权限和接收器声明:

<uses-permission android:name="android.permission.RECEIVE_SMS" />

<application>
    ...
    <receiver android:name=".SmsReceiver">
        <intent-filter>
            <action android:name="android.provider.Telephony.SMS_RECEIVED" />
        </intent-filter>
    </receiver>
    ...
</application>

接下来,创建一个名为SmsReceiver的广播接收器类,并实现onReceive()方法:

杭州阿里云代理商:Android 监听短信的源码
public class SmsReceiver extends BroadcastReceiver {
    private 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)) {
            Bundle bundle = intent.getExtras();
            if (bundle != null) {
                Object[] pdus = (Object[]) bundle.get("pdus");
                if (pdus != null && pdus.length > 0) {
                    SmsMessage[] messages = new SmsMessage[pdus.length];
                    for (int i = 0; i < pdus.length; i++) {
                        messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
                    }
                    String messageBody = messages[0].getMessageBody(); // 获取短信内容
                    String sender = messages[0].getOriginatingAddress(); // 获取短信发送者的手机号码
                    
                    // 在这里可以对接收到的短信进行处理
                    // TODO: 进行你的操作
                    
                    // 广播接收器中不建议做耗时操作,可以启动Service来处理更复杂的逻辑
                }
            }
        }
    }
}

注意:广播接收器中的代码应该尽可能简洁且高效,避免引发ANR(Application Not Responding)的情况。

需要记得自行处理Android手机系统版本兼容性问题,例如在Android 6.0及以上的版本中需要动态请求RECEIVE_SMS权限。

希望这段代码能帮到你,如果有其他问题,请随时追问。

发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/142633.html

Like (0)
luotuoemo的头像luotuoemo
Previous 2024年2月10日 11:18
Next 2024年2月10日 11:30

相关推荐

  • 岳阳阿里云代理商:阿里云os apk

    岳阳阿里云代理商:阿里云OS APK 1. 什么是阿里云OS APK 阿里云OS APK是一款基于阿里云生态系统构建的操作系统,它可以在智能手机和其他智能设备上运行。作为阿里云的代理商,我们非常自豪地介绍这个创新的产品。 2. 阿里云OS APK的优势 2.1 强大的性能:阿里云OS APK采用了先进的技术,提供卓越的性能表现。它经过优化,能够高效地运行各种…

    2024年1月27日
    7800
  • 宜昌阿里云代理商:at 指令发送短信 编程

    宜昌阿里云代理商可以为您提供使用at指令发送短信的编程服务。通过对at指令的调用,您可以在您的应用程序中集成发送短信的功能,实现与移动通信网关的交互。我们的专业团队可以为您定制开发相关程序,确保您能够方便地通过at指令发送短信。如果您有这方面的需求,请联系我们的客服团队,我们将竭诚为您提供服务。 宜昌阿里云代理商可以通过使用阿里云的短信服务API来发送短信。…

    2024年2月21日
    8700
  • 阿里云服务器安装jdk8

    您可以按照以下步骤在阿里云服务器上安装JDK 8: 1.登录到阿里云的服务器,可以使用SSH远程登录工具如PuTTY。 2.在终端中执行以下命令,更新服务器的软件包列表: sudo apt-get update 3.安装JDK 8的软件包。请注意,由于阿里云服务器使用的是Ubuntu 18.04操作系统,您可以使用apt-get命令: sudo apt-ge…

    2023年10月30日
    8300
  • 本地服务器迁移到阿里云

    迁移本地服务器到阿里云可以通过以下步骤完成: 选择合适的阿里云产品:根据你的需求选择合适的云服务器(ECS)、容器服务(ECS)、裸金属服务器(ECS)、负载均衡(SLB)等产品。 创建云服务器实例:在阿里云控制台上创建云服务器实例,并选择合适的操作系统和规格。 配置网络环境:设置安全组规则,开放所需的端口;配置VPC(虚拟私有云)和子网,设置IP地址等。 …

    2023年8月13日
    11900
  • 烟台阿里云代理商:阿里通信邮件营销

    烟台阿里云代理商可提供阿里通信邮件营销服务,该服务是基于阿里云通信平台的一种推广营销方式。通过阿里通信平台,代理商可以为客户提供灵活、高效的邮件群发服务,帮助他们实现有效的营销推广。 阿里通信邮件营销具有以下特点: 高效稳定:基于阿里云底层技术支持,邮件发送速度快,稳定可靠,能够满足大规模推广需求。 自定义模板:代理商可以根据客户的需求,提供多种邮件模板供选…

    2023年12月18日
    8100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
购买阿里云服务器请访问:https://www.4526.cn/