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