通过Facebook,电子邮件和短信/彩信共享音频文件(.mp3)

Kar*_*iya 3 audio android share facebook facebook-graph-api

我有一个音频文件(.mp3)和一些与之相关的信息.我想与Facebook,电子邮件,短信/彩信等分享.

我所做的是:当用户点击共享按钮时,它会弹出可以处理此Intent的所有受支持应用程序的列表.但这并未显示Facebook和SMS/MMS选项.

这是我的代码..

public void shareWithFriends(int resId)
{
    Intent share = new Intent(Intent.ACTION_SEND);
    share.setType("audio/mp3");
    share.putExtra(Intent.EXTRA_SUBJECT,"Ringtone File : "+ getResources().getResourceEntryName(resId)+".mp3");
    share.putExtra(Intent.EXTRA_TEXT,"Ringtone File : "+getResources().getResourceEntryName(resId)+".mp3");
    share.putExtra(Intent.EXTRA_STREAM,Uri.parse("android.resource://com.my.android.soundfiles/"+resId));
    share.putExtra("sms_body","Ringtone File : "+ getResources().getResourceEntryName(resId)+".mp3");
    startActivity(Intent.createChooser(share, "Share Sound File"));
}
Run Code Online (Sandbox Code Playgroud)

以下是一些结果:

  1. 当我使用MIME类型时audio/mp3,只会弹出电子邮件选项.没有Facebook和短信/彩信共享.

  2. 当我使用MIME类型时*/*,会弹出电子邮件和短信选项.没有Facebook选项.

这里有趣的是,当我点击SMS选项时,只显示文本.我没有看到任何附带的MP3文件(同样的事情发生在Whatsapp中(因为我手机上安装了Whatsapp).但是,当我点击任何邮件应用程序(例如,Gmail或Yahoo邮件)时,它会显示MP3文件附件.

我哪里错了?

Moh*_*wal 9

Facebook没有选项,但您可以通过蓝牙共享电子邮件和彩信.这是我的代码.看看它是否对您有所帮助:

Intent share = new Intent(Intent.ACTION_SEND);
share.setType("audio/*");
share.putExtra(Intent.EXTRA_STREAM,Uri.parse("file:///"+mypath));
startActivity(Intent.createChooser(share, "Share Sound File"));
break;
Run Code Online (Sandbox Code Playgroud)

这里我的路径是SD卡上声音文件的路径.