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

相关推荐

  • 阿里云国际站代理商:api数据接口方案

    阿里云国际站代理商在实现API数据接口方案时,通常需要涵盖以下几个关键步骤和考虑因素: 1. 需求分析 明确目标:了解代理商需要从阿里云API获取哪些数据,如账户信息、订单数据、资源使用情况等。 API接口:确定需要使用的API接口种类,如ECS、RDS、OSS等。 使用场景:明确API调用的使用场景,是实时数据查询还是定期数据同步。 2. 账号和权限管理 …

    2024年7月12日
    32800
  • 绍兴阿里物联网平台费用

    阿里云物联网平台mqtt收费吗? MQTT的收费是只收取走MQTT协议的流量,而Q的按量计费都是非MQTT协议的流量。 nginx php空白页 fastcgi 物模型是云平台为物联网产品定义的数据模型,用于描述产品的功能。将产品抽象成数据的集合,方便云端进行控制。 物模型从 属性 、 服务 和 事件 三个维度,分别描述了该实体是什么、能做什么、可以对外提供…

    2023年8月29日
    28000
  • 阿里云企业邮箱接收邮件的格式转换功能有吗?

    阿里云企业邮箱的邮件格式转换功能 阿里云企业邮箱优势 阿里云企业邮箱是一款功能强大的企业邮箱服务,具有稳定可靠的服务器、安全的网络环境和完善的管理系统。同时,阿里云企业邮箱还拥有灵活的配置和统一的管理,可以满足企业各种邮件需求。 邮件格式转换功能 阿里云企业邮箱提供了邮件格式转换功能,可以将收到的邮件格式进行转换,满足用户不同的阅读需求。无论是普通文本邮件、…

    2024年10月18日
    24900
  • 潍坊阿里云代理商:阿里-云服务器ecs

    潍坊阿里云代理商提供阿里云服务器ECS服务。阿里云服务器ECS是阿里云推出的弹性计算服务,为用户提供可调整的虚拟服务器环境。通过ECS,用户可以根据自身需求随时选择计算资源,并进行弹性扩展和缩减。 作为阿里云代理商,潍坊代理商将提供以下服务: 售卖:提供阿里云ECS产品的售卖服务,根据用户需求销售不同配置的云服务器实例。 部署和配置:协助用户选择适合的服务器…

    2024年1月18日
    28500
  • 腾讯云语音合成怎么用的

    要使用腾讯云语音合成功能,您可以按照以下步骤进行操作: 开通腾讯云账号:如果您还没有腾讯云账号,首先需要进行账号注册和开通。 登录腾讯云控制台:在浏览器中打开腾讯云官方网站(https://cloud.tencent.com/),点击右上角的「控制台」按钮,并使用您的账号信息登录。 创建应用:在腾讯云控制台中,选择「语音合成」服务,进入「应用管理」页面。点击…

    2023年10月24日
    35600

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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