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

相关推荐

  • 阿里云短信验证码接口判断验证码是否正确

    判断阿里云短信验证码是否正确的方法如下: 获取用户输入的验证码和手机号码。 调用阿里云短信验证码接口的查询方法(如aliyun.sms.queryDetail)来验证验证码的有效性。 接口查询成功并返回结果后,解析查询结果,判断验证码是否正确。 如果验证码正确,根据业务需要执行相应的操作。 如果验证码错误,根据业务需要提示用户重新输入验证码或执行相应的失败操…

    2023年9月18日
    19800
  • 黔南阿里云代理商:阿里云CDN的访问日志在哪里查看?如何分析日志?

    黔南阿里云代理商:您可以通过阿里云CDN控制台来查看和分析CDN的访问日志。具体操作步骤如下: 登录阿里云CDN控制台,选择“域名管理”页面。 找到您需要查看访问日志的域名,点击右侧的“配置管理”按钮。 在配置管理页面中,找到“日志管理”模块,点击“查看”按钮。 在日志管理页面中,您可以选择“实时日志”或者“历史日志”来查看相应的访问日志。 对于访问日志的分…

    2023年11月17日
    21400
  • 无锡阿里云企业邮箱代理商:阿里邮箱怎么导出所有的邮件

    以 无锡阿里云企业邮箱代理商:阿里邮箱怎么导出所有的邮件 小标题一:阿里云企业邮箱的优势阿里云企业邮箱是一款专门为企业定制的电子邮件服务产品,具有以下优势:1. 安全可靠:阿里云采用先进的安全技术和措施,保障企业邮件数据的安全,防止数据泄露和攻击。2. 大容量存储:阿里云企业邮箱提供丰富的存储容量,方便企业存储大量的邮件和附件,减少企业的存储压力。3. 灵活…

    2024年1月20日
    20900
  • 榆林阿里云企业邮箱代理商:阿里云如何关联阿里邮箱

    榆林阿里云企业邮箱代理商:阿里云如何关联阿里邮箱 一、什么是阿里云企业邮箱 阿里云企业邮箱是由阿里云推出的一款专业企业邮件解决方案。它结合了阿里云强大的云计算技术及安全防护能力,提供稳定可靠的企业邮箱服务。 二、阿里云企业邮箱的优势 1. 安全性 阿里云企业邮箱采用全球领先的安全加密技术,确保邮件传输和存储的安全性。同时,它还提供防病毒和垃圾邮件过滤等功能,…

    2024年2月14日
    18100
  • 阿里云服务器怎么打开某个端口啊

    阿里云window主机怎么打开3306端口 开始-设置-控制面板-Windows防火墙,单击“例外”-“添加端口”,名称为:mysql,端口:3306,TCP协议,单击“确定”就可以了 阿里云ubuntu怎么开启服务器端口 配置SSL证书确定证书规渠道获取情况443端口服务器配置根据同服务器环境要注意443端口与80端口防火墙要设置允许443 阿里云关闭33…

    2023年8月25日
    19100

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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