自分のアプリしか操作できないようにしたい

1,451 views
Skip to first unread message

龍一

unread,
Dec 26, 2014, 2:00:29 AM12/26/14
to android-g...@googlegroups.com
ある事情で自分のアプリしか操作できないようにしたいのです。 

以下のコードでナビゲーションなどをなくし、フルスクリーン化ができますが、 

View decor = this.getWindow().getDecorView();
        decor.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION  | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE);

これでナビゲーションなどが消え画面を最大限に使うことが出来ます、「これで自分のアプリしか操作できないぞー」といった感じでウハウハなんですが、画面外からスライドさせればナビゲーションが現れます。 

つまり、消えてはいるんですが、ユーザーはナビゲーションを登場させることができるのです。これだと自分のアプリ以外を操作されてしまいます。 
これを防ぐ方法はあるでしょうか? 

なければ、画面外からのスライド範囲を極端に小さくしてナビゲーションを出にくくする方法はあるでしょうか? 

GMD Immersive というアプリがあるんですが、これはナビゲーションを登場させるスライド範囲を設定できるようです。 

使用機種は Nexus7 (2012)  Android4.4  です。。

Hirokazu Fukami

unread,
Dec 26, 2014, 2:02:57 AM12/26/14
to android-g...@googlegroups.com
こんにちはfkmです。

Android 5.0で導入されたkioskモードを使うのはどうでしょうか。。。?

--
このメールは Google グループのグループ「日本Androidの会」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには android-group-j...@googlegroups.com にメールを送信してください。
このグループに投稿するには android-g...@googlegroups.com にメールを送信してください。
http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。

龍一

unread,
Dec 26, 2014, 5:18:50 AM12/26/14
to android-g...@googlegroups.com
kioskモードは プラットフォーム署名がいるのではないでしょうか?

だとすると、普通の開発では使えないのでしょうか?



2014年12月26日金曜日 16時02分57秒 UTC+9 fkm:
こんにちはfkmです。

Android 5.0で導入されたkioskモードを使うのはどうでしょうか。。。?

On Fri Dec 26 2014 at 16:00:52 龍一 <kirin...@gmail.com> wrote:
ある事情で自分のアプリしか操作できないようにしたいのです。 

以下のコードでナビゲーションなどをなくし、フルスクリーン化ができますが、 

View decor = this.getWindow().getDecorView();
        decor.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION  | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE);

これでナビゲーションなどが消え画面を最大限に使うことが出来ます、「これで自分のアプリしか操作できないぞー」といった感じでウハウハなんですが、画面外からスライドさせればナビゲーションが現れます。 

つまり、消えてはいるんですが、ユーザーはナビゲーションを登場させることができるのです。これだと自分のアプリ以外を操作されてしまいます。 
これを防ぐ方法はあるでしょうか? 

なければ、画面外からのスライド範囲を極端に小さくしてナビゲーションを出にくくする方法はあるでしょうか? 

GMD Immersive というアプリがあるんですが、これはナビゲーションを登場させるスライド範囲を設定できるようです。 

使用機種は Nexus7 (2012)  Android4.4  です。。

--
このメールは Google グループのグループ「日本Androidの会」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには android-group-japan+unsub...@googlegroups.com にメールを送信してください。

Makoto Yamazaki

unread,
Dec 26, 2014, 9:49:52 AM12/26/14
to android-g...@googlegroups.com
zaki です。

kioskモードについては

やその下の Screen Pinning に書かれています。
システム署名なしで実現できます(当然 5.0 以降の端末のみです)。

ユーザーが別のアプリへ抜けるのを完全に阻止するには、 device owner app
(以前からある Device Manager の特別版てきな位置づけのもの)を作って
インストールしないといけないのですが、これは端末の最初のセットアップの
時に NFC 経由で指示をだしてインストールさせる必要があります。

device owner app のインストールに関しての詳細を記したドキュメントは
英語でも完全なものは存在していません(もちろん私が知らないだけの可能性あり)。

12/30 のコミケ3日目に、TechBooster が頒布する書籍の
「甘味アンドロイドパーク」の4章に、kiosk モードのアプリの書き込み方について
AOSP のコードからリバースエンジニアリングした結果をもとに解説した章があります。


いまのところこれ以外で詳細を記述したドキュメントは無いのではないかと
思います。


このグループから退会し、グループからのメールの配信を停止するには android-group-j...@googlegroups.com にメールを送信してください。

このグループに投稿するには android-g...@googlegroups.com にメールを送信してください。
http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。



--
YAMAZAKI Makoto
Reply all
Reply to author
Forward
0 new messages