TicTacToeLibを単体で起動 ( ActivityManager: Starting: Intent が飛んでこないときの対処 )
おぉ、Androidの話題なんて書いちゃって、格好良すぎるなおれ。
Android SDKのサンプルにTicTacToe(Lib|Main)というのがある。単なるおバカなマルバツゲームなのだけど、MainがLibを呼び出すことで動くようになっている。で、試しにLibだけ単体で動かしてみようと思ったら、ちょっとはまったのでメモ。
まず、Properties -> Android -> Library の is Library のチェックを外す。これは簡単。こうすることによって単体で起動できる(Run Asが可能に)。
ところがこれだけだと、 コンソールに「ActivityManager: Starting: Intent」というメッセージが表示されず、アプリを起動することができない。AndroidManifest.xmlをいじくれば良いかと思い、ADT plugin付属のエディターでいじくってみたけれど効果なし。
気分転換に直接ファイルを見てみたら、intent-filterディレクティブがなかった。ので、追加した。
<activity android:name=".GameActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
そしたら動いた。
これもエディターで設定できるようになっているべきだとおもふ。それか全て直接編集させるか。「ほとんどエディターでいじくれますよ、でも例外的にこいつだけはいじくれないぞ、HaHaHa」というのはちょっといやらしい。