Android APP集成新浪微博分享功能
本文為大家分享了新浪微博分享功能集成,供大家參考,具體內(nèi)容如下
下載新浪微博Android SDK
直接導入weibosdkcore.jar:適用于只需要授權(quán)、分享、網(wǎng)絡請求框架功能的項目。
無論使用哪一種方式,都需要先將demo中l(wèi)ib目錄下的對應的全部 libweibosdkcore.so文件目錄拷貝到你的目標工程中Demo。在app–>src–>main中新建文件夾jniLibs,將demo 中l(wèi)ib目錄下的對應的全部 libweibosdkcore.so文件目錄拷貝到其中,不要改變?nèi)魏挝募臀募A位置。
分享時參考demo中WBShareMainActivity,這里是分享的入口,主要代碼如下:
// 創(chuàng)建微博 SDK 接口實例 mWeiboShareAPI = WeiboShareSDK.createWeiboAPI(mContext, SysConstants.SHARE_WEIBO_APP_ID); // 注冊到新浪微博 mWeiboShareAPI.registerApp(); Intent i = new Intent(mContext, WBShareActivity.class); i.putExtra(WBShareActivity.KEY_SHARE_TYPE, WBShareActivity.SHARE_ALL_IN_ONE); i.putExtra(WBShareActivity.IMAGE_URL, imgUrl); mContext.startActivity(i);
分享之前需要將APP_KEY等參數(shù)替換成自己應用的參數(shù),參數(shù)可以參考Demo里的Constants類。
在進行微博分享前,需要在AndroidManifest.xml中,在需要接收消息的Activity(喚起微博主程序的類)里聲明對應的Action:ACTION_SDK_REQ_ACTIVITY,如下所示:
<activity android:name="com.sina.weibo.sdk.demo.WBShareActivity" android:configChanges="keyboardHidden|orientation" android:screenOrientation="portrait" > <intent-filter> <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <activity android:name="com.sina.weibo.sdk.component.WeiboSdkBrowser" android:configChanges="keyboardHidden|orientation" android:windowSoftInputMode="adjustResize" android:exported="false" > </activity>
分享的功能主要是由WBShareActivity實現(xiàn)的,包括文本、圖片、網(wǎng)頁、音樂、視頻、聲音,具體代碼參考Demo。
WBShareActivity里實現(xiàn)了IWeiboHandler#Response接口,接收分享后微博返回的數(shù)據(jù),代碼如下所示:
/** * 接收微客戶端博請求的數(shù)據(jù)。 * 當微博客戶端喚起當前應用并進行分享時,該方法被調(diào)用。 * * @param baseRequest 微博請求數(shù)據(jù)對象 * @see {@link IWeiboShareAPI#handleWeiboRequest} */ @Override public void onResponse(BaseResponse baseResp) { if(baseResp!= null){ switch (baseResp.errCode) { case WBConstants.ErrorCode.ERR_OK: Toast.makeText(this, R.string.weibosdk_demo_toast_share_success, Toast.LENGTH_LONG).show(); break; case WBConstants.ErrorCode.ERR_CANCEL: Toast.makeText(this, R.string.weibosdk_demo_toast_share_canceled, Toast.LENGTH_LONG).show(); break; case WBConstants.ErrorCode.ERR_FAIL: Toast.makeText(this, getString(R.string.weibosdk_demo_toast_share_failed) + "Error Message: " + baseResp.errMsg, Toast.LENGTH_LONG).show(); break; } } }
需要注意的是,在WBShareActivity分享圖片的方法getImageObj中,注釋中說所設置的縮略圖,并非是分享時的圖片。我們只需要將需要分享的圖片放到imageObject里即可,沒有32K的大小限制。如果我們將縮略圖放在imageObject中,則分享的圖片為縮略圖,看不清楚。
/** * 創(chuàng)建圖片消息對象。 * * @return 圖片消息對象。 */ private ImageObject getImageObj() { ImageObject imageObject = new ImageObject(); BitmapDrawable bitmapDrawable = (BitmapDrawable) mImageView.getDrawable(); //設置縮略圖。 注意:最終壓縮過的縮略圖大小不得超過 32kb。 /*上面的注釋是demo里的,但是其實這里并不必要設置縮略圖,只需要將我們分享的圖片直接設置到imageObjet里即可*/ Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_logo); imageObject.setImageObject(bitmap); return imageObject; }
其他事項可參考新浪微博sdk自帶的文檔。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
ImageView 實現(xiàn)Android colorPikcer 選擇器的示例代碼
本篇文章主要介紹了ImageView 實現(xiàn)Android colorPikcer 選擇器的示例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-10-10Android編程之線性布局LinearLayout實例簡析
這篇文章主要介紹了Android編程之線性布局LinearLayout用法,結(jié)合實例形式簡單分析了Android線性布局的使用技巧,需要的朋友可以參考下2016-01-01Android編程實現(xiàn)的自定義彈窗(PopupWindow)功能示例
這篇文章主要介紹了Android編程實現(xiàn)的自定義彈窗(PopupWindow)功能,結(jié)合簡單實例形式分析了Android自定義彈窗實現(xiàn)方法與相關(guān)注意事項,需要的朋友可以參考下2017-03-03Android SwipeRefreshLayout下拉刷新源碼解析
這篇文章主要為大家詳細解析了Android SwipeRefreshLayout下拉刷新源碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-11-11