素人のアンドロイドアプリ開発日記

ASCII.jpでIntentの復習

2011.04.04

asciiさんの記事でintentについての記載があったので、

復習に使わせていただきました。

■INTENTで設定画面に移動する。

Intent intent = new Intent(Settings.ACTION_DATE_SETTINGS);
startActivity(intent);

と設定すると設定画面に移動ができる。ここの値で、アンドロイドで設定している電話や、webブラウザー、地図、音楽プレイヤーなどを呼び出せる。

■INTENTで他のクラスに移動をする。

Intent intent = new Intent(this,***.class);

として「コンストラクタは自分自身と呼び出し先となるクラス名」なので、簡単にできました。

移動先では、returnIntentと言うクラスが勝手にできるようで(未確認)

※上記できませんでした。自分で作成をする必要があります。

任意で戻る場合

setResult(RESULT_OK, returnIntent);
finish();

戻るボタンなどで、戻る場合

returnIntent = new Intent();
setResult(RESULT_CANCELED, returnIntent);

上記のようになる。
この値は戻り先でも利用できる為、戻り方を調べる事ができる。
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
 super.onActivityResult(requestCode, resultCode, data);
 if (resultCode == RESULT_OK) {
 if (requestCode == R.id.IntentRequestGeneral ){
 String returnMessage = data.getStringExtra(this.getString(R.string.ExtraString01));
 message.setText(this.getString(R.string.MainDispString)+" " +returnMessage);
 }
 }
 else {
 Toast.makeText(this, "onActivityResult NOT RESULT_OK", Toast.LENGTH_SHORT).show();
 }
}

どうやら、リクエストコードとは、アクティビティを結びつけてどのアクティビティからの戻りなのか、確認できるようである。

※訂正 上記が自動で帰ってくると認識していましたが、インテント発行をstartActivityでした場合にはResultのイベントは実行されないので、resultでイベントを受け取りたい場合にはstartActivityForResultで他のIntentに移動しておく必要がありました。

逆引きandroid入門さんでは、REQUEST_CODEを一緒に発行できるようだ。

// インテント発行
startActivityForResult(intent, REQUEST_CODE);

以上で簡単にintentにREQUEST_CODEを含んだ状態で発行する事で、コードとアクティビティを結びつける事ができた。

同じカテゴリの記事を紹介します

GSONでJSONをパースするURLEncodeとPOSTメソッドのEncode通信でUserAgentを偽装する方法非同期でのファイルの読み込みはtxt,json,xmlで同じ前回作ったローダーをPOSTメソッド対応にしてみた。非同期での読み込みクラスを作りました。JSON,TEXTなどJSONのデータをパースしてみる。JSONの読み込みをしたい!RSSリーダーを作成する。ファイル一式RSSリーダーを作成する。詳細画面を表示する。RSSリーダーを作成する。xmlとかをパースする。RSSリーダーを作成する。リストビューとItemを作成

カテゴリー:通信

公開中のアプリ、是非ダウンロードしてみてください

2chまとめのたね

RSSを利用してさまざまなブログの情報をキュレーションしてくれるアプリ

インストールする

ひらがな戦記

OPENGL ES2 を利用したカルタのソーシャルゲーム

インストールする