溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android APP集成新浪微博分享功能的示例分析

發(fā)布時間:2021-07-10 11:07:07 來源:億速云 閱讀:140 作者:小新 欄目:移動開發(fā)

這篇文章主要介紹Android APP集成新浪微博分享功能的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

具體內容如下

下載新浪微博Android SDK

直接導入weibosdkcore.jar:適用于只需要授權、分享、網絡請求框架功能的項目。
無論使用哪一種方式,都需要先將demo中l(wèi)ib目錄下的對應的全部 libweibosdkcore.so文件目錄拷貝到你的目標工程中Demo。在app–>src–>main中新建文件夾jniLibs,將demo 中l(wèi)ib目錄下的對應的全部 libweibosdkcore.so文件目錄拷貝到其中,不要改變任何文件和文件夾位置。

分享時參考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等參數替換成自己應用的參數,參數可以參考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實現的,包括文本、圖片、網頁、音樂、視頻、聲音,具體代碼參考Demo。

WBShareActivity里實現了IWeiboHandler#Response接口,接收分享后微博返回的數據,代碼如下所示:

/**
   * 接收微客戶端博請求的數據。
   * 當微博客戶端喚起當前應用并進行分享時,該方法被調用。
   * 
   * @param baseRequest 微博請求數據對象
   * @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自帶的文檔。

以上是“Android APP集成新浪微博分享功能的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI