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

相关文章
相关标签/搜索