2017-01-13 34 views
0

私の最初の本当のアンドロイドプロジェクトに問題があります。クライアントトラッカーがターゲットを認識すると、そこから新しいアクティビティを開始する必要があります。誰かが私を助けることができるなら、それは私に世界を意味するでしょう。Wikitudeクライアントトラッカーアクティビティでアクティビティを開くにはどうすればよいですか?

私はすでに試した事が、私は(も、私は私が試みているものを投稿していないよ理由のthatsを)

P.S.をやっている見当がつかないおそらくので...災害時に常に終了しました私は

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); 
    } 


} 

答えて

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

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

libary WikitudeネイティブAPIを使用し、これは、あなたの質問に答えるかどうかは知りませんが、それは、新たな活動を開始する方法です。

+0

ありがとうございます。このコードは私の問題を解決しました: startActivity(新しいインテント(ArchitectView.this、MainActivity.class)); – Sphinx64

関連する問題