2017-09-20 84 views
-2

我正在使用服務下載mp3文件並將其保存到SD卡/下載目錄。它工作正常,但下載後我無法打開文件。 有一個吐司顯示無法打開文件。我認爲代碼有問題,但是當我嘗試使用jpg文件時,它很好。 這是我的代碼使用服務下載後無法打開文件

public int onStartCommand(Intent intent, int flags, int startId) { 
    urls=intent.getExtras().get("URL").toString(); 
    DownloadManager.Request request=new DownloadManager.Request(Uri.parse(urls)); 
    request.setTitle("Notification").setDescription("song"); 
    request.allowScanningByMediaScanner(); 
    request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); 
    request.setDestinationInExternalFilesDir(getApplicationContext(),directory,"downloadedSong.mp3"); 
    FilePermission filePermission=new FilePermission(directory,"read"); 
    PermissionCollection collection=filePermission.newPermissionCollection(); 
    collection.add(filePermission); 
    FilePermission filePermission1=new FilePermission(directory,"write"); 
    collection=filePermission1.newPermissionCollection(); 
    collection.add(filePermission1); 
    DownloadManager manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE); 
    manager.enqueue(request); 
    return START_STICKY; 

有人能幫助我嗎?

-20 13:46:15.533 1435-1463/system_process E/KernelCpuSpeedReader: Failed to read cpu-freq 
                   java.io.FileNotFoundException: /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state: open failed: ENOENT (No such file or directory) 
                    at libcore.io.IoBridge.open(IoBridge.java:452) 
                    at java.io.FileInputStream.<init>(FileInputStream.java:76) 
                    at java.io.FileInputStream.<init>(FileInputStream.java:103) 
                    at java.io.FileReader.<init>(FileReader.java:66) 
                    at com.android.internal.os.KernelCpuSpeedReader.readDelta(KernelCpuSpeedReader.java:49) 
                    at com.android.internal.os.BatteryStatsImpl.updateCpuTimeLocked(BatteryStatsImpl.java:8002) 
                    at com.android.server.am.BatteryStatsService.updateExternalStats(BatteryStatsService.java:1366) 
                    at com.android.server.am.BatteryStatsService$BatteryStatsHandler.handleMessage(BatteryStatsService.java:125) 
                    at android.os.Handler.dispatchMessage(Handler.java:102) 
                    at android.os.Looper.loop(Looper.java:148) 
                    at android.os.HandlerThread.run(HandlerThread.java:61) 
                    at com.android.server.ServiceThread.run(ServiceThread.java:46) 
                   Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory) 
                    at libcore.io.Posix.open(Native Method) 
                    at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186) 
                    at libcore.io.IoBridge.open(IoBridge.java:438) 
                    at java.io.FileInputStream.<init>(FileInputStream.java:76)  
                    at java.io.FileInputStream.<init>(FileInputStream.java:103)  
                    at java.io.FileReader.<init>(FileReader.java:66)  
                    at com.android.internal.os.KernelCpuSpeedReader.readDelta(KernelCpuSpeedReader.java:49)  
                    at com.android.internal.os.BatteryStatsImpl.updateCpuTimeLocked(BatteryStatsImpl.java:8002)  
                    at com.android.server.am.BatteryStatsService.updateExternalStats(BatteryStatsService.java:1366)  
                    at com.android.server.am.BatteryStatsService$BatteryStatsHandler.handleMessage(BatteryStatsService.java:125)  
                    at android.os.Handler.dispatchMessage(Handler.java:102)  
                    at android.os.Looper.loop(Looper.java:148)  
                    at android.os.HandlerThread.run(HandlerThread.java:61)  
                    at com.android.server.ServiceThread.run(ServiceThread.java:46)  
09-20 13:46:15.534 1435-1463/system_process E/KernelUidCpuTimeReader: Failed to read uid_cputime 
                    java.io.FileNotFoundException: /proc/uid_cputime/show_uid_stat: open failed: ENOENT (No such file or directory) 
                     at libcore.io.IoBridge.open(IoBridge.java:452) 
                     at java.io.FileInputStream.<init>(FileInputStream.java:76) 
                     at java.io.FileInputStream.<init>(FileInputStream.java:103) 
                     at java.io.FileReader.<init>(FileReader.java:66) 
                     at com.android.internal.os.KernelUidCpuTimeReader.readDelta(KernelUidCpuTimeReader.java:71) 
                     at com.android.internal.os.BatteryStatsImpl.updateCpuTimeLocked(BatteryStatsImpl.java:8031) 
                     at com.android.server.am.BatteryStatsService.updateExternalStats(BatteryStatsService.java:1366) 
                     at com.android.server.am.BatteryStatsService$BatteryStatsHandler.handleMessage(BatteryStatsService.java:125) 
                     at android.os.Handler.dispatchMessage(Handler.java:102) 
                     at android.os.Looper.loop(Looper.java:148) 
                     at android.os.HandlerThread.run(HandlerThread.java:61) 
                     at com.android.server.ServiceThread.run(ServiceThread.java:46) 
                    Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory) 
                     at libcore.io.Posix.open(Native Method) 
                     at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186) 
                     at libcore.io.IoBridge.open(IoBridge.java:438) 
                     at java.io.FileInputStream.<init>(FileInputStream.java:76)  
                     at java.io.FileInputStream.<init>(FileInputStream.java:103)  
                     at java.io.FileReader.<init>(FileReader.java:66)  
                     at com.android.internal.os.KernelUidCpuTimeReader.readDelta(KernelUidCpuTimeReader.java:71)  
                     at com.android.internal.os.BatteryStatsImpl.updateCpuTimeLocked(BatteryStatsImpl.java:8031)  
                     at com.android.server.am.BatteryStatsService.updateExternalStats(BatteryStatsService.java:1366)  
                     at com.android.server.am.BatteryStatsService$BatteryStatsHandler.handleMessage(BatteryStatsService.java:125)  
                     at android.os.Handler.dispatchMessage(Handler.java:102)  
                     at android.os.Looper.loop(Looper.java:148)  
                     at android.os.HandlerThread.run(HandlerThread.java:61)  
                     at com.android.server.ServiceThread.run(ServiceThread.java:46)  
09-20 13:46:15.534 1435-1463/system_process E/KernelWakelockReader: neither /proc/wakelocks nor /d/wakeup_sources exists 
+0

安置自己的logcat的錯誤/警告,當您保存/打開你的MP3文件。 – Hetfieldan24

+0

我做到了你現在可以看到它 –

回答

1

嘗試添加此:request.setMimeType("audio/MP3");

+0

非常感謝很多人。有效。 –

+0

很高興幫助你:) – Hetfieldan24

相關問題