Android 基于ShareSDK的Facebook第三方登录

ShareSDK中Facebook的登录与其他方式的登录方法一样。

1、在国内开发的话首先当然需要翻墙,翻墙软件很多,可以在网上搜一下,当然付费的较稳定些。

2、登录Facebook开放平台https://developers.facebook.com/,依次点击My Apps-->Add a New App


获取到你的key和secret

3、然后你的My Apps下就有了刚刚加入的app,点进去就可以看到key和secret了


依次点击Settings-->Advanced-->设置回调地址,回调地址可以自己设置,在配置中会用到

4、登录ShareSDK,下载ShareSDK for Android,解压后将sdk导入工程中,发现有两个包,ShareSDK和OneKeyShare,OneKeyShare是一个ShareSDK集成的快速分享功能的GUI工具,不用的话可以不用依赖这个包。

5、如果你已经登录ShareSDK,会有一个头像,点击头像-->进入后台,http://dashboard.mob.com/#/,点击ShareSDK


添加自己的应用即可,就可以获得key和secret

以上完成之后就开始写代码了

1、写ShareSDK.xml文件放在assets文件夹下

<ShareSDK
   AppKey="a2e144b09d7a" />(在ShareSDK添加应用获得的key)

<Facebook
    Id="8"
    SortId="8"
    ConsumerKey="492294290946990"
    ConsumerSecret="81a1129e441bee32ab2d99401d734602"<pre name="code" class="java" style="color: rgb(102, 51, 102); font-size: 14px; font-weight: bold;">  (在Facebook添加应用获得的key和secret)
RedirectUrl="http://mob.com" (在Facebook添加应用写的回调地址) Enable="true" />

 2、清单文件 

<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>

<activity
            android:name="com.mob.tools.MobUIShell"
            android:theme="@android:style/Theme.Translucent.NoTitleBar"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:windowSoftInputMode="stateHidden|adjustResize">
  		</activity>


3、
public class MainActivity extends Activity implements OnClickListener{
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		initView();
		ShareSDK.initSDK(this);
	}
	private void initView(){
		Button tv_facebook=(Button) findViewById(R.id.tv_facebook);
		tv_facebook.setOnClickListener(this);
	}
	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		switch (v.getId()) {
		case R.id.tv_facebook:
			Platform facebook= ShareSDK.getPlatform(this, Facebook.NAME);
			authorize(facebook);
			break;
		default:
			
			break;
		}
	}
	private void authorize(Platform plat) {
		 if (plat == null) {
		 return;
		 }
		//判断指定平台是否已经完成授权
		if(plat.isValid()) {
			
		 String userId = plat.getDb().getUserId();
		 if (userId != null) {
		 return;
		 }
		 }
		 plat.setPlatformActionListener(new PlatformActionListener() {
			
			@Override
			public void onError(Platform arg0, int arg1, Throwable arg2) {
				// TODO Auto-generated method stub
				Log.i("platform","LLLerror");
			}
			
			@Override
			public void onComplete(Platform arg0, int arg1, HashMap<String, Object> arg2) {
				// TODO Auto-generated method stub
				Log.i("platform","LLLcomplete");
			}
			
			@Override
			public void onCancel(Platform arg0, int arg1) {
				// TODO Auto-generated method stub
				Log.i("platform","LLLcancel");
			}
		});
		 // true不使用SSO授权,false使用SSO授权
		plat.SSOSetting(true);
		 //获取用户资料
		 plat.showUser(null);
		 }
	@Override
	protected void onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();
		ShareSDK.stopSDK();
	}
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值