从android tv推荐恢复活动
我在使用Leanback Launcher的Android电视上管理推荐(通知)时遇到了一些问题 我在这里使用google示例来实现我自己的: 预期结果:从android tv推荐恢复活动,android,android-intent,activity-lifecycle,android-tv,leanback,Android,Android Intent,Activity Lifecycle,Android Tv,Leanback,我在使用Leanback Launcher的Android电视上管理推荐(通知)时遇到了一些问题 我在这里使用google示例来实现我自己的: 预期结果: 我正在进行我的活动“MainActivity”(带有网络视图) 我按HOME键,所以我在带地雷的Leanback发射器上 我按其中一个 恢复活动“MainActivity”,而不使用新的额外命令以新的意图重新创建它 实际上,在创建PendingEvent之前,不重新加载活动的情况下恢复活动效果良好: private PendingInte
- 我正在进行我的活动“MainActivity”(带有网络视图)
- 我按HOME键,所以我在带地雷的Leanback发射器上
- 我按其中一个
- 恢复活动“MainActivity”,而不使用新的额外命令以新的意图重新创建它
private PendingIntent buildPendingIntent(Parcelable media, int id) {
Intent detailsIntent = new Intent(this, MainActivity.class);
detailsIntent.putExtra("media", media);
detailsIntent.putExtra("id", id);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addParentStack(MainActivity.class);
stackBuilder.addNextIntent(detailsIntent);
return stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
}
当前结果:
- 我正在进行我的活动“MainActivity”(带有网络视图)
- 我按HOME键,所以我在带地雷的Leanback发射器上
- 我按其中一个
- 我的活动接收“onNewIntent”事件的方式与我始终使用的媒体相同
// Ensure a unique PendingIntents, otherwise all recommendations end up with the same
// PendingIntent
detailsIntent.setAction(movie.getId());
因此,为了区分所有建议,我必须使用ID设置操作,否则,它将始终是发送到我的活动的最后一个挂起内容。这是我目前的行为,我在“onNewIntent”中收到的意图(最后一个)中的“media”和“id”总是相同的,无论我点击哪个建议,我总是得到相同的意图
但是,如果我用“id”设置操作,则会重新创建活动“MainActivity”,因此恢复失败,我的webview的上下文将被清除。我的webview将被重新加载:(但我在额外的意图值中获得了良好媒体的良好意图
你有没有办法帮我达到我想要的行为
为了简化我的问题,如何在不重新加载活动的情况下,从具有良好挂起内容的推荐中恢复活动B
提前感谢您的帮助。我找到了一个解决方案。我认为这不是一个好办法,但它对我的情况有效
PendingIntent pIntent = PendingIntent.getActivity(this, id, detailsIntent, PendingIntent.FLAG_UPDATE_CURRENT);
return pIntent;
因此,如果我用id设置“resquetCode”,那么Android会认为这是一个不同的活动,并在不重新创建新活动的情况下继续它