Failure delivering result ResultInfo

java.lang.RuntimeException : Failure delivering result ResultInfo{who=null, request=65555, result=-1, data=Intent { dat= content://media/external/images/media/57064 flg=0x1 launchParam=MultiScreenLaunchParams { mDisplayId=0 mBaseDisplayId=0 mFlags=0 }

Inexplicably, there is a strange bug in the online app, which only appears on one user. The location of the crash is when sending pictures. The first moment I found the bug, I suspected the problem caused by too large pictures, but I read the newspaper wrong

Caused by: android.database.CursorIndexOutOfBoundsException : Index 0 requested, with a size of 0
    at android.database.AbstractCursor .checkPosition( AbstractCursor.java:460 )
    at android.database.AbstractWindowedCursor .checkPosition(Ab stractWindowedCursor.java:136 )
    at android.database.AbstractWindowedCursor .getString(Ab stractWindowedCursor.java:50 )
    at android.database.CursorWrapper .getString( CursorWrapper.java:137 )
    at com.easemob.chatuidemo . activity.ChatFragment.sendPicByUri ( ChatFragment.java:922 )
    at com.easemob.chatuidemo . activity.ChatFragment.onImageSelected ( ChatFragment.java:908 )
    at com.easemob.chatuidemo . activity.ChatFragment.onActivityResult ( ChatFragment.java:862 )
    at android.support .v4. app.FragmentActivity.onActivityResult ( FragmentActivity.java:164 )
    at com.rosevision.ofashion . activity.BaseWithoutActionBarLogicActivity .onActivityResult(BaseWithoutAc tionBarLogicActivity.java:364 )
    at android.app.Activity .dispatchActivityResult( Activity.java:7282 )
    at android.app.ActivityThread .deliverResults( ActivityThread.java:4516 )
    at android.app.ActivityThread .handleSendResult( ActivityThread.java:4563 )
    at android.app.ActivityThread .-wrap22( ActivityThread.java )
    at android.app.ActivityThread $H.handleMessage( ActivityThread.java:1698 )
    at android.os.Handler .dispatchMessage( Handler.java:102 )
    at android.os.Looper .loop( Looper.java:154 )
    at android.app.ActivityThread .main( ActivityThread.java:6776 )
    at java.lang.reflect . Method.invoke (Native Method)
    at com.android.internal . os.ZygoteInit $ MethodAndArgsCaller.run ( ZygoteInit.java:1520 )
    at com.android.internal . os.ZygoteInit.main ( ZygoteInit.java:1410 )

Obviously, this is not the problem. The error is caused by the cursor, but there is no problem with other mobile phones. This problem only occurs with this user, so it may be related to the problem of user settings. The next experiment verifies my conjecture
conclusion

The reason for this problem is that the user has turned off the application reading permission of the software in the settings or some security software, resulting in the situation that the cursor reading data is empty, resulting in the following crash

Read More: