关于跳转到空白页进行分享可以部分参考:
新浪微博分享多个页面回调不能直接回到调用的Activity问题.
此外,分享点击取消—>保存到草稿,这个无法监听到,并且此时返回不会调用OnNewIntent方法。
对于上面的问题,我们可以参考下activity的生命周期,看看那些生命周期再返回时能够被调用到。显而易见,onResume肯定是要执行的,那么我们可以从这点入手,重写onResume。
解决方案如下:
//定义一个标示isCancle用于判断是否是第一次调用onResume
public boolean isCancle = false;
//在第二次调用onResume的时候判断下handleWeiboResponse是否为false,为空就将这个空的Activity关闭掉
@Override
protected void onResume() {
super.onResume();
if (isCancle){
Boolean resp = mWeiboShareAPI.handleWeiboResponse(getIntent(), this);
if (!resp){
finish();
}
}
//第一次调用后isCancle变为true
isCancle = true;
}
自己开始的时候困扰了好久,百度、google了好久怎么监听,然而并没有那篇博文去讲这个,越想越深,真特么操蛋啊。后来想想生命周期,想到了这种种比较粗暴的解决方式。
新浪微博分享多个页面回调不能直接回到调用的Activity问题
上面此文博主后来给出的方案为在空白页面上延迟一会加了个手动关闭页面的按钮,但是我感觉这样不是很好,不过还是感激不尽。
各位看官若还有更好的解决方案或者问题,欢迎指教。
网友评论