sy_flutter_alipay
sy_flutter_alipay copied to clipboard
安卓支付宝支付返回闪退的解决方法
安卓支付宝支付返回时,插件内部开辟了子线程,返回的时候没有回到主线程,所以导致崩溃。在插件内部成功和异常的方法都放在主线程中,就没有问题了。
这是要修改插件代码吗?我不会android开发,大佬能不能提供一下修改的代码
//调起支付
public void alipay(final String payInfo, boolean isSandbox, final MethodChannel.Result callback) {
//沙箱环境
if (isSandbox) {
EnvUtils.setEnv(EnvUtils.EnvEnum.SANDBOX);
}
final Activity activity = this.activity;
Runnable payRunnable = new Runnable() {
@Override
public void run() {
try {
PayTask alipay = new PayTask(activity);
final Map<String, String> result = alipay.payV2(payInfo, true);
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
callback.success(result);
}
});
} catch (final Exception e) {
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
callback.error("PAY_ERROR", e.getMessage(), null);
}
});
}
}
};
Thread payThread = new Thread(payRunnable);
payThread.start();
}
楼上方法可行
楼上方法可行
Flutter里面用Dart写的怎么改 楼上的不是原生的java操作方式么?
楼上方法可行
修改源码之后: D:\CXD\flutter_windows_v1.7.8+hotfix.4-stable\flutter.pub-cache\hosted\pub.dartlang.org\sy_flutter_alipay-0.2.1\android\src\main\java\alipay\flutter\isanye\cn\syflutteralipay\SyFlutterAlipayPlugin.java:1: ����: �Ƿ��ַ�: '\ufeff' ?package alipay.flutter.isanye.cn.syflutteralipay; ^ D:\CXD\flutter_windows_v1.7.8+hotfix.4-stable\flutter.pub-cache\hosted\pub.dartlang.org\sy_flutter_alipay-0.2.1\android\src\main\java\alipay\flutter\isanye\cn\syflutteralipay\SyFlutterAlipayPlugin.java:1: ����: ��Ҫclass, interface� �enum ?package alipay.flutter.isanye.cn.syflutteralipay; ^ 2 ������
FAILURE: Build failed with an exception.
能不能写的具体点,在哪修改源码,找不到