2016年9月21日水曜日

Multi windowで他アプリを開く


すごい久しぶりに投稿します。
最近ではqiitaに書くのが普通みたいですがブログに書くことにします。

http://qiita.com/takahirom/items/6efc39a7bfe00144ff32
記事の中でも「マルチウインドウ中のActivityからstartActivityForResultで起動されたActivityはマルチウインドウで表示(画面分割された状態で表示)されます。」のように記述されていますが、orientationを固定するなどしておけばmulti windowモードになっても未対応な旨が表示されるだけでmuti windowモードでアプリが起動することはないです。
startActivityForResultの挙動がPreview版だけなのかと気になるところなので実際にアプリを作って試してみました。
作成したアプリ

コードの中身はといえば
https://github.com/matsuhiro/MultiWindowOpener/blob/348744991f94bffb072edbc4472213cd9264a6d4/app/src/main/kotlin/net/matsuhiro/multiwindowopener/MainActivity.kt#L55-L59
のようにstartActivityForResultを利用して起動しているだけです。
これだけで、どんなアプリもmulti windowモードで起動します。

ユーザー的にはブラウザでどこにポケモンがいるのか調べつつpokemonGoで遊ぶとか出来るわけですが、開発者的にはいい迷惑ですね。
アプリ的には画面サイズが変わっているだけの認識のはずですが、完璧に対応しようとしたら画面サイズのパターンがほぼ無限なので最初から工夫しなければ行けないわけですね。

画面サイズの変更時のイベントなど調べたらまた追記しようと思います

0 件のコメント:

コメントを投稿