2017-07-09 99 views
0

在新的Samsung Galaxy 8手機上運行時,出現以下異常。這個例外並沒有給我任何有關它造成什麼的信息(據我所知)。我沒有S8手機來試圖找出有問題的代碼。SecurityException使用S8 Phone在Android上運行

有沒有人有任何想法是什麼問題或如何弄清楚?

TIA

java.lang.SecurityException: 
at android.app.ContextImpl.checkMode(ContextImpl.java:2323) 
at android.app.ContextImpl.openFileOutput(ContextImpl.java:534) 
at android.content.ContextWrapper.openFileOutput(ContextWrapper.java:192) 
at com.yandex.metrica.impl.o.c(SourceFile:178) 
at com.yandex.metrica.impl.o.a(SourceFile:44) 
at com.yandex.metrica.impl.o$a.a(SourceFile:310) 
at com.yandex.metrica.impl.o.b(SourceFile:164) 
at com.yandex.metrica.impl.bh.c(SourceFile:139) 
at com.yandex.metrica.impl.ag.c(SourceFile:145) 
at com.yandex.metrica.impl.ag$a.run(SourceFile:295) 
at com.yandex.metrica.impl.ob.bh.execute(SourceFile:10) 
at com.yandex.metrica.impl.ob.bj.execute(SourceFile:7) 
at com.yandex.metrica.impl.ag.run(SourceFile:86) 
+0

Android已更改您訪問存儲文件的方式。您必須覆蓋設置在應用程序類中使用此設置。看到這個線程:https://stackoverflow.com/questions/38200282/android-os-fileuriexposedexception-file-storage-emulated-0-test-txt-exposed –

+0

我不認爲我正在訪問我的代碼中的任何文件。我知道它看起來像這樣的例外,但文件訪問發生在android代碼內部,而不是我的代碼...我誤解了什麼? –

回答

0

這可能是由於缺乏權限。

您是否獲得了存儲權限?

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

根據您定位的Android SDK,您可能需要在運行時請求權限。

https://developer.android.com/training/basics/data-storage/files.html

+0

我不想訪問任何存儲 –