我有一个在后台工作的服务 - SERVICE A 。 当我打开一个活动 - ACTIVITY A 时,我希望此服务更改 ACTIVITY A 的editText字段上显示的文本。 我想如果我获得已打开活动的上下文,那么我将能够使用并处理其视图。有可能吗?
还有一个相关的问题: 如果我没有该字段的名称,我可以使用一些循环来运行并搜索活动中的所有视图并获取其属性吗?
答案 0 :(得分:1)
似乎不太直接的方法来获得这个,而不是让服务直接更新活动。事实上,一般来说,服务/活动通信最好采用以下方式之一进行处理:
我建议您使用第二个。应用程序在打开时向服务发送广播,服务返回广播以将请求的数据传递给活动。
另请参阅Android SDK中的Service docs。
答案 1 :(得分:0)
1将字符串保存在服务的首选项中(请参阅:https://stackoverflow.com/a/12074248/4647577)
2在创建活动时检索字符串并将其设置为edittext
在你的问题中,你说你想在打开活动时显示字符串,所以上面的两个步骤就可以完成这项工作。
为了获得更好的性能,您可以重复onresume()中的第二步;