title: Android cannot start android class that extends activity from another activity
body: <p>I couldn't find any help that would work for me so this is a particular case scenario of starting an activity.
  I have a project in which i have the class MrNom</p>
  
  <pre><code>public class MrNomGame extends AndroidGame {
  
      public Screen getStartScreen() {
              return new LoadingScreen(this);
      }
  </code></pre>
  
  <p>the AndroidGame class looks like this:</p>
  
  <pre><code>public abstract class AndroidGame extends Activity implements Game{
      /**
       * @uml.property  name="renderView"
       * @uml.associationEnd  inverse="game:ro.lasting.androidgames.framework.impl.AndroidFastRenderView"
       */
      public static AndroidFastRenderView renderView;//we draw to this and it manages the main loop thread
      /**
       * @uml.property  name="graphics"
       * @uml.associationEnd  
       */
      private Graphics graphics;
      /**
       * @uml.property  name="audio"
       * @uml.associationEnd  
       */
      private Audio audio;
      /**
       * @uml.property  name="input"
       * @uml.associationEnd  
       */
      private Input input;
      /**
       * @uml.property  name="fileIO"
       * @uml.associationEnd  
       */
      private FileIO fileIO;
      /**
       * @uml.property  name="screen"
       * @uml.associationEnd  
       */
      private Screen screen;//holds the currently active screen
      /**
       * @uml.property  name="wakeLock"
       * @uml.associationEnd  
       */
      private WakeLock wakeLock;//we use this to keep the screen for dimming
  
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          /*make activity fullscreen*/
          requestWindowFeature(Window.FEATURE_NO_TITLE);
          getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
          WindowManager.LayoutParams.FLAG_FULLSCREEN);
          //setup artificial framebuffer
          boolean isLandscape = getResources().getConfiguration().orientation ==
          Configuration.ORIENTATION_LANDSCAPE;
  
          int frameBufferWidth = isLandscape ? 480 : 480;
          int frameBufferHeight = isLandscape ? 320 : 320;
          Bitmap frameBuffer = Bitmap.createBitmap(frameBufferWidth,
          frameBufferHeight, Config.RGB_565);//Bitmap instance has an RGB565 color format for not wasting memory and speed up the drawing
          //Calculate scaleX and scaleY values that SingleTouchHandler 
          // and MultiTouchHandler classes will use to transform the 
          // touch event coordinates to our fixed-coordinate system
          float scaleX = (float) frameBufferWidth / getWindowManager().getDefaultDisplay().getWidth();
  
          float scaleY = (float) frameBufferHeight / getWindowManager().getDefaultDisplay().getHeight();
  
          //renderView = new AndroidFastRenderView(this, frameBuffer);
          graphics = new AndroidGraphics(getAssets(), frameBuffer);
          fileIO = new AndroidFileIO(getAssets());
          audio = new AndroidAudio(this);
          input = new AndroidInput(this, renderView, scaleX, scaleY);
          screen = getStartScreen();
  
          setContentView(renderView);
          //if(ro.lasting.androidgames.mrnom.MainMenuScreen.sinvite)setContentView(ro.lasting.androidgames.mrnom.R.layout.invite);
  
          PowerManager powerManager = (PowerManager)
          getSystemService(Context.POWER_SERVICE);
              wakeLock = powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK, "GLGame");
  
      }
  
      public void onResume() {
          super.onResume();
          wakeLock.acquire();
          screen.resume();
          renderView.resume();
      }
  
      public void onPause() {
          super.onPause();
          wakeLock.release();
          renderView.pause();
          screen.pause();
          if (isFinishing())
              screen.dispose();
      }
  
      /**
       * @return
       * @uml.property  name="input"
       */
      public Input getInput() {
          return input;
      }
  
      /**
       * @return
       * @uml.property  name="fileIO"
       */
      public FileIO getFileIO() {
          return fileIO;
      }
  
      /**
       * @return
       * @uml.property  name="graphics"
       */
      public Graphics getGraphics() {
          return graphics;
      }
  
      /**
       * @return
       * @uml.property  name="audio"
       */
      public Audio getAudio() {
          return audio;
      }
  
      /**
       * @param screen
       * @uml.property  name="screen"
       */
      public void setScreen(Screen screen) {
          if (screen == null)
              throw new IllegalArgumentException("Screen must not be null");
  
          this.screen.pause();
          this.screen.dispose();
          screen.resume();
          screen.update(0);
          this.screen = screen;
      }
      public Screen getCurrentScreen() {
          return screen;
      }   
  }
  </code></pre>
  
  <p>and I also have the corresponding manifest file which contains the following :</p>
  
  <pre><code>&lt;activity android:name=".MrNomGame"
                    android:label="@string/app_name"
                    android.screenOrientation="landscape"
                      android:configChanges="keyboard|keyboardHidden|orientation"&gt;
               &lt;intent-filter&gt;
                  &lt;action android:name="android.intent.action.MAIN" /&gt;
                  &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
              &lt;/intent-filter&gt;
          &lt;/activity&gt;
  </code></pre>
  
  <p>This app works just fine.
  But if I try to put this in another app, I get force close.
  My other project is this:</p>
  
  <pre><code>public class MainActivity extends Activity{
       @Override
          public void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.endgame);      
  
               Intent intent = new Intent(this,MrNomGame.class);
               //intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
               startActivity(intent);
       }
  </code></pre>
  
  <p>with the coresponding manifest file :</p>
  
  <pre><code>&lt;activity android:name=".MainActivity" android:theme="@style/ThemeFullScreenNoTitle"
              android:label="@string/app_name" android:screenOrientation="landscape"&gt;
              &lt;intent-filter&gt;
                  &lt;action android:name="android.intent.action.MAIN" /&gt;
                  &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
              &lt;/intent-filter&gt;
          &lt;/activity&gt;
          &lt;activity android:name=".MrNomGame" android:label="@string/app_name"
              android.screenOrientation="landscape" android:configChanges="keyboard|keyboardHidden|orientation"&gt;
  </code></pre>
  
  <p>I would expect this to work but it doesn't. I tryed all day and I can't get my first class (MrNomGame) running from my MainActivity. However on it's own it works just fine as seen on the first part of my question. Sorry for this big piece of code and big question but I just wanted to make it easier for you to understand this specific problem I am getting. So, how can I start MrNomGame from my main activity ? Thanks.</p>