gpt4 book ai didi

android - 如何在 Android 6 Marshmallow 中获取短信草稿

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:27:42 25 4
gpt4 key购买 nike

我的问题仅针对 Android 6(从 SDK v23 开始)。我需要获取所有 SMS,甚至草稿以供将来处理。这里没什么特别的,使用了以下和平代码:

context.getContentResolver().query(Uri.parse("content://sms/"),
new String[] {...}, null, null, null)

这项工作非常适合 Android 5,这意味着我可以收到所有 SMS 消息,包括草稿。但在所有搭载 Android 6 的设备上,我只收到发送和接收的消息,没有草稿。在尝试查询 SMS 之前尝试将我的应用设置为默认 SMS - 但运气不好,在 Android 6 上我仍然无法收到草稿消息。什么问题?我已经找到了一些相关的帖子 SMS missing from content provider results on Android Marshmallow但这根本不能解决我的问题。

最佳答案

对于 Marshmallow,您需要添加运行时权限以读取消息。

像这样检查权限

int permissionCheck = ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.READ_SMS);

如果权限被拒绝,那么在运行时询问

ActivityCompat.requestPermissions(this, new String[]{{Manifest.permission.READ_SMS}, PERMISSIONS_REQUEST_READMESSAGE);

要访问草稿,这是内容提供者的 URI。

草稿的内容提供者是

content://sms/draft

注意:不要忘记添加权限

<uses-permission android:name="android.permission.READ_SMS"></uses-permission>

关于android - 如何在 Android 6 Marshmallow 中获取短信草稿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38344878/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com