首页 > 解决方案 > 将文件存储在华为 Drive Kit 中

问题描述

我正在尝试编写一个简单的 Android 应用程序,将文件存储在华为云端硬盘中。但是程序在尝试访问驱动器时会立即崩溃。好像应该很容易集成,为什么会有这么大的错误?

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission
    android:name="android.permission.WRITE_MEDIA_STORAGE"
    tools:ignore="ProtectedPermissions" />

private static String[] PERMISSIONS_STORAGE = {
            Manifest.permission.READ_EXTERNAL_STORAGE,
            Manifest.permission.WRITE_EXTERNAL_STORAGE,
            Manifest.permission.CAMERA
    };

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    requestPermissions(PERMISSIONS_STORAGE, 1);
}

https://developer.huawei.com/consumer/en/hms/huawei-drivekit/

标签: huawei-mobile-serviceshuawei-developers

解决方案


一件事最有可能是权限致命错误,我们应该尝试启用权限,如果它已经被拒绝,请转到手机设置并启用阻止权限。和内部代码例如:

if (ContextCompat.checkSelfPermission( CONTEXT, Manifest.permission.REQUESTED_PERMISSION) == PackageManager.PERMISSION_GRANTED)

 { // You can use the API that requires the permission. performAction(...); } 

else if (shouldShowRequestPermissionRationale(...)) { // In an educational UI, explain to the user why your app requires this // permission for a specific feature to behave as expected. In this UI, // include a "cancel" or "no thanks" button that allows the user to // continue using your app without granting the permission. showInContextUI(...); } 

else { // You can directly ask for the permission. // The registered ActivityResultCallback gets the result of this request. requestPermissionLauncher.launch( Manifest.permission.REQUESTED_PERMISSION); }

推荐阅读