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

相关推荐

  • 苏州阿里云代理商:阿里云rds数据库登录

    苏州阿里云代理商:阿里云RDS数据库登录 阿里云:全球领先的云计算服务提供商 阿里云是全球领先的云计算服务提供商,拥有强大的技术实力和丰富的云计算产品线。作为苏州地区的阿里云代理商,我们为您带来了最新的产品和解决方案。 什么是阿里云RDS数据库? 阿里云RDS(Relational Database Service)是阿里云提供的一种稳定、可靠、可扩展的关系…

    2024年1月7日
    71300
  • 阿里云服务器租用教程

    阿里云服务器(ECS)租用教程: 注册阿里云账号: 打开阿里云官方网站(https://www.aliyun.com/)。 点击右上角的“注册”按钮,进入注册页面。 根据页面提示填写注册信息,包括手机号码、邮箱地址、密码等。 完成注册流程。 登录阿里云控制台: 打开阿里云官方网站(https://www.aliyun.com/)。 点击右上角的“登录”按钮,…

    2023年9月26日
    68800
  • 阜宁阿里云企业邮箱代理商:企业邮箱地址在哪里找的

    阜宁阿里云企业邮箱代理商:企业邮箱地址在哪里找的 企业邮箱地址的重要性 企业邮箱地址是企业与外界沟通的重要渠道,能够展现企业的专业形象和品牌价值。一个专业且个性化的企业邮箱地址不仅能提高邮件的送达率,还能增强客户对企业的信任感。 阿里云企业邮箱优势 作为国内领先的云计算服务提供商,阿里云企业邮箱拥有稳定可靠的服务器和高效的数据加密技术,保障企业邮件的安全性和…

    2024年2月22日
    72400
  • 阿里云国际站代理商:阿里云 原理

    阿里云国际站代理商是指与阿里云合作的公司或个人,代理销售阿里云在国际市场上的产品和服务。阿里云是阿里巴巴集团旗下的云计算服务品牌,为企业和个人提供云计算基础设施、云存储、人工智能、大数据分析等各种云服务。 阿里云国际站代理商的原理是在与阿里云签约后,代理商可以通过阿里云提供的渠道和平台,销售阿里云的产品和服务,并从中获得相应的佣金或回报。代理商与客户之间的交…

    2024年2月16日
    76800
  • 上海阿里云代理商:android引导页实现

    在Android应用中实现引导页,可以让用户更好地了解应用并且提高用户的参与度。以下是实现引导页的基本步骤: 创建引导页布局文件在res/layout文件夹下创建一个新的布局文件,用于放置引导页的视图组件,如ImageView、TextView等。 创建Activity并设置布局在AndroidManifest.xml文件中声明一个新的Activity,并在…

    2023年12月27日
    69900

发表回复

登录后才能评论

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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