需要将活动传递给服务。我正在使用
intent.putExtra("messagedialog", this.messageDialog)
传递活动。
然而,当我尝试使用
进行活动时messageDialog = intent.getParcelableExtra("messagedialog");
返回null
。
我是否遗漏了什么。
答案 0 :(得分:4)
需要将活动传递给服务
无论您认为以这种方式解决什么问题,都有更好的解决方案。您可以在an Android developer support site上发布问题,在那里您详细解释此服务和此活动应如何互动。
我是否遗漏了某些东西
首先,Activity
不是Parcelable
。
其次,即使您尝试在Parcelable
上实施Activity
,通过Intent
附加内容传递数据也不是通过引用传递,而是按值传递。您的服务将检索活动的无用分离副本,而不是(可能)正在运行的实际活动。
我需要显示最终开发人员可以覆盖的活动。就像他可以覆盖颜色/字体/布局
让客户端发送您的服务PendingIntent
,例如通过Intent
额外服务。然后,您的服务可以在需要时send()
PendingIntent
。 PendingIntent
可以指向客户选择显示的活动。