将MMS意图与图像文件一起使用

时间:2010-12-30 18:09:27

标签: java android sms mms

所以我试图调用一个将图片附加到短信的意图。下面的代码正确地显示了一个文本消息窗口,其中包含模拟器上的图像,但在我的手机上崩溃了(Droid X)。

            String name = FILE_NAME;

            Uri uri = Uri.fromFile(new File(name));

            Intent intent = new Intent(Intent.ACTION_SEND); 
            intent.setClassName("com.android.mms", "com.android.mms.ui.ComposeMessageActivity"); 
            intent.putExtra(Intent.EXTRA_STREAM, uri);
            intent.setType("image/png"); 
            startActivity(intent); 

12-30 12:56:50.628: ERROR/AndroidRuntime(14603): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.android.mms/com.android.mms.ui.ComposeMessageActivity}; have you declared this activity in your AndroidManifest.xml?

问题是.setClassName行。我将值硬编码到类中,这可能是错误的。我应该在这里使用什么来支持所有手机?

谢谢大家。

2 个答案:

答案 0 :(得分:3)

根本不要设置类名。这将导致Android为您找到最佳活动,必要时启动应用选择器对话框。

另一种方法是解决意图的所有可能活动,并使用一些逻辑来确定您喜欢哪一个,并默认让Android选择是否您的逻辑不能选择一个。尽管如此,如果您的目标只是让用户发送彩信,那么就不需要那么高的细节了。

答案 1 :(得分:0)

sendIntent.setPackage( “com.android.mms”);

将解决您的问题