AndroidでintentによらずにActivityが起動される場合ってどのような場合ですか?


http://techbooster.jpn.org/andriod/application/294/

ここの文中に注意として書いてありました。

>Intentはthis.getIntent()メソッドで受け取ります。ただし、IntentによらないでsubActivityが起動した場合、nullとなります。受け取り処理はnullチェックを入れるなど、値に注意して下さい。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2012/02/07 10:05:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:language_and_engineering No.1

回答回数170ベストアンサー獲得回数63

ポイント100pt

はて,Intent以外に思いつきませんが・・・


4. インテントとインテントフィルタ
https://sites.google.com/a/techdoctranslator.com/jp/android/guide/intents-filters

  • アプリケーションの 3 つのコアコンポーネントである、アクティビティ、サービス、ブロードキャストレシーバは、インテント と呼ばれるメッセージを介してアクティベートされます。

アクティビティの開始
https://sites.google.com/a/techdoctranslator.com/jp/android/guide/activities#StartingAnActivity


下記の書き間違いでは?

  • 誤:IntentによらないでsubActivityが起動した場合、Intentはnullとなります。

  • 正:いまコーディングしたintentActivity中で定義したような,ちゃんとextraデータを詰め込んである明示的なIntentによらないで,例えばLAUNCHERアクティビティとしてsubActivityが起動した場合、getIntent().getExtras()はnullとなります。

LAUNCHERの場合も,onCreate()内でgetIntent()すると,下記のようなアプリ起動用のインテントがちゃんと渡ってきてますしね。


Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.example/.HogeActivity bnds=[209,629][330,792] }



その方のブログ中では,同様の記述が他にも見られます。
しかし,該当する記述に関して,根拠や具体例は特に示されていないようですね。


Intentで画面遷移する(明示的Intent)/Getting started
http://techbooster.org/android/application/8346/
IntentはgetIntent()メソッドで受け取ります。
もしIntentによらないでSubActivityが起動した場合、nullとなります。
今回のサンプルプログラムの場合、IntentActivityに設置されている「send Intent」ボタンが押されずにSubActivityが起動したら、Intentの中身はnullとなります。


 

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません