Androidのキオスクアプリ用のAPIはありますか?

この出版物では、Androidシステムで発生する問題についての議論を引き起こしたいと思います:公的なガイドラインによって承認された方法を使用して、保護された環境で実行するアプリケーション(キオスクアプリケーション)を作成するための、トリックとハッキングなしの不可能性。



キオスクソフトウェアは、インターネットキオスク(この場合はAndroid端末)を不正な活動から保護する必要があります。 キオスクは、システムダイアログの呼び出し、デバイス設定へのアクセス、ファイルシステムへのアクセスなどの可能性から保護する必要があります。



私が取り組んでいるアプリケーションは、ショッピングセンターやカフェなどの公共の場所にある端末にインストールする必要があります。 したがって、デフォルトでは、すべてのユーザーは、システム設定にアクセスしたり、それらを変更したり、システムリセットを実行したり、悪意のあるアプリケーションをインストールしたりする攻撃者と見なされる必要があります。 そのようなアクションは、キオスクシステムによって停止する必要があります。



そのようなアプリケーションの別のクラスは、レストランの電子メニューです。 このようなメニューは、AndroidデバイスとiPadの両方に実装されています。 さらに、同じソフトウェアがあちこちで使用され、特定のレストランのデザインのみが異なりました。 だから、私の意見では、iOSデバイスはより良く保護されていた。 Androidバージョンでは、設定を簡単に入力できたので、設定を変更する機会がありました。 iOSでは、ユーザーのすべてのシステム機能が無効になり、私に提供されたのは何らかのキオスクのロックを解除するピンコードを入力することだけでした。



developer.android.comのドキュメント検索では、キオスクの問題の全体像はわかりませんでした。 stackoverflowについても同様の質問が定期的に行われ、一部のキオスクタスクにプライベートソリューションを提供する人もいます。 ここに、例えば、それらのいくつかがあります:



1.ステータスバーを非表示にすることで、アクティビティまたはアプリケーション全体を全画面モードで実行できます。 Googleはそれを没入モードと呼んでいるようです。 また、システムボタン(画面下部のパネル)を一時的に非表示にすることもできます。 ビデオプレーヤー、ゲーム、プレゼンテーションプログラムに最適です。 残念ながら、ユーザーは画面の上部をスワイプして(下にスワイプして)ステータスバーを「引き出し」、システムボタンバーを戻すことができます。



2.「ステータスバー」システムサービスのインスタンスを取得し、リフレクションを使用して非表示の無効化メソッドを呼び出すことができます。 残念ながら、これを行うと、SecurityExceptionが発生します。 システムアプリケーションのみがステータスバーを非表示にできます。 システムになるには、デバイス開発者から受け取ったキーでアプリケーションに署名する必要があります。 機会は常にそこにあるとは限りません。



また、隠されたドキュメント化されていないメソッドを呼び出すことはお勧めできません。 どうやら、理由のためにシステムの開発者は、このメソッドのためのオープンなインターフェースを提供しませんでした。



3.システムの戻るボタンをロックすることにより、ActivityクラスのonBackPressedメソッドをオーバーライドできます。 [ホーム]ボタンを傍受することで、[ホーム]アクションにインテントフィルターを掛けることができます。 ただし、[最近使用したシステム]ボタンのアクションを傍受することはできません。



4.「Recent」システムボタンを押すか、「loss of focus」イベントをインターセプトすることでステータスバーを呼び出すことに対処することが可能です。 アクティビティがフォーカスを失った場合、すぐにそれを返します。 残念ながら、フォーカスの喪失と復帰の間には約1秒かかる場合があり(システムの速度に応じてより少なく、おそらくより多くなります)、ユーザーは設定メニューに移動したり、アプリケーションを削除したり、何か他のことを行うことができます。



5.通常、/ system / build.propファイルを編集してシステムボタンを無効にできます。

qemu.hw.mainkeys=0





しかし、まず、これにはルートアクセスが必要です。次に、プログラムでこれを行うことができます(はい、プログラムでこのファイルを編集し、読み取り専用ファイルシステムを事前にマウントし、デバイスを再起動できますが、それでもハックです) 。



Androidには、キオスクアプリケーションを作成するための全体的な概念が欠けていることがわかります。 提起された質問を解決する別のAPIセクションが欲しいです。 このようなアプリケーションの作成に関するGoogleからの一連の推奨事項があります。



はい、わかります-そのようなアプリケーションの作成は、開発者に追加の責任を負わせます。 これにより、ロッカーウイルスの作成者に道が開かれます。 しかし、他のプラットフォームの開発者はこの問題をどのように解決しましたか?



All Articles