1

在我的应用程序中,我使用的是 facebook 身份验证。我的代码看起来像

var win1 = Titanium.UI.createWindow({  
    title:'Tab 1',
    backgroundColor:'#fff',
    layout:'vertical'
});win1.open();

Titanium.Facebook.appid = "appid";
Titanium.Facebook.permissions = ['abc'];

var facebook_button = Ti.UI.createButton(
{
    height:50,
    width:200
});win1.add(facebook_button);
facebook_button.addEventListener('click', function(e)
{
    Titanium.Facebook.authorize();  
});
var facebook = Titanium.Facebook.createLoginButton({
    style:'wide',
    bottom:80
});
win1.add(facebook);
Titanium.Facebook.addEventListener('login', connect_facebook);

function connect_facebook()
{
    alert('inside');
    Titanium.Facebook.logout();
} 

现在,当我单击 facebook_button 时会出现问题。当我在 android 设备(2.2 版)上安装应用程序时,我单击 facebook_button 它会导致应用程序强制关闭。强制关闭后如果我再次启动应用程序并使用相同的功能,它工作正常。我的日志记录给出以下错误java.lang.NullPointerException。如果我使用钛 Facebook 按钮,即Ti.Facebook.createLoginButton,即使在第一次使用时也不会出现任何错误。但我想使用我自己的自定义登录按钮。我想删除这个空指针异常。我正在使用 android sdk 2.0.1。并在android设备2.2上测试。在模拟器应用程序运行时没有任何错误。有没有办法解决这个问题?需要帮助。。谢谢。。

4

1 回答 1

0

我没有从 Titanium 连接到 Facebook 的经验,但两天前安装了他们的一个新示例应用程序:https ://wiki.appcelerator.org/display/guides/Example+Applications#ExampleApplications-ARti

这个连接到FB,不知道用什么方式。您可以从 GitHub 下载示例代码,也许您觉得它很有用。

此外,根据我的经验,您使用的较旧的 Android SDK 版本存在一些问题。我使用 2.3 和更新版本有更好的体验。最近用 SDK 4.x 编译了一个应用程序,并让它在 2.2 的设备上运行,所以向后兼容没有问题。也许它有助于升级您的 SDK。

于 2012-06-17T23:39:01.080 回答