1
Bundle extras = intent.getExtras();
if (extras != null) {   
    Toast.makeText(context, "Message recieved", Toast.LENGTH_SHORT).show();
}

エクストラに格納されている値は何ですか.. :?

4

2 に答える 2

1

エクストラに格納される値は、エクストラに入れる値です。

インテントにエクストラを追加するには、開始する前に次の操作を行います。

intent = new Intent(v.getContext(),TextActivity.class);
intent.putExtra("Title", "I am An extra");
startActivityForResult(intent, -1);

次に、あなたの意図で、それを読むには:

String title = getIntent().getStringExtra("Title");

あなたの質問のコードは、余分なものが見つかった場合にポップアップメッセージを投稿するだけです. 現在、エクストラには何も追加していません。

于 2012-07-03T09:05:10.147 に答える
0

Extras はBundleであるため、通常は値のコレクションを保持します。あなたのコード断片からは、そこに何があるかを知ることは不可能です. インテントを作成したコードがバンドルに何を入れるかによって異なります。

バンドル内のすべてのキーを知りたい場合は、Bundle.keySet()を使用します。

ご指摘のとおり、Android アプリには本当の「プログラムの始まり」はありません。あなたのアクティビティは、マニフェストで「ランチャー」アクティビティとしてマークされます。アクティビティがランチャーから開始された場合、エクストラは空になります。ただし、ユーザー (または他のアプリケーション) がアクティビティを手動で開始し、エクストラにデータを提供することを誰も止めません。

ここには魔法は含まれていません。エクストラに何も入れないと何も出てこない。

于 2012-07-03T09:03:30.450 に答える