通过使用意图启动带图像的mms,而无需通过意图选择器

时间:2017-01-16 09:25:52

标签: android android-intent

我想使用手机上的默认文字应用程序启动mms消息。但是,当我使用下面的代码时,它可以正常工作但我首先被带到意图选择器页面,其中包含我可以选择处理我的意图的所有应用程序。有没有办法按照我目前的方式使用意图,但无需通过意图选择器。我希望它能立即在手机上的默认短信应用程序中创建mms。

public void sendImage(View v)
{
    Intent mmsIntent = new Intent(Intent.ACTION_SEND);
    mmsIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File("/storage/emulated/0/DCIM/Camera/smile.png")));
    mmsIntent.setType("image/png");
    startActivity(mmsIntent);
}

1 个答案:

答案 0 :(得分:0)

尝试执行以下操作

Intent eventIntentMessage =getPackageManager()
 .getLaunchIntentForPackage(Telephony.Sms.getDefaultSmsPackage(getApplicationContext));
startActivity(eventIntentMessage);

它仅适用于SDK_INT> = 19

您还可以尝试以下

Intent sendIntent = new Intent(Intent.ACTION_SEND); 
sendIntent.setClassName("com.android.mms","com.android.mms.ui.ComposeMessageActivity");
sendIntent.putExtra("sms_body", "some text"); 
sendIntent.putExtra(Intent.EXTRA_STREAM,     
Uri.parse("file:///sdcard/image_4.png"));
sendIntent.setType("image/png");
startActivity(sendIntent);