1. 程式人生 > >Android微信登入後黑屏閃屏問題

Android微信登入後黑屏閃屏問題

最近專案要加一個微信登入的功能,由於以前其他專案使用過微信登入,而且該在的東西都在,所以加入微信登入也是三下五除二的很快加入了。但是我發現一個小細節,微信登入時,無論是授權完成還是點選取消登入,回來都有一個白屏--->黑屏--->登入介面跳起恢復的效果,作為開發者遇到這樣的情況真是有點犯怵,還以為app要崩了呢。然後隨手打開了一個app,有道詞典看看他們的微信登入介面跳轉很自然平滑,證明這個問題是可以優化的,肯定是程式碼有點問題。
我就嘗試著去找原因:首先登入取消都沒問題,也沒有崩潰,證明邏輯程式碼沒什麼問題,中間唯一不受我們控制的介面就是微信的WXEntryActivity介面,這個介面是微信來處理接受登入,分享等結果的。我就想是不是這個介面停留的時間太長了,看了一下程式碼沒有耗時程式碼,傳遞資訊後直接就this.finish();了,然後我就想是不是主題的原因,我索性將這個介面的主題設定為透明的

<activity android:name=".wxapi.WXEntryActivity"
            android:label="@string/app_name"
            android:exported="true"
            android:theme="@android:style/Theme.Translucent"
            android:screenOrientation="portrait"/>

再次試了一下效果果然自然平滑了

demo圖片:

demo圖片