超简单友盟分享(微信、QQ)+ 原生微信分享

本文介绍了如何在Android项目中集成友盟分享(包括微信和QQ),以及如何进行原生的微信分享。关键步骤包括在build.gradle中添加SDK仓库和依赖,设置回调Activity,更新AndroidManifest.xml,权限配置,以及初始化和使用分享功能。
摘要由CSDN通过智能技术生成

超简单友盟分享(微信、QQ)+ 原生微信分享

友盟分享(微信、QQ)

之前写的项目好好的,后来打开就报这个错,搜半天没搜到解决方法。
Could not GET ‘https://dl.bintray.com/umsdk/release/com/umeng/umsdk/common/9.3.3/common-9.3.3.pom’. Received status code 403 from server: Forbidden Enable Gradle ‘offline mode’ and sync project
但是姐妹!看一下官方文档。可能是集成的SDK不行了。把SDK替换成官方文档中最新的试试。哈哈。

友盟分享官方文档真的真的写的很详细了。直接复制粘贴就好了。

前提:【友盟+】官网注册并且添加新应用,获得Appkey

第一步:在工程build.gradle配置脚本中buildscript和allprojects段中添加【友盟+】SDK maven仓库地址。

maven {
    url  'https://repo1.maven.org/maven2/'}

第二步:在工程App对应build.gradle配置脚本dependencies段中添加基础组件库和分享核心库依赖:

compile  'com.umeng.umsdk:common:9.3.8'//必选
compile  'com.umeng.umsdk:asms:1.2.2'//必选

第三步:集成U-Share SDK

compile  'com.umeng.umsdk:share-core:7.1.4'//分享核心库,必选
compile  'com.umeng.umsdk:share-board:7.1.4'//分享面板功能,可选

compile  'com.umeng.umsdk:share-qq:7.1.4'
compile  'com.tencent.tauth:qqopensdk:3.51.2'//QQ官方SDK依赖库
compile  'com.umeng.umsdk:share-wx:7.1.4'
compile  'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:6.6.5'//微信官方SDK依赖库

第四步:添加回调Activity

微信在包名目录下创建wxapi文件夹,新建一个名为WXEntryActivity的activity继承WXCallbackActivity。
在这里插入图片描述
QQ不需要添加Activity,但需要在使用QQ分享或者授权的Activity中,添加:

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

第五步:微信需要在工程AndroidManifest.xml清单文件中增加:

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

第六步:微信分享模块还需要在工程AndroidManifest.xml清单文件中增加provider标签配置

<!--友盟-->
 <provider
    android:name="androidx.core.content.FileProvider"
     android:authorities="你的应用包名.fileprovider"
     android:exported="false"
     android:grantUriPermissions="true">
  <meta-data
     android:name="android.support.FILE_PROVIDER_PATHS"
     android:resource="@xml/wx_filepaths" />
  </provider>

微信分享模块集成时除了要配置工程AndroidManifest.xml清单文件之外,还需要在res/xml目录(如果没有xml目录,则新建一个)下,添加文件wx_filepaths.xml,内容如下:
wx_filepaths

<?xml version="1.0" encoding="utf-8"?>
<pathsxmlns:android="http://schemas.android.com/apk/res/android">
<external-files-pathname="umeng_cache"path="umeng_cache/"/>
</paths>

QQ需要在工程AndroidManifest.xml清单文件中增加以下参数:

		<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"/>
        <provider
            android:authorities="com.zbzl.fileprovider"
            android:name="androidx.core.content.FileProvider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/qq_file_paths"/>

        </provider>

QQ依赖QQ官方SDKv3.51.2,集成时除了要配置工程AndroidManifest.xml清单文件之外,还需要同时需要在工程res目录下新建qq_file_paths.xml
qq_file_paths

<!-- QQ 官方分享SDK 共享路径 -->
<root-pathname="opensdk_root"path=""/>
<external-files-pathname="opensdk_external"path="Images/tmp"/>

第七步:权限添加

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

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

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

第八步:Application初始化设置

    @Override
    public void onCreate() {
   
        super.onCreate();
 		UMConfigure.init(this, "友盟appkey"
                , "umeng", UMConfigure.DEVICE_TYPE_PHONE, "");
        // 微信设置
        PlatformConfig.setWeixin("微信appkey", "微信appSecret");
        PlatformConfig.setWXFileProvider("com.tencent.sample2.fileprovider");

        // QQ设置
        PlatformConfig.setQQZone("QQappkey", "QQappSecret");
        PlatformConfig.setQQFileProvider
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值