由于微信登录的SDK更新太快,我很长时间没去看官方的SDK了,demo里的包不能算是最新的,于是默默滴删掉了第一篇博文挖的微信登录的坑。
不过给在做微信登录的朋友推荐一个Q群:421350685 群里都是做过或者在做微信登录、分享、甚至还有支付的。群里也有登录的demo,应该会给需要这方面资源的朋友带来一些帮助。
前阵子在做一个Fragment onActivityResult接收回调的时候发现回调接收不到,后面琢磨着解决了,期间查了查网上写的一些汇总,有些感觉有点模棱两可,所以干脆自己创了个工程测试了一下。
我将接收回调的情况分为两类,一类是Activity接收回调。这种情况又可根据StartAcitivityForResult方法的对象再度细分为两种:一种是在Activity本身启动,然后Activity接收回调,还有一种在Activity内部的Fragment启动。
在Activity本身直接调用“StartAcitivityForResult”,那么直接调用onActivityResult接收回调就行了; 如果是需要在Fragment启动,然后在Activity里接收回调,那么在Fragment启动的时候需要调用“getAcitivity().StartAcitivityForResult”,当然,getActivity也可以换成你自己需要的上下文Activity对象。
还有一类情况是Fragment接收回调,普通的Fragment接收回调,那就只需要Fragment本身直接调用StartAcitivityForResult就好了。
我前阵子遇到的是这么一种情况: 有FragmentActivity,FragmentA,还有一个继承FragmentA的FragmentB。根据这种情况我做了测试,得出如下结论:
如果在Activity里面new的对象是FragmentA,需要接收回调的也是FragmentA,那么这种情况就跟上面一样了,普通的运用就可。如果在Activity里面new的对象是FragmentB,此时如果需要FragmentA里面也收到回调,那么就需要在FragmentB方法里加上super.onActivityResult(requestCode, resultCode, data);这样就能在接收回调的时候,FragmentA和B的onActivityResult方法里的代码都会执行。
第一篇博文就短短的这些吧。没啥代码好贴的,后面写啥我也不随便挖坑了...开发中遇到啥值得记录下来的就找时间写上,慢慢积累了~~
转载请注明出处 http://blog.csdn.net/a751608624/article/details/46455419