4

我想要达到的目标

我正在尝试在 Android中运行PhoneGap Facebook 插件中包含的示例应用程序。

问题

单击“登录”后,会出现一个对话框,请求我的许可(屏幕截图),但单击“确定”后,它会返回主屏幕,但什么也没有发生。

我尝试过的

我在手机中安装了 Facebook APK,在 Eclipse 中安装了 Facebook SDK for Android,并将 SDK 链接到示例应用程序。我还使用用于导出应用程序的密钥库生成了我的密钥哈希,并将其添加到 Facebook 上的应用程序配置中。

com.facebook.LoginActivity像这样将其添加到清单中:

<manifest>
...
<application android:icon="@drawable/icon" android:label="@string/app_name"
    android:hardwareAccelerated="true"
    android:debuggable="true">
    <activity android:name="TestaFB" android:label="@string/app_name"
            android:theme="@android:style/Theme.Black.NoTitleBar"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale">
        <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:label="@string/app_name" />

</application>
</manifest>

并添加了这样的插件,在res/xml/config.xml

<cordova>
  <plugins>
      ...
      <plugin name="org.apache.cordova.facebook.Connect" value="org.apache.cordova.facebook.ConnectPlugin" />
  </plugins>
</cordova>

我修改了index.html使用我正在使用的cordova版本(2.6.0)并将我appId的放在JS中:

  document.addEventListener('deviceready', function() {
      FB.init({
          appId: '361413583977115',
          nativeInterface: CDV.FB,
          useCachedDialogs: false
      });

      FB.getLoginStatus(handleStatusChange);
      authUser();
      updateAuthElements();
  });

我不知道我做错了什么。

但是,我发现如果我使用我的计算机授予该应用程序的权限,然后尝试使用该应用程序,它就可以工作。

4

0 回答 0