基于最新友盟开发文档,集成友盟分享功能,赋demo

集成准备

获取Appkey

快速集成

获取SDK,页面截图:

下载后打开

导入jar和res

添加回调Activity

微信

在包名目录下创建wxapi文件夹,新建一个名为WXEntryActivity的activity继承WXCallbackActivity。

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);
}

配置Android Manifest XML

sdk中需要的Activity

微信

 <activity
            android:name=".wxapi.WXEntryActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:exported="true"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />

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"/>

权限添加

请在AndroidManifest中添加如下权限

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />

如果需要使用QQ纯图分享或避免其它平台纯图分享的时候图片不被压缩,可以增加以下权限:

  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
   <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

Android6.0权限适配

请查看你的build.gradle文件,如果 targetSdkVersion小于或等于22,可以忽略这一步,如果大于或等于23,需要做权限的动态申请:

if(Build.VERSION.SDK_INT>=23){
                  String[] mPermissionList = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.ACCESS_FINE_LOCATION,Manifest.permission.CALL_PHONE,Manifest.permission.READ_LOGS,Manifest.permission.READ_PHONE_STATE, Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.SET_DEBUG_APP,Manifest.permission.SYSTEM_ALERT_WINDOW,Manifest.permission.GET_ACCOUNTS,Manifest.permission.WRITE_APN_SETTINGS};
                  ActivityCompat.requestPermissions(this,mPermissionList,123);
              }

其中123是requestcode,可以根据这个code判断,用户是否同意了授权。如果没有同意,可以根据回调进行相应处理:

@Override
public void onRequestPermissionsResult(int requestCode,
        String permissions[], int[] grantResults) {

}

初始化设置

初始化需要在您的Application中调用我们的初始化接口:

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

    }

需要设置各个平台的appkey:

  PlatformConfig.setWeixin("wxeb0858b766302e78", "6ab458c26cc7c6b8489ae34898426903");
        PlatformConfig.setQQZone("1149581072", "c7394704798a158208a74ab60104f0ba");

签名配置

签名的概念将文件夹中的签名文件放入到工程中,例如我的签名文件是debug.keystore

然后增加签名文件的密码:

signingConfigs {
    debug {
        storeFile file(‘debug.keystore‘)
        storePassword "android"
        keyAlias "androiddebugkey"
        keyPassword "android"
    }
}

signingConfigs配置进去,如下图所示:

分享,例如在点击事件中直接加入如下代码

    new ShareAction(MainActivity.this).withText("hello")
                        .setDisplayList(SHARE_MEDIA.QQ,SHARE_MEDIA.WEIXIN)
                        .setCallback(shareListener).open();
                UMWeb web = new UMWeb("https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=false&word=%E7%BE%8E%E5%A5%B3&step_word=&hs=0&pn=6&spn=0&di=29553718610&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&istype=2&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=-1&cs=3633976638%2C143512992&os=3804935736%2C2570557697&simid=2085973135%2C839809798&adpicid=0&lpn=0&ln=3660&fr=&fmq=1544077227262_R&fm=result&ic=0&s=undefined&hd=0&latest=0&copyright=0&se=&sme=&tab=0&width=&height=&face=undefined&ist=&jit=&cg=girl&bdtype=13&oriquery=&objurl=http%3A%2F%2Fscimg.jb51.net%2Fallimg%2F170109%2F106-1F109120J9646.jpg&fromurl=ippr_z2C%24qAzdH3FAzdH3Ffv_z%26e3B3kc8_z%26e3BgjpAzdH3Frtvp76jAzdH3Fut276jAzdH3F8m8c08_z%26e3Bip4&gsm=0&rpstart=0&rpnum=0&islist=&querylist=&selected_tags=0");
                web.setTitle("This is music title");//标题
                web.setDescription("my description");//描述
                new ShareAction(MainActivity.this)
                        .withMedia(web)
                        .setDisplayList(SHARE_MEDIA.QQ,SHARE_MEDIA.QZONE,SHARE_MEDIA.WEIXIN,SHARE_MEDIA.WEIXIN_CIRCLE)
                        .setCallback(shareListener).open();

效果图

最后赋上demo地址:https://download.csdn.net/download/heishuai123/10836478

原文地址:https://www.cnblogs.com/wzqnxd/p/10086669.html

时间: 2024-08-17 08:22:54

基于最新友盟开发文档,集成友盟分享功能,赋demo的相关文章

软件开发文档:需求分析/概要设计/详细设计

