我已经坚持使用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类,以指向旧项目。但是这没有做任何事情,新项目仍然没有任何问题,旧项目也无效。
可能出现什么问题?
[编辑] P.S。关于用户和他的朋友的登录和信息检索在两个程序上都能正常工作。
答案 0 :(得分:4)
因此,在重新创建旧项目之后,我找到了一个解决方案。在我的新项目中,我在onCreate()中使用了这一行:
if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}
删除后,我的代码停止工作。使用此代码,我的旧项目现在可以正常工作并发布到墙上。虽然我仍然不太明白这是如何工作的。我在不同的线程中使用我的FB会话,但它们是一个接一个地执行的(一个窗口,登录,另一个窗口,我发布的另一个窗口),因此它们不会同时运行。
它仍然留下一些问题。 为什么启用问题检查会导致我无法发布到我的FB墙? 是否可以在开发和发布期间保留此代码?