簡體   English   中英

API 33 Android 13 未找到非媒體文件

[英]API 33 Android 13 non-media files not found

我正在為 API 33、Android 13 開發應用程序,但未找到非媒體文件。 根據谷歌的說法,您不需要權限來查找非媒體文件,但即使設置了權限也找不到這些文件。 直到Android 12,我得到了“允許管理所有文件”的選項,但是在Android 13,這是不可能的。

當我遞歸掃描 .bin 和 .png 文件時,在 Android 12 和 13 中,它在 12 中找到了兩個,但在 13 中只找到了 .png。我確實在 13 中看到了帶有文件應用程序的 .bin 文件。

<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />

這些都行不通,有什么建議可以找到 .bin 文件嗎? 我把文件放在

/storage/
/sdcard/

可以請求所有文件權限,然后在 sdcard 上找到 .bin 文件。 測試於 API 29、31、33。

<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
        tools:ignore="ScopedStorage" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

主要活動

private void checkForExternalPermission() {
  if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.R) {
    if (!checkStoragePermission()) {
      PermissionActivity.requestStoragePermission(this, true);
    }
  } else {
    PermissionActivity.requestAllFilesAccess(this);
  }
}

權限活動

對於存儲權限 < Android 13

startActivity(
  new Intent(
    android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
    Uri.parse(String.format("package:%s", getPackageName()))));

權限活動

對於所有文件權限 Android 13

Intent intent =
  new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION)
  .setData(Uri.parse("package:" + getPackageName()));
startActivity(intent);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM