Appcelerator Facebook 模块不会触发登录事件
Appcelerator Facebook module doesn't fire login event
Appcelerator 5.2.0 Facebook 模块 (Android) 在成功登录后不会触发 'login' 事件。
会是什么?
var FB = require('facebook');
FB.initialize();
FB.permissions = ['public_profile', 'email', 'user_events'];
FB.forceDialogAuth = false;
FB.addEventListener('login', function() {
alert('login');
});
FB.authorize();
谢谢!
你好奥克萨娜,
其他 Android 设置步骤
从 Facebook 模块 v4.0.0 开始,对于 Android 平台,您需要:
- 将 Facebook 登录 activity 添加到 Android 清单
- 将 Facebook 应用程序 ID 添加到 Android 资源 string.xml 文件
- 创建一个 Facebook 代理并将其关联到当前活动 activity (你需要)
清单:
<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 应用程序 ID 添加到 Android 资源
将字符串元素添加到 /platform/android/res/values/strings.xml 文件,并将名称属性设置为 facebook_app_id,并将节点文本设置为您的 Facebook 应用程序 ID。如果文件不存在则创建文件。
<resources>
<string name="facebook_app_id">FACEBOOK_APP_ID</string>
</resources>
**我觉得这一步是你需要的=D **
创建 Facebook 代理
使用 createActivityWorker() 方法创建 Facebook 代理。将 lifecycleContainer 属性 设置为独立 Window(window 不包含在选项卡组中)或 TabGroup 的当前活动实例的字典传递给该方法。在 window 或选项卡组上调用 open() 方法之前创建代理。
Facebook 模块需要挂钩到当前活动的生命周期事件 activity 以便在应用程序中的各种活动之间同步其状态,例如,在用户登录或退出 Facebook。
将代理附加到 Window 或 TabGroup 对象,这样它就不会被垃圾收集。
win.fbProxy = fb.createActivityWorker({lifecycleContainer: win});
Appcelerator 5.2.0 Facebook 模块 (Android) 在成功登录后不会触发 'login' 事件。
会是什么?
var FB = require('facebook');
FB.initialize();
FB.permissions = ['public_profile', 'email', 'user_events'];
FB.forceDialogAuth = false;
FB.addEventListener('login', function() {
alert('login');
});
FB.authorize();
谢谢!
你好奥克萨娜,
其他 Android 设置步骤 从 Facebook 模块 v4.0.0 开始,对于 Android 平台,您需要:
- 将 Facebook 登录 activity 添加到 Android 清单
- 将 Facebook 应用程序 ID 添加到 Android 资源 string.xml 文件
- 创建一个 Facebook 代理并将其关联到当前活动 activity (你需要)
清单:
<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 应用程序 ID 添加到 Android 资源
将字符串元素添加到 /platform/android/res/values/strings.xml 文件,并将名称属性设置为 facebook_app_id,并将节点文本设置为您的 Facebook 应用程序 ID。如果文件不存在则创建文件。
<resources>
<string name="facebook_app_id">FACEBOOK_APP_ID</string>
</resources>
**我觉得这一步是你需要的=D **
创建 Facebook 代理
使用 createActivityWorker() 方法创建 Facebook 代理。将 lifecycleContainer 属性 设置为独立 Window(window 不包含在选项卡组中)或 TabGroup 的当前活动实例的字典传递给该方法。在 window 或选项卡组上调用 open() 方法之前创建代理。
Facebook 模块需要挂钩到当前活动的生命周期事件 activity 以便在应用程序中的各种活动之间同步其状态,例如,在用户登录或退出 Facebook。
将代理附加到 Window 或 TabGroup 对象,这样它就不会被垃圾收集。
win.fbProxy = fb.createActivityWorker({lifecycleContainer: win});