Android SmsManger 发送报告

2024-04-24

我向多个联系人发送多条消息,并为每个联系人使用以下代码

private void sendSMS(String first, String last, String id, String phoneNumber)
{        
    try {
        String message;
        message = insertName(first, last);

        if (message.equals(null) || message.equals("")) message = "\n";


        String SENT = "SMS_SENT";
        String DELIVERED = "SMS_DELIVERED";

        PendingIntent sentPI = PendingIntent.getBroadcast(this, 0,
            new Intent(SENT), 0);

        PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0,
            new Intent(DELIVERED), 0);

        //---when the SMS has been sent---
        registerReceiver(new BroadcastReceiver()
        {
            public void onReceive(Context arg0, Intent arg1)
            {
                switch (getResultCode())
                {

                    case Activity.RESULT_OK:
                        Toast.makeText(getBaseContext(), "SMS sent", 
                                Toast.LENGTH_SHORT).show();
                        break;
                    case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
                        Toast.makeText(getBaseContext(), "Generic failure", 
                                Toast.LENGTH_SHORT).show();
                        break;
                    case SmsManager.RESULT_ERROR_NO_SERVICE:
                        Toast.makeText(getBaseContext(), "No service", 
                                Toast.LENGTH_SHORT).show();
                        break;
                    case SmsManager.RESULT_ERROR_NULL_PDU:
                        Toast.makeText(getBaseContext(), "Null PDU", 
                                Toast.LENGTH_SHORT).show();
                        break;
                    case SmsManager.RESULT_ERROR_RADIO_OFF:
                        Toast.makeText(getBaseContext(), "Radio off", 
                                Toast.LENGTH_SHORT).show();
                        break;
                }
            }
        }, new IntentFilter(SENT));

        //---when the SMS has been delivered---
        registerReceiver(new BroadcastReceiver()
        {
            @Override
            public void onReceive(Context arg0, Intent arg1) 
            {
                switch (getResultCode())
                {
                    case Activity.RESULT_OK:
                        Toast.makeText(getBaseContext(), "SMS delivered", 
                                Toast.LENGTH_SHORT).show();
                        break;
                    case Activity.RESULT_CANCELED:
                        Toast.makeText(getBaseContext(), "SMS not delivered", 
                                Toast.LENGTH_SHORT).show();
                        break;                        
                }
            }
        }, new IntentFilter(DELIVERED));        

        SmsManager sms = SmsManager.getDefault();
        sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);  

我想找出每条消息的发送报告,如何获取广播消息的数量或任何内容来了解​​该联系人的发送报告?


使用额外的内容创建已传递的挂起意图,您将使用该额外内容来识别已发送的消息。

Intent deliveredIntent = new Intent(DELIVERED + id); 
deliveredIntent.putExtra("id", id); // Add some unique id as an extra
PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0,
       deliveredIntent, 0);

