1)
libs中导入炸药包
umeng_social_api.jar
umeng_social_net.jar
umeng_social_tool.jar
umeng_social_net.jar
umeng_social_tool.jar
还有你需要的第三方平台的炸药包
SocialSDK_QQ_Simplify.jar
之后关联炸药包需要一个一个关联
2)
初始化你的工具包
public class MvpApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
UMShareAPI.
get
(this);
x.Ext.
init
(this);
x.Ext.
setDebug
(false); //输出debug日志,开启会影响性能3
}
{
//此处红色标注的是你在QQ平台上请求的ID与KEY
PlatformConfig.
setQQZone
("
1106107710
", "
nZ67cfM1k3SN2iqc
");
}}
3)根据上两步工程就配置ok,接下来在清单文件中搞一下就可以直接用了
切记把
values
中的文件拷贝到你的工程中
把接下来的代码直接放到
application
配置标签中
红色字体是你的QQ平台ID
绿色字体是你友盟平台的KEY
<activity
android:name="com.umeng.qq.tencent.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="tencent
1106107710
"/>
</intent-filter>
</activity>
<activity
android:name="com.umeng.qq.tencent.AssistActivity"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="orientation|keyboardHidden|screenSize"/>
<activity android:name=".view.activity.MainActivity1" />
<meta-data
android:name="UMENG_APPKEY"
android:value="
58f567c01061d27a51001bd9
">//友萌APP的KEy
</meta-data>
4)接下来直接写一个类,你什么时候点击想调用QQ登录直接让它跳转到这个页面就OK了
public class MainActivityQQ extends Activity {
private UMAuthListener umAuthListener = new UMAuthListener() {
@Override
public void onStart(SHARE_MEDIA platform) {
//授权开始的回调
}
@Override
public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) {
Set<String> set = data.keySet();
SharedPreferences qq = getSharedPreferences("QQ",
MODE_PRIVATE
);
SharedPreferences.Editor edit = qq.edit();
for (String string : set) {
String str = data.get(string);
// 设置头像
String touxiang = data.get("profile_image_url");
edit.putString("头像",touxiang);
// 设置昵称
String nicheng = data.get("screen_name");
edit.putString("昵称",nicheng);
edit.putBoolean("状态",true);
edit.commit();
if (string.equals("province")) {
}
if (string.equals("city")) {
}
if (string.equals("gender")) {
}
if (string.equals("uid")) {
}
if (string.equals("yellow_vip_level")) {
}
}
// Toast.makeText(MainActivityQQ.this,"QQ已授权登录",Toast.LENGTH_SHORT).show();
}
@Override
public void onError(SHARE_MEDIA platform, int action, Throwable t) {
Toast.
makeText
( getApplicationContext(), "授权错误", Toast.
LENGTH_SHORT
).show();
}
@Override
public void onCancel(SHARE_MEDIA platform, int action) {
Toast.
makeText
( getApplicationContext(), "授权失败", Toast.
LENGTH_SHORT
).show();
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.
FEATURE_NO_TITLE
);
super.onCreate(savedInstanceState);
getWindow().addFlags(WindowManager.LayoutParams.
FLAG_FULLSCREEN
);
UMShareAPI.
get
(this).getPlatformInfo(this, SHARE_MEDIA.
QQ
, umAuthListener);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
UMShareAPI.
get
(this).onActivityResult(requestCode, resultCode, data);
}
}
附加
UMShareAPI.get(MainActivity_TuiChuDL.this).deleteOauth(MainActivity_TuiChuDL.this, SHARE_MEDIA.QQ,null);
可以在退出登录状态的时候添加如上代码 可以取消授权 避免App只可以登录一个QQ号