软件开发文档 1.需求分析 产生软件功能规格说明书,需要确定用户对软件的需求,要作到明确.无歧义.不涉及具体实现方法.用户能看得明白,开发人员也可据此进行下面的工作(概要设计). 2.概要设计 概要设计说明书,产生软件概要设计说明书,说明系统模块划分.选择的技术路线等,整体说明软件的实现思路.并且需要指出关键技术难点等. 3.详细设计 详细设计说明书,产生软件详细设计说明书,对概要设计的进一步细化,一般由各部分的担当人员依据概要设计分别完成,然后在集成,是具体的实现细节.理论上要求可以照此编码.

基于x86架构的内核Demo的详细开发文档

http://hurlex.0xffffff.org/ 这里是hurlex这个基于x86架构的内核Demo的详细开发文档, 包含PDF文档和生成PDF的XeLaTex源码和文档每章节的阶段代码. 你可以按照如下步骤获得整个项目代码. $ git clone https://github.com/hurley25/hurlex-doc.git

Android官方开发文档之从Eclipse迁移到Android Studio开发篇

Android官方开发文档之从Eclipse迁移到Android Studio开发篇 1.前言 从Eclipse迁移项目到Android Studio需要适应一个新的项目结构,建立系统和IDE的功能.为了简化迁移过程,Android Studio提供了重要工具使你可以快速地将现有代码移动到Android Studio项目基础建设的文件和工具. 2.Android Studio的基础(Android Studio Basics) 当你将Eclipse项目迁移到Android Studio时,你应该

onvif 开发文档【2】

二: onvif 开发环境的搭建 下边这张图来自于网上,对我们熟悉onvif开发描述的十分清晰,我就是顺着这个思路走下去的. 从上边的介绍中,我们基本知道onvif是个什么协议,其中十分关键一点是这种协议的展现形式是webservice.让我们通过下图对webservice的调用过程有一个初步的了解. 对基于webservice格式存在接口,我们第一步要首先寻找webserive对应的wsdl文件在那里?当然去onvif的官方网站去找了.要搭建开发平台的第一步就是从onvif的官方网站获取wsd

ECMall模板开发文档

ECMall 模板开发文档 前 言 欢迎阅读 ECMall 模板制作教程,通过阅读本教程可快速上手 ECMall 模板的使用和制作. ECMall 模板制 作要求用户具备 XML . XHTML 和 CSS 基础知识:至少掌握一种文本编辑器或网页制作工具 ( 如: EditPlus,Dreamweaver,Textmate 等 ) : 本教程还将及一些模板代码, 如从没有了解过 Smarty 建议阅读 Smarty 帮助手册. 第一节 -ECMall 模板机制介绍 通过阅读本节你将了解: 1.

onvif 开发文档【1】

一: onvif 介绍: Onvif是一套协议,或者简单说是一个标准,接触一个新的协议或者标准,第一步我想首先是要弄清这个协议是做什么?我也是带着这个疑问,开始了对onvif的研究和探索.下边的资料是我从百度上搜索到的,和我自己的学习步骤也是一样,先搜索点东西读一读,对onvif有一个表层的认识. 1:为什么会有onvif? ONVIF致力于通过全球性的开放接口标准来推进网络视频在安防市场的应用,这一接口标准将确保不同厂商生产的网络视频产品具有互通性.2008年11月,论坛正式发布了ONVIF第

支付宝小程序正式上线公测 附开发者工具和开发文档

支付宝小程序正式进入公测阶段,开发者可以申请公测了.支付宝小程序是一种全新的开放模式,它运行在支付宝客户端,可以被便捷地获取和传播,为终端用户提供更优的用户体验.小程序开放给开发者更多的JSAPI和OpenAPI能力,通过小程序可以为用户提供多样化便捷服务.公测申请地址:https://openhome.alipay.com/platform/miniBeta.htm 支付宝小程序特色能力 1.支付能力.满足商户各商业经营场景的支付需求2.信用能力.为商户高效识别用户的真实.靠谱性3.大数据能力

安卓官方开发文档API GUIDE(1.1)Application Fundamentals 应用基础

Application Fundamentals Android apps are written in the Java programming language. The Android SDK tools compile your code-along with any data and resource files-into an APK: an Android package, which is an archive file with an .apk suffix. One APK

防伪开票组件接口软件方案[开发文档]

 防伪开票组件接口软件方案 一.概况 对于自主或委托开发管理信息系统的企业,我们开发了Windows版防伪开票组件接口软件,将防伪税控开票功能嵌入企业销售软件内,为真正实现防伪税控防伪税控系统与企业管理信息系统的无缝连接创造了必要的条件. 组件调用软件基于 ActiveX规范,提供标准开票界面和后台命令两种接口方式,实现企业日常开具.作废和打印税控发票的功能,为需要实时打印发票或有专门开票要求的企业提供了适宜的解决方案. 对于可以采用通用开票界面的销售软件,推荐使用标准开票界面接口方式,此时