Существующие ответы (передать данные в Intent
, переданные в startActivity()
), показывают нормальный способ решения этой проблемы. Существует еще одно решение, которое можно использовать в нечетном случае, когда вы создаете Activity, который будет запущен другим приложением (например, один из действий редактирования в плагине Tasker ) и, следовательно, не управляйте Intent
, который запускает Activity
.
Вы можете создать базовый класс Activity
с конструктором с параметром, а затем производным классом, который имеет конструктор по умолчанию, который вызывает конструктор базового класса со значением, так:
class BaseActivity extends Activity
{
public BaseActivity(String param)
{
// Do something with param
}
}
class DerivedActivity extends BaseActivity
{
public DerivedActivity()
{
super("parameter");
}
}
Если вам нужно сгенерировать параметр для перехода к конструктору базового класса, просто замените строго кодированное значение вызовом функции, который возвращает правильное значение для передачи.