Sintaxe de intenção do Android

Em minhas tentativas de descobrir como iniciar uma nova intenção no meu aplicativo, encontrei várias maneiras de expressá-lo.

Essa sintaxe retorna um erro de tempo de execução, ou seja, uma exceção ActivityNotFound

Intent in = new Intent("com.something.something"); 

É claro que meu manifesto android contém uma ação dentro do filtro de intenção:

<activity
        android:name=".SecondActivity"
        android:label="@string/title_activity_second" >
        <intent-filter>
            <action android:name="com.something.something" />

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

Esta formatação funciona:

Intent in = new Intent(MainActivity.this, SecondActivity.class); 

Eu também tentei o seguinte:

Intent in = new Intent(this, SomeActivity.class); 

isso foi recomendado em um livro que estou lendo. Isso retorna um erro de tempo de execução, activitynotfound

Este aqui faz o Eclipse me jogar de um lado para o outro entre setClass e setClassName infinitamente:

 Intent in = new Intent().setClass(this, SecondActivity.class);

Eu estou usando isso em um método onclick:

ok.setOnClickListener(new View.OnClickListener()
    {

        @Override
        public void onClick(View v)
        {

            Intent in = new Intent(MainActivity.this, SecondActivity.class);
            startActivity(in);
        }
    });
}

Qual é a diferença entre estes e porque é que apenas um deles trabalha para mim?

Atenciosamente / M

questionAnswers(1)

yourAnswerToTheQuestion