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

相关推荐

  • 阿里云服务器地址在哪里

    阿里云服务器地址通常是由用户在购买或申请云服务器实例时指定的。阿里云服务器地址可以在阿里云官方控制台中查看,具体步骤如下: 登录阿里云官方控制台(https://www.aliyun.com/)。 在控制台页面,点击顶部导航栏中的“产品”选项。 在产品列表中选择“云服务器ECS”。 进入云服务器ECS页面后,可以看到已购买的云服务器实例列表。点击您要查找地址…

    2023年10月21日
    16700
  • 梨树县阿里云企业邮箱代理商:钉钉群邮箱怎么发送文件到微信

    梨树县阿里云企业邮箱代理商:钉钉群邮箱怎么发送文件到微信 一、阿里云企业邮箱的优势 阿里云企业邮箱作为一款专业的企业邮箱服务,拥有以下优势: 稳定可靠:阿里云企业邮箱基于阿里云云计算平台,具备强大的稳定性和可靠性,能够满足企业对邮箱服务的高要求。 安全保护:阿里云企业邮箱采用多层安全机制,包括SSL/TLS加密传输、邮件过滤和病毒查杀等功能,有效保护企业邮箱…

    2024年1月11日
    17300
  • 阿里云监控服务器配置

    阿里云监控是一种云服务监控工具,可以帮助用户对服务器及其上运行的应用进行监控和管理。以下是阿里云监控服务器配置的步骤: 登录阿里云控制台,进入监控管理页面。 在监控管理页面,点击左侧菜单栏的“云监控”选项。 点击“云服务器监控”下的“配置云服务器监控”按钮。 在弹出的配置页面,选择要监控的服务器实例,并选择监控项和监控周期。 点击“确定”按钮,完成服务器监控…

    2023年8月26日
    15600
  • 阿里云怎么将数据库续费

    要将阿里云数据库续费,可以按照以下步骤进行操作: 登录阿里云官网,进入阿里云控制台。 在左侧导航栏中找到“云数据库RDS”或“数据库RDS”,点击进入。 在RDS实例列表中找到需要续费的数据库实例,点击相应实例的ID进入详情页面。 在详情页面的左侧菜单中选择“购买/续费”选项。 在购买/续费页面中选择续费时长和数量,并根据需要选择付款方式。 点击“立即购买”…

    2023年8月16日
    17100
  • 阿里云管理控制台首页设置密码是什么

    阿里云服务器esc 连接管理终端 adminstrator密码怎么填写 密码是在你控制面板中有默认的。阿里云也会在你开通云服务器的时候给你发送一封账号的邮件。通过以上两种方式就可以获取administrator的密码。第一次购买,可以去好侠客优惠网上看看阿里云的优惠 阿里云 设置帐户信息 登录密码 会员名 一、Linux 系统内部修改密码方法: linux修…

    2023年8月29日
    15500

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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