sy_flutter_alipay icon indicating copy to clipboard operation
sy_flutter_alipay copied to clipboard

安卓支付宝支付返回闪退的解决方法

Open ioswangqiang opened this issue 5 years ago • 6 comments

安卓支付宝支付返回时,插件内部开辟了子线程,返回的时候没有回到主线程,所以导致崩溃。在插件内部成功和异常的方法都放在主线程中,就没有问题了。

ioswangqiang avatar Jul 24 '19 09:07 ioswangqiang

这是要修改插件代码吗?我不会android开发,大佬能不能提供一下修改的代码

a18158863550 avatar Aug 16 '19 03:08 a18158863550

//调起支付
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();
}

ioswangqiang avatar Sep 09 '19 08:09 ioswangqiang

楼上方法可行

iotzy avatar Oct 09 '19 03:10 iotzy

楼上方法可行

Flutter里面用Dart写的怎么改 楼上的不是原生的java操作方式么?

cuixiaodong avatar Jan 10 '20 06:01 cuixiaodong

楼上方法可行

修改源码之后: 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.

cuixiaodong avatar Jan 10 '20 07:01 cuixiaodong

能不能写的具体点,在哪修改源码,找不到

777yu avatar Feb 23 '20 13:02 777yu