我正在使用GooglePlayServices位置API,并且它运行正常。 (所有必需的权限都已授予应用程序。)
我到处执行这段代码的和平:
#include "stdafx.h"
#pragma once
#define MYDLLLIBRARY_API extern "C" __declspec(dllexport)
MYLIBRARY_API DWORD WINAPI MyDllFunction(char * dirname);
DWORD WINAPI MyDllFunction(char * dirName){
return someFunction(dirName);
}
void getFileNames(char * workingDir){
HANDLE hFind;
WIN32_FIND_DATAA data;
char nextfilename[260];
sprintf(nextfilename, "%s*.jpg", workingDir);
hFind = FindFirstFileA(nextfilename, &data);
if (hFind != INVALID_HANDLE_VALUE) {
do {
if (strlen(data.cFileName) < 3) continue;
char tmp[260];
sprintf(tmp, "%s%s",workingDir, data.cFileName);
filenames.push_back(tmp);
} while (FindNextFileA(hFind, &data));
FindClose(hFind);
} else{
exit(0);
}
}
int MyDllFunction(char* workingDir)
{
...
getFileNames(workingDir);
...
}
我获取当前位置...除了一种情况:当它从LocationServices.FusedLocationApi.getLastLocation(googleApiClient);
挂钩调用时,在这种情况下它返回null。
这是API的预期行为吗?我错过了什么?
这不是this问题的重复。正如我所提到的,只有从onActivityResult
挂钩查询位置时才会出现此行为。一切都像其他地方的魅力一样。