android - 无法通过 Facebook SDK 登录

标签 android facebook facebook-android-sdk

我试图借助 Facebook 上提供的官方教程将 Facebook SDK 集成到 Android 应用程序中.我已正确执行所有步骤,并且我的应用程序没有编译错误。但是,当我尝试在实时设备上对其进行测试时,出现如下错误:

The page you requested cannot be displayed right now. It may be temporarily unavailable, the link you clicked might be broken or expired, or you may have not the permission to view this page.

I am not able to understand the reason for this error. Please help!

Code:

MainActivity.java

package com.example.myfbapp;

import com.facebook.Request;
import com.facebook.Response;
import com.facebook.Session;
import com.facebook.SessionState;
import com.facebook.model.GraphUser;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.widget.TextView;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Session.openActiveSession(this, true, new Session.StatusCallback(){

        @Override
        public void call(Session session, SessionState state,
                Exception exception) {
            if(session.isOpened()){
                Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {

                    @Override
                    public void onCompleted(GraphUser user, Response response) {
                        if(user!=null){
                            TextView tvWelcome=(TextView)findViewById(R.id.tvWelcome);
                            tvWelcome.setText("Welcome "+user.getName()+"!");
                        }
                    }
                });
            }
        }

    });
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

}

activity_main.xml

<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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<TextView
    android:id="@+id/tvWelcome"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:text="Welcome!" />

</RelativeLayout>

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myfbapp"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.INTERNET"/>

<application
    android:allowBackup="false"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.example.myfbapp.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <meta-data android:value="@string/app_id" android:name="com.facebook.sdk.ApplicationId"/>
    <activity android:name="com.facebook.LoginActivity"></activity>
</application>

</manifest>

最佳答案

更新您设备上的 Facebook 应用程序可能会解决问题,

如果 Facebook 应用程序未更新,则可能无法使用。 我遇到了同样的问题,更新解决了

关于android - 无法通过 Facebook SDK 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18073706/

相关文章:

android - 检测状态栏可见性/TYPE_SYSTEM_OVERLAY 未自动调整大小

android - 为什么 WebRTC 仅在 Chrome 中支持 H264 而在某些设备的 native 应用程序中不支持

android - 在动态添加的单选按钮中未正确设置布局权重

Android动态添加的按钮不适合布局

ios - 用户在 iOS 中发布到 FB 后,试图关闭显示 SLComposeViewController 的 View Controller

ios - FB 应用程序和 FB Messenger 之间的连接

java - "Cannot resolve symbol ` Facebook Graph API 请求 `"错误

android - 如何将 Android 应用程序邀请与 Facebook 集成?

java - Android项目运行时"could not find com_facebook_android.apk error"

java - 在 Facebook 应用程序和浏览器之间进行选择?