使用Android中的广播接收器发送整数值

时间:2013-04-29 13:59:56

标签: android broadcastreceiver

如何使用广播意图将一个整数值从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,如何解决这个问题。

2 个答案:

答案 0 :(得分:1)

当你发送给整个Intent Bundle的整数时。当你收到你想要提取一个长期。您是否尝试在两侧使用相同的类型?

答案 1 :(得分:0)

使用您收到的意图作为onReceive方法的参数

int time;
public void onReceive(Context context, Intent intent) {
            updateUI(intent);   

            time = intent.getLongExtra("mykey", 1);    
        }