React-native-wechat: Android 分享调起微信后立即回到了app

Created on 1 Dec 2016  ·  18Comments  ·  Source: yorkie/react-native-wechat

... "react": "15.4.1", "react-native": "0.38.0", "react-native-wechat": "^1.8.0" ...

ios上正常,android上调用 WeChat.shareToSession 和 WeChat.shareToTimeline 都会出现。
在三星和小米note手机上都出现了。

没有报错,但有个警告: Possible Unhandled Promise Rejection (id: 0):

Most helpful comment

@Calvin92 debug的签名配置成个release 一样就可以调试了;
XXX/android/app/build.gradle

signingConfigs {
      debug {
              storeFile file("test-app-key.keystore")
                 storePassword "XXX"
                 keyAlias "test-app"
                 keyPassword "XXX"
        }
        release {
             storeFile file("test-app-key.keystore")
                storePassword "XXX"
                keyAlias "test-app"
                keyPassword "XXX"
        }
    }

All 18 comments

android 的 应用签名填错了吧?

我在调试微信授权登录的时候报了个同样的错误,经过摸索发现是签名的问题,安卓真机调试是无法调试的,只有打包成apk才可以

@chenpengjun 但是做登录的话就比较麻烦了 因为登录后还有很多逻辑需要处理,有没有方案能在debug下调试

@Calvin92 debug的签名配置成个release 一样就可以调试了;
XXX/android/app/build.gradle

signingConfigs {
      debug {
              storeFile file("test-app-key.keystore")
                 storePassword "XXX"
                 keyAlias "test-app"
                 keyPassword "XXX"
        }
        release {
             storeFile file("test-app-key.keystore")
                storePassword "XXX"
                keyAlias "test-app"
                keyPassword "XXX"
        }
    }

@tza17313 好的,感谢🙏

我在Android上有同样的问题,而且没有报错诶。请看看是怎么回事吧。

    wechat.registerApp(WX_APPID).then(() => {
      wechat.shareToTimeline({
        type: 'news',
        webpageUrl: 'http://www.baidu.com'
      }).catch(err => {
        console.log("分享失败", err);
      })
    }).catch(err => {
      console.log("注册失败", err);
    });

看微信的文档发现清除微信数据并重启手机就可以了。

@byk04712 @tza17313 @chenpengjun @Calvin92 @meiwhu 请问一下问题解决了吗

@yourenA 决了

@yourenA 可以了

@Calvin92 @meiwhu 请问一下你们用什么方法解决的?

@yourenA 你是什么问题?

@Calvin92 当点击分享时,页面会弹出一个了请等候的灰色框子,之后消失,没有任何反映了。
`

                                style={styles.base}
                                onPress={() => {
                                    WeChat.isWXAppInstalled().then((isInstalled) => {
                                        console.log("isInstalled", isInstalled)
                                        if (isInstalled) {
                                            WeChat.shareToSession({
                                                type: 'text',
                                                description: 'hello world'
                                            }).then((result)=>{
                                                console.log('share text message to time line successful:', result);
                                            }).catch((error) => {
                                                console.log("error",error)
                                            });
                                        } else {
                                            ToastAndroid.show('没有安装微信软件,请您安装微信之后再试', ToastAndroid.SHORT);
                                        }
                                    });
                                }}
                            >`

AppID是刚刚在微信开放平台申请的移动应用
`componentDidMount=()=> {
registerApp('XXXX');

}`

打包后也还是这样

@Calvin92 @meiwhu 我在开发者平台上填写的应用签名是在手机上用GenSignature生成的,过程中没有使用到keystore文件

@yourenA 自己手动生成一份keystore 不要用系统的 不然开发环境过不了

另外 你debug环境不行, 你试过release版本没有?

@yourenA 我也是这个错误。

@tza17313,debug 配置了和 release 一样的参数。请问「可以调试」具体是指什么操作呢?我用的是 genymotion 模拟器,网上查资料一直没搞清楚怎么在安卓上做真机调试,能像 xcode 联机指定真机调试那么方便就好了... 谢谢~

整了半天没弄好,重启了一下手机好了。。。。

Was this page helpful?
0 / 5 - 0 ratings