2017-06-26 4 views
1

Ich verwende Windows 10, Visual Studio 2015 und Xamarin. Ich bin Xamarin ziemlich neu (nur um das Grundniveau zu bestimmen). Ich habe gerade ein Problem, nachdem ich kürzlich aktualisiert habe. Meine Anwendung hat vor dem Update funktioniert. Alle meine Dateien waren schreibgeschützt und ich hatte vor dem Update keine Probleme. Gleichzeitig habe ich das Projekt wieder aufgebaut und auch das Projekt "sauber und neu aufgebaut". Ich habe es mit mehreren Apps versucht, die ich habe, und die anderen Anwendungen haben dieses Problem nicht. Das Problem Ich erhalte den folgenden Fehler unten.Zugriff auf Pfad verweigert (Xamarin/Android)

06-26 13:51:55.108 I/MonoDroid(6985): UNHANDLED EXCEPTION: 
06-26 13:51:55.142 I/MonoDroid(6985): System.UnauthorizedAccessException: Access to the path "/storage/emulated/0/defaultDirectory/users.ini" is denied. 
06-26 13:51:55.142 I/MonoDroid(6985): at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) [0x001f1] in <3fd174ff54b146228c505f23cf75ce71>:0 
06-26 13:51:55.142 I/MonoDroid(6985): at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.IO.FileOptions options, System.String msgPath, System.Boolean bFromProxy, System.Boolean useLongPath, System.Boolean checkHost) [0x00000] in <3fd174ff54b146228c505f23cf75ce71>:0 
06-26 13:51:55.142 I/MonoDroid(6985): at (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int,System.IO.FileOptions,string,bool,bool,bool) 
06-26 13:51:55.142 I/MonoDroid(6985): at System.IO.StreamReader..ctor (System.String path, System.Text.Encoding encoding, System.Boolean detectEncodingFromByteOrderMarks, System.Int32 bufferSize, System.Boolean checkHost) [0x00067] in <3fd174ff54b146228c505f23cf75ce71>:0 
06-26 13:51:55.142 I/MonoDroid(6985): at System.IO.StreamReader..ctor (System.String path, System.Text.Encoding encoding, System.Boolean detectEncodingFromByteOrderMarks, System.Int32 bufferSize) [0x00000] in <3fd174ff54b146228c505f23cf75ce71>:0 
06-26 13:51:55.142 I/MonoDroid(6985): at System.IO.StreamReader..ctor (System.String path, System.Boolean detectEncodingFromByteOrderMarks) [0x0000d] in <3fd174ff54b146228c505f23cf75ce71>:0 
06-26 13:51:55.142 I/MonoDroid(6985): at System.IO.StreamReader..ctor (System.String path) [0x00000] in <3fd174ff54b146228c505f23cf75ce71>:0 
06-26 13:51:55.142 I/MonoDroid(6985): at (wrapper remoting-invoke-with-check) System.IO.StreamReader:.ctor (string) 
06-26 13:51:55.142 I/MonoDroid(6985): at System.IO.File.OpenText (System.String path) [0x00000] in <3fd174ff54b146228c505f23cf75ce71>:0 
06-26 13:51:55.142 I/MonoDroid(6985): at QykAndroidApp.AdminLoginActivity.decryptUsers() [0x00033] in <65a7af1659a443738d96e6c2b7534ab2>:0 
06-26 13:51:55.142 I/MonoDroid(6985): at QykAndroidApp.AdminLoginActivity.OnCreate (Android.OS.Bundle savedInstanceState) [0x0008a] in <65a7af1659a443738d96e6c2b7534ab2>:0 
06-26 13:51:55.142 I/MonoDroid(6985): at Android.App.Activity.n_OnCreate_Landroid_os_Bundle_ (System.IntPtr jnienv, System.IntPtr native__this, System.IntPtr native_savedInstanceState) [0x0000f] in <d855bac285f44dda8a0d8510b679b1e2>:0 
06-26 13:51:55.142 I/MonoDroid(6985): at (wrapper dynamic-method) System.Object:28564880-3429-412d-9c61-4f5bb9fc103e (intptr,intptr,intptr) 
06-26 13:51:55.153 W/art  (6985): JNI RegisterNativeMethods: attempt to register 0 native methods for android.runtime.JavaProxyThrowable 
An unhandled exception occured. 

Ich habe einige Artikel lesen, wie (ich gepostet die Google-Suche nach dem dritten Punkt, weil ich fast alles, was in den Top-Ergebnissen lesen). Ich habe versucht, das Programm als Administrator auszuführen, und das Verzeichnis hat für jedermann offenen Zugriff.

Für alle neugierig auf den Code, wie ich meine Datei bin zugreifen, ist es unten.

private List<string> readUsers() 
    { 
     adminUsers = new List<string>(); 
     try 
     { 
      StreamReader readerForFile; 

      //create checks for making sure the card is mounted, the directory is found, and the file is found. 
      var filePath = Path.Combine(Android.OS.Environment.ExternalStorageDirectory.Path, "defaultDirectory/users.ini"); 

      File.SetAttributes(filePath, FileAttributes.Normal); 

      if (File.Exists(filePath)) 
      { 
       //Reads enttire document 
       //var fillContent = File.ReadAllText(filePath); 
       readerForFile = File.OpenText(filePath); 
       if (readerForFile == null) { return null; } 
       else 
       { 
        string line = ""; 
        int counter = 0; 
        while ((line = readerForFile.ReadLine()) != null) 
        { 
         adminUsers.Add(line); 
         counter++; 
        } 
       } 
      } 

     } 
     catch (IOException e) 
     { 
      //You'll need to add proper error handling here 
      alert.SetMessage("File was not found. " + e).SetNeutralButton("Okay", delegate { QuestionActivity.exit(); }).Create().Show(); 
     } 

     return adminUsers; 
    } 
+0

"Meine Anwendung funktionierte vor dem Update." Sie können versuchen, Ihre App vom Gerät zu deinstallieren und erneut zu implementieren. –

Antwort

Verwandte Themen