Android sdk 3.0:如何在使用UiLifecycleHelper.java时设置applicationId?

时间:2013-02-11 16:51:00

标签: android facebook session

我最近从FB for Android 2.0迁移到了3.0。

而不是使用

<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/app_id"/>

在我的AndroidManifest.xml中,我想以编程方式将我的应用程序ID设置为会话。

我知道我可以在创建会话对象时使用Session.Builder.setApplicationId()。 但是,当我使用 UiLifecycleHelper.java 时,它会在不使用session.Builder的情况下创建会话。它只使用其构造函数(session = new Session(activity))。 似乎它假设我已经在我的清单文件中为app id定义了元数据。 但是,我希望UiLifecycleHelper.java使用Session.Builder创建会话,并以编程方式在其onCreate()中应用我的应用程序ID。

我该怎么办?我谷歌它但尚未找到任何解决方案。 使用元数据在清单文件中设置FB应用程序ID是一种常见做法吗?我真的不希望通过将其放入xml文件来显示我的应用ID。请帮忙!

2 个答案:

答案 0 :(得分:1)

您的应用程序ID不被视为秘密(就像一个人的个人资料ID不是秘密一样)。

但是如果你真的不想使用xml方法,你可以复制或子类化UiLifecycleHelper并改变适当的方法以使用你自己的方式创建一个Session。

答案 1 :(得分:1)

如果您想在代码中进行设置,可以从 Utility.Java 更改 getMetadataApplicationId() 方法并添加代码以设置应用程序ID无论你喜欢什么。