Итак, вот решение, которое я придумал:
Вам нужно действие, которое появится на панели запуска. Итак, сначала у нас есть старый приемник виджетов, например:
<receiver android:name=".VolumeProfilesWidget" android:label="@string/app_name">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
<!-- Broadcast Receiver that will also process our self created action -->
<action android:name="net.thepurge.volumeprofiles.plus.VolumeProfilesWidget.ACTION_WIDGET_RECEIVER"/>
</intent-filter>
<meta-data android:name="android.appwidget.provider" android:resource="@xml/volumeprofiles_widget_provider" />
</receiver>
А затем нам нужно некоторое занятие с установленными параметрами MAIN и LAUNCHER:
<activity android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<action android:name="net.thepurge.volumeprofiles.plus.VolumeProfilesWidget.ACTION_WIDGET_CONFIGURE"/>
</intent-filter>
</activity>
Насколько я могу сказать, вы ДОЛЖНЫ сделать это, даже если ваш виджет просто должен быть чистым виджетом без каких-либо связанных действий. По крайней мере, выполните одно фиктивное действие, которое запускает экран с надписью «Ваш виджет теперь готов к использованию! Найдите его под виджетами и перетащите на главный экран!»
В моем случае мой виджет запустил действие, когда вы его выдвинули, поэтому я сделал это действие в LAUNCHER / MAIN и просто добавил одноразовое всплывающее диалоговое окно, которое в основном говорит: «Вы можете запустить это как приложение, но вы можете захотеть вместо этого использовать виджет ".
Обратите внимание, что в эмуляторе 4.0 я никогда не отображал свой виджет при первой установке до этого изменения. Просто установки активности на MAIN и LAUNCHER оказалось достаточно для отображения виджета.