友盟 QQ登录

来源:互联网 发布:淘宝多个客服怎么设置 编辑:程序博客网 时间:2024/05/21 10:34
1.申请
Android任何第三方的东西都要在其官网注册id,创建应用并获取key。这里也就同样了。不过申请都是比较简单的,每个官网都有自己的申请方式以及文档说明,这里就不啰嗦了。
主要是讲讲这里的第三方登陆需要注意的点:(这里只介绍qq的第三方登陆,其它的基本类似)
在qq互联官网注册http://op.open.qq.com/的应用名称和在友盟http://www.umeng.com/上注册的应用名称要相同
2.配置和使用
什么都有了,那么现在进行配置与使用。官方demo上有具体例子,但还是那种综合性较大的,看起来的话就有点吃力,不过我还是啃了好一会,对照官方文档http://dev.umeng.com/social/android/android-update?spm=0.0.0.0.8Wq2p1也算是基本搞定。
其实真的不复杂:
1:导入资源文件,清单文件配置
2:初始化
资源文件导入:
jar包的导入:
这里写图片描述
下载官方的资源http://dev.umeng.com/social/android/sdk-download,找到适合自己的版本,选择最新的就可以了。可以勾选下载自己想要的其它组件。
下载解压后,找到上图中的四个jar包,因为是只是介绍qq的第三方,所以就只导入了qq的jar包和友盟的基础包,导入添加依赖。
同时将解压目录下main文件夹下的res文件夹拷贝至项目,可以直接复制到项目中的res(不会覆盖,即只是添加没有的东西至项目,原本的东西不会删除)
<?xml version="1.0"encoding="utf-8"?>
<manifestxmlns:android="http://schemas.android.com/apk/res/android"
package="test.bawei.com.zhaozhiqiang20170417">
<uses-permissionandroid:name="android.permission.INTERNET"></uses-permission>
<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/>
<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permissionandroid:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permissionandroid:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permissionandroid:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>
<application
android:name=".MyApplications"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<meta-data
android:name="UMENG_APPKEY"
android:value="58f4a47c717c1921710017b5"></meta-data>
<activity
android:name="com.umeng.qq.tencent.AuthActivity"
android:launchMode="singleTask"
android:noHistory="true">
<intent-filter>
<actionandroid:name="android.intent.action.VIEW"/>
<categoryandroid:name="android.intent.category.DEFAULT"/>
<categoryandroid:name="android.intent.category.BROWSABLE"/>
<dataandroid:scheme="tencent100424468"/>
</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"/>
<activityandroid:name=".MainActivity">
<intent-filter>
<actionandroid:name="android.intent.action.MAIN"/>
<categoryandroid:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
清单文件就配置好了,
新建App 继承Application:
/** * Created by Administrator on 2016/6/1. * 这里完成对第三方登陆的初始化,记得要在清单文件中的主activity中配置 */

public classMyApplicationsextendsApplication {
@Override
public voidonCreate() {
super.onCreate();
UMShareAPI.get(this);
Config.DEBUG= true;
ImageLoaderConfiguration configuration = ImageLoaderConfiguration.createDefault(this);
ImageLoader.getInstance().init(configuration);
}
{
PlatformConfig.setQQZone("1106036236","mjFCi0oxXZKZEWJs");
}
}
使用:
public classMainActivityextendsAppCompatActivity {
privateImageView chbutton;
privateTextView name;
publicArrayList<SnsPlatform>platforms= newArrayList<SnsPlatform>();
privateSHARE_MEDIA[]list= {SHARE_MEDIA.QQ};
@Override
protected voidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initPlatforms();
initdata();
initView();
}
//讲QQ的数据转到集合里。
private voidinitPlatforms() {
platforms.clear();
for(SHARE_MEDIA e :list) {
if(!e.toString().equals(SHARE_MEDIA.GENERIC.toString())) {
platforms.add(e.toSnsPlatform());
}
}
}
public voidinitdata(){
chbutton= (ImageView) findViewById(R.id.chbutton);
name= (TextView) findViewById(R.id.name);
}
public voidinitView(){
finalSlidingMenu sm =newSlidingMenu(this);
sm.setMode(SlidingMenu.LEFT);
sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
intgetping = getping();
sm.setBehindOffset(getping/5);
sm.attachToActivity(MainActivity.this,SlidingMenu.SLIDING_CONTENT);
sm.setMenu(R.layout.slidingmenu_main);
chbutton.setOnClickListener(newView.OnClickListener() {
@Override
public voidonClick(View view) {
sm.toggle();
}
});
sm.findViewById(R.id.qq).setOnClickListener(newView.OnClickListener() {
@Override
public voidonClick(View view) {
Toast.makeText(MainActivity.this,"授权成功了", Toast.LENGTH_LONG).show();
UMShareAPI.get(MainActivity.this).isAuthorize(MainActivity.this,platforms.get(0).mPlatform);
UMShareAPI.get(MainActivity.this).doOauthVerify(MainActivity.this,platforms.get(0).mPlatform,authListener);
}
});
}
//执行授权的接口
UMAuthListenerauthListener= newUMAuthListener() {
@Override
public voidonStart(SHARE_MEDIA platform) {
// SocializeUtils.safeShowDialog(dialog);
}
@Override
public voidonComplete(SHARE_MEDIA platform,intaction, Map<String, String> data) {
// SocializeUtils.safeCloseDialog(dialog);
switch(action){
caseACTION_AUTHORIZE:
Toast.makeText(MainActivity.this,"登陆成功了", Toast.LENGTH_LONG).show(); UMShareAPI.get(MainActivity.this).getPlatformInfo(MainActivity.this,platforms.get(0).mPlatform,authListener);
break;
caseACTION_GET_PROFILE:
ImageLoader.getInstance().displayImage(data.get("iconurl"),chbutton);
name.setText(data.get("name"));
break;
caseACTION_DELETE:
Toast.makeText(MainActivity.this,"取消授权", Toast.LENGTH_LONG).show();
break;
}
}
@Override
public voidonError(SHARE_MEDIA platform,intaction, Throwable t) {
// SocializeUtils.safeCloseDialog(dialog);
Toast.makeText(MainActivity.this,"失败:"+ t.getMessage(), Toast.LENGTH_LONG).show();
}
@Override
public voidonCancel(SHARE_MEDIA platform,intaction) {
// SocializeUtils.safeCloseDialog(dialog);
Toast.makeText(MainActivity.this,"取消了", Toast.LENGTH_LONG).show();
}
};
//获取屏幕适配的方法
public intgetping(){
DisplayMetrics dm =newDisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
intwidth = dm.widthPixels;
returnwidth;
}

@Override
protected voidonActivityResult(intrequestCode,intresultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
UMShareAPI.get(MainActivity.this).onActivityResult(requestCode, resultCode, data);
}
0 0
原创粉丝点击