添加权限请求模块后集成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"/>
我正在尝试使用权限模型添加与外部存储相关的权限,但无法获得外部存储权限的弹出窗口。我添加了更多权限。只有这个不行。
曲棍球图书馆最近开始不使用使用外部存储的权限。因此,他们将 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"/>