Android APP集成新浪微博分享功能
本文為大家分享了新浪微博分享功能集成,供大家參考,具體內(nèi)容如下
下載新浪微博Android SDK
直接導(dǎo)入weibosdkcore.jar:適用于只需要授權(quán)、分享、網(wǎng)絡(luò)請(qǐng)求框架功能的項(xiàng)目。
無論使用哪一種方式,都需要先將demo中l(wèi)ib目錄下的對(duì)應(yīng)的全部 libweibosdkcore.so文件目錄拷貝到你的目標(biāo)工程中Demo。在app–>src–>main中新建文件夾jniLibs,將demo 中l(wèi)ib目錄下的對(duì)應(yīng)的全部 libweibosdkcore.so文件目錄拷貝到其中,不要改變?nèi)魏挝募臀募A位置。
分享時(shí)參考demo中WBShareMainActivity,這里是分享的入口,主要代碼如下:
// 創(chuàng)建微博 SDK 接口實(shí)例
mWeiboShareAPI = WeiboShareSDK.createWeiboAPI(mContext, SysConstants.SHARE_WEIBO_APP_ID);
// 注冊(cè)到新浪微博
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ù)替換成自己應(yīng)用的參數(shù),參數(shù)可以參考Demo里的Constants類。
在進(jìn)行微博分享前,需要在AndroidManifest.xml中,在需要接收消息的Activity(喚起微博主程序的類)里聲明對(duì)應(yīng)的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實(shí)現(xiàn)的,包括文本、圖片、網(wǎng)頁、音樂、視頻、聲音,具體代碼參考Demo。
WBShareActivity里實(shí)現(xiàn)了IWeiboHandler#Response接口,接收分享后微博返回的數(shù)據(jù),代碼如下所示:
/**
* 接收微客戶端博請(qǐng)求的數(shù)據(jù)。
* 當(dāng)微博客戶端喚起當(dāng)前應(yīng)用并進(jìn)行分享時(shí),該方法被調(diào)用。
*
* @param baseRequest 微博請(qǐng)求數(shù)據(jù)對(duì)象
* @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中,注釋中說所設(shè)置的縮略圖,并非是分享時(shí)的圖片。我們只需要將需要分享的圖片放到imageObject里即可,沒有32K的大小限制。如果我們將縮略圖放在imageObject中,則分享的圖片為縮略圖,看不清楚。
/**
* 創(chuàng)建圖片消息對(duì)象。
*
* @return 圖片消息對(duì)象。
*/
private ImageObject getImageObj() {
ImageObject imageObject = new ImageObject();
BitmapDrawable bitmapDrawable = (BitmapDrawable) mImageView.getDrawable();
//設(shè)置縮略圖。 注意:最終壓縮過的縮略圖大小不得超過 32kb。
/*上面的注釋是demo里的,但是其實(shí)這里并不必要設(shè)置縮略圖,只需要將我們分享的圖片直接設(shè)置到imageObjet里即可*/
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_logo);
imageObject.setImageObject(bitmap);
return imageObject;
}
其他事項(xiàng)可參考新浪微博sdk自帶的文檔。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android編程之在SD卡上進(jìn)行文件讀寫操作實(shí)例詳解
這篇文章主要介紹了Android編程之在SD卡上進(jìn)行文件讀寫操作的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Android的文件操作及針對(duì)SD卡的存取操作相關(guān)技巧,需要的朋友可以參考下2015-12-12
Android利用Flutter實(shí)現(xiàn)立體旋轉(zhuǎn)效果
本文主要介紹了Flutter繪圖如何使用ImageShader填充圖形,并且利用 Matrix4的三維變換加上動(dòng)畫實(shí)現(xiàn)了立體旋轉(zhuǎn)的動(dòng)畫效果,感興趣的可以嘗試一下2022-06-06
Android利用Sensor實(shí)現(xiàn)傳感器功能
這篇文章主要為大家詳細(xì)介紹了Android利用Sensor實(shí)現(xiàn)傳感器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11
flutter ExpansionTile 層級(jí)菜單的實(shí)現(xiàn)
這篇文章主要介紹了flutter ExpansionTile 層級(jí)菜單的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
Android App支付系列(二):支付寶SDK接入詳細(xì)指南(附官方支付demo)
本篇文章介紹了Android App支付系列(二):支付寶SDK接入詳細(xì)指南(附官方支付demo) ,有興趣的同學(xué)可以了解一下。2016-11-11
Android 使用Gallery實(shí)現(xiàn)3D相冊(cè)(附效果圖+Demo源碼)
今天主要是說說如何實(shí)現(xiàn)Gallery的3D顯示切換,Demo的代碼很多是基于網(wǎng)上一些現(xiàn)成效果,感謝這些分享成果的開發(fā)者2013-07-07
android使用DataBinding來設(shè)置空狀態(tài)
本篇文章主要介紹了android使用DataBinding來設(shè)置空狀態(tài),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-03-03

