Я создал функциональность в appwidget, которая позволяет пользователю изменять фон с прозрачного на полупрозрачный. По умолчанию для xml установлен прозрачный. Когда пользователь изменяет предпочтение фона, настройка сохраняется и фон обновляется с использованием кода ниже:
public static Bitmap setBackground (int bgcolor)
{
{
Bitmap.Config config=Bitmap.Config.ARGB_8888;
Bitmap bitmap=Bitmap.createBitmap(2, 2, config);
Canvas canvas=new Canvas(bitmap);
canvas.drawColor(bgcolor);
return bitmap;
}
}
/* set background */
if (ExampleWidgetProvider.background==1)
views.setImageViewBitmap(R.id.bgcolor, setBackground(Color.parseColor("#aaaaaaaa")));
else
views.setImageViewBitmap(R.id.bgcolor, setBackground(Color.parseColor("#00000000")));
Один пользователь сообщает, что фон заменен на прозрачный, когда он установил его полупрозрачным. Это может показаться случайным в течение нескольких минут в час или полдня.
Я понял, что это проблема с фоном, а не с каким-то изменением настроек, поскольку я отправил пользователю версию приложения, которая всегда будет менять фон на полупрозрачный, то есть используя:
/* set background */
if (ExampleWidgetProvider.background==1)
views.setImageViewBitmap(R.id.bgcolor, setBackground(Color.parseColor("#aaaaaaaa")));
else
views.setImageViewBitmap(R.id.bgcolor, setBackground(Color.parseColor("#aaaaaaaa")));
Но интересно, что это не исправить. Поскольку значение по умолчанию в xml установлено на прозрачное, я подозреваю, что приложение каким-то образом перезапускается или перерисовывается, и используется макет по умолчанию.
Как я могу обнаружить и/или обойти это?
Обновление. Пользователь (как и ожидалось) исправил исправление, которое постоянно меняет цвет фона в xml до полупрозрачного. Это означает, что система сбрасывает фон по неизвестной причине.
Пользователь использует LG PG 970 V. 2.2.2 и за что стоит использовать "Juice Defender Ultimate" и настроен на то, чтобы не подключаться к Интернету в течение ночи. Мой appwidget действительно подключается к Интернету через определенные промежутки времени.