【发布时间】:2016-07-27 12:33:14
【问题描述】:
我正在使用此答案中的代码:How to open specific sms in Android,它运行良好。
但在装有 Android 6.0 (apiVerion >= Build.VERSION_CODES.M) 的设备上,我的应用程序崩溃了。
崩溃日志:
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW cat=[android.intent.category.DEFAULT] dat=content://mms-sms/conversations/50 flg=0x10000000 }
如何使它适用于这个 Android 版本?
【问题讨论】:
-
我猜是因为许可。您应该在 android 6.0 及更高版本的运行时处理 SMS 权限。 :) 请检查this
-
@SripadRaj 谢谢你-这是很好的猜测,但这不是问题。我确定我已授予 READ_SMS 权限。为了找出对话threadId,我在收到的短信中搜索特定文本,找到后我在默认应用程序中打开它。如果我有权限问题,我将无法首先找到 threadId。而且整个短信相关的代码都在这个条件内:
if (ActivityCompat.checkSelfPermission(App.context, android.Manifest.permission.READ_SMS) == PackageManager.PERMISSION_GRANTED) {你还有其他猜测吗? -
我猜它无法正确解决意图。也许尝试将类型设置为这样的意图?
intent.setType("vnd.android-dir/mms-sms"); -
不走运。它仍然不起作用。不过还是谢谢你。