首页 文章

如何通过长按来分享声音?

提问于
浏览
0

我正在尝试将我的原始文件夹中的几个音频共享到另一个应用程序(whatsapp,gmail等) . 通过一个按钮,如果我点击它的音频声音,如果我按下,我想要分享选项 . 正如我在互联网上看到的,共享文件的一种方式是创建一个Intent,但是在按住的方法中创建它,我在getPackageName中得到一个错误 . 我该怎么解决这个问题?这是我的代码的一部分:

final MediaPlayer sound1 = MediaPlayer.create(this, R.raw.cristobalmasgrande);
Button button1 =(Button) this.findViewById(R.id.button1);

button1.setOnClickListener(new View.OnClickListener(){
    @Override
    public void onClick(View v) {
        sound1.start();
    }
});

button1.setOnLongClickListener(new View.OnLongClickListener() {
    @Override
    public boolean onLongClick(View v) {
        Intent compartirAudio = new Intent(android.content.Intent.ACTION_SEND);
        compartirAudio.setType("audio/*");
        compartirAudio.putExtra(Intent.EXTRA_STREAM,
                Uri.parse("android.resource://" + this.getPackageName() + "/raw/" + araujomio)); //Error on getPackageName()
        startActivity(Intent.createChooser(compartirAudio, "Compartir vía"));
        return false;
    }
});

1 回答

  • 3

    this.getPackageName() 中, thisOnLongClickListener 实例 . 它没有名为 getPackage() 的方法 . 你有几个选择,例如:

    Uri.parse("android.resource://" + v.getContext().getPackageName() + "/raw/" + araujomio));
    

    要么

    Uri.parse("android.resource://" + getApplicationContext.getPackageName() + "/raw/" + araujomio));
    

相关问题