Widgets configurados com android: configure receberá onUpdate mesmo se a configuração não estiver concluída

É assim que eu configuro o widget do meu APP:

<appwidget-provider
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:minWidth="240dp"
    android:minHeight="193dp"
    android:updatePeriodMillis="86400000"
    android:initialLayout="@layout/xyz_appwidget"
    android:configure="com.xyz.activity.Configuration"
    />

Portanto, o sistema exibirá oConfiguration atividade, depois que o widget for colocado na tela inicial pelo usuário. Infelizmente, sem a configuração aplicada, esse widget não deve ser colocado na tela.

Eu adicionei alguma saída de depuração. Isso acontece quando o usuário está selecionando o widget para sua tela inicial.Nota: É quando a atividade de configuração está na frente, NÃO no widget.

I/ActivityManager(  101): Start proc com.xyz for broadcast com.xyz/.widget.xyz.XyzWidgetProvider: pid=14371 uid=10050 gids={3003, 1015}
D/XyzWidgetProvider(14371): onReceive: android.appwidget.action.APPWIDGET_ENABLED
D/XyzWidgetProvider(14371): onEnabled
D/XyzWidgetProvider(14371): onReceive: android.appwidget.action.APPWIDGET_UPDATE

Portanto, isso significa que mesmo o widget não está configurado, os dois eventos (ENABLED, UPDATE) serão acionados.ativado faz sentido para mim, masATUALIZAR claramente não. Especialmente quando oConfiguration atividade concluída com êxito, não háATUALIZAR evento está sendo enviado.

Também li que, definindo o resultado daConfiguration atividade paraActivity.RESULT_CANCELED, é possível cancelar o processo de configuração. Mas como isso claramente é assíncrono, não sei como fazer o processo de configuração.bloqueio? Alguém já encontrou isso antes?

Minha nota final: dei uma olhada no Widget da Galeria do Android, quede alguma forma gerencia isso corretamente, para que um widget de galeria não configurado não seja adicionado. Mas eu suspeito que alguns HTCMagia lá como os logs não são muito úteis.

questionAnswers(3)

yourAnswerToTheQuestion