可以在Intent中传递RemoteView吗?

时间:2018-02-05 06:41:09

标签: android android-intent notifications

我正在尝试将RemoteViews传递给intent,以便稍后我可以使用它来更新我的通知。但是,从Intent获取RemoteView时,RemoteView始终为null。

基本上,点击按钮,Notification会减少或增加通知中显示为textview的权重值。

RemoteViews expandedView = new RemoteViews(context.getPackageName(), R.layout.remote_view_exercise_workout);
Intent addWeightIntent = new Intent(context, ExerciseWorkoutNotification.class);
addWeightIntent.putExtra("expandedView", expandedView);
expandedView.setOnClickPendingIntent(R.id.UpWeightButton, PendingIntent.getService(context, 1, addWeightIntent, PendingIntent.FLAG_UPDATE_CURRENT));

然后关于意图处理:

protected void onHandleIntent(@Nullable Intent intent)  
RemoteViews expandedView = (RemoteViews) intent.getSerializableExtra("expandedView");
updateWeightNotification(workout, expandedView, workoutPosition, operator);

但是,我的expandedView总是在intentHandle上显示为null。

我做错了什么或者有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

尝试

RemoteViews expandedView = (RemoteViews) intent.getParcelableExtra("expandedView");

修改:由于RemoteViewsParcelable的实施,因此上述解决方案应该有效。