gpt4 book ai didi

android - 如何创建一个携带数据的android Intent?

转载 作者:IT老高 更新时间:2023-10-28 21:57:08 24 4
gpt4 key购买 nike

我可能误解了应该如何使用 Intent ,所以我可能在这里问错了。如果是这样的话,无论如何,请帮助我走上正轨......

我刚刚开始开发一个 android 应用程序,它会每隔一段时间轮询我的服务器以获取消息,并且当有新消息可用时,我想将其显示给用户。我试图通过一个轮询服务器的 Service 来实现这一点,当收到新消息时,服务应该将消息提供给显示它的 Activity

为了促进这种交流,我正在尝试使用 ACTION_VIEW 创建一个 Intent,但我不知道如何将消息传递给 Activity 。有没有办法通过 Intent 传递字符串或常规 Java 对象?

对于它的值(value),这是我想做的:

getApplication().startActivity(new Intent(MessageService.this, ViewMessageActivity.class, message));

当然,这甚至不能编译。

最佳答案

使用 Intent 包添加额外信息,如下所示:

Intent i = new Intent(MessageService.this, ViewMessageActivity.class);
i.putExtra("name", "value");

在接收方:

String extra = i.getStringExtra("name");

或者,将所有附加功能作为一个 bundle 获取,与类型无关:

Bundle b = i.getExtras();

putExtra() 方法有各种签名,并且根据其类型获取数据的各种方法。你可以在这里看到更多:Intent , putExtra .

编辑:要传递一个对象,它必须实现 ParcelableSerializable ,因此您可以使用以下签名之一:

putExtra(String name, Serializable value)

putExtra(String name, Parcelable value)

关于android - 如何创建一个携带数据的android Intent?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8610880/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com