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

Like (0)
luotuoemo的头像luotuoemo
Previous 2024年3月9日 21:21
Next 2024年3月9日 22:00

相关推荐

  • 和县阿里云企业邮箱代理商:阿里云服务器怎么传文件

    和县阿里云企业邮箱代理商:阿里云服务器怎么传文件 作为和县阿里云企业邮箱代理商,我们深知企业邮箱的重要性和便利性。阿里云企业邮箱提供了稳定、安全、高效的邮件服务,让企业能够更好地管理和沟通。今天我们将分享一下在使用阿里云企业邮箱后的一些感受,并解答大家关心的问题:如何在阿里云服务器上传文件。 使用阿里云企业邮箱的感受 首先,我们要说说使用阿里云企业邮箱的感受…

    2024年2月26日
    7800
  • 衡阳阿里云代理商:app和服务器时间同步

    将app和服务器时间同步的方法如下: 1.在app中添加获取服务器时间的API接口。通过该接口获取服务器时间戳。 2.在app本地获取系统时间戳。可以使用系统自带函数获取当前系统时间戳。 3.计算出服务器时间与本地时间的时间差。 4.将时间差加入本地时间戳中,即可获得与服务器时间同步的时间。 5.将同步后的时间作为请求服务器API时的时间戳参数,保证时间的一…

    2024年3月7日
    8000
  • 文山阿里云企业邮箱代理商:阿里邮箱群发

    文山阿里云企业邮箱代理商:阿里邮箱群发 1. 阿里云企业邮箱优势 阿里云企业邮箱是一款基于阿里云服务的企业级邮箱解决方案,具有以下优势: 稳定可靠:基于阿里云强大的云计算能力,拥有高可靠性和稳定性。 安全保障:提供全面的安全防护机制,包括防病毒、防垃圾邮件等功能,保障企业信息安全。 灵活配置:支持自定义域名,企业可以根据需求定制专属的企业邮箱域名。 多终端适…

    2024年2月11日
    7000
  • 宁德阿里云代理商:阿里云邮箱企业登录

    阿里云邮箱是一款基于云计算技术的企业级邮箱服务,提供稳定、安全、可靠的企业邮箱服务。作为宁德地区的阿里云代理商,您可以通过以下步骤登录阿里云邮箱企业版: 打开阿里云邮箱企业版登录页面,链接为:https://qiye.aliyun.com/ 在登录页面中,输入您的企业邮箱域名,如:youremail.com,然后点击【下一步】按钮。 在下一个页面中输入您的企…

    2024年1月9日
    8300
  • 汕头阿里云企业邮箱代理商:阿里云服务器不用了怎么关闭

    汕头阿里云企业邮箱代理商:阿里云服务器不用了怎么关闭 阿里云企业邮箱是一款基于阿里云平台提供的企业级邮件解决方案,具有以下优势: 优势: 1. 安全可靠:阿里云企业邮箱采用了先进的防护技术,保障企业邮件传输的安全性。 2. 稳定性强:作为阿里云平台上的应用,阿里云企业邮箱拥有优秀的稳定性和可靠性,确保企业邮件系统的正常运行。 3. 弹性扩展:企业邮箱用户数量…

    2024年2月20日
    7600

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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