-2

Broadcast インテントを使用して 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);

BroadcastReceiver の onReceive を呼び出します

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

しかしdataJNI、受信側で正確な値を取得していません。私は常に値1を取得しています。これを解決するにはどうすればよいですか。

4

2 に答える 2

0

受け取ったインテントを onReceive メソッドのパラメーターとして使用する

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

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