新しいアクティビティを開始しようとしていて、変数を渡したい場合、通常は次のようにします。
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
変数はnullです(そのように初期化されています)。
正直なところ、これを行う方法も、どのように機能するかIntent.parseUri
さえわかりません。これに関するドキュメントは、私のような初心者にとっては本当に悪いものです。