As respostas existentes (passe os dados do Intent
passado para startActivity()
) mostram a maneira normal de resolver esse problema. Existe outra solução que pode ser usada no caso ímpar de você criar uma Atividade que será iniciada por outro aplicativo (por exemplo, uma das atividades de edição em um plug-in Tasker ) e, portanto, não controla a Intent
que inicia Activity
.
Você pode criar uma classe base Activity
que possui um construtor com um parâmetro e, em seguida, uma classe derivada que possui um construtor padrão que chama o construtor da classe base com um valor, da seguinte forma:
class BaseActivity extends Activity
{
public BaseActivity(String param)
{
// Do something with param
}
}
class DerivedActivity extends BaseActivity
{
public DerivedActivity()
{
super("parameter");
}
}
Se você precisar gerar o parâmetro a ser transmitido ao construtor da classe base, basta substituir o valor codificado por uma chamada de função que retorne o valor correto a ser transmitido.