Ich mache Facebook-Integration in meinem Projekt. aber das Problem ist, wenn ich auf die Facebook-Login-Taste klicke, es zeigt Laden und Retrun auf den Hauptbildschirm. Kann mir jemand sagen, was ist das Problem?In Facebook Integration, wenn ich auf den Login-Button klicke, zeigt es Laden und kehrt zum Hauptbildschirm zurück?
Das ist mein MainActivity ist: -
public class MainActivity extends AppCompatActivity {
private FacebookData mFacebookData;
private Button mLoginButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mFacebookData = new FacebookData();
mLoginButton = (Button) findViewById(R.id.button);
mLoginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
callFacebookLogin();
}
});
}
private void callFacebookLogin() {
Session session = Session.getActiveSession();
if (session != null) {
Log.e("session :", "session already build");
Request request = Request.newMeRequest(session, new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user, Response response) {
if (user != null) {
String str = user.getName();
try {
String id = user.getId();
String firstname = user.getFirstName();
String lastname = user.getLastName();
String pic = "http://graph.facebook.com/" + id + "/picture?type=large";
Log.e("id....", id);
Log.e("firstname....", firstname);
mFacebookData.setId(id);
mFacebookData.setFirstname(firstname);
mFacebookData.setLastname(lastname);
mFacebookData.setPicture(pic);
} catch (Exception e) {
e.printStackTrace();
}
}
}
});
Request.executeBatchAsync(request);
} else {
Session.openActiveSession(MainActivity.this, true, new Session.StatusCallback() {
@Override
public void call(Session session, SessionState state, Exception exception) {
if (session.isOpened()) {
if (state == SessionState.OPENED) {
Request request = Request.newMeRequest(session, new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user, Response response) {
if (user != null) {
String str = user.getName();
}
try {
String id = user.getId();
String firstname = user.getFirstName();
String lastname = user.getLastName();
String pic = "http://graph.facebook.com/"
+ id
+ "/picture?type=large";
mFacebookData.setId(id);
mFacebookData.setFirstname(firstname);
mFacebookData.setLastname(lastname);
mFacebookData.setPicture(pic);
} catch (Exception e) {
e.printStackTrace();
}
}
});
Request.executeBatchAsync(request);
}
}
}
});
}
}
}
Das ist mein Manifest ist: -
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.aaa.examplepractise">
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.facebook.LoginActivity"
android:screenOrientation="portrait" />
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/APP_ID" />
</application>
</manifest>
Das ist mein Logcat: -
09-27 10:35:24.405 20441-20615/com.example.aaa.examplepractise E/ActivityThread: Failed to find provider info for com.facebook.katana.provider.AttributionIdProvider
09-27 10:35:24.582 20441-20441/com.example.aaa.examplepractise E/ActivityThread: Failed to find provider info for com.facebook.katana.provider.PlatformProvider
09-27 10:35:24.583 20441-20441/com.example.aaa.examplepractise E/ActivityThread: Failed to find provider info for com.facebook.wakizashi.provider.PlatformProvider
justpost, was Sie bekommen Logcat .. set Anmelden onActivityResult Funktion –
Auch Facebook hat die SDK-Version auf 4 geändert.0 + in denen sie an Fragmenten nicht in Aktivität arbeiten Ich denke, Sie verwenden alte Version –
@PreetikaKaur Ich aktualisierte meinen Code. Bitte sehen Sie sich den Logcat an. Ich denke, es gibt keinen Fehler. Und ich verwende Aktivität nicht das Fragment. Soll ich Fragment anstelle der Aktivität verwenden. – aarav