如何在Android中使用SDK 4.1.0登录Facebook的? [英] How to login facebook using sdk 4.1.0 in android?
问题描述
[IM写作codeS为我登录页面我application.i已经做出了自己的登录成功与给定的电子邮件地址和密码,但我的M面临的一个问题,而写的codeS的登录与facebook.I已经检查过这<一href="https://developers.facebook.com/docs/facebook-login/android/v2.3">https://developers.facebook.com/docs/facebook-login/android/v2.3
[I"m writing codes for my login Page for my application.i have already made my login successful with the given email and password but i"m facing a problem while writing the codes for login with facebook.I have already checked this https://developers.facebook.com/docs/facebook-login/android/v2.3
但我仍然m到处错误,同时运行我的code按instructions.I米新至Android开发......所以任何适当的帮助将是praiseworthy.Thankx提前。]的 1
but still i"m getting errors while running my code as per instructions.I"m new to android developing...so any proper help would be praiseworthy.Thankx in advance.]1
推荐答案
在这里,我的M提供Facebook的登录与SDK4一个有效的解决方案。
Here i"m providing a working solution for facebook login with sdk4.
首先添加依赖下build.gradle(模块的应用程序) 依赖{......
First of all add dependency on build.gradle(Module app) under dependencies {......
编译com.facebook.android:facebook-android-sdk:4.1.0
}
然后同步摇篮....
此后,在Android清单做了以下变化: -
compile 'com.facebook.android:facebook-android-sdk:4.1.0'
}
Then Sync Gradle....
Thereafter,in Android Manifest do the following changes:-
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/app_id"/> //write the app_id u have generated in res/values/strings.xml folder.
<provider android:authorities="com.facebook.app.FacebookContentProvider456579934439214"
android:name="com.facebook.FacebookContentProvider"
android:exported="true" />
<activity android:name="com.facebook.FacebookActivity"
android:configChanges=
"keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:label="@string/app_name" />
在此写出下列codeS在乌拉圭回合MainActivity类:
After this write the following codes in ur MainActivity class:
public class MainActivity extends ActionBarActivity {
LoginButton loginButton;
CallbackManager callbackManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(this.getApplicationContext());
callbackManager = CallbackManager.Factory.create();
setContentView(R.layout.activity_main);
loginButton = (LoginButton) findViewById(R.id.login_button);
loginButton.setReadPermissions("email", "user_likes", "user_friends");
loginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//callback registration
LoginManager.getInstance().registerCallback(callbackManager,
new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
// App code
LoginManager.getInstance().logInWithReadPermissions(MainActivity.this, Arrays.asList("public_profile", "user_friends"));
Log.e("-->", Arrays.asList("public_profile", "user_friends").toString());
Toast.makeText(getApplication(), "success", Toast.LENGTH_SHORT).show();
}
@Override
public void onCancel() {
// App code
Toast.makeText(getApplication(),"fail",Toast.LENGTH_SHORT).show();
}
@Override
public void onError(FacebookException exception) {
// App code
Toast.makeText(getApplication(),"error",Toast.LENGTH_SHORT).show();
}
});
}
});
}
@Override
protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
}
我activity_main.xml文件如下: -
My activity_main.xml file are as follows:-
<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"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<com.facebook.login.widget.LoginButton
android:id="@+id/login_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="30dp"
android:layout_marginBottom="30dp" />
U可以自定义按钮,按要求
U can customize the button as per requirement
这篇关于如何在Android中使用SDK 4.1.0登录Facebook的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!