Take the 2-minute tour ×
Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no registration required.
Uri clipUri = Uri.parse("android.resource://com.packagename.community/raw/" + rawname);
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_STREAM, clipUri);
shareIntent.setType("audio/mpeg");
startActivity(Intent.createChooser(shareIntent, getResources().getText(R.string.send_to)));

This code almost works, I can successfully send the clip to another app (dropbox for example) and everything is fine with the file except it lacks a .mp3 extension.

share|improve this question

1 Answer 1

Welcome to StackOverflow! StackOverflow is for programming questions, and this is not a question.

I am going to interpret your non-question as:

Why, when I use a Uri that does not have a file extension, is a file extension not magically added by file extension elves?

That's because Android lacks file extension elves.

If you want to have a file extension in your Uri, you need to put one there. And, since there is no syntax that I am aware of that will give an android.resource:// Uri a file extension, your choices are:

  1. Share a file, instead of a resource

  2. Create a ContentProvider that will serve up the resource via openFile in response to some Uri that does indeed have your desired file extension

  3. Live without the file extension

  4. Don't share the resource

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.
{"cc_re__cc_re__cc_by_sa_3_0": ["                  <li><a href=\"//area51.stackexchange.com\" title=\"proposing new sites in the Stack Exchange network\">Area 51</a></li>\r\n                        <li><a href=\"//careers.stackoverflow.com\">Stack Overflow Careers</a></li>\r\n                    \r\n                </ol>\r\n            </td>\r\n    </tr>\r\n</table>\r\n                </div>\r\n            </div>\r\n\r\n            <div id=\"copyright\">\r\n                site design / logo &#169; 2015 stack exchange inc; user contributions licensed under <a href=\"http://creativecommons.org/licenses/by-sa/3.0/\" rel=\"license\">cc by-sa 3.0</a> \r\n                with <a href=\"http://blog.stackoverflow.com/2009/06/attribution-required/\" rel=\"license\">attribution required</a>\r\n            </div>\r\n            <div id=\"svnrev\">\r\n                rev 2015.6.29.2688\r\n            </div>\r\n            \r\n        </div>\r\n    </div>\r\n    <noscript>\r\n        <div id=\"noscript-warning\">Stack Overflow works best with JavaScript enabled<img src=\"http://pixel.quantserve.com/pixel/p-c1rF4kxgLUzNc.gif\" alt=\"\" class=\"dno\"></div>\r\n    </nos"], "copyright__copyright__copyright": ["your choices are:\n\n  1. Share a file, instead of a resource\n\n  2. Create a ContentProvider that will serve up the resource via openFile in response to some Uri that does indeed have your desired file extension\n\n  3. Live without the file extension\n\n  4. Don't share the resource\n\nshare|improve this answer\n\nYour Answer\n\n\u00a0\ndiscard\n\nBy posting your answer, you agree to the privacy policy and terms of service.\n\nNot the answer you're looking for? Browse other questions tagged or ask your own question."]}