第三方登录+分享
来源:互联网 发布:开淘宝网店心得 编辑:程序博客网 时间:2024/04/29 23:24
1.开发者中心——sdk与文档-ushare分享-sdk下载-5.1.2
2.获得友盟appkey(在个人中心那里点击-创建新应用--配置完毕后在--下载SDK并添加代码里可以看到)
3.将文件夹中的'main/libs'和'main/res'文件夹复制到你的项目工程根目录下
4.如果配置QQ那么就要把qq对应的资源也复制到项目工程根目录下
5.在mainfest中其中key需要配置
a.权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.READ_LOGS" /><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><uses-permission android:name="android.permission.GET_TASKS" /><uses-permission android:name="android.permission.SET_DEBUG_APP" /><uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /><uses-permission android:name="android.permission.GET_ACCOUNTS" /><uses-permission android:name="android.permission.USE_CREDENTIALS" /><uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
b.本来的活动和keykey需要配置
<activity android:name="com.umeng.socialize.editorpage.ShareActivity"android:theme="@style/Theme.UMDefault"android:excludeFromRecents="true"/>
<meta-dataandroid:name="UMENG_APPKEY"android:value="4eaee02c527015373b000003" ></meta-data>
c.需要登录哪一个就需要配置哪一个的activity例如QQ
<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:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar" />
6. 各个平台的配置,建议放在全局Application或者程序入口在平台的入口
PlatformConfig.setWeixin("wx967daebe835fbeac", "5bb696d9ccd75a38c8a0bfe0675559b3"); //微信 appid appsecretPlatformConfig.setSinaWeibo("3921700954","04b48b094faeb16683c32669824ebdad"); //新浪微博 appkey appsecretPlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba"); // QQ和Qzone appid appkey PlatformConfig.setAlipay("2015111700822536"); //支付宝 appidPlatformConfig.setYixin("yxc0614e80c9304c11b0391514d09f13bf"); //易信 appkey PlatformConfig.setTwitter("3aIN7fuF685MuZ7jtXkQxalyi", "MK6FEYG63eWcpDFgRYw4w9puJhzDl0tyuqWjZ3M7XJuuG7mMbO"); //Twitter appid appkeyPlatformConfig.setPinterest("1439206"); //Pinterest appid PlatformConfig.setLaiwang("laiwangd497e70d4", "d497e70d4c3e4efeab1381476bac4c5e"); //来往 appid appkey
7.在java代码中设置全局变量
UMShareAPI mShareAPI = UMShareAPI.get(this);
private UMAuthListener umAuthListener = new UMAuthListener() { @Override public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) { Toast.makeText( getApplicationContext(), "Authorize succeed", Toast.LENGTH_SHORT).show(); } @Override public void onError(SHARE_MEDIA platform, int action, Throwable t) { Toast.makeText( getApplicationContext(), "Authorize fail", Toast.LENGTH_SHORT).show(); } @Override public void onCancel(SHARE_MEDIA platform, int action) { Toast.makeText( getApplicationContext(), "Authorize cancel", Toast.LENGTH_SHORT).show(); } };
8.在点击事件中触发的事件就是
SHARE_MEDIA platform = SHARE_MEDIA.QQ; mShareAPI.doOauthVerify(this, platform, umAuthListener)
9.重写方法
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); mShareAPI.onActivityResult(requestCode, resultCode, data); }
10.获取信息也可以用接口获得,但是需要重写接口
mShareAPI.getPlatformInfo(UserinfoActivity.this, platform, umAuthListener1); String screen_name = data.get("screen_name"); String profile_image_url = data.get("profile_image_url");
11.如果要分享,那么需要变量
final SHARE_MEDIA[] displaylist = new SHARE_MEDIA[] { SHARE_MEDIA.WEIXIN, SHARE_MEDIA.WEIXIN_CIRCLE,SHARE_MEDIA.SINA, SHARE_MEDIA.QQ, SHARE_MEDIA.QZONE,SHARE_MEDIA.DOUBAN };
分享的方是
<p>//图片(url)</p><pre lang="java"><code class="hljs java">UMImage image = <span class="hljs-keyword"><span class="hljs-keyword">new</span></span> UMImage(ShareActivity.<span class="hljs-keyword"><span class="hljs-keyword">this</span></span>, <span class="hljs-string"><span class="hljs-string">"http://www.umeng.com/images/pic/social/integrated_3.png"</span></span>);</code>
<p>//图片(本地资源引用)</p><pre lang="java"><code class="hljs java">UMImage image = <span class="hljs-keyword"><span class="hljs-keyword">new</span></span> UMImage(ShareActivity.<span class="hljs-keyword"><span class="hljs-keyword">this</span></span>, BitmapFactory.decodeResource(getResources(), R.drawable.image));</code>
// 分享的方法
new ShareAction(this).setDisplayList( displaylist ) .withText( "呵呵" ) .withTitle("title") .withTargetUrl("http://www.baidu.com") .withMedia( image ) .setListenerList(umShareListener) .open();
// 里边的接口
<span class="hljs-keyword"><span class="hljs-keyword">new</span></span> UMShareListener() { <span class="hljs-annotation"><span class="hljs-annotation">@Override</span></span> <span class="hljs-function"><span class="hljs-keyword"><span class="hljs-function"><span class="hljs-keyword">public</span></span></span><span class="hljs-function"> </span><span class="hljs-keyword"><span class="hljs-function"><span class="hljs-keyword">void</span></span></span><span class="hljs-function"> </span><span class="hljs-title"><span class="hljs-function"><span class="hljs-title">onResult</span></span></span><span class="hljs-params"><span class="hljs-function"><span class="hljs-params">(SHARE_MEDIA platform)</span></span></span><span class="hljs-function"> </span></span>{ Toast.makeText(ShareActivity.<span class="hljs-keyword"><span class="hljs-keyword">this</span></span>,platform + <span class="hljs-string"><span class="hljs-string">" 分享成功啦"</span></span>, Toast.LENGTH_SHORT).show(); } <span class="hljs-annotation"><span class="hljs-annotation">@Override</span></span> <span class="hljs-function"><span class="hljs-keyword"><span class="hljs-function"><span class="hljs-keyword">public</span></span></span><span class="hljs-function"> </span><span class="hljs-keyword"><span class="hljs-function"><span class="hljs-keyword">void</span></span></span><span class="hljs-function"> </span><span class="hljs-title"><span class="hljs-function"><span class="hljs-title">onError</span></span></span><span class="hljs-params"><span class="hljs-function"><span class="hljs-params">(SHARE_MEDIA platform, Throwable t)</span></span></span><span class="hljs-function"> </span></span>{ Toast.makeText(ShareActivity.<span class="hljs-keyword"><span class="hljs-keyword">this</span></span>,platform + <span class="hljs-string"><span class="hljs-string">" 分享失败啦"</span></span>, Toast.LENGTH_SHORT).show(); } <span class="hljs-annotation"><span class="hljs-annotation">@Override</span></span> <span class="hljs-function"><span class="hljs-keyword"><span class="hljs-function"><span class="hljs-keyword">public</span></span></span><span class="hljs-function"> </span><span class="hljs-keyword"><span class="hljs-function"><span class="hljs-keyword">void</span></span></span><span class="hljs-function"> </span><span class="hljs-title"><span class="hljs-function"><span class="hljs-title">onCancel</span></span></span><span class="hljs-params"><span class="hljs-function"><span class="hljs-params">(SHARE_MEDIA platform)</span></span></span><span class="hljs-function"> </span></span>{ Toast.makeText(ShareActivity.<span class="hljs-keyword"><span class="hljs-keyword">this</span></span>,platform + <span class="hljs-string"><span class="hljs-string">" 分享取消了"</span></span>, Toast.LENGTH_SHORT).show(); } };
0 0
- 第三方登录分享
- 第三方登录 分享
- 第三方登录/分享
- 第三方登录+分享
- 第三方登录分享
- 第三方登录,授权,分享
- 分享和第三方登录
- 第三方登录与分享
- 第三方分享与登录
- 第三方登录和分享
- 第三方登录和分享
- 第三方登录+分享();
- 第三方登录和分享
- 第三方登录and分享
- 第三方登录和分享
- iOS第三方分享,登录
- 第三方登录与分享
- 第三方登录QQ、分享
- [LeetCode]problem 1. Two Sum
- 2009年北航机考题
- sql优化
- 2_Getting connected
- hdu1312Red and Black (dfs)
- 第三方登录+分享
- 3_Learning other fields
- 4_Notebooks
- Activity的启动方式
- warning C4407: 在指向成员表示形式的不同指针之间进行转换,编译器可能生成不正确的代码
- 5_Writing
- (OK) Creating VMs from an existing VDI file —— in OS X
- C++常见问题(三)——宏定义、const、static、sizeof的相关实例
- 6_talks