绵阳阿里云代理商: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

相关推荐

  • 阿里云企业邮箱:怎样插入部门联系信息变量?

    阿里云企业邮箱:如何在邮件中插入部门联系信息变量 随着企业数字化转型的深入,高效、安全的电子邮件系统已成为企业日常运营的核心工具之一。阿里云企业邮箱凭借其稳定性和丰富的功能,成为众多企业的首选。本文将详细介绍如何在阿里云企业邮箱中使用部门联系信息变量,帮助您提升团队协作效率,同时结合阿里云企业邮箱代理商的优势,为企业提供更全面的电子邮件解决方案。 一、为什么…

    2025年7月17日
    29000
  • 阿里云号码隐私保护申请流程

    阿里云号码隐私保护申请流程如下: 登录阿里云官方网站,进入阿里云通信控制台。 在控制台中选择号码服务,进入号码管理页面。 在号码管理页面中,选择需要申请隐私保护的号码,并点击“申请隐私保护”按钮。 填写申请隐私保护的号码相关信息,包括号码归属地、号码类型等。 提交申请,等待审核。 审核结果将通过短信或邮件通知申请人。 审核通过后,可以在号码管理页面中查看已申…

    2023年8月13日
    46400
  • 沧州阿里云代理商:asp插入图片到数据库

    首先,需要确保数据库能够存储二进制数据,即将图片转换成字节流后存储到数据库中。下面是一个简单的ASP代码示例: <% Dim conn, cmd, rs Set conn = Server.CreateObject("ADODB.Connection") conn.Open "Provider=Microsoft.Jet.…

    2024年3月9日
    49600
  • 郑州阿里云代理商:ajax前台如何接收json数据库

    要在前端使用ajax接收json数据,可以按照以下步骤进行操作: 创建一个XMLHttpRequest对象。 var xhr = new XMLHttpRequest(); 设置请求的方法、URL和异步方式。 xhr.open("GET", "your_url", true); 设置请求头,以确保服务器返回的数据是js…

    2024年1月30日
    44100
  • 杭州阿里物联网平台什么价格

    求助:关于web端和阿里物联网平台对接的疑问 麻烦有知道的大佬帮忙一下,最近在开发一个共享充电宝的项目,我是做app小程序的后台开发,需要知道怎么和设备之间通信,因为厂家给我的文档很少,很多地方不太明白.厂家要求的是用阿里的mqtt服务器进行通讯,又让我去阿里的物联网平台创建产品设备. 我看了下 物联网平台的文档好像都是关于设备怎么连接平台.我想知道我们we…

    2023年8月25日
    49000

发表回复

登录后才能评论

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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