我的音板应用无法共享.mp3文件

时间:2015-02-06 19:41:04

标签: java android xml

我是Java和Android编程的新手,我正在开发一个音板应用程序。 当你点击按钮时应用播放声音的那一刻,但我也想为每个声音添加一个共享功能(使用OnLongClick),但我无法让它工作。 过去两天我一直在寻找通过互联网的解决方案,但我无法解决它。

我正在使用shareIntent,当用户长按该按钮时,它会显示一个可以共享声音的应用列表(Dropbox,bluetooth,whatsapp ...)。 如果我选择了dropbox,它只会上传一个没有扩展名的文件,与Whatsapp共享将无法正常工作,并显示此错误:“无法发送,请再试一次。”

我的代码如下所示:

            final int[] buttonIds = { R.id.sound01, R.id.sound02, R.id.sound03,
            R.id.sound04, R.id.sound05, R.id.sound06,
            R.id.sound07, R.id.sound08, R.id.sound09,
            R.id.sound10, R.id.sound11, R.id.sound12 };

            final int[] soundIds = { R.raw.sound01, R.raw.sound02, R.raw.sound03,
            R.raw.sound04, R.raw.sound05, R.raw.sound06,
            R.raw.sound07, R.raw.sound08, R.raw.sound09,
            R.raw.sound10, R.raw.sound11, R.raw.sound12 };

View.OnLongClickListener listener2 = new View.OnLongClickListener()
    {
        @Override
        public boolean onLongClick(View v)
        {
            for(int i = 0; i < buttonIds.length; i++)
            {
                if(v.getId() == buttonIds[i])
                {
                    selectedSoundId = soundIds[i];

                    // Can't share audio. It shares it with no format, so whatsapp won't accept it
                    Intent shareIntent = new Intent();
                    shareIntent.setAction(Intent.ACTION_SEND);
                    shareIntent.setType("audio/mp3");
                    shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("android.resource://com.guillefix.zombie_soundboard/" + selectedSoundId));

                    startActivity(Intent.createChooser(shareIntent, "Send to:"));
                    break;
                }
            }
            return false;
        }
    };

1 个答案:

答案 0 :(得分:0)

在清单中声明意图过滤器

<intent-filter>
  <action android:name="android.intent.action.SEND" />
  <category android:name="android.intent.category.DEFAULT" />
  <data android:mimeType="audio/*" />
</intent-filter>