Androidアプリの開発を趣味で行なっています。
主にSonyのSmall App APIを使ったスモールアプリのブラウザ開発が中心です。
お仕事はSler系の�Javaエンジニアです。
突如、Xperia Xシリーズ以降からスモールアプリのコアがプリインストールされなくなり、Small App APIもサポートされず更新されない状態となりました。
開発していたスモールアプリのブラウザは、Xperia X�以降から使えなくなりました。
Z5以前は今もプリインストールされ続けているようです。
個人的には好きなように小さい画面を置いて、スマホでながら作業ができるスモールアプリはとても便利でした。
近年、スマホの画面の大型化も進んでいて需要もあるのでは?と個人的には思いますが、Android標準で分割によるマルチウィンドウが可能になっていますが、裏側の画面が見えないので不便です。
因みに無効ですがAndroid標準でフローティングウィンドウも既に実装されています。
(なぜ、Xperiaは標準のフローティングウィンドウを有効にしないのか・・・)
ChromeOSでAndroidアプリを使う方法もありますが、スマホはありません。
個人的に便利に使いたくて開発していたアプリだったので、新しいXperiaから使えないのは悲しく、不便でしたので、乗り換え先のAPIを探しました。
スモールアプリはVAIO Phone Aでも使えないし・・・
乗り換え先のAPIを探して近いものはありましたが、数も少なく使いたいものはありませんでした。
気になったAPIはキーを申請しましたが、非承認になりました。。。
当初、Andoridの正式言語ではなかったKotlinも気になっていたため、Kotlinでフローティングウィンドウを実現するライブラリを自分で作るすることにしました。
AndroidとKotlinを深く理解することにも繋がるかと思いました。
せっかく自作するならと、Small App APIで不満だった部分を解消しつつ、最初は必要最小限の機能でリリースする見込みで仕様を検討し、検証プログラムを作成しながら検証を繰り返しました。
- WebViewがウィンドウ内に表示できること(内部的にRemoteViewは�使用不可)
- マルチウィンドウに関する必要最小限の機能(移動、拡大縮小、切り替え)が出来ること
- マルチウィンドウを起動するランチャー(利用可能なアプリ一覧や、起動しているアプリ一覧)を表示して、起動や終了が出来ること
- 他アプリ(apk)に実装された処理を読み込んで、プラグイン的にマルチウィンドウアプリを後から追加できること
- ウィジェットも追加できること
どうしても、システムアプリでもなくプリインストールもされてないので、色々な制約が�出ました。
- ランチャーの位置、アプリのウィンドウサイズや位置を保持
- 電卓、タイマー、ストップウォッチ、TouchBrock、ActiveClip(MediaProjection API)、ミラーの様なアプリをデフォルトで追加