gpt4 book ai didi

java - 未从 Intent 接收数据

转载 作者:太空宇宙 更新时间:2023-11-04 10:30:16 25 4
gpt4 key购买 nike

我正在使用 BLE。我正在尝试使用 Intent 将 rssi 值从一项 Activity 发送到另一项 Activity 。

Activity 1,每当 RSSI 信号发生变化时,我都会发送值,如下所示:

    @Override
public void onReadRemoteRssi(BluetoothGatt gatt, int rssi, int status) {
if (status == BluetoothGatt.GATT_SUCCESS) {
//first logcat
Log.d("BLE_Strength_connected", String.format("BluetoothGatt ReadRssi[%d]", rssi));
Intent i = new Intent(Activity1.this, Activity2.class);
i.putExtra("key",rssi);
startActivity(i);
}
}
};

Activity 2:在 oncreate() 方法中,我启动了一个处理程序,它每秒读取一次数据,我有以下内容:

    mIntent = getIntent();
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
try {
mHandler.postDelayed(this, 1000);
// if (mIntent != null) {
int value = mIntent.getIntExtra("key", 0);
Log.d("retrieve_RSSI", "value:" + value);
//The key argument here must match that used in the other activity
// }
}catch (Exception e) {

}
}
}, 1000);

Activity 1 上的 logcat 不断打印 rssi 信号,但 Activity 2 上的 logcat 只打印零。我想知道为什么我在 Activity 2 中收不到任何值?

最佳答案

你的mIntent变量将始终引用相同的Intent对象,因此当你从中提取“key”额外内容时,你当然总是会得到相同的值。

您必须确保处理新传入的 Intent 。例如,参见http://m.helloandroid.com/tutorials/communicating-between-running-activities如何做到这一点。

关于java - 未从 Intent 接收数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50084398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com