Facebook GraphRequest.Start()必须从主线程调用
本文关键字:线程 调用 GraphRequest Start Facebook | 更新日期: 2023-09-27 18:15:54
我正在尝试遵循这里提供的入门示例:https://components.xamarin.com/gettingstarted/facebookios
下面的GraphRequest在主线程中执行时工作正常:
var request = new GraphRequest ("/me?fields=name", null, AccessToken.CurrentAccessToken.TokenString, null, "GET");
request.Start ((connection, result, error) => {
// Handle if something went wrong with the request
if (error != null) {
new UIAlertView ("Error...", error.Description, null, "Ok", null).Show ();
return;
}
// Get your profile name
var userInfo = result as NSDictionary;
nameLabel.Text = userInfo ["name"].ToString ();
});
然而,当我运行完全相同的代码从后台线程使用任务。运行,似乎完成处理程序委托在请求。Start不会被调用。
GraphRequest只支持主线程执行吗?
您可以使用:
var graphRequest = new GraphRequest ("/me?fields=name,gender", null, AccessToken.CurrentAccessToken.TokenString, null, "GET");
var requestConnection = new GraphRequestConnection();
requestConnection.AddRequest(graphRequest, (connection, result, error) =>
{
var profile = result;
});
requestConnection.Start();