registerReceiver(new BroadcastReceiver()
        {
            @Override
            public void onReceive(Context arg0, Intent arg1) 
            {
                lonng messageID = arg1.getLongExtra("id", -1L);
                if(id!=-1)
                 {
                      // you got your sms delivered with the id
                 }

            }
        }, new IntentFilter(DELIVERED+id));    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android SmsManger 发送报告 的相关文章

  • event.getSource() 返回 null android 中的可访问性

    我尝试使用 DashLane 等辅助服务或其他一些使用辅助服务的应用程序来填充 EditText 字段 我正在使用聚焦事件视图 当 EditText 获得焦点时 事件开始但是getSource 返回空值 Code Accessibility
  • 获取带有注释的所有类并将它们添加到 android 中的 hashMap

    我不确定这是否可能 但我基本上希望能够轻松地将新项目添加到列表中 只需添加带有特殊注释的类即可 我能想到的唯一例子就是我目前正在做的事情 用户可以完成很多 挑战 目前我的应用程序中有一个用于 挑战 的包 我希望能够在该包中创建一个新类 给它
  • 如何更改android上的hosts文件[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我已经成功root了我的三星Galaxy Mini android 2 2 1 并认为我可以改变任何东西 就像root通常可以的那样 我想更改 And
  • Android 添加新日历

    我已经检查了所有从 Android 应用程序中创建新日历的方法 我见过的唯一方法是在最新的 api 版本中使用新的 Calendar API 但这似乎只有在您使用时才有效CalendarContract ACCOUNT TYPE LOCAL
  • Android 创建类似 iphone 的渐变

    我需要在我的 Android 应用程序中创建类似黑色 iphone 的渐变 请查看下图中顶部的黑色渐变 怎么做 谢谢 也许是这样的
  • 如何将内部类的值返回到外部类?

    我想做的是当onSuccess方法执行后 queryLogin return true 而如果onFailuer方法执行后 queryLogin return false 但如您所知 在 java 中 我无法从内部类修改外部类值 所以我只是
  • 如何在android中动态添加项目到listview

    有谁能够帮助我 我正在尝试在 Android 中创建一个 ListView 并且我正在尝试使用代码 不使用 XML 将项目加载到其中 这是我到目前为止的代码 tweetList ListView this findViewById R id
  • 如何更改Android布局中XML片段元素的默认提示值

    默认提示值自动完成 https developers google com places android api autocomplete小部件是Search 如何将该值更改为不同的值String 尝试下面的代码 PlaceAutocomp
  • 所选设备不兼容 - Android Studio

    我之前已经解决了这个问题 但现在不能 我需要永久修复 在测试我的应用程序时 Android Studio 中的一切都很顺利 我现在遇到了 所选设备不兼容 的问题 当我去运行应用程序时 我想知道如何阻止它读取我手机的 API 作为 1 而不是
  • 哪个线程运行 ContentProvider?

    如果我从 Activity 调用 ContentProvider ContentProvider 会在哪个线程中运行 例如 如果 Activity 被终止并且查询正在 ContentProvider 中执行 会发生什么情况 假设您的网络查询
  • 当我们回来时,查看寻呼机片段状态寻呼机适配器出现白屏?

    我已经使用 FragmentStatePagerAdapter 使用视图分页器来加载片段 当我第一次来时 它会工作 但如果我从寻呼机适配器重定向到其他片段并返回 它将显示空白屏幕 fragment community xml
  • 如何创建启动活动,通过按钮调用第二个活动,简单的数据表单 5 个字段和 2 个按钮

    Android 新手需要一个可靠构建的帮助 我可以参考并研究未来的项目 第一个活动是带有按钮的背景图像 单击时会出现 您将看到第二个活动 该活动是一个包含 5 个数据字段和 2 个按钮的表单 一个按钮调用在应用程序内拍照的意图 另一个按钮将
  • 为什么找不到ImageView类?

    当我转到图形布局时 我在创建第一个 Android 应用程序 pdf Android Application Development for For Dummies 中的静默切换模式 时遇到了麻烦 在 main xml 文件中插入了 Ima
  • Android 中识别点击的图像区域?

    有没有办法在 Android 应用程序中确定用户单击了 ImageView 的哪个区域 例如 x y 坐标 谢谢 查看运动事件 http developer android com intl de reference android vie
  • 渲染脚本渲染在Android上比OpenGL渲染慢很多

    背景 我想根据Android相机应用程序的代码添加实时滤镜 但Android相机应用程序的架构是基于OpenGL ES 1 x 我需要使用着色器来自定义我们的过滤器实现 然而 将相机应用程序更新到OpenGL ES 2 0太困难了 然后我必
  • SQLite 和共享首选项的优缺点[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在 SQLite 数据库和共享首选项之间存储信息的良好机制是什么 为什么要使用共享偏好设置 为什么使用sqlite 我试图找出它们之间的区别 以
  • 如何在Fragment之间传递数据?

    对于所有那些投反对票并投票决定关闭这个问题的人 认为它与 textview 的范围有关 然后看看 它与 textview 的范围无关 无法在片段之间传递数据 应用程序崩溃 我不知道我做错了什么 我点击了此链接http manishkpr w
  • 微信登录-收不到token

    我只是遵循了本文中提到的所有内容example https github com aaronbruckner wechatAndroidLoginDemo来自亚伦 布鲁克纳 尝试使用和不使用布尔标志来启用checkSignature 初始化
  • 我想分享带有单个标题的多张图片

    我想分享带有单个标题的多张图片 该标题显示在一张图像上而不是所有图像上 但标题会显示在一次共享的每张照片上 这是我的代码 private void pic with data Intent shareIntent new Intent sh
  • 如何跟踪用户在我的 Android 应用程序上花费了多少时间?

    我想跟踪用户在我的 Android 应用程序上花费了多少时间 当用户在应用程序上处于活动状态时 我可以获取以小时为单位的时间吗 它会自动跟踪 Note 应用程序不在 Google Play 上 此代码将帮助您获取应用程序使用时间 long

随机推荐

  • 将预处理器宏添加到 xcode 6 中的目标

    也许这非常简单 但我找不到在 Xcode 6 中为目标定义预处理器宏的方法 我已经做了一个屏幕截图来显示它在 Xcode 中的位置 因为它更容易 选择项目文件 选择您想要的目标 转到构建设置 搜索 预处理器 添加用于调试 发布或两者的预处理
  • Apache Spark:在分区上并行应用 sklearn 的函数

    我是大数据和 Apache Spark 的新手 也是一名在导师指导下工作的本科生 是否可以将函数 即样条曲线 仅应用于 RDD 的分区 我正在尝试实现论文中的一些工作here http sites stat psu edu rli rese
  • onBackPressed 功能在 IMMERSIVE STICKY 模式下不起作用

    我正在使用沉浸模式进行带有 videoView 的活动 我的目标是当触摸屏幕时 媒体控制器和系统控制栏一起显示或消失 现在一切正常 问题是我无法正常离开活动 当我按一次后退按钮时 系统栏再次隐藏 什么也没有发生 我必须按两次才能退出活动 我
  • Cython 类执行同类 cython 类列表

    我定义了一个泛型类Rule在 Cython 中 它期望cdef方法initialize 我创建了一个类 它本身定义为Rule 但它执行initialize规则列表的方法 cython cdef class Rule cdef initial
  • cells().paste VS cells.pastespecial?

    下面的代码是如何工作的 Range D4 F4 copy cells 1 1 PasteSpecial 虽然下面不起作用 Range D4 F4 copy cells 1 1 Paste 我意识到正确的语法是 Range D4 F4 cop
  • pctl(PR_SET_PDEATHSIG) 竞争条件

    据我了解 当父进程死亡时终止子进程的最佳方法是通过prctl PR SET PDEATHSIG 至少在 Linux 上 父进程退出后如何让子进程终止 https stackoverflow com questions 284325 how
  • JQMIGRATE:jQuery.fn.offset() 需要连接到文档的元素

    我有一个使用 jquery 1 x 的网站 现在 我开始在这个网站中使用 jquery 3 x 为了解决任何迁移问题 我已经安装了 JQMigrate 它在控制台窗口中显示的消息之一是 JQMIGRATE jQuery fn offset
  • ClearFix 与溢出[重复]

    这个问题在这里已经有答案了 这是标准浮动问题 父容器 div 中有一堆浮动元素 由于子级是浮动的 父级不会扩展以包含所有子级 我了解clearfix解决方案以及将父容器div上的溢出属性设置为 自动 或 隐藏 http www quirks
  • 是否有内置的 .NET 异常指示非法对象状态?

    如果遇到非法状态 例如 只能调用一次的初始化方法第二次被调用 我应该抛出什么异常 我真的没有看到任何有意义的内置异常 这看起来应该是框架中的东西 我是不是戳错了地方 无效操作异常 http msdn microsoft com en us
  • 使用启动屏幕 (.xib) 会停止缩放

    据我了解 iOS 8 的应用程序应该有一个故事板文件作为启动屏幕而不是图像 我创建了一个非常简单的启动屏幕文件 它具有任意宽度和任意高度 并且有一个纯文本标签 上面写着 占位符 并将其设置为我的启动屏幕 然而 当我尝试在 iPhone 6
  • Postgresql 和 PHP:currval 是在多用户应用程序中检索最后一行插入的 id 的有效方法吗?

    我想知道我用来检索插入到 postgresql 表中的最后一行的 id 的方法是否有效 显然 它可以工作 但是当我有许多用户同时在同一个表中添加行时 引用串行序列 currval 值可能会出现问题 我的实际做法是 pgConnection
  • 使用 -fno-access-control 进行单元测试

    我见过许多在单元测试时访问私有变量的疯狂方法 我见过的最震撼人心的是 define private public 但是 我从未见过有人建议在编译器级别关闭私有变量 我一直以为你不能 我向许多开发人员抱怨说 如果您可以告诉编译器放弃这个文件
  • 找不到 androidx.camera:camera-view

    我正在开发一个基本的自定义相机应用程序 这些是我的依赖 CameraX core library dependency implementation androidx camera camera camera2 camera version
  • Eclipse CDT - 将静态资源文件复制到 bin_dir

    所以我的问题是 我在 Eclipse 3 5 上的 CDT 6 0 中有一个 C 项目 现在有一个静态资源文件 log4cxx 的 properties 需要复制到构建文件夹 该文件在运行时访问以配置 log4cxx 子系统 并且它需要与可
  • 更改 QT 主窗口的标题字体

    我想知道如何更改 QT 主窗口的标题字体 请参阅随附的屏幕截图 我尝试更改样式表等 但它不起作用 我也尝试使用 C 发送消息 但这也有效 SendMessage form gt effectiveWinId WM SETFONT WPARA
  • 使用 Angular 将对象写入 .json 文件?

    我有一个像这样的对象 text Address of Bowlers game center in Chennai entities entity action value business entity intent value fetc
  • 为什么 std::list 上的 Push_back 会更改使用 rbegin 初始化的反向迭代器?

    根据我发现的一些 STL 文档 在 std list 中插入或删除元素不会使迭代器失效 这意味着允许循环列表 从begin to end 然后使用push front添加元素 例如 在下面的代码中 我用元素 a b 和 c 初始化一个列表
  • Slim 框架总是返回 404 错误

    这些天我正在使用纤薄的框架作为我开发 php web api 的最简单的工具 使用这两篇 文章 科恩拉茨 http coenraets org blog 2011 12 restful services with jquery php an
  • 登录失败时生成 Python PXSSH GUI

    当登录失败时 我无法阻止 GUI 的生成 失败并生成 GUI 的简单示例 gt gt gt import pxssh gt gt gt gt gt gt ssh pxssh pxssh gt gt gt ssh force password
  • Android SmsManger 发送报告

    我向多个联系人发送多条消息 并为每个联系人使用以下代码 private void sendSMS String first String last String id String phoneNumber try String messag