当我在android 7.1中使用getSharedPreferences时,我得到了InternalError

时间:2017-06-05 07:29:50

标签: android sharedpreferences

当我使用“getSharedPreferences”android api时,我遇到了java内部错误。 这是我的代码:

private int getByte() {
    final SharedPreferences prefs = m_ctx.getSharedPreferences("config", 0);
    ...
}

但我找到了android源代码并得到了以下内容:

private void startLoadFromDisk() {
    synchronized (this) {
        mLoaded = false;
    }
    new Thread("SharedPreferencesImpl-load") {
        public void run() {
            loadFromDisk();
        }
    }.start();
}

我不知道哪个错了?非常感谢你!

日志是:

java.lang.InternalError:
at java.lang.Thread.nativeCreate(Native Method:0)
at java.lang.Thread.start(Thread.java:730)
at android.app.SharedPreferencesImpl.startLoadFromDisk(SharedPreferencesImpl.java:98)
at android.app.SharedPreferencesImpl.<init>(SharedPreferencesImpl.java:91)
at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:360)
at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:349)
at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:164)
...

1 个答案:

答案 0 :(得分:0)

试试这个, 而是使用mCtx,您可以尝试使用getApplicationContext()..

(I,E)。

final SharedPreferences prefs = getApplicationContext().getSharedPreferences("config", 0);