2017-06-05 1 views
0

Ich habe Java internen Fehler, wenn ich "getSharedPreferences" Android API verwenden. Dies ist mein Code:Ich habe InternalError, wenn ich GetSharedPreferences in Android 7.1

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

aber ich finde die Android-Quellcode und bekam unter:

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

ich donnot wissen, welche falsch? Vielen Dank!

Das Protokoll ist:

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) 
... 

Antwort

0

Versuchen Sie, diese, Statt mCtx verwenden, können Sie versuchen, getApplicationContext() verwenden ..

(i, e).

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