2012-12-10 48 views
1

我想一些文字彩信Android.I這裏找到了很多SO以及對谷歌,但仍然沒有得到正確的解決方案yet.My代碼中附加圖片是:如何發送圖像附件和Android中的一些文本彩信?

Intent sendIntent = new Intent(Intent.ACTION_SEND); 
      sendIntent.setType("image/png"); 
      sendIntent.putExtra("sms_body", 
        getResources().getText(R.string.Message)); 
      // sendIntent.setType("vnd.android-dir/mms-sms"); 

      Uri mms_uri = Uri.parse("android.resource://" 
        + getPackageName() + "/" + R.drawable.app_logo); 

      sendIntent.putExtra(Intent.EXTRA_STREAM, mms_uri.toString()); 

      startActivity(Intent.createChooser(sendIntent, "")); 

請幫助我爲我的這個問題。

+0

你運行當前代碼時出現錯誤? –

+0

沒有沒有得到任何錯誤,但我不能附上圖像,這是它。我不知道我錯了。我可以給你任何關於MMS圖像附件的建議嗎? – Biginner

回答

0

你有這樣的幸運嗎?我試過類似的方法,發現

Uri mms_uri = Uri.parse("android.resource://" + getPackageName() + "/" + R.drawable.app_logo); 

不通用。我設法通過在資產文件夾中創建映像文件的副本並將其轉換爲文件來實現。你可以這樣做:

File f = new File(getCacheDir()+"/app_logo.png"); 
if (!f.exists()) try { 
    InputStream is = getAssets().open("R.drawable.app_logo"); 
    int size = is.available(); 
    byte[] buffer = new byte[size]; 
    is.read(buffer); 
    is.close(); 

    FileOutputStream fos = new FileOutputStream(f); 
    fos.write(buffer); 
    fos.close(); 
} catch (Exception e) { throw new RuntimeException(e); } 

sharePicture = f.getPath();