2012-02-17 95 views
2

我有這個問題,同時開始通過intents.The問題的活動是,如果我去到我的XML,並將增強現實爲主要活動(和一個即將推出作爲第一個),基本上沒有問題。startActivity(背景下,A類)功能不能正常工作

<activity android:name=".AugmentedReality" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

的應用將藉助攝像頭預覽立方體,但我不會「訪問」我的其他活動的「位置」,「descriptiontext描述」和「說明」。如果我繼續在我的XML文件中的主要活動位置的活動,然後按該帶我到增強現實活動按鈕,我無法看到的立方體,它被繪製(我用Log.v(TAG, "Cube drawn");,並得到了垃圾郵件)。

我使用這個代碼來聲明,並從我的位置類 public class Language extends Activity implements OnClickListener發送意圖:

`if (dButton.isPressed()) { 
     description = dbh.getDescription("Danish"); 
     list = dbh.getGPS("Maribo"); 
     f = new float[list.size()]; 
     for (int i = 0; i < list.size(); i++) { 
      f[i] = list.get(i); 
     } 
      intent = new Intent(this, Description.class); 
      try { 
       startActivity(intent); 
      } catch (ActivityNotFoundException ex) { 
      } 
    }` 

當我按下dButton,我發到我的擴增實境活動,這僅是顯示相機預覽。而不是立方體。下面是增強現實

的onCreate方法
@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     camview = new CameraView(this); 
     graphics = new GraphicsView(this); 
     final Window win = getWindow(); 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     win.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
       WindowManager.LayoutParams.FLAG_FULLSCREEN); 
     setContentView(graphics); 
     addContentView(camview, new LayoutParams(LayoutParams.FILL_PARENT, 
       LayoutParams.FILL_PARENT)); 
     Log.v("AR", "Content sat"); 
    } 

的onSurfaceChanged在GraphicsView:

public void onDrawFrame(GL10 gl) { 
    gl.glDisable(GL10.GL_DITHER); 
    gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT); 
    gl.glMatrixMode(GL10.GL_MODELVIEW); 
    gl.glLoadIdentity(); 
    // GLU.gluLookAt(gl, coords[0], coords[1], 0, 0, 0, 0, 
    // orientation[0], 
    // orientation[1], orientation[2]); 
    GLU.gluLookAt(gl, 0, 0, -5, 0, 0, 0, 0, 2, 0); 
    gl.glRotatef(45, 45, 0, 15); 
    cube.draw(gl); 

,當然還有我的魔方類裏面的繪製方法:

public void draw(GL10 gl) { 
    gl.glFrontFace(GL10.GL_CW); 
    gl.glEnable(GL10.GL_CULL_FACE); 
    gl.glCullFace(GL10.GL_BACK); 
    gl.glEnableClientState(GL10.GL_VERTEX_ARRAY); 
    gl.glVertexPointer(3, GL10.GL_FLOAT, 0, verticesBuffer); 
    gl.glDrawElements(GL10.GL_TRIANGLES, indices.length, 
      GL10.GL_UNSIGNED_SHORT, indicesBuffer); 
    gl.glDisableClientState(GL10.GL_VERTEX_ARRAY); 
    gl.glDisable(GL10.GL_CULL_FACE); 
} 

我希望有人能告訴我爲什麼多維數據集只有在我的XML文件中將AugmentedReality設置爲main時纔可見。相機已經得到了所有的XML文件中所要求的權限,而位置類已經得到了使用GPS

回答

0

感謝您提出有關解決方案的建議。

我已經從

setContentView(graphics); 
addContentView(camView, new LayoutParams(LayoutParams.FILL_PARENT, 
LayoutParams.FILL_PARENT)); 

改變解決問題納入

setContentView(camview); 
addContentView(graphics, new LayoutParams(LayoutParams.FILL_PARENT, 
LayoutParams.FILL_PARENT)); 

camView是我的相機實例的對象,圖形是我的OpenGLES 1.0的對象。這是奇怪的事情:我已經厭倦了幾次用圖形交換camView和逆向。但不管怎麼說:它的工作現在

0

你有沒有在清單文件映射說明類許可?即使你映射你也需要給予許可

 <uses-permission android:name="android.permission.CAMERA"></uses-permission> 
    <uses-feature android:name="android.hardware.camera"/> 

<activity android:name=".Description"/> 
+0

這是我的XML文件中太:<活動 機器人:名字=「描述」 機器人:標籤=「@字符串/ APP_NAME」 機器人:主題=「@安卓風格/主題.NoTitleBar」> – Zuenonentu 2012-02-17 13:44:23

+0

請把相機許可清單文件,看到上面的代碼 – Bamadeva 2012-02-17 13:51:24