前言:公司要作第三方分享功能,因爲時間比較緊急,因此就採用了第三方,本次使用的是友盟分享,因爲是第一次使用這個分享,踩了很多坑,因而寫下這篇博客來幫助其餘人少踩坑也是給本身加深記憶.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));
}
}
複製代碼