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

相关推荐

  • 南昌阿里云代理商:ajax数据库交互

    南昌阿里云代理商可以使用ajax来进行数据库交互。以下是一个基本的示例: 首先,在前端页面中,使用ajax来发送请求到后端服务器: $.ajax({ url: 'api.php', // 后端服务器接口地址 method: 'POST', data: {param1: value1, param2: value2}, …

    2024年1月30日
    67300
  • 中建八局阿里巴巴云计算中心

    中建八局八个地区性事业部有哪些 从北向南 大连公司、天津公司、西北公司、青岛公司、总承包公司、西南公司、广州公司、广西公司 中建八局哪个子公司待遇最好 待遇最好的是上海的总承包 如果那个你去不了 就看看你以后想在那发展了 都是区域化管理 青岛 大连 天津 都不错 待遇也差不多 大连公司在东北最厉害 比三局都厉害 天津公司在天津 也是受地方保护 西北公司在西北…

    2023年8月27日
    69500
  • 阿里云怎么测试ping值的

    阿里云怎样在案例中进行ping测试 很简单的,无论是windows还是linux,在命令提示符或者shell当中输入ping 目标ip -t 就好啊。 怎么用Ping命令测试自己的Ping值? Ping用于确定本地主机是不是可以与另外一台主机成功交换数据包,然后再根据返回的信息,我们就可以大致判断TCP/IP参数是否设置正确,网络是否畅通了。 怎样测试出pi…

    2023年8月26日
    67800
  • 贵港阿里云企业邮箱代理商:钉钉邮箱怎么改自己的前缀

    贵港阿里云企业邮箱代理商:钉钉邮箱怎么改自己的前缀 1. 钉钉邮箱简介 钉钉是阿里巴巴集团旗下的一款企业通讯工具,提供了邮箱服务以满足企业日常沟通和协作的需求。钉钉邮箱是基于阿里云企业邮箱技术开发而成的,具有高可靠性和安全性。 2. 阿里云企业邮箱优势 阿里云企业邮箱作为国内领先的企业邮箱服务商,具有以下优势: 稳定可靠:由阿里云提供技术支持,具备高可靠性和…

    2024年1月26日
    66200
  • 阿里云音视频岗位面试

    阿里云音视频(Aliyun ApsaraVideo)岗位面试可能会涉及以下方面的内容: 音视频编解码:了解音视频编解码原理,熟悉常用的编码标准(如H.264、H.265),了解编解码过程中的核心算法(如变换、运动估计等)。 流媒体传输协议:了解常见的流媒体传输协议(如RTMP、HLS、DASH等),以及各自的特点和应用场景。 音视频处理技术:熟悉音视频处理的…

    2023年8月10日
    66600

发表回复

登录后才能评论

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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