Android分享到微信等社交平台教程
在Android手机app上增加分享到微信等平台的功能,使用的是第三方的开源组件,友推SDK。
集成分为下面几个步骤:
1. 在友推官网注冊,加入要集成友推sdk的 app信息,并获取appkey。
2.下载最新版的友推sdk包,包里提供了集成demo。
3.申请社交平台appkey
包含的社交平台有:微信、新浪微博、腾讯微博、QQ空间、QQ、微信好友、人人等。
4.引用友推库项目
将youtui-lib项目库和应用project放在同一个文件夹下
5.把sdk中的youtui-share-demoproject里的assets下的youtui_sdk.xml复制到你的应用里的assets下。
6.改动youtui_sdk.xml
当中微信和朋友圈,须要到微信开发平台提交你的应用,申请得到key。当中一个比較重要的地方,即应用签名。用微信提供的Gen_Signature_Android.apk。输入你的包名。就能够得到你的应用签名了。具体代码看以下
<?xml version="1.0" encoding="utf-8"?>
<KeyInfo> <!--
分享平台的注冊信息,一定要填入在对应平台注冊的正确信息,不然应用无法完毕授权,
也无法进行分享,enable属性决定是否分享该平台
-->
<!-- 友推sdk注冊地址 : http://youtui.mobi/ -->
<YouTui AppKey="669757" />
<!-- 微信和朋友圈注冊:https://open.weixin.qq.com/ -->
AppId="wx36de4ec7c07c3589"
Enable="true" />
<WechatMoments
AppId="wx36de4ec7c07c3589"
Enable="true" />
<!-- 新浪微博注冊地址:http://open.weibo.com/ -->
<SinaWeibo
IsNoKeyShare="true"
AppKey="2502314449"
AppSecret="df10502d7b422937adea431cd985904a"
Enable="true"
RedirectUrl="http://youtui.mobi/weiboResponse" />
<!-- QQ,QQ空间注冊地址:http://open.qq.com/ -->
AppId="1101255276"
AppKey="h4sOXgtTtsqRjoOq"
Enable="true" />
<QZone
AppId="1101255276"
AppKey="h4sOXgtTtsqRjoOq"
Enable="true" />
<!--腾讯微博注冊地址:http://dev.t.qq.com/ -->
<TencentWeibo
IsNoKeyShare="true"
AppKey="801443192"
AppSecret="45d65f2d2650637c96ece74f4a67b686"
Enable="true"
RedirectUrl="http://yt.bidaround.cn/" />
<!-- 人人注冊地址: http://dev.renren.com/ -->
<Renren
AppId="244110"
AppKey="b1a80ac1aa694090bfb9aa3a590f2161"
Enable="true"
SecretKey="506ccdbda36046d197801e79c4ebba23" /> <ShortMessage Enable="true" /> <Email Enable="true" />
<!-- 复制链接 --> <CopyLink Enable="true" /> <More Enable="true"/> </KeyInfo>
7.改动AndroidManifest.xml,加入权限和注冊activity等信息。具体代码看以下
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.GET_TASKS" /> <!-- 缓存资源优先存入SDcard -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- 用于载入图片 -->
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<!-- 用于人人SSO登陆 -->
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<!-- 用于人人SSO登陆 -->
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
<!-- 用于人人SSO登陆 -->
<!-- youtui -->
<!-- 微信分享须要注冊该activity -->
<activity
android:name=".wxapi.WXEntryActivity"
android:exported="true"
android:launchMode="singleTask"
android:theme="@android:style/Theme.Translucent"
>
</activity>
<!-- qq回调须要注冊该activity -->
<activity
android:name="com.tencent.connect.common.AssistActivity"
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<!-- qq授权须要注冊该activity -->
<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="tencent1101255276" />
</intent-filter>
</activity>
<!-- 人人授权须要注冊的activity -->
<activity
android:name="com.renn.rennsdk.oauth.OAuthActivity"
android:configChanges="orientation|navigation|keyboardHidden" />
<!-- 分享界面 -->
<activity
android:name="cn.bidaround.ytcore.activity.ShareActivity"
android:exported="true"
android:launchMode="singleTop"
android:theme="@android:style/Theme.Translucent.NoTitleBar" >
<!-- 新浪微博分享回调须要设置 -->
<intent-filter>
<action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<!-- 应用授权 activity-->
<activity
android:name="cn.bidaround.ytcore.login.AuthActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<!-- 友推积分activity -->
<activity
android:name="cn.bidaround.point.PointActivity" />
<meta-data
android:name="YOUTUI_CHANNEL"
android:value="HIAPK_yt" >
</meta-data>
<!-- youtui -->
8.改动你的应用程序。在你须要加入分享的地方。添加一下代码就可以分享。具体代码看以下
try {
// ShareData使用内容分享类型分享类型
ShareData whiteViewShareData = new ShareData();
whiteViewShareData.isAppShare = false;
whiteViewShareData.setDescription("分享猜车标");
whiteViewShareData.setTitle("分享猜车标");
whiteViewShareData.setText("我玩了猜车标,很好玩,你也来玩吧^_^");
whiteViewShareData.setTarget_url("http://apk.hiapk.com/html/2014/06/2770934.html?module=256&info=HHNmjwdo");
whiteViewShareData.setImageUrl("http://youtui.oss-cn-hangzhou.aliyuncs.com/AppLogo/ic_launcher.png");
YtTemplate whiteGridTemplate = new YtTemplate(StartActivity.this, YouTuiViewType.WHITE_GRID, true);
whiteGridTemplate.setShareData(whiteViewShareData);
YtShareListener whiteViewListener = new YtShareListener() {
@Override
public void onSuccess(ErrorInfo error) {
YtLog.e("----", error.getErrorMessage());
}
@Override
public void onPreShare() {
}
@Override
public void onError(ErrorInfo error) {
YtLog.e("----", error.getErrorMessage());
}
@Override
public void onCancel() {
}
};
/** 加入分享结果监听,假设开发人员不须要处理回调事件则不必设置 */
whiteGridTemplate.addListener(YtPlatform.PLATFORM_QQ, whiteViewListener);
whiteGridTemplate.addListener(YtPlatform.PLATFORM_QZONE, whiteViewListener);
whiteGridTemplate.addListener(YtPlatform.PLATFORM_RENN, whiteViewListener);
whiteGridTemplate.addListener(YtPlatform.PLATFORM_SINAWEIBO, whiteViewListener);
whiteGridTemplate.addListener(YtPlatform.PLATFORM_TENCENTWEIBO, whiteViewListener);
whiteGridTemplate.addListener(YtPlatform.PLATFORM_WECHAT, whiteViewListener);
whiteGridTemplate.addListener(YtPlatform.PLATFORM_WECHATMOMENTS, whiteViewListener);
/**
* 为每一个平台加入分享数据,假设不单独加入,分享的为whiteViewTemplate.setShareData(
* whiteViewShareData)设置的分享数据
*/
whiteGridTemplate.addData(YtPlatform.PLATFORM_QQ, whiteViewShareData);
whiteGridTemplate.addData(YtPlatform.PLATFORM_QZONE, whiteViewShareData);
whiteGridTemplate.addData(YtPlatform.PLATFORM_RENN, whiteViewShareData);
whiteGridTemplate.addData(YtPlatform.PLATFORM_SINAWEIBO, whiteViewShareData);
whiteGridTemplate.addData(YtPlatform.PLATFORM_TENCENTWEIBO, whiteViewShareData);
whiteGridTemplate.addData(YtPlatform.PLATFORM_WECHAT, whiteViewShareData);
whiteGridTemplate.addData(YtPlatform.PLATFORM_WECHATMOMENTS, whiteViewShareData);
whiteGridTemplate.addData(YtPlatform.PLATFORM_MESSAGE, whiteViewShareData);
whiteGridTemplate.addData(YtPlatform.PLATFORM_EMAIL, whiteViewShareData);
whiteGridTemplate.addData(YtPlatform.PLATFORM_MORE_SHARE, whiteViewShareData);
whiteGridTemplate.show();
} catch (Exception e) {
e.printStackTrace();
}
9.当然不要忘记了在你的第一个Activity的onCreate方法里增加:
YtTemplate.init(this);
10.应用退出时:
YtTemplate.release(this);
Android分享到微信等社交平台教程的更多相关文章
- Android分享到微信时点击分享无反应的问题解决(注意事项)
问题描述:调用分享到微信的sdk点击程序的分享按钮程序无反应 解决办法: 问题原因:微信分享对客户端的要求相当严格,首先你必须在给应用注册账号时,把注册信息相对的填写完整,其中“应用包名”,“应用的签 ...
- Android分享到微信和朋友圈的工具类
1.只要填写上正确的app_id,且引用上该工具类你就能实现分享到朋友圈和分享到微信. 2.需要到微信平台下载jar包,以及注册一个appid import android.content.Conte ...
- Android 分享到微信
/** * 分享信息到朋友 * * @param file,假如图片的路径为path,那么file = new File(path); */ private void shareToFriend(Fi ...
- 在Android中使App高速、简单地支持新浪微博、微信、QQ、facebook等十几个主流社交平台的分享功能
前言 在如今的APP或者游戏中,分享功能差点儿已经成为标配.分享功能不但能够满足用户的需求.也能够为产品带来很多其它的用户,甚至能够对用户的行为.活跃度.年龄段等情况进行数据统计,使得软件公司能够对产 ...
- [转载]Android平台第三方应用分享到微信开发
一.申请APPID 微信公共平台和微博分享一样,也需要申请一个ID,来作为调起微信.分享到微信的唯一标识. 申请微信APPID可以到微信平台http://open.weixin.qq.com/app/ ...
- Android平台第三方应用分享到微信开发
一.申请APPID 微信公共平台和微博分享一样,也需要申请一个ID,来作为调起微信.分享到微信的唯一标识. 申请微信APPID可以到微信平台http://open.weixin.qq.com/app/ ...
- App分享之微信微博等各个社交平台的分享授权规则和常见问题
一.新浪微博分享规则 新浪微博支持分享类型: 应用内分享也就是网页分享支持: 文字,文字+图片,要分享链接需要链接添加在text里分享 客户端分享支持:文字,图片,文字+图片,图片+文字+链接 参数说 ...
- cocos2d-x C++ (Android)集成第三方微信分享
ShareSDK Android for cocos2d-x 此文档为ShareSDK Android for cocos3.x的版本,如您集成的是2.X的版本文档请到这里:cocos2.x集成文档 ...
- 申请社交平台appkey详细教程
申请社交平台appkey详细教程 大部分app都需要实现分享到微信.微博等社交平台的功能,但是在各个平台上申请appkey是一件很繁琐的事情.现在来分享一个申请社交平台appkey详细教程,在开发过程 ...
随机推荐
- 【Linux驱动】TQ2440 LED驱动程序
★整体介绍 LED驱动程序主要实现了TQ2440开发板上的4个LED灯的硬件驱动,实现了对引脚GPIOB5.GPIOB6.GPIOB7.GPIOB8的高低电平设置(common-smdk.c中已经实现 ...
- oracle 修改dbid和dbname
一般这玩意没人修改,除非特殊情况,比如克隆数据库等等 步骤: 1.备份数据库 2.启动数据到mount状态 3.nid命令修改 (如果只是修改dbid,那么不需要dbname参数,需要更改dbname ...
- Red Gate系列之一 SQL Compare 10.4.8.87 Edition 数据库比较工具 完全破解+使用教程
原文:Red Gate系列之一 SQL Compare 10.4.8.87 Edition 数据库比较工具 完全破解+使用教程 Red Gate系列之一 SQL Compare 10.4.8.87 E ...
- [原创] 使用rpi + crontab + git 定时向bitbucket 推送 照片
#前提条件,你得有一个bitbucket的帐户 1.定时启动脚本代码 使用的是crontab Cronfile 内容如下: 此文件的意思是,每隔10分钟,就运行一次 /home/pi/Rpi_uplo ...
- [Django] Base class in the model layer
In the model layer, the Model class is the base class while the ModelBase class is metaclass.
- Android访问服务器(TOMCAT)乱码引发的问题
1.浏览器往服务器发送的请求主要可分为2种:get.post:delete.head等不赘述. GET方式: 从浏览器上直接敲地址,最大特点就是参数直接跟在地址后面. POST方式:表单提交等. 2. ...
- 迅雷云加速开放平台c#demo
迅雷云加速开放平台c#demo.很多人很遇到下载文件的问题.这个例子是调用迅雷云加速开放平台的dll,进行下载,速度很快,下载过程中可以获取到很全的下载信息,比如下载速度,进度,完成状态等. 例子中带 ...
- 小代码编写神器:LINQPad 使用入门
原文:小代码编写神器:LINQPad 使用入门 一:概述 1:想查看程序运行结果,又不想启动 VS 怎么办? 2:想测试下自己的 C# 能力,不使用 VS 的智能感知,怎么办? 那么,我们有一个选择, ...
- 阿里2015回顾面试招收学历(获得成功offer)
1. 引言 继上次"百度2015校园招聘面试题回顾录(成功拿到offer)"文章过后,大家都希望除了题目之外.最好能给出自己当时的回答情况,看看有没有什么回答技巧,这样更有參考价值 ...
- 2014年10本月微软MVP应用程序启动!
2014年10本月微软MVP启动应用程序! CSDN与微软合作,长期为用户提供申请"微软最有价值专家"的平台,希望有兴趣.资历的朋友以及正在朝这个方向努力的朋友可以积极參与 ...