2012-12-25 64 views
1

我想附加音頻文件到MMS.How要做到這一點?我發現了很多,以及在護目鏡上,但仍然沒有得到正確的解決方案。所以有人幫我解決了我的這個問題。我的代碼如下:如何在Android中將音頻文件附加到彩信?

Intent sendIntent = new Intent(Intent.ACTION_SEND); 
      sendIntent.setType("audio/mp3"); 
      sendIntent.putExtra("sms_body", 
        getResources().getText(R.string.Message)); 
      sendIntent.setClassName("com.android.mms", 
        "com.android.mms.ui.ComposeMessageActivity"); 


      AssetManager mngr = getAssets(); 
      InputStream path = null; 
      try { 
       path = mngr.open("*.mp3"); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 

      BufferedInputStream bis = new BufferedInputStream(path, 1024); 

      // get the bytes one by one 
      int current = 0; 
      // 
      try { 
       while ((current = bis.read()) != -1) { 

        baf.append((byte) current); 
       } 
      } catch (IOException e) { 
       // /TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
      byte[] bitmapdata = baf.toByteArray(); 

      File file = new File(Environment.getExternalStorageDirectory() 
        .getAbsolutePath(), "*.mp3"); 

      // if (file.exists() == true) { 
      // } else { 
      // Log.v("directory is created", "new dir"); 
      // file.mkdir(); 
      // } 

      FileOutputStream fos; 

      try { 
       fos = new FileOutputStream(file); 
       fos.write(bitmapdata); 
       fos.flush(); 
       fos.close(); 
      } catch (FileNotFoundException e) { 
       // handle exception 
      } catch (IOException e) { 
       // handle exception 
      } 

      final File file1 = new File(Environment 
        .getExternalStorageDirectory().getAbsolutePath(), 
        "*.mp3"); 
      Uri uri = Uri.fromFile(file1); 

// Uri uri = Uri.parse(「file:///mnt/sdcard/*.mp3」); Log.e(「Path」,「」+ uri);

  sendIntent.putExtra(Intent.EXTRA_STREAM, uri); 

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

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

請告訴我,我錯了,在上面的代碼?

回答

0

請在您的場景中使用這個片段:

Intent sendIntent = new Intent(Intent.ACTION_SEND); 
sendIntent.putExtra("text-body", "if you are sending text");  
sendIntent.putExtra("num", "number"); 

sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("ur file path")); 
sendIntent.setType("audio/3gp"); 
+0

以及實際上我做了什麼你試圖say.Still得到了問題的同樣的事情。 – Biginner

+0

我已經通過你我的代碼,我正在使用...如果它不工作,然後讓我知道你在哪一點得到問題,並通過我的日誌了。 –

+0

以及我沒有得到任何力量關閉,但唯一的是我不能將音頻文件附加到MMS.I能夠將音頻文件存儲到SD卡成功。 – Biginner

相關問題