【发布时间】:2011-07-07 13:14:01
【问题描述】:
我曾使用 Facebook 应用程序在墙上发布来自 https://github.com/facebook/facebook-android-sdk 的消息。
在用户允许应用使用他/她的个人资料后,对话框提要带有一个可编辑的区域以供发布或跳过。我想要一个预定义的消息,但用户将无法修改它。我可以发送预定义的消息,但它是可编辑的。如何使其不可编辑。
有人知道怎么做吗?
【问题讨论】:
我曾使用 Facebook 应用程序在墙上发布来自 https://github.com/facebook/facebook-android-sdk 的消息。
在用户允许应用使用他/她的个人资料后,对话框提要带有一个可编辑的区域以供发布或跳过。我想要一个预定义的消息,但用户将无法修改它。我可以发送预定义的消息,但它是可编辑的。如何使其不可编辑。
有人知道怎么做吗?
【问题讨论】:
您可以只使用一个功能直接发布到用户墙。只需确保用户清楚按钮直接发布,也许使用对话框让他们确认他们想要发布。这是我使用的代码:
/**
* Post to a friends wall
* @param msg Message to post
* @param userId Id for friend to post to or null to post to users wall
*/
public void postToWall(String msg, String userID) {
Log.d("Tests", "Testing graph API wall post");
try {
if (isSession()) {
String response = mFacebook.request((userID == null) ? "me" : userID);
Bundle parameters = new Bundle();
parameters.putString("message", msg);
response = mFacebook.request(((userID == null) ? "me" : userID) + "/feed", parameters, "POST");
Log.d(TAG,response);
if (response == null || response.equals("") ||
response.equals("false")) {
Log.v("Error", "Blank response");
}
} else {
// no logged in, so relogin
Log.d(TAG, "sessionNOTValid, relogin");
mFacebook.authorize(this, PERMS, new LoginDialogListener());
}
} catch(Exception e) {
e.printStackTrace();
}
}
【讨论】:
对话框包含一个WebView,它从 Facebook URL 加载实际内容。因此,要修改可编辑区域,您需要修改此网页的 DOM。有关这样做的更多信息,请参阅this question。从那个问题的答案中我不清楚这是否可能。如果是,您需要将代码添加到 Facebook Android SDK 的 FbDialog 类中。
【讨论】: