对接过微信分享的小伙伴应该很清楚,就是须要在包名的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便可。微信