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

相关推荐

  • 铠湾智慧消防物联网云平台

    智慧消防云平台怎么使用 摘要:智慧消防平台可以掌握消防物联网监控管理中心对联网重点单位建筑消防设施的远程监控和实时管理,实现对问题突出的单位法人、消防安全责任人进行点对点的信息警示和提示,落实单位主体责任,及时消除火灾隐患。智慧消防平台怎么搭建?智慧消防云圆粗平台怎么使用?下面来了解下。一、智慧消防平台怎么搭建1、智慧消防云平台的搭建,现场物联网硬件终端的铺…

    2023年8月27日
    13900
  • 周口阿里云代理商:安装最新git

    安装最新的Git可以参考以下步骤: 登录阿里云服务器,在终端中输入以下命令以更新服务器软件包列表: sudo apt update 安装Git的依赖库,输入以下命令: sudo apt install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev 下载Git的源代码,输入以下命令:…

    2023年12月28日
    24400
  • 阿里云数据库实例怎么导出文件

    您可以按照以下步骤在阿里云数据库实例中导出文件: 登录阿里云控制台,选择要导出文件的RDS实例。 在左侧导航栏中选择“备份恢复”。 在“备份恢复”页面中,选择“备份集列表”选项卡。 在备份列表中找到要导出的备份集,并单击其右侧的“操作”下拉菜单。 在下拉菜单中选择“下载备份”选项。 在弹出的“下载备份”窗口中选择要导出的文件类型,例如SQL文件或压缩文件,并…

    2023年8月14日
    15600
  • 无为阿里云企业邮箱代理商:钉钉有邮箱吗在哪里

    钉钉有邮箱吗在哪里?这是许多人都关心的一个问题。事实上,钉钉并没有提供自己的邮箱服务,但我们可以通过阿里云企业邮箱代理商来解决这个问题。 阿里云企业邮箱 阿里云企业邮箱是一款基于云计算技术的企业级邮箱解决方案,它提供了稳定、高效、安全的企业邮件服务。不仅可以满足企业内部通信的需求,还能够与客户、合作伙伴进行更加便捷的沟通。 阿里云企业邮箱代理商的优势 1. …

    2024年1月26日
    16900
  • 柳州阿里云代理商:api 和 微服务器ip

    如果你正在寻找柳州地区的阿里云代理商以及相关的 API 和微服务器 IP,以下是一些可能对你有帮助的步骤和信息: 阿里云代理商 查询阿里云合作伙伴 你可以在阿里云官网的合作伙伴列表中查找柳州地区的代理商。使用关键词:“柳州 阿里云 代理商”进行搜索。 联系阿里云客服 直接联系阿里云客服,询问柳州地区的授权代理商信息。阿里云客服可以提供最准确和最新的代理商列表…

    2024年5月30日
    13500

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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