簡體   English   中英

如何在外部存儲中創建文件夾並在其中創建文件。 像素,Xamarin.Android?

[英]How do I create a folder in an external storage and create a file in it. Pixel, Xamarin.Android?

!correction 這不適用於 android 版本 11 每像素!

我有三個 xamarin 項目。forms、android 和 ios。Ios 目前不是問題的中心。 在任何 Pixel 設備上和任何 Android 下(我測試了 13、12、11、10)。 設備說我無權訪問。 “訪問蹤跡...”在任何其他設備上,即:三星小米、Bq、華為。 不同 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.MANAGE_EXTERNAL_STORAGE" />

此外,在啟動應用程序時,用戶請求讀取和寫入權限或整個資源管理器。 此代碼位於 MainActivity 中。

ActivityCompat.RequestPermissions(thisActivity, new string[] {
    Manifest.Permission.PostNotifications, 
    Manifest.Permission.WriteExternalStorage,
    Manifest.Permission.RecordAudio,
    Manifest.Permission.ReadExternalStorage 
}, 1);

在主要的 xamarin project.forms 中,我獲取了存儲庫根文件夾的路徑:並創建了我要創建的文件夾的路徑。

folderPath = Path.Combine(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath, "CorpFiles");

folderPath 變量存儲我需要的文件夾的路徑。 然后我檢查這個路徑上是否有文件夾並在必要時創建它

if (!System.IO.File.Exists(folderPath))
      {
         Directory.CreateDirectory(folderPath);
      }

這段代碼效果很好。 但不是在 Pixel 上。我眼含淚水,請你幫我解決這個問題。 這是第三周我一直在解決一個我在任何地方都找不到的簡單問題。

你基本上不能再使用外部存儲了。

多讀書。

https://medium.com/swlh/sample-for-android-storage-access-framework-aka-scoped-storage-for-basic-use-cases-3ee4fee404fc

 https://www.zoftino.com/how-to-create-browse-files-option-in-android
 https://mateuszteteruk.pl/how-to-use-android-storage-access-framework-with-example
 https://thedroidlady.com/2020-08-24-android-scoped-storage-demystified

暫無
暫無

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

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