Когда вы собираетесь начать новое действие и хотите передать переменную, вы обычно просто делаете это:
Intent intent = new Intent().setClass(this, NewActivity.class);
intent.putExtra("variable", variable);
startActivity(intent);
И когда вы читаете дополнительное (в новом действии), высделать это:
Intent intent = getIntent();
if(intent != null)
{
variable = intent.getIntArrayExtra("variable");
}
Теперь в моем приложении у меня есть экран загрузки, где происходит вся загрузка.Это происходит в основной деятельности.В ходе этого процесса многие переменные обновляются / изменяются.У меня есть много других действий, и мне нужно передать эти недавно обновленные переменные некоторым из этих действий.Проблема в том, что эти действия не начаты моей основной деятельностью.
Есть ли способ, которым я могу сделать это в своей основной деятельности:
Intent newIntent1 = new Intent().setClass(MainActivity.this, NewActivity1.class);
newIntent1.putExtra("var1", var1);
и затем запускать действие, используя startActivity(newIntent1);
из другого занятия?
Я пытался прочитать дополнительное, как это:
Intent intent;
try
{
intent = Intent.parseUri("content://com.mycompany.android.MainActivity", 0);
if(intent != null)
{
var1 = intent.getIntArrayExtra("var1");
}
}
catch (URISyntaxException e)
{
e.printStackTrace();
}
Это не работает, var1
переменная равна нулю (инициализируется так).
Если честно, я понятия не имею, как это сделать, или как Intent.parseUri
даже работает.Документация для этого действительно плоха для начинающего, как я.