jni에서 매개 변수를 전달하는 방법 내 경우 getUniqueTargetId를 java (android)에 전달하고 싶다. 당신의 도움 :) `클래스 CloudImageTarget_UpdateCallback 주셔서 감사합니다 : 공공 QCAR :: UpdateCallback {가상 무효 QCAR_onUpdate (QCAR :: 국가 & 상태) {jni에서 자바로 매개 변수를 전달하는 방법
QCAR::TrackerManager& trackerManager = QCAR::TrackerManager::getInstance();
QCAR::ImageTracker* imageTracker = static_cast<QCAR::ImageTracker*>(
trackerManager.getTracker(QCAR::ImageTracker::getClassType()));
QCAR::TargetFinder* finder = imageTracker->getTargetFinder();
const int statusCode = finder->updateSearchResults();
if (statusCode < 0)
{
showErrorMessage(statusCode, state.getFrame().getTimeStamp());
}
else if (statusCode == QCAR::TargetFinder::UPDATE_RESULTS_AVAILABLE)
{
// Process new search results
if (finder->getResultCount() > 0)
{
const QCAR::TargetSearchResult* result = finder->getResult(0);
if (result->getTrackingRating() > 0)
{
QCAR::Trackable* newTrackable = finder->enableTracking(*result);
if (newTrackable != 0)
{
LOG("Successfully created new trackable '%s' with rating '%d'.",
newTrackable->getName(), result->getTrackingRating());
LOG("Comparing Strings. currentTargetId: %s lastTargetId: %s",
result->getUniqueTargetId(), lastTargetId);
if (strcmp(result->getUniqueTargetId(), lastTargetId) != 0)
{
renderState = RS_LOADING;
snprintf(targetMetadata, CONTENT_MAX, "%s",result->getMetaData());
}
else
renderState = RS_NORMAL;
pthread_mutex_lock(&framesToSkipMutex);
framesToSkipBeforeRenderingTransition = 10;
pthread_mutex_unlock(&framesToSkipMutex);
// Initialize state variables
trackingStarted = false;
// Updates the value of the current Target Id with the new target found
pthread_mutex_lock(&lastTargetIdMutex);
strcpy(lastTargetId, result->getUniqueTargetId());
pthread_mutex_unlock(&lastTargetIdMutex);
enterContentMode();
}
else
LOG("Failed to create new trackable.");
}
}
}
}
}; `
내가 자바 측에서 그것을 얻을하지 않습니다하시기 바랍니다 .. void setUniqueTargetID (int targetID), 그 void ...에서 내 uniqueTargetID를 얻지 못했습니다. 매우 혼란 스럽습니다. – Angie
setUniqID 변수 (* env) -> CallObjectMethod (env)의 getUniqueTargetId 메소드를 get , obj, setUniqID, ID); 나는 당신이 int를 지나가고 있다고 가정하고있다. –