绵阳阿里云代理商:android 开发短信通知栏

实现步骤:

1.在AndroidManifest.xml中添加权限:

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

2.创建BroadcastReceiver,监听短信:

public class SmsReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Bundle bundle = intent.getExtras();
        if (bundle != null) {
            Object[] pdus = (Object[]) bundle.get("pdus");
            if (pdus != null && pdus.length > 0) {
                for (Object pdu : pdus) {
                    SmsMessage message = SmsMessage.createFromPdu((byte[]) pdu);
                    String content = message.getMessageBody();
                    String sender = message.getOriginatingAddress();

                    // 处理短信内容
                    // ...

                    // 在通知栏上展示短信内容
                    NotificationManager manager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
                    NotificationCompat.Builder builder = new NotificationCompat.Builder(context);
                    builder.setSmallIcon(R.mipmap.ic_launcher)
                            .setContentTitle(sender)
                            .setContentText(content)
                            .setAutoCancel(true)
                            .setDefaults(Notification.DEFAULT_ALL);
                    manager.notify(1, builder.build());
                }
            }
        }
    }
}

3.在AndroidManifest.xml中注册BroadcastReceiver,同时指定接受的Intent:

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

通过以上步骤,即可实现接收短信并在通知栏上展示短信内容的功能。

实现步骤:

  1. 在 AndroidManifest.xml 文件中,添加权限:
<uses-permission android:name="android.permission.RECEIVE_SMS" />
  1. 创建一个 BroadcastReceiver 类,用于接收短信广播并在通知栏显示短信:
public class SmsReceiver extends BroadcastReceiver {

    private static final String TAG = "SmsReceiver";

    @Override
    public void onReceive(Context context, Intent intent) {
        Bundle bundle = intent.getExtras();
        if (bundle != null) {
            Object[] pdus = (Object[]) bundle.get("pdus");
            if (pdus != null) {
                for (Object pdu : pdus) {
                    SmsMessage message = SmsMessage.createFromPdu((byte[]) pdu);
                    String sender = message.getOriginatingAddress();
                    String body = message.getMessageBody();
                    showNotification(context, sender, body);
                }
            }
        }
    }

    private void showNotification(Context context, String sender, String body) {
        NotificationCompat.Builder builder = new NotificationCompat.Builder(context);
        builder.setContentTitle(sender);
        builder.setContentText(body);
        builder.setSmallIcon(android.R.drawable.ic_dialog_email);

        Intent intent = new Intent(context, MainActivity.class);
        PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
        builder.setContentIntent(pendingIntent);

        NotificationManager manager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
        manager.notify(0, builder.build());
    }
}
  1. 在 AndroidManifest.xml 文件中,声明该 BroadcastReceiver:
<receiver android:name=".SmsReceiver">
    <intent-filter>
        <action android:name="android.provider.Telephony.SMS_RECEIVED" />
    </intent-filter>
</receiver>
  1. 在 MainActivity 中,请求 RECEIVE_SMS 权限:
if (ContextCompat.checkSelfPermission(this, Manifest.permission.RECEIVE_SMS) != PackageManager.PERMISSION_GRANTED) {
    ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.RECEIVE_SMS}, 1);
}

以上就是 Android 开发短信通知栏的实现步骤,希望能帮到你。

绵阳阿里云代理商:android 开发短信通知栏

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

(0)
luotuoemo的头像luotuoemo
上一篇 2024年3月9日 21:21
下一篇 2024年3月9日 22:00

相关推荐

  • 阿里云服务器实例密码和远程链接密码

    阿里云服务器实例密码是您在购买云服务器时设置的登录密码,可以在阿里云控制台上找到。 远程链接密码是用于远程连接云服务器的密码,一般使用SSH密钥对登录云服务器而不是密码登录。您可以在创建云服务器时选择使用SSH密钥对进行登录,然后将公钥添加到云服务器的authorized_keys文件中。 如果您需要重置实例密码或者远程链接密码,可以在阿里云控制台上进行操作…

    2023年9月16日
    29300
  • 江门阿里云代理商:安全云上等保

    江门阿里云代理商是指在江门地区代理阿里云产品和服务的企业或个人。阿里云是由阿里巴巴集团推出的云计算服务品牌,提供云服务器、云存储、云数据库等一系列云计算产品和解决方案。 安全云上等保是指在云上进行等级保护的安全服务。等级保护是我国国家信息化等级保护制度的核心内容,旨在对信息系统进行安全等级评定和保护。阿里云作为云计算服务提供商,提供了一系列安全性能和服务来保…

    2023年12月23日
    27100
  • 阿里云数据库部门

    阿里云数据库部门是阿里云计算公司下属的一个部门,负责提供云数据库服务。阿里云数据库部门致力于为用户提供高效、稳定、安全的数据库产品和解决方案。该部门的主要产品包括关系型数据库RDS、NoSQL数据库HBase、文档数据库MongoDB、时序数据库TSDB等。阿里云数据库部门还提供了多种数据库服务,包括备份与恢复、迁移与同步、容灾与高可用等。该部门的目标是帮助…

    2023年8月13日
    27100
  • 阿里的云计算系统

    阿里云os是什么系统 阿里云OS是融云数据存储、云计算服务和云操作系统为一体的新一代操作系统。系统搭载了阿里云公司自主设计、架构、研发的系统核心虚拟机,增强了云端服务的能力,并提供与Dalvik虚拟机兼容的运行环境。通过海量云空间来同步和管理手机数据,数据可永久保存在云端并联通所有设备。基于云端弹性云计算的托管服务,便于开发者快速开发和部署移动应用,通过云应…

    2023年8月29日
    27400
  • 扬州阿里云代理商:阿里云服务分布式

    扬州阿里云代理商:阿里云服务分布式 引言 阿里云作为中国领先的云计算服务提供商,提供了一系列强大、可靠、易用的云服务产品。其中,阿里云服务分布式是其核心竞争力之一。本文将介绍阿里云的优势和好用之处,以及它在分布式领域的应用。 强大的服务能力 阿里云具备强大的服务能力,可以满足各种不同规模和需求的企业。首先,它提供了全球覆盖的数据中心网络,可以满足用户在全球范…

    2024年1月31日
    28100

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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