【发布时间】:2011-09-09 20:06:07
【问题描述】:
我正在尝试为 Jos 安装 Facebook 的 phonegap 插件,可在此处下载:https://github.com/jos3000/phonegap-plugins/tree/master/Android/Facebook
我的文件夹结构是这样设置的:
src/com/facebook/android/*.java
src/com/hipsnip/plugins/facebook/FacebookAuth.java
src/com/my_app/app/App.java
libs/phonegap-1.0.0.jar
/res/xml/plugins.xml
assets/www/index.html facebook.js phonegap-1.0.0.js
我已将插件添加到 plugin.xml 文件中,如下所示:
<plugin name="facebook" value="com.hipsnip.plugins.facebook.FacebookAuth" />
我已将 facebook.js 添加到我的 index.html 中,并具有以下功能(通过按下按钮触发):
function facebook_login()
{
var appId = "1234"; // this is your facebook app id change me
window.plugins.facebook.authorize(appId,function(res){
alert(res.name);
});
});
}); }
该应用程序打开了一个新的浏览器窗口(我怀疑它就是这样),但它显示的只是我的应用程序而没有运行 javascript。 LogCat 显示以下错误:
file:///android_asset/www/index.html: Line 95 : TypeError: Result of expression 'window.plugins.facebook' [undefined] is not an object.
感谢您提供的任何帮助(我怀疑这与我设置文件夹的方式或添加 plugin.xml 的方式有关,但我真的不知道)!
【问题讨论】:
-
我认为问题在于打开一个新页面,您可以检查一下。
-
你是什么意思?这会发生在哪里?
-
我让 Jos 的插件正常工作 - 使用 html/js/css 应用程序。在 plugins.xml 我使用:
. -
另外,不确定你的 javascript 是否是字面意思,但从你的 authorize() 你会得到 res.token (或不是),他的插件会为你保存和使用,例如在未来的 request() 中。需要他对 authorize() --> getAccess() 的级联调用。如果您需要代码示例,请告诉我。
-
我终于让它工作了,但我不得不重新添加已在 8 月中旬删除的 PluginMaker(我知道这是不对的),我打算用一个回答这个问题完成应用程序后的正确操作方法。不过感谢您的提议!
标签: javascript android facebook cordova