android - 在服务和 Activity 之间传递参数

标签 android android-intent service android-activity bundle

将浮点值从服务传递到 Activity 的代码:

call.putExtra("floatvalue", fv);
call.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(call);

在 Activity 中获取浮点值的代码:

Bundle extras=new Bundle();
float value = extras.getFloat("floatvalue");

问题是无论从服务中作为浮点值传递什么,我在 Activity 中都只得到 0.0。

代码有什么问题?

编辑

我将 Activity 中的代码更改为

Bundle extras=new Bundle();
extras=getIntent().getExtras();
float value = extras.getFloat("floatvalue");

没有成功。

最佳答案

试试这个:

float value =  getIntent().getFloatExtra("floatvalue", 0.0f);

由于您在启动之前将 float 添加到您的 Intent 中,因此您应该从该 Intent 而不是从 bundle 中获取 float 。

关于android - 在服务和 Activity 之间传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14319005/

相关文章:

多次调用 Android LiveData observe

java - 按大小、日期、名称等在回收站 View 中排序并记住选择

android - 在 Android 上为 CheckBox 和 RadioButton 着色

android - 如何在Android中获取文件的绝对路径?

c# - 服务的自托管 WCF 控制台输出

java - 文件输入流不适用于 API 级别 29

android - Activity 生命周期 - startActivity() 和 extras

android - 无法启动服务 Intent { flg=0x4 cmp=com.UserLogin/.BgService (has extras) } : not found

java - 使用 Intent 标志和 androidmanifest

c# - Service Fabric 中无状态服务的服务解析器