Android 7.1でパニックボタンが発見される
Android 7.1 Nougatに、アプリを強制停止できる機能が発見されて話題になっています。
Androidアプリには、Windowsアプリのようにアプリ終了の概念がありません。
前面に表示されてなくても、裏でアプリは動き続けられて、アプリ終了のタイミングはOS任せです。これ自体は悪くはありませんが、昨今、猛威を振るうランサムウェアなど悪意を持つアプリを起動すると終了が難しいのが現状です。
発見されたアプリ強制終了機能は、主に悪意を持ったアプリへの対策と考えられており、緊急時に使う機能なので「パニックボタン」と呼ばれています。これは、XDA Developersによって発見されました。パニックボタンは、0.3秒以内にBackキーを4回連打すると、このキーの挙動を上書きして前面にあるアプリを強制します。
この機能は、標準では有効になっておらず、System UI APKのconfig.xmlの内容を書き換えることで有効になります。
パニックボタンが有用と考えているならば、大々的にアピールするはずなので、プログラマの思いつきで実装されて出荷判定で無効になった可能性はあります。実装の真意は分かりませんが、有効になっても、知らないと有効活用できない可能性があり非常にわかりづらい実装です。また、Androidのセキュリティレベルを向上する取り組みならば、同時にrootが取れる手段も塞ぐべきなので順番が違うようにも思えます。
ゲームにおけるBackキーの挙動
Google Developers Japanが、Android用ゲームアプリにおけるBackキーの挙動についてのエントリを7月6日に公開しています。
Backキーは、ユーザが直近で使った画面を順にさかのぼって移動するのが実装の基本です。
しかし、エントリでは、いくつかの実例を挙げてBackキーの挙動を説明しながら、ゲームデザインとユーザ体験に留意して、挙動を調整することが重要だとしています。
ユーザがこれまで得た経験を元に、Backキーを押した後の動きを予想できる範囲にすることで、ユーザの混乱を招かない挙動になると画面例をあげて解説しています。ここでは、ゲームを例にしていますが、考え方はビジネスアプリにも応用できるので、一読をおすすめします。
また、Android 3.0からナビゲーションの挙動が変更されて、BackキーとナビゲーションバーにあるUpキーを使い分ける仕組みになりました。これらの違いと挙動は以下のページで解説されています。
今回取り上げたエントリと合わせて読むことで、BackキーとUpキーの関係が整理できるので、こちらも一読をおすすめします。
Awareness APIの時間と休日がローカライズ
Google I/O 2016で公開されたAwareness APIは、さまざまな可能性を秘めています。
このAPIがあることで、アプリは端末のバッテリーに負担をかけることなく、楽に端末の状態を知れます。
たとえば、フィットネスバンドから得た情報に加えて端末の状態を加えれば、適切なアドバイスを通知するアプリを構築できます。今回の改修で、国ごとの時間や休日に対応したので、毎朝のフィットネスを促す通知を祝日だけは避けるといった造りも可能です。
Awareness APIのSnapshot APIとFence APIで、人の思考に近い抽象的な振る舞いをするアプリが開発できます。スマホが身近な存在になるほど、こうした仕組みの重要性が高くなります。アプリを開発しているならば、どう活用できるのか検討してみるのはいかがでしょうか。
今週は、このあたりで、また来週。