Android java.lang.IllegalStateException:BitmapFactory.decodeFile(photoPath)不能为null

Android java.lang.IllegalStateException:BitmapFactory.decodeFile(photoPath)不能为null,android,kotlin,Android,Kotlin,我有一个错误,很多人都回答了,但我觉得我的问题并不是独一无二的 问题是 我正在直接从相机单击一张图片,并使用下面的代码行将该图像转换为位图。这行代码将在启动时执行 val bitmap: Bitmap = BitmapFactory.decodeFile(photoPath) 下面解释了我是如何获得这条光路的 private val photoPath: String? by lazy { arguments?.getString(ARG_PHOTO_PATH) } c

我有一个错误,很多人都回答了,但我觉得我的问题并不是独一无二的

问题是 我正在直接从相机单击一张图片,并使用下面的代码行将该图像转换为位图。这行代码将在启动时执行

    val bitmap: Bitmap = BitmapFactory.decodeFile(photoPath)
下面解释了我是如何获得这条光路的

 private val photoPath: String? by lazy {
    arguments?.getString(ARG_PHOTO_PATH)
}
  companion object {
    const val ARG_PHOTO_PATH: String = "ARG_PHOTO_PATH"

    fun newInstance(photoPath: String): DisplayMyFragment {
        val args = Bundle()
        args.putString(ARG_PHOTO_PATH, photoPath)

        val fragment = DisplayMyFragment ()
        fragment.arguments = args
        return fragment
    }
}
我是如何获得ARG\u PHOTO\u路径的,如下所述

 private val photoPath: String? by lazy {
    arguments?.getString(ARG_PHOTO_PATH)
}
  companion object {
    const val ARG_PHOTO_PATH: String = "ARG_PHOTO_PATH"

    fun newInstance(photoPath: String): DisplayMyFragment {
        val args = Bundle()
        args.putString(ARG_PHOTO_PATH, photoPath)

        val fragment = DisplayMyFragment ()
        fragment.arguments = args
        return fragment
    }
}
在这里一切正常之前,使用上述代码没有任何问题,获取位图的空值的问题是使用三星galaxy OS 7版的特定设备链接

光路看起来像这样---

所以我的问题是,为什么有些设备在我将图像转换为位图时返回位图null,为什么其他设备工作正常并返回位图? 这是否与图像大小有关,如果是,则堆栈跟踪中没有任何内存不足异常日志。 所以我不确定这是否是内存问题

堆栈跟踪

Caused by java.lang.IllegalStateException
BitmapFactory.decodeFile(photoPath) must not be null
com.myappname.test.DisplayMyFragment.onStart (DisplayMyFragment.kt:62)
androidx.fragment.app.Fragment.performStart (Fragment.java:2730)
androidx.fragment.app.FragmentStateManager.start (FragmentStateManager.java:365)
androidx.fragment.app.FragmentManager.moveToState (FragmentManager.java:1194)
androidx.fragment.app.FragmentManager.moveToState (FragmentManager.java:1356)
androidx.fragment.app.FragmentManager.moveFragmentToExpectedState (FragmentManager.java:1434)
androidx.fragment.app.FragmentManager.moveToState (FragmentManager.java:1497)
androidx.fragment.app.BackStackRecord.executeOps (BackStackRecord.java:447)
androidx.fragment.app.FragmentManager.executeOps (FragmentManager.java:2169)
androidx.fragment.app.FragmentManager.executeOpsTogether (FragmentManager.java:1992)
androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute (FragmentManager.java:1947)
androidx.fragment.app.FragmentManager.execPendingActions (FragmentManager.java:1849)
androidx.fragment.app.FragmentManager.dispatchStateChange (FragmentManager.java:2629)
androidx.fragment.app.FragmentManager.dispatchResume (FragmentManager.java:2589)
androidx.fragment.app.FragmentController.dispatchResume (FragmentController.java:269)
androidx.fragment.app.FragmentActivity.onResumeFragments (FragmentActivity.java:478)
androidx.fragment.app.FragmentActivity.onPostResume (FragmentActivity.java:467)
androidx.appcompat.app.AppCompatActivity.onPostResume (AppCompatActivity.java:195)
android.app.Activity.performResume (Activity.java:7112)
android.app.ActivityThread.performResumeActivity (ActivityThread.java:3768)
android.app.ActivityThread.handleResumeActivity (ActivityThread.java:3832)
android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2994)
android.app.ActivityThread.handleRelaunchActivity (ActivityThread.java:4915)
android.app.ActivityThread.-wrap21 (ActivityThread.java)
android.app.ActivityThread$H.handleMessage (ActivityThread.java:1637)
android.os.Handler.dispatchMessage (Handler.java:102)
android.os.Looper.loop (Looper.java:154)
android.app.ActivityThread.main (ActivityThread.java:6682)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1520)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1410)

谢谢。

不清楚获取的位图是否为空或其他内容。什么时候抛出空值?用哪种说法?发布堆栈跟踪。@blackapps添加了堆栈trace@blackappsBitmapFactory返回null。decodeFile(photoPath)此代码photoPath null检查已存在,因此photoPath没有问题,因为它具有该值。因此位图仅为null。那你为什么说抛出null?即使设备抛出空值?decodeFile刚返回null。是位图为null我的坏我将更新@blackapps的描述