예외는 Android 7.0 Nougat (에뮬레이터) 장치에서만 발생합니다.java.lang.SecurityException : MODE_WORLD_READABLE이 더 이상 지원되지 않음
을 지원하는 것은 내 코드 :이 java.lang.SecurityException가 : MODE_WORLD_READABLE가 더 이상
public void SessionMaintainence(Context context) {
this.context = context;
preferences = context.getSharedPreferences(PREF_NAME, Context.MODE_WORLD_READABLE);
editor = preferences.edit();
editor.commit();
}
로그 캣 :
> E/AndroidRuntime: FATAL EXCEPTION: main
> Process: burpp.av.feedback, PID: 2796
> java.lang.RuntimeException: Unable to create application
> burpp.av.feedback.FeedbackApplication: java.lang.SecurityException:
> MODE_WORLD_READABLE no longer supported
> at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5364)
> at android.app.ActivityThread.-wrap2(ActivityThread.java)
> at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1528)
> at android.os.Handler.dispatchMessage(Handler.java:102)
> at android.os.Looper.loop(Looper.java:154)
> at android.app.ActivityThread.main(ActivityThread.java:6077)
> at java.lang.reflect.Method.invoke(Native Method)
> at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
> at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
> Caused by: java.lang.SecurityException: MODE_WORLD_READABLE no longer supported
> at android.app.ContextImpl.checkMode(ContextImpl.java:2162)
> at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:363)
> at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:358)
> at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:164)
> at burpp.av.feedback.support.SessionMaintainence.<init>(SessionMaintainence.java:63)
> at burpp.av.feedback.FeedbackApplication.onCreate(FeedbackApplication.java:43)
> at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1024)
문서를 살펴보면 너무 위험하기 때문에 MODE_WORLD_READABLE은 (는) 사용되지 않습니다. https://developer.android.com/reference/android/content/Context.html#MODE_WORLD_READABLE – Opiatefuchs
오류가 나타내는 것처럼 'MODE_WORLD_READABLE'은 지원되지 않습니다. 'getSharedPreferences()'호출에서 그 플래그를 제거하고, 그것을'MODE_PRIVATE' 또는'0'으로 대체하십시오. – CommonsWare
내 응용 프로그램에는 'MODE_WORLD_READABLE'이라는 큰 수요가 있습니다. 그리고 6.0까지 잘 작동하지만 7.0과 함께 작동하지 않습니다. –