android应用分享到新浪微博 开发小记

Home / Android MrLee 2016-9-14 2822

首先当然是要下载sdk 这里就不赘述了
下载好之后 按照文档说明 先给要触发分享到新浪的activity设置
<intent-filter>
        <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />
        <category android:name="android.intent.category.DEFAULT" />
 </intent-filter>
然后在activity的onCreate中注册新浪sdk,这里要注意,在android开发中只有通过审核的应用,并且是用审核时提交的appKey 打出来的包才能使用分享功能,否则新浪服务器不会响应,为了这事还头疼了老半天,纠结为什么请求发出去返回true但是没有回调回来
 // 新浪sdk注册
        weiboAPI = WeiboSDK.createWeiboAPI(this, Constants.APP_KEY);
        weiboAPI.registerApp();
        weiboAPI.responseListener(getIntent(), this);
 
具体发送的代码在新浪的demo里都有 ,这里主要说一下遇到的问题。
不知道是我使用方法不对还是别的什么原因,每次发送分享请求的时候,当前activity都会被销毁并重新onCreate,这时就遇到了一个问题
我的页面上本来是有数据的,销毁重建之后 首先是从其他页面传过来的数据获取不到了,而且如果页面本来有网络请求的情况下还需要重新请求一次数据
这样无疑是很坑爹的。。。最后因为项目时间比较紧,没有仔细研究这个问题的原因
使用的解决方案是 在触发分享时间的时候 将页面的数据缓存到一个单例class或者静态变量中,并设置一个标示位,标志这次重新oncreate是微博分享导致的,在oncreate中取出缓存数据,刷新页面,然后重置缓存的状态,以上是我自己的解决方法,如果大家有什么好的方法欢迎分享!

本文链接:https://www.it72.com/10110.htm

推荐阅读
最新回复 (0)
返回