Android 调用微信登陆、支付、分享,出现的白屏、黑屏、闪屏问题。
2017-09-04 23:17
281 查看
当我在去调用微信的登录界面,或者其他支付界面,
WXEntryActivity又一个界面,这样看起来很不协调
(WXEntryActivity类finish的时候会有闪屏的效果)。
为了让用户感觉只是拉起了一个授权界面,需要加上
android:theme="@android:style/Theme.Translucent"
使WXEntryActivity变成透明,这样在跳转的过程中就感觉不到WXEntryActivity的存在了
WXEntryAcitivity变成透明后,在跳转过程中感觉不到它的存在了,
但是在调试过程中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;则为微信分享。
(当然这里根据自己去判断的为准。其实我不知道这值会不会变)
WXEntryActivity又一个界面,这样看起来很不协调
(WXEntryActivity类finish的时候会有闪屏的效果)。
为了让用户感觉只是拉起了一个授权界面,需要加上
android:theme="@android:style/Theme.Translucent"
使WXEntryActivity变成透明,这样在跳转的过程中就感觉不到WXEntryActivity的存在了
<!-- wx start --> <activity android:name=".wxapi.WXPayEntryActivity" android:theme="@android:style/Theme.Translucent" android:screenOrientation="portrait" android:exported="true" android:launchMode="singleTop" /> <activity android:name=".wxapi.WXEntryActivity" android:theme="@android:style/Theme.Translucent" android:screenOrientation="portrait" android:exported="true" android:launchMode="singleTop" /> <!-- wx end -->
WXEntryAcitivity变成透明后,在跳转过程中感觉不到它的存在了,
但是在调试过程中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调用微信登陆、分享、支付(第二版本)
- Android调用微信登陆、分享、支付
- 微信分享,登陆支付等接口调用 白屏原因 记录一下
- Android调用微信登陆、分享、支付
- Android调用微信登陆、分享、支付
- Android调用微信登陆、分享、支付
- Android之调用微信登陆、分享、支付
- Android调用微信登陆、分享、支付,android调用
- Android微信登录后黑屏闪屏问题
- unity调用Android通过编译 java jar包出现问题解决和简单支付流程
- Android编程中activity启动时出现白屏、黑屏问题的解决方法
- 解决Android APP启动出现白屏或黑屏的问题
- 解决启动Android应用程序时出现白屏或者黑屏的问题
- Android开发:分享给微信好友以出现闪退的问题
- Android开发:实现分享给微信好友以及出现闪退的问题
- Android 微信的回调跨进程间的调用 (分享)
- google play v2支付修改 android:targetSdkVersion 这个大于11出现异常问题
- [Android初级]调用基于WCF开发的WebService出现的问题
- Android 微信分享遇到问题 及解决方案
- android listview 控件触摸滑动出现白屏问题