当前位置: 首页 > 面试题库 >

Android4.4无法使用“ vnd.android-dir / mms-sms”处理短信意图

柴高岑
2023-03-14
问题内容

我的应用程序有一个按钮可以启动默认的短信活动,它在所有android版本(新版本Android 4.4(kitkat)除外)上都能正常工作,代码如下:

public void onClick(View arg0) {
    Intent smsIntent = new Intent(Intent.ACTION_VIEW);
    smsIntent.setType("vnd.android-dir/mms-sms");
    smsIntent.putExtra("address", member.getPhoneNumber().trim());
    context.startActivity(smsIntent);
}

我收到错误消息

11-08 02:08:32.815: E/AndroidRuntime(14733): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW typ=vnd.android-dir/mms-sms (has extras) }

我知道Google对默认短信应用程序处理短信意图的方式进行了一些更改。但是我的应用程序不是短信应用程序,它仅具有使用收件人号码启动默认短信应用程序的功能。所以请帮忙


问题答案:

要使用填充的数字启动SMS应用程序,请执行以下操作ACTION_SENDTO

Intent intent = new Intent(Intent.ACTION_SENDTO);
intent.setData(Uri.parse("smsto:" + Uri.encode(phoneNumber)));
startActivity(intent);

这将在Android
4.4上运行。它也应该在早期版本的Android上运行,但是由于API从未公开过,因此行为可能会有所不同。如果您的先前方法没有问题,我可能会坚持使用4.4之前的版本并ACTION_SENDTO用于4.4+。



 类似资料:
  • 本文向大家介绍nginx限制IP恶意调用短信接口处理方法,包括了nginx限制IP恶意调用短信接口处理方法的使用技巧和注意事项,需要的朋友参考一下 真实案例: 查看nginx日志,发现别有用心的人恶意调用API接口刷短信: 思考了几种方案,最终考虑使用ip黑名单的方式: 处理方法: 一、nginx黑名单方式: 1、过滤日志访问API接口的IP,统计每10分钟调用超过100次的IP,直接丢进ngin

  • 谁能告诉我如何让我的应用程序知道是否有新的SMS或MMS消息进入本机收件箱消息??? 我想让我的申请知道如果有新的消息,请任何人通知我,将不胜感激 萨米娅

  • 前面讲到了 libevent 实现多线程的方法,然而在多线程的环境中注册信号事件,还是有一些情况需要小心处理,那就是不能在多个 libevent 实例上注册信号事件。依然冠名追加到 libevent 系列。 以 2 个线程为例,做简单的场景分析。 1 首先是创建并初始化线程 1 的 libevent 实例 base1 ,线程 1 的 libevent 实例 base2 ; 2 在 base1 上注

  • 本文向大家介绍Android接收和发送短信处理,包括了Android接收和发送短信处理的使用技巧和注意事项,需要的朋友参考一下 关于短信接收处理方面,当前已经有一些app做的比较好了,比如发给手机发验证码验证的问题,很多app在手机接收到验证码后,不需要输入,就直接可以跳过验证界面,这就是用到了对接收到的短信的处理。至于短信的发送,也没什么好说的了。在此也只是附上一个小实例。 效果图: MainA

  • 本文向大家介绍Java通过SMS短信平台实现发短信功能 含多语言,包括了Java通过SMS短信平台实现发短信功能 含多语言的使用技巧和注意事项,需要的朋友参考一下 Java通过SMS短信平台实现发短信功能  在项目中使用过发短信的功能,但那个由于公司内部的限制很麻烦,今天在网上找到一个简单的,闲来无事就把它记录如下: 本程序是通过使用中国网建提供的SMS短信平台实现的(该平台目前为注册用户提供5条