2012-05-23 2 views
3

Я пробовал следующее, но ни один из них не достигает моей цели.Как подключить изображение в MMS программно в android

следующий код, показывающий выбор.

Intent mmsIntent = new Intent(Intent.ACTION_SEND); 
      mmsIntent.putExtra("sms_body", "some text"); 
      mmsIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file)); 
      mmsIntent.setType("image/png"); 
      startActivity(mmsIntent); 

следующие кодовые обозначения составляют сообщение, но изображение не прилагается.

Intent smsIntent = new Intent(Intent.ACTION_SENDTO); 
     smsIntent.addCategory(Intent.CATEGORY_DEFAULT); 
     smsIntent.setType("vnd.android-dir/mms-sms"); 
     smsIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));//Uri.parse(url)); 
     smsIntent.setData(Uri.parse("sms:" + "89565656")); 
     startActivity(smsIntent); 

Но мне нужно сообщение зрения составляет с моим изображением с сд карты. Как это достичь.

Вы заранее ...!

ответ

3

Попробуйте

Intent mmsIntent = new Intent(Intent.ACTION_SEND); 
//file is the file on the SD Card 
mmsIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(file.toURL().toString())); 
mmsIntent.setType("image/png");//mmsIntent.setType("image/*"); Maybe? 
startActivity(mmsIntent); 
+0

Спасибо за ответ. Но этот код также показывает выбор. – Noby

+0

Hm, нужная вам деятельность com.android.mms.ui.ComposeMessageActivity. (См. LogCat при создании новых mms). Вы не можете получить прямой доступ к нему. – UnknownJoe

0

Попробуйте этот код, если не хотите, чтобы открыть Chooser и непосредственно прикрепить изображение

PackageManager pm = getPackageManager(); 
    Intent sendIntent = new Intent(Intent.ACTION_SEND);  


    List<ResolveInfo> resInfo = pm.queryIntentActivities(sendIntent, 0); 
    for (int i = 0; i < resInfo.size(); i++) { 
     ResolveInfo ri = resInfo.get(i); 
     String packageName = ri.activityInfo.packageName; 

     if(packageName.contains("mms")) { 
      Log.d("TAG", packageName + " : " + ri.activityInfo.name); 
      sendIntent.setComponent(new ComponentName(packageName, ri.activityInfo.name)); 
     } 
    } 

    sendIntent.putExtra("address", "03434690494"); 
    sendIntent.putExtra("sms_body", "some text"); 
    sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("/sdcard/DCIM/Camera/image.jpg")); 
    sendIntent.setType("image/*"); 
    startActivity(sendIntent); 
Смежные вопросы