前言:公司要作第三方分享功能,因为时间比较紧急,因此就采用了第三方,本次使用的是友盟分享,因为是第一次使用这个分享,踩了很多坑,因而写下这篇博客来帮助其余人少踩坑也是给本身加深记忆.android
微信须要创建一个空Activity继承他的回调,若是你们根据他的规范操做了还有这个报错的话,你们记住必定要放在你的主moudle中,否则他是找不到这个Activity的,仔细检查清单文件的Activity是否路径正确,固然,若是要彻底模块化或者是作SDK的话,可使用别名,相似于这样:git
<activity android:name="wxapi.WXEntryActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
/>
<activity-alias
android:name="${applicationId}.wxapi.WXEntryActivity"
android:targetActivity="wxapi.WXEntryActivity"/>
复制代码
友盟面板的分享应用字体是没有国际化的,若是须要国际化的或者是分享面板的定制不能知足需求的能够自定义面板,而后参考官方demo的 SharePlatformActivity 与 ShareDetailActivity 实现点击自定义dialog的item跳转到对应的分享github
友盟分享的错误码也是没有国际化的,若是是产品须要自定义Toast文字能够这样 api
String text = "";
if (platform != SHARE_MEDIA.MORE && platform != SHARE_MEDIA.SMS
&& platform != SHARE_MEDIA.EMAIL
&& platform != SHARE_MEDIA.FLICKR
&& platform != SHARE_MEDIA.FOURSQUARE
&& platform != SHARE_MEDIA.TUMBLR
&& platform != SHARE_MEDIA.POCKET
&& platform != SHARE_MEDIA.PINTEREST
&& platform != SHARE_MEDIA.INSTAGRAM
&& platform != SHARE_MEDIA.GOOGLEPLUS
&& platform != SHARE_MEDIA.YNOTE
&& platform != SHARE_MEDIA.EVERNOTE) {
if (platform.toString().equals("WEIXIN")) {
text = getResources().getString(R.string.wechat);
} else if (platform.toString().equals("WEIXIN_CIRCLE")) {
text = getResources().getString(R.string.wechat);
} else if (platform.toString().equals("QQ")) {
text = getResources().getString(R.string.qq);
} else if (platform.toString().equals("QZONE")) {
text = getResources().getString(R.string.q_zone);
}
if (throwable.toString().contains("2008")) {
ToastUtil.showShort(String.format(getResources().getString(R.string.not_installed), text));
}
}
复制代码