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

在Android中使用广播接收器发送整数值,android,broadcastreceiver,Android,Broadcastreceiver,如何使用广播意图将整数值从服务类传递到活动。下面是我的代码,但有一些错误 派遣方 private void DisplayLoggingInfo() { Log.d(TAG, "entered DisplayLoggingInfo"); int dataJNI = BioLIb.intFromJNI(); intent.putExtra("mykey", dataJNI); sendBro

如何使用广播意图将整数值从服务类传递到活动。下面是我的代码,但有一些错误

派遣方

 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);
收到广播接收器后,我将呼叫

 public void onReceive(Context context, Intent intent) {
            updateUI(intent);       
       }
 int time = intent.getINtExtra("mykey", 1);

但是我没有在接收端得到我的
dataJNI
的确切值。我总是得到的值是
1
,如何解决这个问题。

当您发送时,您正在将一个整数放入意图包中。接收时,您正试图提取一个长的。您是否尝试在两侧使用相同的类型?

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

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

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

打印dataJNI的值。@Siddharth:Ya我将从我的JNI类中获取整数值。你的问题太不清楚了。