YShare微信分享不寫WXEntryActivity的技巧(三)

對接過微信分享的小夥伴應該很清楚,就是須要在包名的wxapi目錄下建立一個WXEntryActivity類,而後實現IWXAPIEventHandler接口,再在onResp方法寫具體業務邏輯。android

就算是對接了第三方分享框架,不少也須要建立WXEntryActivity類,而後繼承某個類等。git

這樣增長了對接的成本,有一種技巧,能夠不用寫WXEntryActivity類,就是使用activity-alias作一層轉發,看wechat工程full風味下的AndroidManifest文件:github

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ysbing.yshare_wechat">

    <application>
        <meta-data android:name="YSHARE_WECHAT_APPID" android:value="${YSHARE_WECHAT_APPID}" />

        <activity android:name=".YWXEntryActivity" android:configChanges="orientation|keyboardHidden" android:screenOrientation="behind" android:theme="@android:style/Theme.Translucent.NoTitleBar" />

        <activity-alias android:name="${applicationId}.wxapi.WXEntryActivity" android:exported="true" android:targetActivity=".YWXEntryActivity" />

    </application>
</manifest>
複製代碼

我把微信要訪問的WXEntryActivity類轉發到了YWXEntryActivity,就能夠不用在對應包名下寫這個類了,activity-alias的介紹點着api

若是有微信登錄的需求,就須要寫WXEntryActivity了,再繼承YWXEntryActivity,將登錄邏輯寫進去便可,在AndroidManifest配置activity-alias你的WXEntryActivity便可。微信

Github 開源地址:github.com/ysbing/ysha…

有任何建議和bug,歡迎你們提Issue

相關文章
相關標籤/搜索