Java 下载的mp3文件可以';无法在下载文件夹中打开(Android Studio)

Java 下载的mp3文件可以';无法在下载文件夹中打开(Android Studio),java,android,android-studio,Java,Android,Android Studio,我有一个从url下载mp3文件的应用程序。下载工作正常,我在下载文件夹中得到一个文件。但是,当我单击它时,它会显示“无法打开文件”。当我使用getExternalStorageDirectory()时,它也不会检索文件或获取任何信息。我如何实现下载功能有什么问题吗?或者下载管理器还有什么需要我做的吗?我还尝试使用addCompletedDownload(),但它只会添加一个“0”文件 您向我们展示的代码绝对不足以理解问题。是使用DownloadManager下载的示例代码 根据描述的症状,我认为

我有一个从url下载mp3文件的应用程序。下载工作正常,我在下载文件夹中得到一个文件。但是,当我单击它时,它会显示“无法打开文件”。当我使用getExternalStorageDirectory()时,它也不会检索文件或获取任何信息。我如何实现下载功能有什么问题吗?或者下载管理器还有什么需要我做的吗?我还尝试使用addCompletedDownload(),但它只会添加一个“0”文件


您向我们展示的代码绝对不足以理解问题。是使用
DownloadManager
下载的示例代码

根据描述的症状,我认为您没有正确完成下载操作或写入操作。您应该检查下载是否完成,文件是否已写入并关闭。文件出现的事实意味着下载和写入已经开始,但并不意味着它们已经正确完成


使用DownloadManager术语,它应该
完成
。看看这个

尝试用文本编辑器打开下载的文件。您好,谢谢您的回复!我的意思是,我无法在emulator的下载文件夹中的emulator上打开它。我将查看这些文件包含的内容。也许它们只是HTML文件?它们的大小是多少?它们应该是mp3文件。我在电脑上下载了相同的文件,并检查了大小。在我的模拟器和我的计算机上大小匹配(10.80MB)。这个文件在我的电脑上也是一个mp3文件。也许这只是仿真器操作系统的问题。你能把下载的文件复制到你的linux机器上,然后用“file”命令检查它的类型吗?
    private long DownloadData (Uri uri) {

       long downloadReference;

       downloadManager = (DownloadManager)getSystemService(DOWNLOAD_SERVICE);

       // Create request for android download manager
       DownloadManager.Request request = new DownloadManager.Request(uri);

       //Setting title of request
       request.setTitle("Downloading Song");

       //Setting description of request
       request.setDescription("Downloading Song from URL");

       //Set the local destination for the downloaded file to a path within the application's external files directory
       request.setDestinationInExternalFilesDir(MainActivity.this, Environment.DIRECTORY_DOWNLOADS, "DownloadSong.mp3");
       //Enqueue download and save into referenceId
       downloadReference = downloadManager.enqueue(request);

       return downloadReference;
   }