【发布时间】:2013-01-14 13:09:25
【问题描述】:
将浮点值从服务传递到活动的代码:
call.putExtra("floatvalue", fv);
call.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(call);
在activity中获取float值的代码:
Bundle extras=new Bundle();
float value = extras.getFloat("floatvalue");
问题是无论从服务作为浮点值传递什么,我在活动中都只得到 0.0。
代码有什么问题?
编辑
我把activity中的代码改成了
Bundle extras=new Bundle();
extras=getIntent().getExtras();
float value = extras.getFloat("floatvalue");
没用。
【问题讨论】:
-
在从捆绑包中获取价值之前,您是否添加了
extras = getIntent().getExtras();? -
正如 ρяσѕρєя K 提到的,你应该从 onStartCommand 的意图中获取你的额外内容,而不是构建新的。
-
new Bundle 是空的,因为它是新的...
-
@ρяσѕρєяK - 我现在试过了,似乎没有用。还是 0。
-
@Torcellite :首先确保您在 onCreate 方法中尝试此代码,如果您仍然为空,那么也尝试
float value=getIntent().getFloatExtra("floatvalue",0);
标签: android android-intent service android-activity bundle