Skip to content

java.lang.NullPointerException:Attempt to get length of null array #191

@po1xiao

Description

@po1xiao

【警告:请务必按照 issue 模板填写,不要抱有侥幸心理,一旦发现 issue 没有按照模板认真填写,一律直接关闭】

问题描述

  • 框架版本【必填】:16.6

  • 问题描述【必填】:

java.lang.NullPointerException:Attempt to get length of null array
com.hjq.permissions.PermissionFragment.onRequestPermissionsResult(PermissionFragment.java:360)
  • 复现步骤【必填】:请输入问题的复现步骤(注意:目前不受理没有复现步骤的 Bug 单)

  • 是否必现【必填】:否

  • 出现问题的手机信息【必填】:vivo/FUNTOUCH,具体机型线上未获取到。

  • 出现问题的安卓版本【必填】:Android 8.1.0,level 27

  • 问题信息的来源渠道【必填】:bugly 记录的线上问题,只出现过1次

请回答

  • 是部分机型还是所有机型都会出现【必答】:bugly 记录的线上问题,只出现过1次

虽然不能复现该问题,但这是一个控空指针,如果说要修改很好改。但是通过阅读源码发现参数上带了@nonnull注解,不清楚为啥还会空指针。如果轮子哥觉得不能复现,不接受,关了就行。

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        if (permissions.length == 0 || grantResults.length == 0) {
            return;
        }
  • 框架最新的版本是否存在这个问题【必答】:线上只出现过1次的小概率问题,已经升级新版。但是经过阅读源码,发现这里没有判空,理论上同样的问题还会出现。

  • 是否已经查阅框架文档但还未能解决的【必答】:是

  • issue 是否有人曾提过类似的问题【必答】:否

  • 是否可以通过 Demo 来复现该问题【必答】:否

  • 使用原生的权限 API 是否会出现该问题【必答】:否

其他

  • 提供报错堆栈(如果有报错的话必填,注意不要拿被混淆过的代码堆栈上来)
java.lang.NullPointerException:Attempt to get length of null array
com.hjq.permissions.PermissionFragment.onRequestPermissionsResult(PermissionFragment.java:360)
android.app.Activity.dispatchRequestPermissionsResultToFragment(Activity.java:7595)
android.app.Activity.dispatchActivityResult(Activity.java:7440)
android.app.ActivityThread.deliverResults(ActivityThread.java:4546)
android.app.ActivityThread.handleSendResult(ActivityThread.java:4594)
android.app.ActivityThread.-wrap19(Unknown Source:0)
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1859)
android.os.Handler.dispatchMessage(Handler.java:106)
  • 提供截图或视频(根据需要提供,此项不强制)

  • 提供解决方案(如果已经解决了的话,此项不强制)

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions