新的Facebook SDK + Android。在墙上添加图片facebook
答
我从来没有从手机发送过图片,而是从使用图片链接的服务器发送图片。我会把这些代码放在一个可以帮助你的地方,因为大部分逻辑都是相似的。
final Bundle parameters = new Bundle();
parameters.putString("name", getString(R.string.app_name));
parameters.putString("caption", "haha");
parameters.putString("link", "www.google.com");
parameters.putByteArray("picture", byteArray);//I took this one from your code. My key is "picture" instead of "image"
Session.openActiveSession(this, true, new StatusCallback() {
@Override
public void call(Session session, SessionState state, Exception exception) {
if (session.isOpened()) {
new FeedDialogBuilder(EndGameActivity.this, session, parameters).build().show();
//you can try this one instead of the one above if you want, but both work well
//Request.newMeRequest(session, new Request.GraphUserCallback() {
//
// @Override
// public void onCompleted(GraphUser user, Response response) {
// final Session session = Session.getActiveSession();
// new FeedDialogBuilder(EndGameActivity.this, session, parameters).build().show();
// }
//}).executeAsync();
}
}
});
这个代码将只在最后的Facebook SDK 3.5工作,因为Request.newMeRequest
是最近推出的,应该用来代替Request.executeMeRequestAsync
,已被弃用。
另请注意,我使用的密钥是“图片”而不是“图片”。也许这就是你的代码的问题。
但是我在onClick
事件中用户触摸一个按钮时会这样做。为什么你的onCreate
方法需要它?
+0
是的..我不认为它是使用手机中的图片的好习惯 – NightSkyCode
这是在OnCreate中完成的。 刚刚通过这个,我做了授权的例子。我有一个用户名。但我无法发送照片。 'code' Session.openActiveSession(this,true,new Session.StatusCallback(){...} –