hello, i would like to switch activities from imagetargetsrenderer.java to a custom activity class i wrote. the problem is that while switching is no problem, switching back to the tracking activity in imagetargets by pressing the back button causes my custom activity to restart. to get a better picture, here is my logcat:
08-08 14:45:54.284: WARN/System.err(5423): ImageTargetsRenderer reports: 0 08-08 14:45:54.325: WARN/System.err(5423): ImageTargetsRenderer reports: 0 08-08 14:45:54.364: WARN/System.err(5423): ImageTargetsRenderer reports: 1 08-08 14:45:54.374: WARN/System.err(5423): Starting to switch activities. 08-08 14:45:54.394: WARN/System.err(5423): ImageTargets super.onPause. 08-08 14:45:54.424: WARN/System.err(5423): ImageTargets mGlView.onPause. 08-08 14:45:54.424: WARN/System.err(5423): ImageTargets QCAR.onPause. 08-08 14:45:54.924: WARN/System.err(5423): TestActivity Reporting. 08-08 14:45:57.824: WARN/System.err(5423): ImageTargets super.onResume. 08-08 14:45:57.824: WARN/System.err(5423): ImageTargets QCAR.onResume. 08-08 14:45:58.595: WARN/System.err(5423): ImageTargets mGlView.onResume. 08-08 14:45:58.724: WARN/System.err(5423): ImageTargetsRenderer reports: 1 08-08 14:45:58.724: WARN/System.err(5423): Starting to switch activities.
here is my code:
imagetargetsrenderer.java
public void onDrawFrame(GL10 gl) { testFlag = 0; if (!mIsActive) return; // Call our native function to render content testFlag = renderFrame(); System.err.println("ImageTargetsRenderer reports: " + testFlag); if(testFlag > 0) { System.err.println("Starting to switch activities."); Intent myIntent = new Intent(context, TestActivity.class); myIntent.putExtra("com.qualcomm.QCARSamples.ImageTargets.flagTest", testFlag); myIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); context.startActivity(myIntent); testFlag = 0; return; } }
imagetargetsrenderer.java takes an int value and reports it in the logcat upon detection of a trackable. 1 if a trackable is detected and 0 vice versa. basically testactivity is called twice because on mGlView.onResume(). i'm not too sure what is happening here, partly because i don't have the code for GLViewRenderer.class.
is there a way to switch back to the tracking activity without the custom activity restarting itself before doing so?
Make sure your Java play video method is getting called, by adding a log line or using the Eclipse debugger. Try tracing each step to make sure all the correct methods are getting called.
Did you build your native code using ndk-build and refresh the Eclipse project?
- Kim