在我的 Android 应用程序中,我只需要使用预先填充的message_body和PhoneNumber打开 SMS 意图。
以下是我正在尝试的代码
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 应用程序),则功能会中断。
问题是,即使它正确选择了电话号码(在 FB Messenger APP 中),它也会在没有message_body (空)的情况下打开 FB Messenger。
此外,我尝试了以下测试,但没有选择 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
问题
- 即使有人将任何其他 3rd 方 SMS 应用程序设置为默认应用程序,有没有办法强制打开默认的 Android SMS 应用程序(消息应用程序)?
- 或者我可以通过什么其他方式传递 message_body 参数以在其他 3rd 方应用程序中工作?