如何从非默认应用程序发送Android Kitkat中的SMS而无需写入SMS提供程序

如何从非默认应用程序发送Android Kitkat中的SMS而无需写入SMS提供程序,第1张

概述我的 Android应用使用短信静默发送通知.在Kitkat之前,这些通知未记录到SMS提供程序中,因此未出现在用户的对话列表中.这是应用程序所需的行为. 随着Kitkat SMS更改(请参阅下面引用的SmsManger文档),这些消息仍在发送,但现在会自动写入SMS提供程序,从而显示在用户的会话列表中.这不适合我的应用. Beginning with Android 4.4 (API level 我的 Android应用使用短信静默发送通知.在Kitkat之前,这些通知未记录到SMS提供程序中,因此未出现在用户的对话列表中.这是应用程序所需的行为.

随着Kitkat SMS更改(请参阅下面引用的Smsmanger文档),这些消息仍在发送,但现在会自动写入SMS提供程序,从而显示在用户的会话列表中.这不适合我的应用.

Beginning with AndroID 4.4 (API level 19),if and only if an app is not selected as the default SMS app,the system automatically writes messages sent using this method to the SMS ProvIDer (the default SMS app is always responsible for writing its sent messages to the SMS ProvIDer). For information about how to behave as the default SMS app,see Telephony.

听起来我可以通过将我的应用程序设为默认值然后不写入提供程序来阻止自动写入提供程序.但是,在我的应用程序环境中,这将是一个糟糕的用户体验,因此我只会将其视为绝对的最后手段.

我的问题是 – 有没有办法在Kitkat中静默发送短信而我的应用程序不必是默认应用程序?

我已经阅读了对这个问题Send SMS message using non default SMS app on Android 4.4的回复,但更关心的是确保将消息写入提供者.我不希望这样.

解决方法 简短的回答是否定的.

答案很长:

实际上有选择,但它涉及很多工作.一种是下载aosp的源代码并修改mms.apk以允许它从您的应用程序接收意图以发送短信而无需写入提供者.

另一种方法是baksmali你的手机默认短信应用程序和添加smali代码,这将允许你做上述相同.这需要了解smali和反编译/重新编译apks的技术知识.

话虽如此,但是会出现一些问题,例如如果电话用户决定使用第三方sms / mms应用程序来满足他们的短消息需求.

总结

以上是内存溢出为你收集整理的如何从非默认应用程序发送Android Kitkat中的SMS而无需写入SMS提供程序全部内容,希望文章能够帮你解决如何从非默认应用程序发送Android Kitkat中的SMS而无需写入SMS提供程序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1135520.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存