在Android 4.4.2上更改SMS应用程序默认值

 醉后余欢0醒后亦欢 发布于 2023-01-30 08:33

我会更改Android 4.4.2上的默认短信应用程序

我用这个代码:

Intent sendIntent = new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT);
sendIntent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, context.getPackageName());
startActivity(sendIntent);

我怎么解决这个问题?我怎么能要求用我的应用程序更改默认的短信应用程序?

我的接收者:


            
        

            
        

谢谢.

2 个回答
  • 似乎如果您希望您的应用程序显示在默认的短信应用程序设置中,您必须首先使其符合条件,否则您无法将您的应用程序设置为默认短信应用程序.我有同样的问题,所以我做了那些简单的步骤然后我可以选择我的应用程序默认,在设置和我的代码,我以前不能.

    所以:

    您必须拥有一个活动,包括带有ACTION_SENDTO("android.intent.action.SENDTO")的意图过滤器以及模式短信,smsto,mms和mmsto.在清单文件中执行此操作.我做的是用这些参数创建一个我不会使用的空活动.

    通过使用ACTION_RESPOND_VIA_MESSAGE("android.intent.action.RESPOND_VIA_MESSAGE")以及模式,短信,smsto,mms和mmsto创建包含意图过滤器的空服务来执行相同操作.此服务还必须具有SEND_RESPOND_VIA_MESSAGE权限.您必须在清单中添加所有必需的权限.

    使用MIME类型application/vnd.wap.mms-message创建一个包含带有WAP_PUSH_DELIVER_ACTION("android.provider.Telephony.WAP_PUSH_DELIVER")的intent过滤器的空BroadcastReceiver.广播接收器还必须具有BROADCAST_WAP_PUSH权限.您必须在清单中添加所有必需的权限.

    使用SMS_DELIVER_ACTION("android.provider.Telephony.SMS_DELIVER")创建一个包含intent过滤器的空BroadcastReceiver.广播接收器还必须要求BROADCAST_SMS权限.您必须在清单中添加所有必需的权限.

    设置所有这些参数而不丢失参数非常重要.完成所有这些步骤后,您的应用程序将符合条件,然后您可以将其设置为默认的短信应用程序,将创建的类留空,并坚持使用旧的做法.目标只是将您的应用程序设置为默认值,因此它将像以前一样完全不受影响,无需修改代码.

    2023-01-30 08:41 回答
  • 我会更改Android 4.4.2上的默认短信应用程序

    您无法更改默认的SMS应用程序.但是,您可以要求用户使用更改默认的SMS应用程序Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT.有关Android 4.4中SMS更改的官方博客文章对此进行了介绍.

    2023-01-30 08:42 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有