我正在做一個有一個stackView的小部件,我在裏面添加了一個RemoteViewFactory的位圖(圖像)。使用setPendingIntentTemplate打開活動
我的問題是當我想爲每個圖像做一個onClickPendingIntent()
(我在stackView裏面)。我知道我必須改用setPendingIntentTemplate()
,但我不知道如何在按下某個小部件的圖像時進入Activity。
那麼這就是我裏面onUpdate()
從控件類創建掛起的意圖模板:
Intent templateIntent = new Intent(Intent.ACTION_VIEW);
templateIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
PendingIntent templatePendingIntent = PendingIntent.getActivity(
context, 0, templateIntent, PendingIntent.FLAG_UPDATE_CURRENT);
views.setPendingIntentTemplate(R.id.widget_stack_view,
templatePendingIntent);
這是我在RemoteViewsFactory類來處理掛起的意圖模板:
public RemoteViews getViewAt(int index){
RemoteViews rv = new RemoteViews(context.getPackageName(), R.layout.grid_item_layout);
rv.setImageViewBitmap(R.id.image, images.get(index).getImage());
Intent fillInIntent = new Intent();
fillInIntent.putExtra(Intent.EXTRA_TEXT, images.get(index).getTitle());
rv.setOnClickFillInIntent(R.id.image, fillInIntent);
return rv;
}
到目前爲止,fillInIntent.putExtra(Intent.EXTRA_TEXT, images.get(index).getTitle());
這個fillInIntent.putExtra(Intent.EXTRA_TEXT, images.get(index).getTitle());
正在通過電話向我展示一個「使用完整操作」,您可以在其中選擇要打開哪個應用程序,但是如果您看到我在putExtra()
中放置的是String。但我要的是一個開放的活動,然後用putExtra()
一個圖像(images.get(index).getImage()
)傳遞是一個位圖