Android-виджет, после перезагрузки не отображается - PullRequest
2 голосов
/ 20 сентября 2011

※ это не проблема App2sd.
(во-первых, вы можете попробовать это приложение, где Android Market)
https://market.android.com/details?id=com.beadgrip.premierframe

Это виджет PictureFrame.
В макете виджета есть два ImageViews (размер 2x2)
1. Добавьте виджет на рабочий стол -> конечно же появиться!
2. Перезагрузка -> исчезнуть (иногда появляются ... очень странные проблемы ..)
3. Но если я поверну экран -> появится

Эта проблема устранена на устройствах ниже LG, SamSung, CM7 Roms (и всевозможных приложениях Home Launcher)
Но HTC Sense и MIUI не проблема

Более странная вещь ..

, если я удаляю один ImageView, который в XML WidgetLayout -> Нет проблем !!!
(или не setImageBitmap, где источник provider.java, который является одним из растрового изображения кадра или изображения)

Это источник вопроса ядра.

поставщикr.java

// Update Widget Method
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
    PFramePhotoDatabase helper = new PFramePhotoDatabase(context);
    for (int appWidgetId : appWidgetIds) {
        int[] specificAppWidget = new int[] { appWidgetId };
        RemoteViews views = buildUpdate(context, appWidgetId, helper);
        appWidgetManager.updateAppWidget(specificAppWidget, views);
    }
    helper.close();
}

static RemoteViews buildUpdate(Context context, int appWidgetId, PFramePhotoDatabase helper) {
    RemoteViews views = null;
    // Getting a frame, picture from SQLite
    Bitmap bitmap_Pic = helper.getPhotoPicture(appWidgetId);
    Bitmap bitmap_Frm = helper.getPhotoFrame(appWidgetId);
    views = new RemoteViews(context.getPackageName(), R.layout.layout_widget22);

   // If I delete one 'if' it's not problem!, it's perfect!
   // So I devided buildUpdate Method as two kinds, But It's same problem :<
   if (bitmap_Pic != null) {
     views.setImageViewBitmap(R.id.wiv_Picture22, bitmap_Pic); // Picture set a ImageView
   }
   if (bitmap_Frm != null) {
    views.setImageViewBitmap(R.id.wiv_Frame22, bitmap_Frm);  // Frame set a ImageView
   }
   return views;
}

1 Ответ

0 голосов
/ 20 сентября 2011

та же проблема после перезагрузки виджеты исчезают. Я видел этот пост: http://code.google.com/p/cyanogenmod/issues/detail?id=3167

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...