通过Android意图发送音频MMS

3

我是Android的新手。我正在尝试发送一个带有m4a格式的音频文件的MMS(也可以是其他格式,如AMR或3GP)。为此,我使用了一个意图,但它从未发送我的MMS。以下是我正在使用的代码:

Intent share = new Intent(Intent.ACTION_SEND);
share.setType("audio/m4a");
share.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + new Environment.getExternalStorageDirectory().getPath()+"/recordaudio.m4a")));
startActivity(share);

我的音频文件大小不超过30KB。请问可以帮我吗?非常抱歉,我的英语不好,我是法国人。

File audiofile = new File(directory,"/recordaudio.m4a");                                        
byte     fileContent[] = new byte[(int) audiofile.length()];                                            
InputStream input = new FileInputStream(audiofile);    

int data = input.read();                                        
while(data != -1) {                                           
    data = input.read(fileContent);                                     
}
input.close();
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_PHONE_NUMBER, mPhoneNumber);
sendIntent.setType("audio/*");
sendIntent.putExtra(Intent.EXTRA_STREAM, fileContent);
startActivity(sendIntent);*

首先,非常感谢您的帮助!!!我尝试了这段代码,但是彩信没有发送......您能再次帮助我吗?

这可能会有所帮助: https://dev59.com/dkrSa4cB1Zd3GeqPZtvv#1914522 - Yaqub Ahmad
我正在这里做类似的事情!!! https://dev59.com/j-o6XIcBkEYKwwoYORwV - Etienne Lawlor
1个回答

1
你发送的是音频文件的Uri而不是音频文件本身。
在意图中发送音频文件并不是一个好主意。
如果你仍然想要发送,请将音频文件的byte[]放入意图中 - 在使用InputStream从给定的URI下载这些字节之后。

这将仅传递文件字节到下一个活动,而不发送mms。 - Rajdeep Dua

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接