首页 > 解决方案 > 从原生 Android 调用方法后 Flutter 应用程序重启而不是恢复

问题描述

我目前使用原生 Android 在 Flutter 中进行支付集成。我设法从支付端获得结果,然后我继续将结果返回到我的调用颤振文件中。

这是将我的代码传递给我的调用颤振文件的过程。

Intent returnIntent = new Intent(getApplicationContext(), BackToMerchantActivity.class);
                        returnIntent.putExtra("resultTitle",resultPaymentMessage.getStrResultTitle());
                        returnIntent.putExtra("resultInfo",resultPaymentMessage.getStrResultInfo());
                        returnIntent.putExtra("resultExtra",resultPaymentMessage.getStrResultExtra());

                        startActivity(returnIntent);
                        finish();

这是我的调用方法

class BackToMerchantActivity: FlutterActivity() {
  private val CHANNEL = "my.com.ipay88.ipay88payment/backToMarchant"
  private lateinit var _result: MethodChannel.Result

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    GeneratedPluginRegistrant.registerWith(this)
    print("Enter Back To Merchant \n");

    val resultTitle: String = intent.getStringExtra("resultTitle")  ?: ""
    val resultInfo: String = intent.getStringExtra("resultInfo")    ?: ""
    val resultExtra: String = intent.getStringExtra("resultExtra")  ?: ""

    print("Result title : " + resultTitle +" \n");
    print("Result Info  : " + resultInfo +" \n");
    print("Result Extra : " + resultExtra +" \n");

    MethodChannel(flutterView, CHANNEL).invokeMethod("my.com.ipay88.ipay88payment/backToMarchant", mapOf("resultTitle" to resultTitle, "resultInfo" to resultInfo, "resultExtra" to resultExtra));
  }
  
}

结果可以调用文件,因为我可以打印出来。然而,从原生 Android 调用 Flutter 应用程序将重新启动整个 Flutter 应用程序,而不是恢复应用程序。请帮忙,因为我被困在这里一周了。任何提示将不胜感激

标签: androidflutterkotlindart

解决方案


推荐阅读