【问题标题】:How to Intent.ACTION_SEND with correct file name?如何使用正确的文件名 Intent.ACTION_SEND?
【发布时间】:2016-01-09 21:14:03
【问题描述】:

我需要共享音频(音乐)文件,但是当我使用以下代码时,我得到了不同名称的文件,这不好。因为它是音乐文件,所以我需要保留所有属性,比如艺术家、文件的标题和名称。有什么办法吗?

        final String filePath = "/storage/emulated/0/Music/music.mp3";
        final Intent intentShareFile = new Intent(Intent.ACTION_SEND);
        intentShareFile.setType("audio/*");
        intentShareFile.putExtra(Intent.EXTRA_STREAM, Uri.parse(filePath));
        context.startActivity(Intent.createChooser(intentShareFile,"Share"));

我正在使用 WhatsApp 进行测试。

【问题讨论】:

  • filePath 来自哪里?它有正确的文件名吗?如果是这样,那么 WhatsApp 似乎已经更改了它使用的名称,我怀疑您对此无能为力。
  • 能否请您发布文件路径是如何采用/构图的。

标签: android audio android-intent share


【解决方案1】:

试试这个:

 packageName = getIntent().getStringExtra("topPackageName");
 String audioName = arrAudio.get(position).getAudioFileName();
                File audioFile = new File(Environment.getExternalStorageDirectory() + "/EmoticApp/AudioFile/" + audioName);

                Uri audioUri = Uri.fromFile(audioFile);
                Intent audioIntent = new Intent(Intent.ACTION_SEND);
                audioIntent.setType("audio/*");
                audioIntent.putExtra(Intent.EXTRA_STREAM, audioUri);
                audioIntent.setPackage(packageName);
                startActivity(audioIntent);

【讨论】:

    猜你喜欢
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-28
    • 2016-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多