Android三方登录,微信登录成功后闪屏问题
Android三方登录,微信登录成功后闪屏问题
最近项目要加一个微信登录的功能,发现登录成功后进入WXEntryActivity界面,这个界面是微信来处理接受登录,分享等结果的。关闭的时候this.finish();界面闪烁,虽然不影响功能,但看起来狠辣眼,然后我就想是不是可以解决这个问题。
首先,我们需要了解一下微信登录的流程。微信登录涉及到两个步骤:1)用户同意授权;2)微信服务器向我们的应用发送回调结果。在这两个步骤中,微信会创建一个WXEntryActivity界面来处理这些结果。
问题分析
在微信登录成功后,进入WXEntryActivity界面的过程中,我们可以看到界面闪烁的现象。这是因为我们关闭了这个界面,而微信还没有完成它的工作。因此,我们需要找到一种方式来让微信完成它的工作,然后再关闭界面。
解决方案
为了解决这个问题,我们可以在WXEntryActivity中添加一个延迟关闭的逻辑。这样一来,微信就有足够的时间来处理结果,而我们也不会看到闪烁的界面了。
具体来说,我们可以在WXEntryActivity的onCreate方法中添加如下代码:
```java@Overrideprotected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// ...
new Handler().postDelayed(new Runnable() {
@Override public void run() {
finish();
}
},1000); // 等待1秒后关闭界面}
```
这样一来,微信就有足够的时间来处理结果,而我们也不会看到闪烁的界面了。
总结
在本文中,我们分析了微信登录成功后进入WXEntryActivity界面的问题,并提供了一种解决方案。通过添加一个延迟关闭的逻辑,我们可以让微信完成它的工作,然后再关闭界面,避免闪烁的问题。