java - 如何在不扩展 Activity 的类中使用 getIntent()?

标签 java android android-intent

我正在尝试从类“Play”传递一个字符串,该类通过使用扩展 Activity:

Bundle data = new Bundle();
Intent i = new Intent(Play.this, Receive.class);
String category;

data.putString("key", category);
i.putExtras(data);

然后,非 Activity 类且不扩展 Activity 的“Receive”类将从“Play”接收字符串。

但是当我尝试使用此代码接收数据时:

Bundle receive = new Bundle();
String passed;

receive = getIntent().getExtras();
passed = receive.getString("key");

我在“getIntent()”这个词上遇到错误,建议我创建一个方法 getIntent()。

这个问题的可能解决方案是什么? 谢谢!

最佳答案

Intent 在这里不是必需的。你可以做这样的事情:

播放类:

public String getCategory() {
    return category;
}

在 Receiver.class 中:

Play playObject = new Play();
passed = playObject.getCategory();

或者您可以使用提到的 pKs 的静态字段,但这并不总是一个好的模式。

关于java - 如何在不扩展 Activity 的类中使用 getIntent()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14937410/

相关文章:

java - 使用 JFrame 和 JPanel 的简单 Java 动画

java - toArray(new String[0]); 中的 new String[0] 有什么用?

android - 运行 ADB 命令的 Bash 脚本不会遍历设备列表

java - 当我添加编译 'com.google.android.gms:play-services-wearable:6.5.87' 时,我的 gradle 构建失败

android - 黑屏模拟器 Android Q Preview (Pixel 2)

java - 使用 url 在 android textview 中定义新方案

android - 如何在用户打开另一个应用程序时拦截 Intent?

java - Java中注释的元素可以是不同注释的数组吗?

android - 从我的图书馆项目开始主项目的 Activity

java - Hibernate:批量和非批量插入生成相同数量的 SQL 查询