-2

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

发送方

 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);

我将调用 BroadcastReceiver 的 onReceive

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

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

4

2 回答 2

1

当您发送时,您将一个整数放入 Intent Bundle。当收到you0re 试图提取一个长。您是否尝试在两侧使用相同的类型?

于 2013-04-29T14:10:02.973 回答
0

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

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

            time = intent.getLongExtra("mykey", 1);    
        }
于 2013-04-29T14:13:33.000 回答