I have many .mp3 files stored in res/raw folder.
I am getting URI of .mp3 file using following code.
Uri.parse("android.resource:///com.my.android.sharesound/"+resId);
This returns : android.resource:///com.my.android.sharesound/2130968609
Now I am using this URI in creating Share Intent
shareIntent.putExtra(Intent.EXTRA_STREAM,Uri.parse("android.resource://com.my.android.sharesound/"+resId)); startActivity(Intent.createChooser(shareIntent,"Share Sound");
When i select any Mail application eg. Gmail or YahooMail from the Share Intent, the mp3 file attached successfully. But it shows that 2130968609(as an attachment)
i dont want resourceId(2130968609) to appear.
I want to display fileName.mp3
How can i do that? Am i missing something ?
OR
Is there any other way to attach .mp3 file stored in res/raw to mail via Share Intent.
Uri uri = data. getData(); File file = new File(uri. getPath());//create path from uri final String[] split = file. getPath().
The raw (res/raw) folder is one of the most important folders and it plays a very important role during the development of android projects in android studio. The raw folder in Android is used to keep mp3, mp4, sfb files, etc. The raw folder is created inside the res folder: main/res/raw.
Finally after searching a lot i found the solution.
If you want to get any resource URI then there are two ways :
Using Resource Name
Syntax : android.resource://[package]/[res type]/[res name]
Example : Uri.parse("android.resource://com.my.package/drawable/icon");
Using Resource Id
Syntax : android.resource://[package]/[resource_id]
Example : Uri.parse("android.resource://com.my.package/" + R.drawable.icon);
This were the examples to get the URI of any image file stored in drawable folder.
Similarly you can get URIs of res/raw folder.
In my case i used 1st way ie. Using Resource Name
This work like magic: Assuming the mp3 is saved in the raw folder as
notification_sound.mp3
then simple doing this works:
Uri uri=Uri.parse("android.resource://"+getPackageName()+"/raw/notification_sound");
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With