友盟第三方分享、登陆(登陆后传递登陆信息)
来源:互联网 发布:linux查看所有service 编辑:程序博客网 时间:2024/05/05 23:19
### 首先下载sdk把umeng_android_social_sdk_5.1.2_custom目录下面的main中 libs和res导入到新建的项目中,再把platforms里面的qq_qzone中libs(v4包千万别导入,不然会报错),res里面的4张图片放到项目中
### 配置文件中复制以下代码
<activity
android:name="com.umeng.socialize.editorpage.ShareActivity"
android:theme="@style/Theme.UMDefault"
android:excludeFromRecents="true"/>
<meta-data
android:name="UMENG_APPKEY"
android:value="4eaee02c527015373b000003" >
</meta-data>
<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" />
<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" />
### 新建一个类 继承 Application 并重写onCreate()方法, 在清单文件application中配置 android:name="这里是类的全路径名"
// QQ和Qzone appid appkey
PlatformConfig.setQQZone("100424468",
"c7394704798a158208a74ab60104f0ba");
#################### 布局里面
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="share"
android:text="分享" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginRight="103dp"
android:onClick="login"
android:text="登陆" />
<ImageView
android:id="@+id/iv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:background="@drawable/ic_launcher" />
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/button1"
android:text="姓名" />
</RelativeLayout>
### MainActivity
public class MainActivity extends ActionBarActivity {
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 };
private UMShareAPI mShareAPI;
private ImageView iv;
private TextView tv;
private String name;
private String url;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mShareAPI = UMShareAPI.get(this);
initView();
}
private void initView() {
iv = (ImageView) findViewById(R.id.iv);
tv = (TextView) findViewById(R.id.tv);
}
// 分享
public void share(View v) {
UMImage image = new UMImage(MainActivity.this, R.drawable.ic_logo);
new ShareAction(this).setDisplayList(displaylist).withText("呵呵")
.withTitle("title").withTargetUrl("http://www.baidu.com")
.withMedia(image).setListenerList(new UMShareListener() {
@Override
public void onResult(SHARE_MEDIA platform) {
Toast.makeText(MainActivity.this, platform + " 分享成功啦",
Toast.LENGTH_SHORT).show();
}
@Override
public void onError(SHARE_MEDIA platform, Throwable t) {
Toast.makeText(MainActivity.this, platform + " 分享失败啦",
Toast.LENGTH_SHORT).show();
}
@Override
public void onCancel(SHARE_MEDIA platform) {
Toast.makeText(MainActivity.this, platform + " 分享取消了",
Toast.LENGTH_SHORT).show();
}
}).open();
}
// 登陆
public void login(View v) {
SHARE_MEDIA platform = SHARE_MEDIA.QQ;
mShareAPI.doOauthVerify(this, platform, new UMAuthListener() {
@Override
public void onComplete(SHARE_MEDIA platform, int action,
Map<String, String> data) {
Toast.makeText(getApplicationContext(), "Authorize succeed",
Toast.LENGTH_SHORT).show();
mShareAPI.getPlatformInfo(MainActivity.this, platform,
new UMAuthListener() {
@Override
public void onComplete(SHARE_MEDIA platform,
int action, Map<String, String> data) {
Toast.makeText(getApplicationContext(),
"Authorize succeed", Toast.LENGTH_SHORT)
.show();
for (String key : data.keySet()) {
System.out.println(key + "======="
+ data.get(key));
name = data.get("screen_name");
url = data.get("profile_image_url");
}
tv.setText(name);
// ImageLoader加载图片
ImageLoader imageLoader = ImageLoader
.getInstance();
imageLoader.init(ImageLoaderConfiguration
.createDefault(MainActivity.this));
imageLoader.displayImage(url, iv);
}
@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();
}
});
}
@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();
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);
mShareAPI.onActivityResult(requestCode, resultCode, data);
}
}
- 友盟第三方分享、登陆(登陆后传递登陆信息)
- 有盟第三方登陆,分享
- 友盟第三方登陆
- 友盟第三方登陆
- 第三方登陆与分享
- 第三方登陆与分享
- 友盟第三方登陆,及分享,使用工具集成。
- 第三方登陆 ,微信扫码登陆
- iOS友盟第三方登陆开发
- iOS友盟第三方登陆开发
- 友盟第三方qq登陆
- 微信第三方登陆 与分享
- 支付宝和第三方登陆分享
- 第三方授权登陆 分享功能
- 第三方登陆跟分享 坑
- 第三方SDK:ShareSDK 快捷分享 + 登陆
- 第三方登陆及社会化分享
- 有盟第三方分享消息类型,登陆用户信息获取
- 随机一注,用于抽奖的
- 通过json格式返回服务器对象
- Unity一些常用插件记录
- MySQL explain 的Using temporary; Using filesort
- ORA-12154 连接串引起的闹心的小问题总结
- 友盟第三方分享、登陆(登陆后传递登陆信息)
- 实例变量和类变量、类方法和实例方法
- 指针 内存中的五大区域
- YII2.0-advanced-4—URL美化
- 关于spring整合hibernate使用update无异常但没有效果(不输出sql语句)
- 用Oracle的增、删、改、查实现对DVD的操作(迷你DVD)
- Jmeter和LR上传文件和下载
- PAT乙级(Basic Level)1017(Java)
- Jsonp asp.net的应用