本文主要是介绍java.io.IOException: setDataSource failed.: status=0x80000000异常分析及解决,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题描述:
做一款新得音乐播放器,播放音乐闪退Crash,看到最后报告的异常是IO异常:java.io.IOException: setDataSource failed.: status=0x80000000
错误堆栈如下
08-09 17:51:34.452 8220-8220/com.xx E/ARouter::: InstantRun support error, com.android.tools.fd.runtime.Paths
08-09 17:51:34.909 8220-8220/com.xx E/appnameLocationClient: ==startLocationClient[184]:startLocationClient==
08-09 17:51:35.068 8220-8220/com.xx E/CrashAnrHandler: CrashLog Report = SUPPORTED_64_BIT_ABIS=[Ljava.lang.String;@37eb8e1eversionCode=500220809BOARD=unknownBOOTLOADER=unknownTYPE=userID=LMY47ITIME=1650281411000BRAND=alpsTAG=BuildSERIAL=PB63-68162-20200729-000075HARDWARE=mt8163SUPPORTED_ABIS=[Ljava.lang.String;@1dccd6ffCPU_ABI=armeabi-v7aRADIO=unknownIS_DEBUGGABLE=trueMANUFACTURER=alpsSUPPORTED_32_BIT_ABIS=[Ljava.lang.String;@1f8a4259TAGS=test-keysCPU_ABI2=armeabiUNKNOWN=unknownUSER=raojunFINGERPRINT=alps/full_grm8163_tb_l1/grm8163_tb_l1:5.1/LMY47I/1650281276:user/test-keysHOST=gmt-server02PRODUCT=full_grm8163_tb_l1versionName=5.00.220809DISPLAY=CASARTE_0060861992A_GMT_MT8163_22.016_0085MODEL=grm8163_tb_l1DEVICE=grm8163_tb_l1java.lang.RuntimeException: Unable to create application com.xx.LauncherApplication: java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.xx.MediaFloatingService }at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4874)at android.app.ActivityThread.access$1500(ActivityThread.java:178)at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1531)at android.os.Handler.dispatchMessage(Handler.java:111)at android.os.Looper.loop(Looper.java:194)at android.app.ActivityThread.main(ActivityThread.java:5650)at java.lang.reflect.Method.invoke(Native Method)at java.lang.reflect.Method.invoke(Method.java:372)at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:960)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)Caused by: java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.xx.MediaFloatingService }at android.app.ContextImpl.validateServiceIntent(ContextImpl.java:1801)at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1830)at android.app.ContextImpl.startService(ContextImpl.java:1814)at android.content.ContextWrapper.startService(ContextWrapper.java:516)atcom.xx.launcher.tft.LauncherApplication.initMediaPlayer(LauncherApplication.java:503)atcom.xx.launcher.tft.LauncherApplication.init(LauncherApplication.java:157)atcom.xx.base.ui.base.BaseApplication.onCreate(BaseApplication.java:155)atcom.xx.launcher.tft.LauncherApplication.onCreate(LauncherApplication.java:119)at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1017)at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4871)at android.app.ActivityThread.access$1500(ActivityThread.java:178) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1531) at android.os.Handler.dispatchMessage(Handler.java:111) at android.os.Looper.loop(Looper.java:194) at android.app.ActivityThread.main(ActivityThread.java:5650) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:960) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.xx.services.services.MediaFloatingService }at android.app.ContextImpl.validateServiceIntent(ContextImpl.java:1801)at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1830)at android.app.ContextImpl.startService(ContextImpl.java:1814)at android.content.ContextWrapper.startService(ContextWrapper.java:516)atcom.xx.launcher.tft.LauncherApplication.initMediaPlayer(LauncherApplication.java:503)atcom.xx.launcher.tft.LauncherApplication.init(LauncherApplication.java:157)atcom.xx.base.ui.base.BaseApplication.onCreate(BaseApplication.java:155)atcom.xx.launcher.tft.LauncherApplication.onCreate(LauncherApplication.java:119)at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1017)at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4871)at android.app.ActivityThread.access$1500(ActivityThread.java:178)at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1531)at android.os.Handler.dispatchMessage(Handler.java:111)at android.os.Looper.loop(Looper.java:194)at android.app.ActivityThread.main(ActivityThread.java:5650)at java.lang.reflect.Method.invoke(Native Method)at java.lang.reflect.Method.invoke(Method.java:372)at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:960)at com.and
08-09 17:51:35.144 8220-8256/com.xx E/NativeCrypto: ssl=0xf4486400 cert_verify_callback x509_store_ctx=0xdf4e8920 arg=0x0
08-09 17:51:35.144 8220-8256/com.xx E/NativeCrypto: ssl=0xf4486400 cert_verify_callback calling verifyCertificateChain authMethod=ECDHE_RSA
08-09 17:51:35.221 8220-8262/com.xx E/NativeCrypto: ssl=0xf4488c00 cert_verify_callback x509_store_ctx=0xdf0d8f90 arg=0x0
08-09 17:51:35.222 8220-8262/com.xx E/NativeCrypto: ssl=0xf4488c00 cert_verify_callback calling verifyCertificateChain authMethod=ECDHE_RSA
08-09 17:51:35.387 8220-8262/com.xx E/CrashAnrHandler: onResponse=Response{protocol=h2, code=200, message=, url=https://line.linkcook.cn/fridge-log/upload}
问题分析
通过研究发现,由于是流媒体(网络视频),需要加入网络权限才能读取,所以加入权限
问题解决
<uses-permission android:name="android.permission.INTERNET" />
这篇关于java.io.IOException: setDataSource failed.: status=0x80000000异常分析及解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!