当我在去调用微信的登录界面,或者其他支付界面,

WXEntryActivity又一个界面,这样看起来很不协调

(WXEntryActivity类finish的时候会有闪屏的效果)。

为了让用户感觉只是拉起了一个授权界面,需要加上

 

 

       android:theme="@android:style/Theme.Translucent"

        使WXEntryActivity变成透明,这样在跳转的过程中就感觉不到WXEntryActivity的存在了

 

 

 

                                

补充:

      如果你的编译版本是Android8.0 的话,可能会抛出以下异常:

Android 调用微信登陆、支付、分享,出现的白屏、黑屏、闪屏问题。_第1张图片

这个因为Android 8.0 限制了,透明主题和 页面方向限制,只能二选一,那我这就删掉其中一项即可。

Android 调用微信登陆、支付、分享,出现的白屏、黑屏、闪屏问题。_第2张图片

那我这里的处理就删掉 android:screenOrientation="portrait" 

这个处理只针对Android 8.0

 

但是在调试过程中WXEntryActivity,

会自动finish还有如果里面做耗时操作的话

(比如根据code请求access_token等),

该activity在部分手机不会被finish,

并且code has been used....根据调试最好不要在这个activity做耗时操作。

 

 

总结:遇到问题分析要认真分析.拿微信的第三方登录闪屏白屏等问题为例:

点击微信登录(第一个界面)-----跳转到授权页面(第二个界面),

然后在该界面点击确认登录按钮-----回调到WXEntryActivity界面

(这个界面会让用户感受到白屏或则闪屏等问题,最好不要做耗时操作)

这个界面耗时后调用finish不管用,

貌似它自己会自动finish(第三个界面)-----回到了最初的登录界面(第一个界面)。

所以只需要解决WXEntryActivituy这个activity成透明,用户就感觉不到它的存在了,

也就不会感觉到闪屏以及白屏等问题了。

 

 

 另外就是登陆后,或者分享后。

 

点击返回自己的APP。黑屏的情况下,只能再次点击再能返回到自己的app.

这里的原因就是点击返回的时候,

我们在WXEntryActivity 中去判断返回值。

根据返回值,去判断,去做页面的处理

 

 

当然也是我最近遇到的一个做的时候遇到的一个问题,可能大家遇到的情况都不一样。我这里就分享遇到的问题和处理的方式。

 

 

在回调中onResp

这里的话我就去拿到BaseResp.getType().去判断去做处理

当然我这里判断拿出来的 分享的返回值是 

BaseResp.getType() == 1;则为微信登陆,

BaseResp.getType() == 0;则为微信分享。

(当然这里根据自己去判断的为准。其实我不知道这值会不会变)

Android 调用微信登陆、支付、分享,出现的白屏、黑屏、闪屏问题。_第3张图片

 

 

 

更多相关文章

  1. Android3D游戏开发感觉
  2. Android透明界面与ListView动态刷新
  3. Android studio登录界面之记住密码
  4. Android开机界面
  5. [置顶] android软键盘弹出,会把原来的界面挤上去的问题 处理方法
  6. Android界面设计更easy
  7. 深刻解析 Android 的 AIDL 界面(1)
  8. 参考:修改android开机界面
  9. android 程序启动界面的短暂黑屏解决办法

随机推荐

  1. 分享一些高效的LINQ语句代码
  2. 怎么操作 ASP.NET Web API ?
  3. System.Object是什么?如何使用System.Obj
  4. .net中非常有用的特性--反射
  5. 装箱与拆箱的实例教程
  6. WPF开发Surface Dial实例教程
  7. 对比select * 和 select 所有字段写出速
  8. 总结反射技术的实际应用。
  9. Nop3.9的下载与使用
  10. 全开源ASP.NET工作流平台的详细介绍