2015-09-25 14 views
12

Quindi, queste sono le informazioni del logcat che ottengo. L'app può ancora funzionare, ma voglio sapere il motivo per cui ottengo questo errore. Non capisco perché capisco così non so nemmeno come chiedere.C'è qualche errore quando il layout di caricamento di Android, ma non ha alcun effetto sull'esecuzione

09-26 07:13:33.510 18533-18533/com.gongxxing.gongxxing0921 D/AccessibilityManager﹕ setStateLocked: wasEnabled = false, mIsEnabled = false, wasTouchExplorationEnabled = false, mIsTouchExplorationEnabled = false, wasHighTextContrastEnabled = false, mIsHighTextContrastEnabled = false 
java.lang.Throwable: setStateLocked 
     at android.view.accessibility.AccessibilityManager.setStateLocked(AccessibilityManager.java:553) 
     at android.view.accessibility.AccessibilityManager.tryConnectToServiceLocked(AccessibilityManager.java:636) 
     at android.view.accessibility.AccessibilityManager.<init>(AccessibilityManager.java:226) 
     at android.view.accessibility.AccessibilityManager.getInstance(AccessibilityManager.java:206) 
     at android.view.View.setFlags(View.java:9941) 
     at android.view.ViewGroup.initViewGroup(ViewGroup.java:536) 
     at android.view.ViewGroup.<init>(ViewGroup.java:525) 
     at android.view.ViewGroup.<init>(ViewGroup.java:520) 
     at android.view.ViewGroup.<init>(ViewGroup.java:516) 
     at android.view.ViewGroup.<init>(ViewGroup.java:512) 
     at android.widget.FrameLayout.<init>(FrameLayout.java:119) 
     at com.android.internal.policy.impl.PhoneWindow$DecorView.<init>(PhoneWindow.java:2341) 
     at com.android.internal.policy.impl.PhoneWindow.generateDecor(PhoneWindow.java:3639) 
     at com.android.internal.policy.impl.PhoneWindow.installDecor(PhoneWindow.java:4026) 
     at com.android.internal.policy.impl.PhoneWindow.getDecorView(PhoneWindow.java:2052) 
     at android.support.v7.app.AppCompatDelegateImplV7.onCreate(AppCompatDelegateImplV7.java:148) 
     at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:60) 
     at com.gongxxing.gongxxing0922.MainActivity.onCreate(MainActivity.java:27) 
     at android.app.Activity.performCreate(Activity.java:6142) 
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1115) 

Mi dispiace per dimenticare incollare l'attività principale.

La linea 27 è

public class MainActivity extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

super.onCreate (savedInstanceState); è la linea 27.

+0

se si registra il metodo onCreate può può aiutare com.gongxxing.gongxxing0922.MainActivity.onCreate (MainActivity.java:27) l'errore è nella linea 27 della MainActivity? –

+0

Ora aggiorno MainActivity. Di cos'altro hai bisogno? – yzlee

+1

Ho lo stesso problema. Hai trovato una soluzione? – Nikola

risposta

3

Mi spiace rispondere a questa vecchia domanda, ma ho risolto questa eccezione nel mio progetto.

Penso che ciò che porta all'eccezione è che stiamo usando il contesto della nostra attività quando sta creando.

Il mio codice è qualcosa di simile:

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     regToWx(); 
} 


private void regToWx(){ 
    IWXAPI api; 
    api = WXAPIFactory.createWXAPI(this, Constants.WX_APP_ID, true); 
    api.registerApp(Constants.WX_APP_ID); 
    String text = "123"; 
    WXTextObject textObj = new WXTextObject(); 
    textObj.text = text; 

    WXMediaMessage msg = new WXMediaMessage(); 
    msg.mediaObject = textObj; 
    msg.description = text; 

    SendMessageToWX.Req req = new SendMessageToWX.Req(); 
    req.scene = SendMessageToWX.Req.WXSceneSession; 
    req.transaction = String.valueOf(System.currentTimeMillis()); 
    req.message = msg; 

    api.sendReq(req); 
} 

Come il regToWx metodo ha bisogno di creare qualcosa da this, che è il contesto, ma penso che il contesto non può essere utilizzato (per certi versi) all'interno onCreate metodo. Quindi l'ho messo in una discussione e poi il problema è risolto.

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     new Thread(new Runnable() { 
     @Override 
     public void run() { 

      regToWx(); 
     } 
    }).start(); 

} 

modo da cercare di scoprire che cosa avete fatto con il metodo di context in onCreate, mettere questi codice fuori dalla esso o semplicemente rendere il codice asincrono.

1

Stavo ottenendo lo stesso errore. Ho scoperto che è dovuto all'attributo android: sharedUserId = "com.something" che stavo usando nei file manifest.

Supponiamo che la versione 1 dell'applicazione abbia android: sharedUserId nel manifest e inizializza un ContentProvider.

Ora, supponiamo che nella versione 2, si rimuove l'androide: sharedUserId dal manifesto e tenta di accedere alla ContentProvider creato nella versione 1.

In questo caso, la versione recente non sarà in grado di accedere al ContentProvider creato nella versione 1.

0

Poiché il metodo regToWx deve creare qualcosa con questo che è il contesto, ma penso che il contesto non possa essere utilizzato (in qualche modo) all'interno del metodo onCreate. Quindi l'ho messo in una discussione e poi il problema è risolto.

Problemi correlati