# 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?) {
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>
调第三方 sdk 的问题,需前往android studio断点看下。注意事项是pluginInstance 的插件实例运行在小程序的子进程中。