微信支付 WXPayEntryActivity的onResp(BaseResp resp)方法 跳转处理的问题

来源:互联网 发布:周末网络国债基金公司 编辑:程序博客网 时间:2024/06/05 02:50
在android接入微信支付的时候,微信会把结果回调到WXPayEntryActivity的onResp(BaseResp resp)方法,我拿到成功code之后,需要请求服务器去拿到这个订单的数据,但是请求服务器的时候我还需要一些支付开启界面的参数。我在想1.把成功code返回到支付发起界面,去做请求(支付发起界面不可以通过onActivityResult()获得resp)。2.还是把支付发起界面的参数传递到WXPayEntryActivity中,在这里发起,但是第2种情况是微信开启的界面,我没法传递参数过来。那么请问怎么把WXPayEntryActivity中的成功结果传递到之前的支付发起界面,我不知道方法,难道只能发广播吗?
步骤1 启动一个不带View的Activity
这个demo是个activity,但我现在已经有一个activity了,我就想把这个activity去掉。只实现定位功能就好了,我尝试去掉以后运行时却报错了。怎么试都不行。我估计这个类的内部实现是要依据activity的,也懒得去看了。看来只能把activity加上了。加上以后果然能运行了。但我的程序需要他不显示这个界面,怎么办呢。
这时候我想起来一开始学习android时候接触到的activity的生命周期,于是想到能不能用生命周期来解决这个问题呢。
首先我在onCreate()方法中不添加setContextView方法,并在定位任务结束以后,调用onDestory方法来结束。结果运行后发现这个activity依旧会显示,显示的是一个黑屏,并且很快就跳出来了。看来这样不能实现。
之后我想起了每个activity都有一个主题的设定。于是我在网上找了一下,如何设定成不显示主题,没有想到Google考虑的比我全面多了,果然有那种主题:

<activity android:name="com.learns.LocationManager" android:theme="@android:style/Theme.NoDisplay"></activity>

这次再运行。OK,要调用的activity界面不再显示了。最后再利用当前的Activity中的onResume方法把需要更新的数据刷新到当前的界面中就可以啦
步骤2 发广播,还可以Activity start跳转。

0 0