2011-07-19 47 views
0

我有这样的代码,以与从所述raw/夹未来的附件发送SMS消息:发送与SMS消息的原始文件 - [代码提供]

String uri= "mmsto:"; 
String uri2 = "android.resource://[my_package]/"; 
Intent mmsIntent = new Intent(Intent.ACTION_SENDTO, Uri.parse(uri)); 
mmsIntent.setType("Audio/basic"); 
mmsIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(uri2+R.raw.sound)); 
mmsIntent.putExtra("compose_mode", true); 
startActivity(mmsIntent); 

当我按该代码esecuted一个按钮button1。但是,它会打开一个SMS应用程序,但没有附件。

我做错了吗?

回答

0

打开附件,资产将完成工作。

context.getAssets().open(attachmentFile); 

P.S:要明确,将文件移动到资源文件夹:)

喜欢的东西在这里:

InputStream is = context.getAssets().open(attachmentFile); 
//write the input stream data somewhere then parse the uri as you do. 
mmsIntent.setType("Audio/basic"); 
mmsIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(uri2+R.raw.sound)); 
mmsIntent.putExtra("compose_mode", true); 
startActivity(mmsIntent); 
+0

这将去的地方在我的代码? – iTurki

+0

我害怕将我的声音从raw /移动到/。如果它们位于assest文件夹中,可以播放我的声音吗? – iTurki

+0

是的,你可以。例如,在SD卡上,您可以查询内容提供商以向您显示某种类型的所有媒体(可以说是音乐)。 –