getActivity / XXPermissions

Android 权限请求框架,已适配 Android 14
Apache License 2.0
5.44k stars 735 forks source link

[Bug]:在特定机型请求权限崩溃 #257

Closed Celeau closed 4 months ago

Celeau commented 4 months ago

框架版本【必填】

18.5

问题描述【必填】

接入框架后,系统崩溃监控系统报错。其中请求权限的代码为:

XXPermissions.with(LoginMainActivity.this)
      .permission(com.hjq.permissions.Permission.READ_PHONE_NUMBERS)
      .request(new OnPermissionCallback() {
          @Override
          public void onGranted(@NonNull List<String> permissions, boolean allGranted) {
              if (!allGranted) {
                  return;
              }
          }

          @Override
          public void onDenied(@NonNull List<String> permissions, boolean doNotAskAgain) {
          }
      });

复现步骤【必填】

接入框架后,系统崩溃监控系统报错。因为没有相同的机型,没法复现。

是否必现【必填】

项目 targetSdkVersion【必填】

31

出现问题的手机信息【必填】

V1914A

出现问题的安卓版本【必填】

9

问题信息的来源渠道【必填】

Bugly 看到的

是部分机型还是所有机型都会出现【必答】

V1914A

框架最新的版本是否存在这个问题【必答】

框架文档是否提及了该问题【必答】

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

issue 列表中是否有人曾提过类似的问题【必答】

是否已经搜索过了 issue 列表但还未能解决的【必答】

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

提供报错堆栈

android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2026)
android.app.Instrumentation.execStartActivity(Instrumentation.java:1820)
android.app.Activity.startActivityForResult(Activity.java:5389)
android.app.Activity$HostCallbacks.onRequestPermissionsFromFragment(Activity.java:8098)
android.app.Fragment.requestPermissions(Fragment.java:1240)
com.hjq.permissions.PermissionFragment.requestDangerousPermission(PermissionFragment.java:287)
com.hjq.permissions.PermissionFragment.requestSpecialPermission(PermissionFragment.java:221)
com.hjq.permissions.PermissionFragment.onResume(PermissionFragment.java:176)
android.app.Fragment.performResume(Fragment.java:2568)
android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1341)
android.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1576)
android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1637)
android.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2215)
android.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2161)
android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2062)
android.app.FragmentManagerImpl$1.run(FragmentManager.java:738)
android.os.Handler.handleCallback(Handler.java:873)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:224)
android.app.ActivityThread.main(ActivityThread.java:7138)
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878)

提供截图或视频

No response

提供解决方案

No response

Celeau commented 4 months ago

android.content.ActivityNotFoundException

com.hjq.permissions.PermissionFragment.requestDangerousPermission(PermissionFragment.java)

com.hjq.permissions.PermissionFragment.requestSpecialPermission(PermissionFragment.java)

com.hjq.permissions.PermissionFragment.onResume(PermissionFragment.java)

请问有什么解决方案吗,看样子是系统没有这个Activity。不太了解为什么会有这种情况发生

getActivity commented 4 months ago

@Celeau 小伙子,从你提供的两个代码堆栈,我无法得出有用的信息,经过分析是第一个和第二个的堆栈信息不完整导致的,请一次性提供完整的堆栈给我。