这个错误通常发生在使用 Intent 发送广播时,广播中包含 extras 数据,但是在接收广播的代码中没有正确处理 extras 数据的情况下。一种解决方法是:
1.在发送广播时,确保将 extras 数据正确添加到 Intent 中,例如:
Intent intent = new Intent("com.example.ACTION"); intent.putExtra("data", "hello"); sendBroadcast(intent);
2.在接收广播的代码中,使用 getIntent() 方法获取 Intent 对象,并使用 getExtras() 方法获取 extras 数据。然后根据 key 获取对应的值,例如:
public class MyReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String data = intent.getExtras().getString("data"); Toast.makeText(context, "Received data: " + data, Toast.LENGTH_SHORT).show(); } }
注意:如果 extras 数据是一个自定义对象,那么这个对象必须实现 Parcelable 或 Serializable 接口,否则会导致错误。