我想要达到的目标
我正在尝试在 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();
});
我不知道我做错了什么。
但是,我发现如果我使用我的计算机授予该应用程序的权限,然后尝试使用该应用程序,它就可以工作。