Intent.putExtras() 只是 return 空

Intent.putExtras() just return null

我正在尝试将 intent.putString 发送给其他人 class 但它不起作用我不知道为什么

trigger.setOnClickListener( v-> {
    Bundle bundle = new Bundle();
    bundle.putString("params", "okay");
    Intent intent = new Intent(this, MainActivity.class);
    intent.putExtras(bundle);

    //finishAffinity();
    startActivityForResult(intent,0);

});

单击按钮时,我将包发送到 mainActivity

我从 mainactivity oncreate 收到消息。

Bundle extras = this.getIntent().getExtras();

       if(extras != null ) {
           String _getData = extras.getString("param1");
           Log.i(TAG, "face detect message " + _getData);
       }

但是我在 MainActivity 上收不到任何消息。 请给我一些答案

您必须更改捆绑包中的参数键。喜欢下面

Bundle extras = this.getIntent().getExtras();

if(extras != null ) {
   String _getData = extras.getString("params");
   Log.i(TAG, "face detect message " + _getData);
}

你应该知道 bundle 正在使用键值对,所以如果你创建

bundle.putString("params", "okay");

键是params,值是okay

要获取值,您应该使用相同的密钥。

String _getData = extras.getString("params");

将此复制到您的 MainActivity class :

Bundle extras = this.getIntent().getExtras();

   if(extras != null ) {
       String _getData = extras.getString("params");
       Log.i(TAG, "face detect message " + _getData);
   }