如何修复:E/AndroidRuntime:致命异常:主进程:[​​=11=],PID:9291

How to fix: E/AndroidRuntime: FATAL EXCEPTION: main Process: com.android.youtubedownloader, PID: 9291

我需要帮助。 我正在创建一个 youtube 下载器应用程序,在我的设备上启动后,它显示应用程序错误。我跟踪来自 logcat.

的错误消息
2021-12-14 05:21:17.718 9291-9291/com.android.youtubedownloader E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.android.youtubedownloader, PID: 9291
java.lang.ClassCastException: android.hardware.display.DisplayManager cannot be cast to android.app.DownloadManager
    at com.android.youtubedownloader.MainActivity.onUrisAvailable(MainActivity.java:46)
    at at.huber.youtubeExtractor.YouTubeUriExtractor.onExtractionComplete(YouTubeUriExtractor.java:15)
    at at.huber.youtubeExtractor.YouTubeExtractor.onPostExecute(YouTubeExtractor.java:146)
    at at.huber.youtubeExtractor.YouTubeExtractor.onPostExecute(YouTubeExtractor.java:38)
    at android.os.AsyncTask.finish(AsyncTask.java:660)
    at android.os.AsyncTask.-wrap1(AsyncTask.java)
    at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:677)
    at android.os.Handler.dispatchMessage(Handler.java:110)
    at android.os.Looper.loop(Looper.java:203)
    at android.app.ActivityThread.main(ActivityThread.java:6275)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1063)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:924)

这是因为您正在尝试将 DisplayManager 对象转换为 DownloadManager,这无法解决此问题,您需要执行以下操作。

Java

DownloadManager downloadManager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);

Kotlin

val downloadManager = getSystemService(Context.DOWNLOAD_SERVICE) as DownloadManager