我遇到Runkeeper Api背景handleopenurl的问题。当应用程序运行前台时,它没有任何问题,我可以从RK获取卡路里数据。
但是当应用程序背景时,我需要运行此卡路里提取。
这个代码适用于app背景:
- (NSURLRequest *) connect
{
NSLog(@"runkeeper connect");
NSString *_authURL = [NSString stringWithFormat:@"%@?client_id=%@&redirect_uri=%@&response_type=code&state=0", [auth_url absoluteString], client_id, [redirect_url absoluteString]];
NSURLRequest *_request = [NSURLRequest requestWithURL:[NSURL URLWithString:_authURL]];
return _request;
}
但在此之后它不再适用了。
所以它应该将url发送到appopelel中的handleopenurl,然后获取卡路里数据。
这是我的handleopenurl:
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
RunKeeper *runkeeper;
runkeeper = [RunKeeper getRunKeeper];
// parsing code here
if(url){
[runkeeper parseCodeFromURL:url];
[runkeeper fetchToken];
[runkeeper fetchUser];
[runkeeper fetchFitnessActivites];
[self.second_view showInput];
return true;
}
return false;
}
但是当应用程序背景化时,不会调用handleopenurl。我该怎么办?我尝试了很多背景方法,但似乎都没有。
总而言之:当app被预设时,Runkeeper api卡路里数据获取有效,但当应用程序背景时它不会获取卡路里数据。我认为问题出在handleopenurl上。