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