首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过编程更改默认应用程序?

如何通过编程更改默认应用程序?
EN

Stack Overflow用户
提问于 2013-11-27 16:13:37
回答 1查看 2.8K关注 0票数 1

我有一个应用程序,它拥有设备管理权限。我的应用程序监控接收短信,并通过一些逻辑传递内容。我可以更改默认的SMS应用程序为我的应用程序编程。我的应用程序检查垃圾邮件,所以它需要读/写/更新SMS db。我想给kitkat找个解决办法。

我刚刚注意到,我的应用程序上的短信通知不再是接收到的新SMS的通知,而是“新Hangout消息”通知,这些通知是由于接收到的SMS消息而引起的。因此,我的应用程序也无法接收到SMS_RECEIVED接收到的短信。

谷歌的安卓开发者在博客上发表了有关Kitkat新的SMS API的文章,称只使用SMS_RECEIVED的应用程序不会有任何改变,也不会试图向短信提供商写短信。

我一直认为SMS_RECEIVED广播是可以中止的。但是Android4.4api网站却说了一些不同的话:“当一个新的短消息通过监听SMS_RECEIVED_ACTION广播到达时,…是一个不可中止的广播…”。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-27 16:29:24

我可以通过编程将默认的SMS应用程序更改为我的应用程序吗?

不是直接的。您可以提示用户更改默认的SMS应用程序。

我的应用程序检查垃圾邮件

将代码重新打包为库,并将其授权给SMS客户端。

因此鹅卵石应用程序也无法接收到SMS_RECEIVED传入的文本消息。

可能鹅卵石应用程序只是有其他问题,并且在通知鹅卵石之前就崩溃了。或者,鹅卵石应用程序可能是为Android4.4更新的,因为它知道不能停止Hangout通知,所以简单地取消了自己的通知。

Google的Android开发者在博客上写了一篇关于Kitkat新的SMS API的文章,说只使用SMS_RECEIVED的应用程序不会改变什么,也不要试图向短信提供商写短信。

这不是这篇博文说所做的。

我一直认为SMS_RECEIVED广播是可以中止的。

这个无文件记录的、不受支持的广播是通过Android4.3命令进行的、可中止的广播。Android 4.4的情况已不再如此,通过阅读上述博客文章就可以看出这一点:

请注意--从Android4.4开始--您的应用程序中止SMS_RECEIVED_ACTION广播的任何尝试都将被忽略,因此所有感兴趣的应用程序都有机会接收它。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20247495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档