Vuforia의 Java API로 Android에서 작업하고 있습니다. 마커가 감지되면 단추를 표시하고 주전자처럼 마커가 감지되지 않으면 숨기려고합니다. 어떤 표적 (칩과 돌)이 발견되면 버튼을 성공적으로 보여줄 수 있습니다. Vuforia가 제공 한 튜토리얼 덕분에 ("트리거링 - 이벤트 - 타겟 감지시").Vuforia의 Java API를 사용하여 대상이 검색되지 않을 때 UI 요소 숨기기
그러나 일단 대상이 검색되면 숨겨진 단추를 표시 할 수있게되었으므로 대상을 더 이상 사용할 수 없으면 숨기지 않습니다. doLoadTrackersData() 및 doUnloadTrackersData() 메서드와 마찬가지로 TrackerManager 인스턴스를 가져와 mCurrentDataset이 활성화되어 있는지 확인해야 할 수도 있습니다. 그러나 지금까지이 문제를 비참하게 이해하지 못했습니다. 친절하게 도와주세요 .... 내 onResume() 코드는 다음과 같습니다.
@Override
protected void onResume() {
Log.d(LOGTAG, "onResume");
super.onResume();
displayMessageHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
TrackerManager tManager = TrackerManager.getInstance();
ImageTracker imageTracker = (ImageTracker) tManager
.getTracker(ImageTracker.getClassType());
String text = (String) msg.obj;
Toast.makeText(getApplicationContext(), text,
Toast.LENGTH_SHORT).show();
if (text.equalsIgnoreCase("stones")) {
Log.e("Is it Stones", text);
b3.setBackgroundResource(R.drawable.up);
b3.startAnimation(shake);
b3.setVisibility(View.VISIBLE);
} else if (text.equalsIgnoreCase("chips")) {
Log.e("Is it chips", text);
b3.setBackgroundResource(R.drawable.up);
b3.startAnimation(shake);
b3.setVisibility(View.VISIBLE);
} else {
Log.e("ELSE", text);
b3.setVisibility(View.GONE);
}
}
};
// This is needed for some Droid devices to force portrait
if (mIsDroidDevice) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
try {
vuforiaAppSession.resumeAR();
} catch (SampleApplicationException e) {
Log.e(LOGTAG, e.getString());
}
// Resume the GL view:
if (mGlView != null) {
mGlView.setVisibility(View.VISIBLE);
mGlView.onResume();
}
}