2014-12-16 13 views
5

Il Launcher si blocca su Android Lollipop quando si aggiunge un Widget che dà il seguente messaggio (Funziona bene su versioni di Android precedenti):Android Lollipop: Launcher si blocca quando l'aggiunta di widget di app a Home

Edit: Questo accade solo in orientamento orizzontale.

12-16 12:35:10.208: E/AndroidRuntime(960): 
java.lang.RuntimeException: Unable to resume activity {com.android.launcher/com.android.launcher2.Launcher}: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=5, result=-1, data=Intent { (has extras) }} to activity {com.android.launcher/com.android.launcher2.Launcher}: java.lang.NullPointerException:  Attempt to read from field 'android.content.pm.ActivityInfo  
android.appwidget.AppWidgetProviderInfo.providerInfo' on a null object reference 
12-16 12:35:10.208: E/AndroidRuntime(960): at 
android.appwidget.AppWidgetHostView.getRemoteContext(AppWidgetHostView.java:465) 
12-16 12:35:10.208: E/AndroidRuntime(960): at 
android.appwidget.AppWidgetHostView.updateAppWidget(AppWidgetHostView.java:376) 
12-16 12:35:10.208: E/AndroidRuntime(960): at com.android.launcher2.LauncherAppWidgetHostView.updateAppWidget(LauncherAppWidgetHostView.java:54) 
12-16 12:35:10.208: E/AndroidRuntime(960): at android.appwidget.AppWidgetHost.createView(AppWidgetHost.java:325) 
12-16 12:35:10.208: E/AndroidRuntime(960): at com.android.launcher2.Launcher.completeTwoStageWidgetDrop(Launcher.java:703) 
12-16 12:35:10.208: E/AndroidRuntime(960): at com.android.launcher2.Launcher.onActivityResult(Launcher.java:664) 

Si tratta di informazioni fornitore:

<?xml version="1.0" encoding="utf-8"?> 
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" 
    android:minWidth="201dp" 
    android:minHeight="201dp" 
    android:updatePeriodMillis="180000" 
    android:initialLayout="@layout/appwidget_week" 
    android:configure="com.example.myApp.Widgets.Configure.WidgetConfigure_Week" 
    android:resizeMode="horizontal|vertical" 
    android:previewImage="@drawable/widget_screenshot_week" 
    android:label="@string/widget_week"> 
</appwidget-provider> 

e il manifesto:

<receiver 
     android:name="com.example.myApp.Widgets.Provider.WidgetProvider_Week" 
     android:enabled="@bool/is_above_version_3_1" 
     android:label="@string/widget_week" > 
     <intent-filter> 
      <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> 
     </intent-filter> 

     <meta-data 
      android:name="android.appwidget.provider" 
      android:resource="@xml/appwidget_week_provider_info" /> 
    </receiver> 

risposta

0

ho avuto un incidente simile verificarsi su Marshmallow. Il mio arresto anomalo si è verificato quando l'orientamento dello schermo è stato modificato mentre nella Attività utilizzata per configurare il Widget schermata iniziale (non si verificava in nessuno dei due orientamenti se l'orientamento non era stato modificato).

Giusto per chiarire: lo schianto non si è verificato immediatamente quando lo schermo è stato ruotato. Piuttosto, si è verificato dopo che l'utente ha terminato la configurazione del widget, ha abbandonato l'attività e Android stava creando il widget schermata iniziale.

Ciò ha causato la creazione di "widget fantasma" (ovvero i widget che non appaiono sullo schermo ma esistono all'interno di Android).

Sono stato in grado di risolverlo forzando l'attività di configurazione del widget di rimanere in modalità verticale quando il dispositivo è stato ruotato. Come descritto qui:

Force "portrait" orientation mode

Problemi correlati