收藏
回答

开发多端安卓插件时,拿不到三方SDK的回调事件?

AppID
wx1204df2e2826ac83
# PluginManger.kt
@AsyncJsApi(methodName = "doAliPayCallDeductWithCallback")
fun doAliPayCallDeductWithCallbackAsync(data: JSONObject?, callback: (data: Any) -> Unit, activity: Activity) {
      android.util.Log.i(TAG, "param=" + data.toString())
      val openAuthCallback = object : OpenAuthTask.Callback {
          override fun onResult(resultCode: Int, memo: String?, bundle: Bundle?) {
              // 跳转支付宝签约成功后,跳回本app,这里没有打印出下面一行内容。(使用原生app开发的代码可以)
              android.util.Log.e(TAG, "Callback result: memo=" + memo + ";resultCode=" + resultCode)
          }
      }
      if (data == null) {
          return;
      }
      val params = HashMap<String, String>()
      params["sign_params"] = data.optString("signParams", "")
      val scheme: String = data.optString("scheme", "")
      val openAuthTask = OpenAuthTask(activity)
      openAuthTask.execute(scheme,OpenAuthTask.BizType.Deduct,params,openAuthCallback,false)
}
# plugin/src/build.gradle
  dependencies {
      ...
      implementation 'com.alipay.sdk:alipaysdk-android:+@aar'
  }
  project.ext.pomDeps = [
      'com.alipay.sdk:alipaysdk-android':'+@aar'
  ]

# plugin/src/main/AndroidManifest.xml
 <activity android:name="com.alipay.sdk.app.AlipayResultActivity" tools:node="merge">
        <intent-filter tools:node="replace">
            <action android:name="android.intent.action.VIEW"/>
            <category android:name="android.intent.category.DEFAULT"/>
            <category android:name="android.intent.category.BROWSABLE"/>
            <data android:scheme="_myscheme_"/>
        </intent-filter>
    </activity>
</application>
回答关注问题邀请回答
收藏

1 个回答

  • 多端移动应用小助手
    多端移动应用小助手
    2小时前

    调第三方 sdk 的问题,需前往android studio断点看下。注意事项是pluginInstance 的插件实例运行在小程序的子进程中。

    2小时前
    有用
    回复
登录 后发表内容