使用 titanium 在 android 上登录 facebook

facebook login on android with titanium

我有一个 titanium (appcelerator) 应用程序,可以使用 facebook 登录。

我最近重新打开我的 IDE (appcelerator studio),进行更新,然后在模拟器中重新启动应用程序,Facebook 登录不再有效..

错误是:

Log in attempt failed: FacebookActivity could not be started. Please make sure you added FacebookActivity to the AndroidManifest.

文档是一样的。有我的tiapp.xml(android节点):

<android xmlns:android="http://schemas.android.com/apk/res/android">
    <manifest android:versionCode="6" android:versionName="1.0.5">
        <application android:theme="@style/LightDarkBar">
            <activity android:label="@string/app_name" android:name="com.facebook.LoginActivity" android:theme="@android:style/Theme.Translucent"/>
            <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
        </application>
        <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="23"/>
    </manifest>
</android>

login.js的一部分(控制器)

function fbLogin() {
    $.btn_fb.opacity=0.5;

    facebook.addEventListener('login', onFbLogin);

    facebook.permissions = ['public_profile', 'user_friends', 'email'];
    facebook.authorize();
}


$.login.fbProxy = facebook.createActivityWorker({lifecycleContainer: $.login});

$.login.open();

显然视图中有一个 Button onSingletap="fbLogin"。

我在tiapp.xml中使用<sdk-version>5.2.0.GA</sdk-version>

此处的文档 http://docs.appcelerator.com/platform/latest/#!/api/Modules.Facebook 没有帮助。

有人要吗?

<activity android:label="@string/app_name" android:name="com.facebook.LoginActivity" android:theme="@android:style/Theme.Translucent"/>

那个activity的名字不是FacebookActivity,所以登录不成功,进入Titanium 5.2的官方更新日志你可以看到对this ticket的引用。

这是我用来成功应用 Facebook 模块登录功能的清单。

<android xmlns:android="http://schemas.android.com/apk/res/android">
    <manifest>
        <application>
            <activity android:label="@string/app_name"
                android:name="com.facebook.FacebookActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
            <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
        </application>
    </manifest>
</android>

这里是文件中的内容"Platform/android/res/values/strings.xml"

<resources>
    <string name="facebook_app_id">my_facebook_ap_id</string>
</resources