如何使用广播意图将一个整数值从Service类传递给Activity。下面是我的代码,但是出现了一些错误,
发送方
private void DisplayLoggingInfo() {
Log.d(TAG, "entered DisplayLoggingInfo");
int dataJNI = BioLIb.intFromJNI();
intent.putExtra("mykey", dataJNI);
sendBroadcast(intent);
}
接收方
private Intent intent;
以上是一个全局变量。在我的onCreate中,我将调用BroadcastReceiver类,如下所示。
intent = new Intent(this, BroadCastService.class);
onReceive的BroadcastReceiver我将调用
public void onReceive(Context context, Intent intent) {
updateUI(intent);
}
int time = intent.getINtExtra("mykey", 1);
但是我没有在接收方获得dataJNI
的确切值。我总是得到价值1
,如何解决这个问题。
答案 0 :(得分:1)
当你发送给整个Intent Bundle的整数时。当你收到你想要提取一个长期。您是否尝试在两侧使用相同的类型?
答案 1 :(得分:0)
使用您收到的意图作为onReceive方法的参数
int time;
public void onReceive(Context context, Intent intent) {
updateUI(intent);
time = intent.getLongExtra("mykey", 1);
}