cocos2dx 3.x 使用android 7.0系统 如何打开读写外部内存的权限。

cocos默认/assets目录。。我希望能使用Environment.getExternalStorageDirectory()所输出的路径。本来在android 7.0之前这个路径/storage/emulated/0 可以使用的。使用android 7.0就不行了

在libcocos2dx gradle文件中增加依赖库,而不是在工程gradle文件增加依赖库
implementation ‘com.android.support:appcompat-v7:28.0.0’
implementation ‘com.android.support:support-v4:28.0.0’

然后在cocos2dxActivity.java中onCreate()调用verifyStoragePermissions(this)增加动态打开权限:

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

public static void verifyStoragePermissions(Activity activity) {
// Check if we have write permission
int permission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);

  if (permission != PackageManager.PERMISSION_GRANTED) {
       // We don't have permission so prompt the user
       ActivityCompat.requestPermissions(
              activity,
              PERMISSIONS_STORAGE,
              REQUEST_EXTERNAL_STORAGE
       );
  }

}
然后就ok了

用activity.getExternalFilesDir(null)比较好,不需要额外授权,app卸载时这块的数据也会自动一同被删除。

但是我的数据是不能卸载或退出删除的,比如后台设置的一些参数,需要开机读取。所以我就没用这个activity.getExternalFilesDir,我用的是Environment.getExternalStorageDirectory(),获取外部存储

请教一下,cocos creator怎么获取外部存储