Я создаю приложение для обоев. У меня есть кнопка, которая устанавливает обои. Что я хотел бы сделать, это проверить, загружены обои, если да, установите обои - если нет, загрузите и установите обои.Intent extra on широковещательный приемник WallpaperManager
Я проверяю, существует ли файл с идентификатором (например, 26748.jpg
), если да, я успешно установил обои, если он не существует, я загружаю его, но я не могу его установить.
Я имею BroadcastReceiver установить:
<receiver android:name=".SinglePhotoActivity$CheckDownloadComplete">
<intent-filter>
<action android:name="android.intent.action.DOWNLOAD_COMPLETE"/>
</intent-filter>
</receiver>
который отображает простое сохраненное сообщение:
public static class CheckDownloadComplete extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "Saved!", Toast.LENGTH_SHORT).show();
}
}
Проблема заключается в том, что у меня есть два типа установки обоев: один, если обои уже загружены, а один - если нет. Я провел небольшое исследование и выяснил, что широковещательные приемники этого типа не могут содержать никаких дополнительных намерений. Единственное, что я мог сделать, это установить описание моего запроса DownloadManager, а затем проверить описание в onReceive
.
Так что, если изображение уже загружено, я бы хотел показать простой тост. Если нет, то загрузите его и после, в OnReceive после завершения загрузки запустите мой код setWallpaper.
Есть ли более опытный способ сделать это?
Где вы узнали, что у вас не может быть ЭКСТРА в этом трансляторе? –