我是非常新的Android ..我试图实现Facebook登录,但我面临的错误虽然实施Facebook登录,Android应用程序崩溃
请告诉我什么可以是问题?
MainActivity.Java
package com.atpata_new;
import com.facebook.CallbackManager;
import com.facebook.FacebookCallback;
import com.facebook.FacebookSdk;
import com.facebook.login.LoginResult;
import com.facebook.login.widget.LoginButton;
import com.facebook.FacebookException;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
public class MainActivity extends Activity {
private TextView info;
private LoginButton loginButton;
private CallbackManager callbackManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(getApplicationContext());
callbackManager = CallbackManager.Factory.create();
setContentView(R.layout.activity_main);
info = (TextView)findViewById(R.id.info);
loginButton = (LoginButton)findViewById(R.id.login_button);
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
info.setText(
"User ID: "
+ loginResult.getAccessToken().getUserId()
+ "\n" +
"Auth Token: "
+ loginResult.getAccessToken().getToken()
);
}
@Override
public void onCancel() {
info.setText("Login attempt canceled.");
}
@Override
public void onError(FacebookException e) {
info.setText("Login attempt failed.");
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
callbackManager.onActivityResult(requestCode, resultCode, data);
}
}
在logcat的我得到以下错误
1月9日至26日:50:00.783:E/AndroidRuntime(28704):致命异常:的AsyncTask#5 1月9日至26日:50:00.783:电子/ AndroidRuntime(28704):进程:com.atpata_new,PID:28704 09-26 01:50:00.783:E/AndroidRuntime(28704):java.lang.NullPointerException 09-26 01:50:00.783:E/AndroidRuntime (28704):在java.util.concurrent.ConcurrentHashMap.containsKey(ConcurrentHashMap.java:911) 09-26 01:50:00.783:E/AndroidRuntime(28704):at com.facebook.internal.Utility.queryAppSettings(Utility .java:822) 09-26 01:50:00.783:E/AndroidRuntime(28704):at com.facebook.login.widget.LoginButton $ 1.run(LoginButton.java:489) 09-26 01:50:00.783:E/AndroidRuntime (28704):在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 09-26 01:50:00.783:E/AndroidRuntime(28704):位于java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:587) 1月9日至26日:50:00.783:E/AndroidRuntime(28704):在java.lang.Thread.run(Thread.java:841)
Mainfest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.atpata_new"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="23"/>
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.atpata_new.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.FacebookActivity"
android:configChanges=
"keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:label="@string/app_name" />
</application>
<meta-data android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id"/>
</manifest>
你应该为你的MainActivity创建一个片段来使这个简单 –
@HtmlTosin:你能告诉我我该怎么做。 –