Appcelerator 5.2.0 Facebook模块(Android)在成功登录后不会触发“登录”事件。
它可能是什么?
var FB = require('facebook');
FB.initialize();
FB.permissions = ['public_profile', 'email', 'user_events'];
FB.forceDialogAuth = false;
FB.addEventListener('login', function() {
alert('login');
});
FB.authorize();
谢谢!
答案 0 :(得分:2)
Hello Oxana,
其他Android设置步骤 自Facebook模块v4.0.0起,对于Android平台,您需要:
清单:
<ti:app>
<android xmlns:android="http://schemas.android.com/apk/res/android">
<manifest>
<application>
<activity android:label="@string/app_name"
android:name="com.facebook.LoginActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
</application>
</manifest>
</android>
<ti:app>
将Facebook App ID添加到Android资源
将一个字符串元素添加到/platform/android/res/values/strings.xml文件中,其name属性设置为facebook_app_id,节点文本设置为您的Facebook App ID。如果文件不存在,请创建该文件。
<resources>
<string name="facebook_app_id">FACEBOOK_APP_ID</string>
</resources>
**我认为这一步是你需要= D **
创建Facebook代理
使用createActivityWorker()方法创建Facebook代理。将具有lifecycleContainer属性的字典传递给方法,该属性设置为独立窗口(不包含在选项卡组中的窗口)或TabGroup的当前活动实例。在窗口或选项卡组上调用open()方法之前创建代理。
Facebook模块需要挂钩当前活动活动的生命周期事件,以便在应用程序中的各种活动之间同步其状态,例如,在用户登录或退出时更新“登录”按钮的标签。主页。
将代理附加到Window或TabGroup对象,因此不会收集垃圾。
win.fbProxy = fb.createActivityWorker({lifecycleContainer: win});