Learn to Live and Live to Learn

IT(たまにビジネス)に関する記事を読んで、考えて、使ってみたことをまとめる場。

Android N マルチウィンドウ非対応

Android O Developer Previewも出てきていますが,Android Nのマルチウィンドウを非対応にする方法を記したいと思います.

 

マルチウィンドウとは

Android 7.0 Nougatで提供されている機能です.

複数のアプリが画面を同時に共有できます。たとえば、ユーザーは画面を分割し、ウェブページを左側の画面に表示しながら、右側の画面でメールを作成することができます 

Multi-Window Support | Android Developersより

f:id:A_01:20170330000959p:plain

 

 非対応にする方法

デフォルト対応になっています.(しかし,正常動作しないことがある)

非対応にするときは

 

targetSdkVersionが24以上の場合

AndroidManifest.xmlのapplication要素,もしくはActiovity要素

android:resizeableActivity="false"と記載する.

ただし,Android Nのマルチウインドウ対応について調べて驚いたところ - Qiitaによると

他のアプリからstartActivityForResultで起動された場合,容赦無くマルチウィンドウの状態を引き継ぐので注意が必要である.

 

targetSdkVersionが24未満の場合

AndroidManifestのActivityの要素でいずれかを設定する.(ことで非対応になるらしい)

 

  • android:screenOrientation="portrait"などで画面の方向を固定する
  • android:immersive="true"で他のアクティビティや通知によって中断されないimmersiveタイプとする