UMeng第三方登录.分享

注意要点,包名<com.umeng.soexample>,Appid,签名文件,秘钥必须一致<不要有多余的空格>,

QQ,微信登录需要的jar包
SecurityEnvSDK-release-1.1.0.jar
umeng-common-1.5.4.jar
umeng-share-core-6.9.3.jar
umeng-share-QQ-simplify-6.9.3.jar
umeng-share-wechat-simplify-6.9.3.jar
umeng-shareboard-widget-6.9.3.jar
umeng-sharetool-6.9.3.jar
utdid4all-1.1.5.3_proguard.jar
所要的权限




然后把下载的sdk中的drawable,layout,values里面的东西复制到对应的包下
在吧名为debug.keystore的文件复制到项目下
并在对应的bulid下配置如下代码
signingConfigs {
debug {
storeFile file(‘debug.keystore’)
storePassword “android”
keyAlias “androiddebugkey”
keyPassword “android”
}
}
注意文件配置位置

然后就是清单文件了:
QQ的配置


            <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:configChanges="orientation|keyboardHidden|screenSize"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" />
    <activity android:name=".Main2Activity" />
    <activity android:name=".Main4Activity"></activity>

微信的配置

如果要用微信登录首先要新建wxapi的包,然后新建一个Activity名为.WXEntityActivity
里面为空并继承WXCallbackActivity

然后见一个App(*名称自拟)继承Application

@Override
public void onCreate() {
super.onCreate();
UMConfigure.setLogEnabled(true);
UMConfigure.init(this,“5a12384aa40fa3551f0001d1”
,“umeng”,UMConfigure.DEVICE_TYPE_PHONE,"");//58edcfeb310c93091c000be2 5965ee00734be40b580001a0

//打log
UMConfigure.setLogEnabled(true);
PlatformConfig.setWeixin(“wxdc1e388c3822c80b”, “3baf1193c85774b3fd9d18447d76cab0”);
PlatformConfig.setQQZone(“100424468”, “c7394704798a158208a74ab60104f0ba”);
UMShareAPI.get(this);

}

在MainActivity中编写
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);
}

到这里就该写正文了:

QQ登录
UMShareConfig shareConfig = new UMShareConfig();
shareConfig.isNeedAuthOnGetUserInfo(true);
UMShareAPI.get(MainActivity.this).setShareConfig(shareConfig);
umShareAPI.getPlatformInfo(MainActivity.this, SHARE_MEDIA.QQ, authListener);

//监听
public UMAuthListener authListener = new UMAuthListener() {
@Override
public void onStart(SHARE_MEDIA share_media) {
开始的方法
}

    @Override
    public void onComplete(SHARE_MEDIA share_media, int i, Map<String, String> map) {
成功的方法

    }

    @Override
    public void onError(SHARE_MEDIA share_media, int i, Throwable throwable) {

错误的方法
}

    @Override
    public void onCancel(SHARE_MEDIA share_media, int i) {

取消的方法
}
};

//分享
UMImage image = new UMImage(MainActivity.this, R.drawable.mao2);

            image.compressStyle = UMImage.CompressStyle.SCALE;//大小压缩,默认为大小压缩,适合普通很大的图
            image.compressStyle = UMImage.CompressStyle.QUALITY;//质量压缩,适合长图的分享
            image.compressFormat = Bitmap.CompressFormat.PNG;//用户分享透明背景的图片可以设置这种方式,但是qq好友,微信朋友圈,不支持透明背景图片,会变成黑色
            new ShareAction(MainActivity.this).withText("大头是条狗").withMedia(image)
                    .setDisplayList(SHARE_MEDIA.SINA,SHARE_MEDIA.QQ,SHARE_MEDIA.WEIXIN)
                    .setCallback(shareListener).open();

private UMShareListener shareListener = new UMShareListener() {
/**
* @descrption 分享开始的回调
* @param platform 平台类型
*/
@Override
public void onStart(SHARE_MEDIA platform) {

    }

    /**
     * @descrption 分享成功的回调
     * @param platform 平台类型
     */
    @Override
    public void onResult(SHARE_MEDIA platform) {
        Toast.makeText(MainActivity.this,"成功了",Toast.LENGTH_LONG).show();
    }

    /**
     * @descrption 分享失败的回调
     * @param platform 平台类型
     * @param t 错误原因
     */
    @Override
    public void onError(SHARE_MEDIA platform, Throwable t) {
        Toast.makeText(MainActivity.this,"失败"+t.getMessage(),Toast.LENGTH_LONG).show();
    }

    /**
     * @descrption 分享取消的回调
     * @param platform 平台类型
     */
    @Override
    public void onCancel(SHARE_MEDIA platform) {
        Toast.makeText(MainActivity.this,"取消了",Toast.LENGTH_LONG).show();

    }
};
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值