【问题标题】:Android delete sms messages in sent boxAndroid 删除已发送框中的短信
【发布时间】:2014-08-11 15:49:34
【问题描述】:

在 Android KitKat 之前,可以使用以下方法发送 SMS 消息,而无需将它们存储在设备上已安装消息应用程序的已发送文件夹中:

SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phonenumber, null, message, null, null);

但是在 KitKat 之后是如何做到的呢?您是否必须删除应用程序发出的消息?如果是这样,它是如何正确完成的?

【问题讨论】:

    标签: android sms android-4.4-kitkat smsmanager


    【解决方案1】:

    从 KitKat 开始,任何具有SEND_SMS 权限的应用程序都可以使用标准的SmsManager 方法发送消息,系统会自动处理将消息写入 Provider。由于默认应用是唯一对 Provider 有写入权限的应用,因此它是唯一可以删除消息的应用,因此任何非默认应用都无法删除那些自动写入的消息。* 如果您不希望它们被写入,则应将您的应用设置为默认短信应用。默认应用负责编写自己的传出消息,它可以选择不这样做。


    * 可以在the answer here 中找到针对 Android 4.4 (KitKat) 中写入访问限制的可能解决方法。

    【讨论】:

    • 事实上,这是与您接受的答案相同的问题 :) stackoverflow.com/questions/20158998/…
    • @GoRoS 不完全相同,但它解释了为什么尝试从非默认应用中删除不起作用。
    • 啊,我明白了。因此,不是默认短信应用的应用无法删除短信(写入权限)。
    • 后台发送短信的应用怎么样?是否可以将其设置为默认短信应用?
    • @MikeM。这就是我现在所做的......我为我的应用程序创建了活动并在清单中定义了该权限,它现在显示在默认列表中。一旦我确认一切正常,我会更新你.. :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-07
    • 1970-01-01
    • 2011-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多