2011-08-30 38 views
1

我正在從如何從我的應用程序發送一個彩信在android。發送一張圖片作爲彩信

我將名爲image1.png的圖像複製到文件資源管理器中的sdcard文件夾中。它位於mnt - > sdcard - > image1.png

我運行模擬器並掃描媒體,我可以在圖庫中找到圖像。

現在發送彩信我用下面的代碼

................................ .................................................. 。

Intent pic = new Intent(Intent.ACTION_SEND); 
    pic.putExtra("sms_body", "click the above image"); 
    String url = "\\sdcard\\image1.png"; 
    pic.putExtra(Intent.EXTRA_STREAM, Uri.parse(url)); 
    pic.setType("image/png"); 
    startActivity(pic); 

.......................................... .........................................

模擬器與SD卡已經運行,現在當我運行應用程序時,它打開了一個TO字段的mms apllication,還提到了sms body,但是圖像沒有附加。繼我的屏幕上的烤麪包信息

........................................ ...........................................

「對不起,你不能將此圖片添加到您的消息「

...................................... .............................................

can有人幫我解決這個問題嗎?

我不明白uri的概念。有人可以幫我嗎。

非常感謝

+0

下面的鏈接將有助於您 http://stackoverflow.com/questions/6893788/using-android-action-send-to-send-image-via-messenger-and-facebook – chiranjib

+0

感謝您的鏈接..我試着複製粘貼代碼提到但它顯示sendMMS無法返回類型void .. –

回答

1

更改您的代碼

Intent pic = new Intent(Intent.ACTION_SEND); 
pic.putExtra("sms_body", "click the above image"); 

String external = Environment.getExternalStorageDirectory().toString(); 
String path = "file://" + external + "/image1.png"; 

pic.putExtra(Intent.EXTRA_STREAM, Uri.parse(path)); 
pic.setType("image/png"); 
startActivity(pic); 

所以,其實你需要預先附加的「文件://」