zoukankan      html  css  js  c++  java
  • ShareSdk使用心得

    1. 微信和朋友圈:分享的时候设置了链接和图片,但就是不显示:

      需要指明ShareType为WEB_PAGE

    2. 需要完整添加 ShareSdk 的所需要的权限,不然分享闪退,并且不报异常;网络请求也是同理,切记,不要浪。

    3. 新浪微博的分享比较特殊,不直接支持 url,需要将 url 与 text 拼接起来,所以需要监听回调:

     1                 // 由于新浪微博只支持text+Image的格式,只能将URL添加在text里面
     2                 oks.setShareContentCustomizeCallback(new ShareContentCustomizeCallback() {
     3                     @Override
     4                     public void onShare(Platform platform, cn.sharesdk.framework.Platform.ShareParams paramsToShare) {
     5 
     6                         if ("SinaWeibo".equals(platform.getName())) {
     7                             paramsToShare.setText(mNews.getTitle() + ServiceCenter.getNewsUrl(mNews.getId()));
     8                             paramsToShare.setUrl(null);// 将其他平台的 url 置空
     9                         }
    10                     }
    11                 });

    3.1 微信朋友圈分享比较特殊,只有 title,没有 text,所以需要在回调中重写朋友圈的 title,改为原本由 text 显示的内容

     1                 // 重写朋友圈的 title
     2                 oks.setShareContentCustomizeCallback(new ShareContentCustomizeCallback() {
     3                     @Override
     4                     public void onShare(Platform platform, cn.sharesdk.framework.Platform.ShareParams paramsToShare) {
     5 
     6                         Log.d("leo", "platForm:" + platform.getName());
     7 
     8                         if ("WechatMoments".equals(platform.getName())) {
     9                             paramsToShare.setTitle(mNews.getTitle());
    10                         }
    11                     }
    12                 });

    4. 新浪微博指定平台的分享,回调监听:

     1             Platform sinaWeibo = ShareSDK.getPlatform(SinaWeibo.NAME);
     2 
     3             sinaWeibo.setPlatformActionListener(new PlatformActionListener() {
     4 
     5                 @Override
     6                 public void onError(Platform arg0, int arg1, Throwable arg2) {
     7                     Toast.makeText(getContext(), "分享失败", Toast.LENGTH_SHORT).show();
     8                     Log.d("leo", "分享失败" + arg2);
     9                 }
    10 
    11                 @Override
    12                 public void onComplete(Platform arg0, int arg1, HashMap<String, Object> arg2) {
    13                     Toast.makeText(getContext(), "分享成功", Toast.LENGTH_SHORT).show();
    14                     Log.d("leo", "分享成功");
    15                 }
    16 
    17                 @Override
    18                 public void onCancel(Platform arg0, int arg1) {
    19                     Toast.makeText(getContext(), "分享取消", Toast.LENGTH_SHORT).show();
    20                     Log.d("leo", "分享取消");
    21                 }
    22 
    23             });
    24 
    25             sinaWeibo.share(sp);

    5. Manifest 配置:

     1         <!-- shareSdk -->
     2         <activity
     3             android:name="com.mob.tools.MobUIShell"
     4             android:configChanges="keyboardHidden|orientation|screenSize"
     5             android:screenOrientation="portrait"
     6             android:theme="@android:style/Theme.Translucent.NoTitleBar"
     7             android:windowSoftInputMode="stateHidden|adjustResize" >
     8 
     9             <!-- 调用新浪原生SDK,需要注册的回调activity -->
    10             <intent-filter>
    11                 <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />
    12 
    13                 <category android:name="android.intent.category.DEFAULT" />
    14             </intent-filter>
    15 
    16             <!-- qq&qq空间 -->
    17             <intent-filter>
    18                 <data android:scheme="tencent1105111708" />
    19 
    20                 <action android:name="android.intent.action.VIEW" />
    21 
    22                 <category android:name="android.intent.category.BROWSABLE" />
    23                 <category android:name="android.intent.category.DEFAULT" />
    24             </intent-filter>
    25         </activity>
    26 
    27         <!-- 微信分享回调 -->
    28         <activity
    29             android:name="cn.baonajia.and.wxapi.WXEntryActivity"
    30             android:configChanges="keyboardHidden|orientation|screenSize"
    31             android:exported="true"
    32             android:screenOrientation="portrait"
    33             android:theme="@android:style/Theme.Translucent.NoTitleBar" />
  • 相关阅读:
    Using the proxy page
    ArcGIS 帮助 10.1 几何服务
    【转】地图投影系列介绍(三)_ 地图投影
    最简单的闰年函数
    JSP的编码问题
    和苗波玩吉他英雄,还有诺拉斯战士
    倒底是用接口,还是继承类?
    收集的两个Winform三层结构的例子
    在vs.net 2005 中 像JBuilder,Eclipse那样格式化代码
    JSP比ASP好的几个地方
  • 原文地址:https://www.cnblogs.com/jinglecode/p/5123664.html
Copyright © 2011-2022 走看看