我正在构建一个连接到网站以获取数据的应用。提供登录屏幕,提供使用站点用户名和密码登录或使用Facebook,Twitter和谷歌等社交应用程序登录的选项。提供的按钮。我已下载socialauth库以与该应用程序一起使用。我按照https://code.google.com/p/socialauth-android/获取了有关如何使用该库的说明。但文档相当粗略。任何有关如何使用该库的帮助将不胜感激。提前致谢。 编辑: 我想要做的主要是提供facebook,google和twitter的登录工具来登录我的应用程序,就像许多网站和应用程序提供的功能一样。 再次感谢。
答案 0 :(得分:0)
我在这里放代码..希望它会帮助你.. 注意:您需要将oath_consumer.properties放在assets文件夹中,并在项目中添加socialauth库。
public class ClientLogin extends Activity {
TextView facebookLogin,TwitterLogin,LinkedInLogin;
SocialAuthAdapter adapter;
Button logout;
Context context;
Profile profileMap;
String Email,password;
String provider_Name;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.client_login);
context=this;
facebookLogin=(TextView) findViewById(R.id.textView_LoginFacebook);
TwitterLogin=(TextView) findViewById(R.id.textView_LoginTwitter);
LinkedInLogin=(TextView) findViewById(R.id.textView_LoginLinkedin);
logout=(Button) findViewById(R.id.button_loginLogout);
adapter = new SocialAuthAdapter(new ResponseListener());
facebookLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
provider_Name="facebook";
adapter.authorize(context, Provider.FACEBOOK);
}
});
TwitterLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
provider_Name="twitter";
adapter.authorize(context, Provider.TWITTER);
}
});
LinkedInLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
provider_Name="linkedin";
adapter.authorize(context, Provider.LINKEDIN);
}
});
logout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stubadapter.
adapter.signOut(context, Provider.FACEBOOK.toString()) ;
adapter.signOut(context, Provider.LINKEDIN.toString()) ;
adapter.signOut(context, Provider.TWITTER.toString()) ;
Toast.makeText(context,"succesfully Logged out",1000).show();
}
});
}
private final class ResponseListener implements DialogListener
{
public void onComplete(Bundle values) {
// Log.d("ShareButton" , "Authentication Successful");
Toast.makeText(context,"succesfully Logged in",1000).show();
//code is to get email id of user...
profileMap = adapter.getUserProfile();
if (provider_Name.equalsIgnoreCase("facebook"))
{
//to get email_id of user..
Email=profileMap.getEmail();
}
else if( provider_Name.equalsIgnoreCase("twitter"))
{
//to get email of user
Email=profileMap.getEmail();
}
else if (provider_Name.equalsIgnoreCase("linkedin"))
{
Email=profileMap.getEmail();
}
}
}
}