2017-01-13 1 views
0

J'ai un problème avec mon premier vrai projet Android. J'ai besoin de démarrer une nouvelle activité à partir de celui-ci, lorsque le traqueur client reconnaît une cible. Cela signifierait le monde pour moi si quelqu'un pouvait m'aider.Comment puis-je ouvrir une activité dans l'activité de suivi des clients Wikitude?

Les choses que j'ai déjà essayé, toujours terminé dans une catastrophe ... probablement parce que je ne sais pas ce que je fais (qu'est aussi la raison pour laquelle je ne suis pas poster ce que j'ai essayé)

post-scriptum J'ai utilisé l'API native Wikitude libary

package com.ia.grafp.maturapp2_2; 


import android.content.Intent; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.util.Log; 

import com.ia.grafp.maturapp2_2.rendering.external.CustomSurfaceView; 
import com.ia.grafp.maturapp2_2.rendering.external.Driver; 
import com.ia.grafp.maturapp2_2.rendering.external.GLRenderer; 
import com.wikitude.WikitudeSDK; 
import com.wikitude.WikitudeSDKStartupConfiguration; 
import com.wikitude.common.camera.CameraSettings; 
import com.wikitude.common.rendering.RenderExtension; 
import com.wikitude.common.tracking.RecognizedTarget; 
import com.wikitude.rendering.ExternalRendering; 
import com.wikitude.tracker.ClientTracker; 
import com.wikitude.tracker.ClientTrackerEventListener; 
import com.wikitude.tracker.Tracker; 

/** 

*/ 
public class ArchitectView extends AppCompatActivity implements ClientTrackerEventListener, ExternalRendering { 


    private static final String TAG = "ArchitectView"; 

    private WikitudeSDK _wikitudeSDK; 
    private CustomSurfaceView _view; 
    private Driver _driver; 
    private GLRenderer _glRenderer; 
    private boolean tracking; 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     _wikitudeSDK = new WikitudeSDK(this); 
     WikitudeSDKStartupConfiguration startupConfiguration 
       = new WikitudeSDKStartupConfiguration 
       (WikitudeSDKConstants.WIKITUDE_SDK_KEY, 
         CameraSettings.CameraPosition.BACK, 
         CameraSettings.CameraFocusMode.CONTINUOUS); 
     _wikitudeSDK.onCreate(getApplicationContext(), this, startupConfiguration); 
     ClientTracker tracker 
       = _wikitudeSDK.getTrackerManager().create2dClientTracker 
       ("file:///android_asset/magazine.wtc"); 
     tracker.registerTrackerEventListener(this); 
    } 

    @Override 
    protected void onResume() { 
     super.onResume(); 
     _wikitudeSDK.onResume(); 
     _view.onResume(); 
     _driver.start(); 
    } 

    @Override 
    protected void onPause() { 
     super.onPause(); 
     _wikitudeSDK.onPause(); 
     _view.onPause(); 
     _driver.stop(); 
    } 

    @Override 
    protected void onDestroy() { 
     super.onDestroy(); 
     _wikitudeSDK.onDestroy(); 
    } 

    @Override 
    public void onRenderExtensionCreated(final RenderExtension renderExtension_) { 
     _glRenderer = new GLRenderer(renderExtension_); 
     _view = new CustomSurfaceView(getApplicationContext(), _glRenderer); 
     _driver = new Driver(_view, 30); 
     setContentView(_view); 
    } 

    @Override 
    public void onExtendedTrackingQualityUpdate(final Tracker tracker_, final String targetName_, final int oldTrackingQuality_, final int newTrackingQuality_) { 

    } 

    @Override 
    public void onErrorLoading(final ClientTracker clientTracker_, final String errorMessage_) { 
     Log.v(TAG, "onErrorLoading: " + errorMessage_); 
    } 

    @Override 
    public void onTrackerFinishedLoading(final ClientTracker clientTracker_, final String trackerFilePath_) { 

    } 

    @Override 
    public void onTargetRecognized(final Tracker tracker_, final String targetName_) { 

    } 

    @Override 
    public void onTracking(final Tracker tracker_, final RecognizedTarget recognizedTarget_) { 
     _glRenderer.setCurrentlyRecognizedTarget(recognizedTarget_); 
    } 

    @Override 
    public void onTargetLost(final Tracker tracker_, final String targetName_) { 
     _glRenderer.setCurrentlyRecognizedTarget(null); 
    } 


} 

Répondre

0
@Override 
    public void onTargetRecognized(final Tracker tracker_, final String targetName_) { 

      Intent i = new Intent(ArchitectView.this, yourActivityClass.class); 
      startactivity(i); 
    } 

Je ne sais pas si cela répond à votre question, mais c'est la façon de commencer une nouvelle activité.

+0

Merci. Ce code a résolu mon problème: startActivity (nouvelle intention (ArchitectView.this, MainActivity.class)); – Sphinx64