2014-10-01 3 views
1

В моем виджете у меня есть настройки, необходимые для намерений в коллекциях (setPendingIntentTemplate) в моем AppWidgetProvider подкласса по методу onUpdateAndroid AppWidget RemoteViewsFactory намерения и putSerializable/putParcelable

и на моем RemoteViewsFactorygetViewAt метод у меня есть:

Bundle extras = new Bundle(); 
extras.putInt("pos", position); 
extras.putInt("date", new DateTime().millisOfDay().get()); 

//comment this to work 
extras.putSerializable("d", new DateTime()); 

Intent fillInIntent = new Intent(); 
fillInIntent.putExtras(extras); 

// Make it possible to distinguish the individual on-click 
// action of a given item 
row.setOnClickFillInIntent(R.id.list_view_row, fillInIntent); 

У меня возникла проблема с запуском моей деятельности, но у меня нет дополнительных функций из метода getViewAt, однако как только я прокомментирую заявление extras.putSerializable("d", new DateTime()); a ctivity получает все остальные дополнения, так как это исключено, так же, как и для Parcelable, кроме того, документировано где угодно, что AppWidgetssetOnClickFillInIntent не поддерживается Parcelable и Serializable дополнительные услуги?

Edit: Im используя следующий пристальный шаблон:

Intent startActivityIntent = new Intent(context, MainActivity.class); 
    //startActivityIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP); 

    startActivityIntent 
      .setAction(Intent.ACTION_VIEW) 
      .putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId) 
      .setData(Uri.parse(startActivityIntent.toUri(Intent.URI_INTENT_SCHEME))); 


    PendingIntent startActivityPendingIntent = PendingIntent 
      .getActivity(context, 0, startActivityIntent, PendingIntent.FLAG_UPDATE_CURRENT); 

    views.setPendingIntentTemplate(R.id.list, startActivityPendingIntent); 

ответ

Смежные вопросы