Я всегда получаю null при получении объекта, подлежащего разделению, от RemoteViewsService
в методе onReceive()
метода AppWidgetProvider
.
Я попробовал это, пройдя string
и int
, и это сработало отлично, но не в случае parcelable
.
StackWidgetProvider.java расширяет AppWidgetProvider.
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals(INTENT_ACTION)){
Artwork artwork = (Artwork) intent.getParcelableExtra(EXTRA_ART);
Log.e("Intent","->"+artwork.getTitle());
Intent showArtDetail = new Intent(context, ArtsDetailsActivity.class);
showArtDetail.putExtra(ArtsDetailsActivity.TAG_ARTWORK, artwork);
showArtDetail.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(showArtDetail);
}
super.onReceive(context, intent);
}
StackWidgetService.java расширяет RemoteServiceView
Bundle extras = new Bundle();
extras.putParcelable(StackWidgetProvider.EXTRA_ART, artwork);
Intent fillInIntent = new Intent();
fillInIntent.putExtras(extras);
remoteViews.setOnClickFillInIntent(R.id.widget_item, fillInIntent);
Parcelable
реализации не работают. - person CommonsWare   schedule 21.10.2016