发送短信时ACTION_SENDTO和ACTION_VIEW有什么区别?

sho*_*ren 9 android

我有一个应用程序将消息发送到指定的联系人.现在我用

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("smsto:" + phoneNumber));
Run Code Online (Sandbox Code Playgroud)

发送消息,它在模拟器和我的N1上运行良好.我收到HTC用户的抱怨令人难以置信,当他们使用它时,他们会从android.mms应用程序中获得强制关闭.我做了更多挖掘,我发现有很多方法可以发送消息.例如

Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:" + phoneNumber));
Run Code Online (Sandbox Code Playgroud)

并且

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.putExtra("address", phoneNumber);
intent.setType("vnd.android-dir/mms-sms");
Run Code Online (Sandbox Code Playgroud)

它们似乎在模拟器和我的设备上完全相同,我找不到任何关于正确的,通常支持的方式的官方.有任何想法吗?

Mac*_*rse 0

我将尝试看看他们是如何在通讯录应用程序上做到这一点的。

过去,我遇到过很多 HTC Hero 的兼容性问题。我总是最终编写适用于具有 Sense UI 的手机的代码。我发现如果代码在那里工作,它就可以在每个 Android 设备上工作:)。