1

几天来,我一直坚持使用 facebook 实施。无论我如何尝试发布到墙上,我都会收到此错误:

Response: {Response:  responseCode: 200, graphObject: null, error: {HttpStatus: -1, errorCode: -1, errorType: null, errorMessage: null}, isFromCache:false}

所以我在 facebook 上创建了一个新的 android 项目和新项目,遵循了所有 facebook 的 android 教程,当我终于成功地发布到我的墙上时没有问题。然后响应看起来像这样:

Response: {Response:  responseCode: 200, graphObject: GraphObject{graphObjectClass=GraphObject, state={"id":"xxxxxxxxxxxxxxx"}}, error: null, isFromCache:false}

在新项目中,我创建了一个类,它封装了运行 facebook 所需的所有功能,没有任何问题。

然后我将该类移至我的旧项目,将 app_id 更改为指向我的新 facebook 应用程序。但又一次:

Response: {Response:  responseCode: 200, graphObject: null, error: {HttpStatus: -1, errorCode: -1, errorType: null, errorMessage: null}, isFromCache:false}

我在 facebook 设置中更新了包名称和 mainactivity 类以指向旧项目。但这并没有做任何事情,新项目仍然可以正常工作,而旧项目则无法正常工作。

可能有什么问题?

[编辑] PS 登录和有关用户及其朋友的信息检索在这两个程序上都可以正常工作。

4

1 回答 1

3

因此,在新项目上一点一点地重新创建我的旧项目后,我找到了一个解决方案。在我的新项目中,我在 onCreate() 中有这一行:

if (android.os.Build.VERSION.SDK_INT > 9) {
    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
    StrictMode.setThreadPolicy(policy);
}

删除后,我的代码停止工作。使用此代码,我的旧项目现在可以正常工作并发布到墙上。虽然我仍然不太明白这是如何工作的。我确实在不同的线程中使用了我的 FB 会话,但是它们一个接一个地执行(一个窗口中,登录时,另一个窗口中,我发布的另一个窗口),因此它们不会同时运行。

它仍然给我留下了一些问题。为什么启用问题检查会导致我无法在我的 FB 墙上发帖?在开发和发布期间可以保留此代码吗?

于 2013-04-23T07:40:39.017 回答