友盟分享(第三方)

友盟项目的包名必须是 com.umeng.soexample

Umeng不要用自动集成
建议用手动集成
第一步下载官方的demo
在这里插入图片描述
在这里插入图片描述
下载SDK
在这里插入图片描述

可以选择要分享app
比如说就微信和QQ(完整版)
点开开发文档

在这里插入图片描述

点开手动集成步骤

在这里插入图片描述

下载的SDK中的所有jar包和布局文件中的资源layout和图片全部导入自己的demo
有微信的话
在包名目录下创建wxapi文件夹,新建一个名为WXEntryActivity的activity继承WXCallbackActivity。在这里插入图片描述
有支付宝的话
与微信相似,支付宝需要在包名目录下创建apshare文件夹,然后建立一个ShareEntryActivity的类,继承ShareCallbackActivity。
有钉钉的话
与微信相似,钉钉需要在包名目录下创建ddshare文件夹,然后建立一个DDShareActivity的类,DingCallBack。
QQ与新浪
QQ与新浪不需要添加Activity,但需要在使用QQ分享或者授权的Activity中,添加:

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

配置清单文件
例子(微信)
在这里插入图片描述
详情见开发者中心
https://developer.umeng.com/docs/66632/detail/66639#h3--sdk
qq(请注意将我们的qq appkey替换成您自己的qq appkey)
< 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"/>

添加权限
在这里插入图片描述
如果需要用到QQ 需要
在这里插入图片描述

初始化设置
第二个箭头指的是打开log日志
在这里插入图片描述
接下来需要设置各个平台的appkey:

	//微信
    PlatformConfig.setWeixin("wxdc1e388c3822c80b", "3baf1193c85774b3fd9d18447d76cab0");
    //豆瓣RENREN平台目前只能在服务器端配置
    PlatformConfig.setSinaWeibo("3921700954", "04b48b094faeb16683c32669824ebdad","http://sns.whalecloud.com");
    PlatformConfig.setYixin("yxc0614e80c9304c11b0391514d09f13bf");
     //QQ
    PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba");
    PlatformConfig.setTwitter("3aIN7fuF685MuZ7jtXkQxalyi", "MK6FEYG63eWcpDFgRYw4w9puJhzDl0tyuqWjZ3M7XJuuG7mMbO");
    PlatformConfig.setAlipay("2015111700822536");
    PlatformConfig.setLaiwang("laiwangd497e70d4", "d497e70d4c3e4efeab1381476bac4c5e");
    PlatformConfig.setPinterest("1439206");
    PlatformConfig.setKakao("e4f60e065048eb031e235c806b31c70f");
    PlatformConfig.setDing("dingoalmlnohc0wggfedpk");
    PlatformConfig.setVKontakte("5764965","5My6SNliAaLxEm3Lyd9J");
    PlatformConfig.setDropbox("oz8v5apet3arcdy","h7p2pjbzkkxt02a");
    PlatformConfig.setYnote("9c82bf470cba7bd2f1819b0ee26f86c6ce670e9b");

签名配置
在下载的demo中app文件夹下面有一个debug.keystore
将文件夹中的签名文件(debug.keystore)放入到工程中在这里插入图片描述

然后增加签名文件的密码:
signingConfigs {
debug {
storeFile file(‘debug.keystore’)
storePassword “android”
keyAlias “androiddebugkey”
keyPassword “android”
}
}
然后在buildTypes中将这个signingConfigs配置进去,如下图所示:
在这里插入图片描述
buildTypes {

release {
    minifyEnabled false
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
    minifyEnabled false
    signingConfig signingConfigs.debug
    proguardFiles 'proguard-rules.pro'
}

}
别忘了在清单文件中初始化Application在这里插入图片描述
例子:
在布局文件中创建一个按钮

在这里插入图片描述
找到控件
在这里插入图片描述
设置监听并且实现点击接口和UMShareListener接口
在这里插入图片描述

在点击事件的重写方法中
分享面板的分享
在这里插入图片描述

第一个箭头是要分享的一个自定义图片
第二个箭头是要分享的文字
第三个箭头是设置分享面板里面要分享的APP
(下载的SDK有几个APP分享就弄几个)
第四个箭头则是实现的这个接口
之后打开行可以了
在UMshareListener事件的重写方法中

在这里插入图片描述

第一个是分享开始的回调
第二个是分享成功的回调
第三个是分享失败的回调
第四个是分享取消的回调
比如微信我在第二个重写方法(分享成功)里面加了一个吐司
如果在模拟器上可以看到这个吐司的话 必须分享之后选择不留在微信上才可以看到
——————————————————————————————————————————
分享(带面板)
打开分享面板的代码如下:

new ShareAction(MainActivity.this).withText(“hello”) .setDisplayList(SHARE_MEDIA.SINA,SHARE_MEDIA.QQ,SHARE_MEDIA.WEIXIN)
.setCallback(umShareListener).open();

其中umShareListener为回调监听,构建如下:
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(ShareDetailActivity.this,"成功                                        了",Toast.LENGTH_LONG).show();
    }

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

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

    }
};

分享
UMImage image = new UMImage(MainActivity.this, R.drawable.a);//资源文件

            image.compressStyle = UMImage.CompressStyle.SCALE;//大小压缩,默认为大小压缩,适合普通很大的图
            image.compressStyle = UMImage.CompressStyle.QUALITY;//质量压缩,适合长图的分享
            //压缩格式设置
            image.compressFormat = Bitmap.CompressFormat.PNG;//用户分享透明背景的图片可以设置这种方式,但是qq好友,微信朋友圈,不支持透明背景图片,会变成黑色

            new ShareAction(MainActivity.this).withText("hello").withMedia(image).setDisplayList(SHARE_MEDIA.QQ,SHARE_MEDIA.WEIXIN)
                    .setCallback(this).open();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值