添加权限请求模块后集成Hockey sdk后无法写入外部存储

Unable to write to external storage after integrating Hockey sdk even after adding permission request module

我正在尝试使用权限模型添加与外部存储相关的权限,但无法获得外部存储权限的弹出窗口。我添加了更多权限。只有这个不行。

曲棍球图书馆最近开始不使用使用外部存储的权限。因此,他们将 maxSdkVersion 的检查添加到 18。您可以在 Merged Manifest 文件中看到它。 您需要做的就是添加此访问外部存储的权限。

 <uses-permission
    android:name="android.permission.WRITE_EXTERNAL_STORAGE"
    tools:remove="android:maxSdkVersion" />

您可以使用下面的代码

if (Build.VERSION.SDK_INT >= 23) {
            if (context.checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
                    || context.checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED ||
                    context.checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED
                    || context.checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED
                    || context.checkSelfPermission(Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {

                requestPermissions(new String[]{Manifest.permission.ACCESS_COARSE_LOCATION,
                        Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.READ_EXTERNAL_STORAGE,
                        Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA}, REQUEST_CODE_ASK_PERMISSIONS);
                return;
            }
        }

在我的案例中有助于移动 CrashManager.register(this);在授予所有者权限后执行代码。它帮助了我。

根据 Hockeyapp 的文档:"If you are using HockeySDK-Android 5.0.0 and later, the SDK limits the WRITE_EXTERNAL_STORAGE permission to devices with api level 18 or lower."如果您的应用需要 android.permission.WRITE_EXTERNAL_STORAGE 才能运行,您可以通过附加 'tools:node="replace"' 来覆盖 Hockey 的隐式合并清单权限设置。这允许您的应用程序的清单覆盖 Hockeyapp 的权限。参考:https://support.hockeyapp.net/kb/client-integration-android/hockeyapp-for-android-sdk#permissions-advanced

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
    tools:node="replace"/>