【发布时间】:2018-08-25 13:52:34
【问题描述】:
在我的 Android 应用程序中,我只需要使用预先填充的 message_body 和 PhoneNumber 打开 SMS Intent。
以下是我正在尝试的代码
Uri uri = Uri.parse(String.format("smsto:%s", strPhoneNumber));
Intent smsIntent = new Intent(Intent.ACTION_SENDTO, uri);
smsIntent.putExtra("sms_body", "Sample Body");
startActivityForResult(smsIntent, OPEN_SMS_APP);
在默认情况下一切正常,但如果 Facebook Messenger 已安装并将其设置为默认 SMS 应用程序(设置 -> 应用程序和通知 -> 默认应用程序 -> SMS 应用程序)然后功能中断。
问题是,它在没有 message_body(空)的情况下打开 FB Messenger,即使它正确选择了电话号码(在 FB Messenger APP 中)。
此外,我尝试了以下测试,但没有选择 SMS_BODY 或打开默认的 Android APP
smsIntent.addCategory(Intent.CATEGORY_APP_MESSAGING); // STILL DIDN'T FIX
smsIntent.putExtra(Intent.EXTRA_TEXT, "Sample Body"); // STILL DIDN'T FIX
问题
- 有没有办法强制打开默认的 Android 短信 应用程序(消息应用程序),即使有人将任何其他 3rd 方短信应用程序设置为默认应用程序?
- 或者我可以通过任何其他方式传递 message_body 参数以在其他 3rd 方应用程序中工作吗?
【问题讨论】:
-
Facebook Messenger 已损坏。将其作为错误报告给 facebook,他们应该查看 body 字段。他们没有。
-
仅尝试使用
new Intent(Intent.ACTION_VIEW, Uri.fromParts("sms", number, null)),不要添加Intent.CATEGORY_APP_MESSAGING。我认为 URIsms不应该选择 fbmessanger app 。还是我在这里遗漏了什么? -
其实我只是通过前员工反馈渠道举报的。我们会看看它是否得到任何关注。
-
@ADM,也试过了。问题是它显示了所有的 SMS 应用程序,但如果用户选择 FB Messenger,那么同样的问题会再次出现。此外,如果用户第一次选择始终打开 FB Messenger 的复选框,那么即使它不会再次显示列表。谢谢
-
据信使团队消息,该问题在2月初就已经出现,将在下一个版本中修复。
标签: android facebook android-intent android-facebook android-sms