分享

//去友盟下载jar包导入libs目录下与下面是build.gradle里的对应 
implementation files('libs/SocialSDK_QQ_Simplify.jar')
implementation files('libs/SocialSDK_Sina_Simplify.jar')
implementation files('libs/SocialSDK_WeChat_Simplify.jar')
implementation files('libs/umeng-common-1.4.4.jar')
implementation files('libs/umeng_shareboard_widget.jar')
implementation files('libs/umeng_social_api.jar')
implementation files('libs/umeng_social_net.jar')
implementation files('libs/umeng_social_shareboard.jar')
implementation files('libs/umeng_social_shareview.jar')
implementation files('libs/umeng_social_tool.jar')
//在AndroidManifest.xml中添加权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
//QQ
<application
//application初始化
    android:name=".zidingyi.MyApp"
.........
<activity
        android:name="com.tencent.tauth.AuthActivity"
        android:launchMode="singleTask"
        android:noHistory="true" >
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="tencent100424468" />
        </intent-filter>
    </activity>
    <activity
        android:name="com.tencent.connect.common.AssistActivity"
        android:theme="@android:style/Theme.Translucent.NoTitleBar"
        android:configChanges="orientation|keyboardHidden|screenSize"/>
//获取key
    <meta-data
        android:name="UMENG_APPKEY"
        android:value="key值" />
</application>

public class MyApp extends Application {
    {

        PlatformConfig.setWeixin("wx967daebe835fbeac","5bb696d9ccd75a38c8a0bfe0675559b3");
        PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba");
        PlatformConfig.setSinaWeibo("3921700954", "04b48b094faeb16683c32669824ebdad","http://sns.whalecloud.com");
    }
    @Override
    public void onCreate() {
    super.onCreate();
        UMShareAPI.get(this);
    }
}


//下面这个方法粘到当前登录的页面  友盟是让我们粘到分享页面的
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);
}
/*下面这段代码放到登录按钮的点击事件里,  
*一般放在activity里,到这实现QQ登录*/
UMShareAPI.get(this).getPlatformInfo(DiSanFangActivity.this
        , SHARE_MEDIA.QQ, new UMAuthListener() {
            /**
             * @desc 授权开始的回调
             * @param platform 平台名称
             */
            @Override
            public void onStart(SHARE_MEDIA platform) {
            }
            /**
             * @desc 授权成功的回调
             * @param platform 平台名称
             * @param action 行为序号,开发者用不上
             * @param data 用户资料返回
             */
            @Override
            public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) {
                Toast.makeText(DiSanFangActivity.this, "成功了"
                        , Toast.LENGTH_LONG).show();
                Log.d("++++++++++++","id:"+data.get("uid")+",昵称:"+data
                        .get("name")+",性别:"+data.get("gender")
                        +",头像:"+data.get("iconurl"));
            }
            /**
             * @desc 授权失败的回调
             * @param platform 平台名称
             * @param action 行为序号,开发者用不上
             * @param t 错误原因
             */
            @Override
            public void onError(SHARE_MEDIA platform, int action, Throwable t) {
                Toast.makeText(DiSanFangActivity.this
                        , "失败:" + t.getMessage(),Toast.LENGTH_LONG).show();
            }
            /**
             * @desc 授权取消的回调
             * @param platform 平台名称
             * @param action 行为序号,开发者用不上
             */
            @Override
            public void onCancel(SHARE_MEDIA platform, int action) {
                Toast.makeText(DiSanFangActivity.this, "取消了"
                        , Toast.LENGTH_LONG).show();
            }
        });

//activity   分享的点击事件或者使用下面红色区域  二选一
public void qqSharep(View view) {
    //webUrl电商分享的时候实际上就是地址
    //title标题
    //description描述
    //网络的图片路径imageUrl
    //int imageId 本地的图片id
    //最后一个参数代表着分享都哪一个平台
    ShareUtil.shareWeb(this,"http://www.baidu.com"
    ,"这就是标题","这就是描述"
    ,"http://img1.imgtn.bdimg.com/it/u=2764371306,3467823016&fm=214&gp=0.jpg"
    ,R.mipmap.ic_launcher, SHARE_MEDIA.QQ);

}
//用友盟的代码  参数换成自己的
UMWeb web = new UMWeb(data.getDetailUrl());
web.setTitle(data.getTitle());
web.setDescription(data.getCreatetime());
String[] split = data.getImages().split("\\|");
if (!split[0].equals("")){
    web.setThumb(new UMImage(this,split[0]));
}else {
    web.setThumb(new UMImage(this,R.drawable.ic_launcher));
}

new ShareAction(JiaRuGouWuCheActivity.this)
        .setPlatform(SHARE_MEDIA.QQ)//传入平台
        .setCallback(shareListener)//回调监听器
        .withMedia(web)
        .share();
//如果用红色区域代码下面还需粘贴友盟代码

//如果不用红色区域代码粘贴下面ShareUtil 类
public class ShareUtil {
    /**
     * 分享链接
     */
    public static void shareWeb(final Activity activity, String WebUrl
            , String title, String description, String imageUrl
            , int imageID, SHARE_MEDIA platform) {
        UMWeb web = new UMWeb(WebUrl);//连接地址
        web.setTitle(title);//标题
        web.setDescription(description);//描述
        if (TextUtils.isEmpty(imageUrl)) {
            web.setThumb(new UMImage(activity, imageID));  //本地缩略图
        } else {
            web.setThumb(new UMImage(activity, imageUrl));  //网络缩略图
        }
        new ShareAction(activity)
                .setPlatform(platform)
                .withMedia(web)
                .setCallback(new UMShareListener() {
                    @Override
                    public void onStart(SHARE_MEDIA share_media) {

                    }

                    @Override
                    public void onResult(final SHARE_MEDIA share_media) {
                        activity.runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                if (share_media.name()
                                        .equals("WEIXIN_FAVORITE")) {
                                    Toast.makeText(activity, share_media + " 收藏成功", Toast.LENGTH_SHORT).show();
                                } else {
                                    Toast.makeText(activity, share_media + " 分享成功", Toast.LENGTH_SHORT).show();
                                }
                            }
                        });
                    }

                    @Override
                    public void onError(final SHARE_MEDIA share_media
                            , final Throwable throwable) {
                        if (throwable != null) {
                            Log.d("throw", "throw:" + throwable.getMessage());
                        }
                        activity.runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                Toast.makeText(activity, share_media + " 分享失败", Toast.LENGTH_SHORT).show();

                            }
                        });
                    }

                    @Override
                    public void onCancel(final SHARE_MEDIA share_media) {
                        activity.runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                Toast.makeText(activity, share_media + " 分享取消", Toast.LENGTH_SHORT).show();
                            }
                        });
                    }
                })
                .share();

        //新浪微博中图文+链接
        /*new ShareAction(activity)
                .setPlatform(platform)
                .withText(description + " " + WebUrl)
                .withMedia(new UMImage(activity,imageID))
                .share();*/
    }

}

//qq登录返回的信息

Toast.makeText(MainActivity.this, "完成:"
                                , Toast.LENGTH_LONG).show();
                        textView.setText("id:"+map.get("uid")+",昵称:"+map
                                .get("name")+",性别:"+map.get("gender")
                        +",头像:"+map.get("iconurl"));


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值