Androidのアプリ開発をしている初心者です。

159 views
Skip to first unread message

佐藤佑樹

unread,
Aug 17, 2017, 2:15:29 AM8/17/17
to 日本Androidの会
Androidのアプリ開発をしている初心者です。

実現したいことは

画面上部に出てくる通知バーを非表示して使用不可にしたいです。
というのも今作っているAndroidアプリで端末専用化を行いたいので
特定のユーザー以外からは操作を受け付けたくありません。


発生している問題は

画面最上部から下方向に、または画面最下部から上方向にフリックすると、
電池のアイコンや時間などの通知バーが薄く出てきます。
続けてフリック動作を行うと通知領域がはっきりとでてきてしまします。

通知領域がはっきりと出てきてしまうことで、
アプリから簡単に抜け出せてしまうという問題が起きています。



該当のソースコードは

// ナビゲーションバーの非表示
        View decor = this.getWindow().getDecorView();
        decor.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
          | View.SYSTEM_UI_FLAG_FULLSCREEN
                        | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
    }
```
とすることで画面上部の通知バーと画面下部のナビゲーションバーを非表示に
しています。


ナビゲーションバーに関しては、オーバーレイViewを
ナビゲーションバーに被せることで使用不可にしています。

通知領域を出さない方法を教えてください。


cal...@bekkoame.ne.jp

unread,
Aug 17, 2017, 3:09:15 AM8/17/17
to android-g...@googlegroups.com
こんにちは、かるでらと申します。

お尋ねの内容とは異なりますが、アイデアの一つとして
参考にしていただければと思います。

アプリを端末専用化したいとのことですので、そのアプリを
ホームアプリ化してはいかがでしょうか?

ホームアプリにすれば、常にそのアプリが起動しますし
終了させる事も基本的には出来ません。

作成方法は
AndroidManifest.xml
のメインのActivityの<intent-filter>に以下の
記述を追加すれば基本的にはホームアプリとなるはずです

<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />

詳しくは、ホームアプリの作成方法を書いてあるサイトがたくさんありますので
そちらを参考にしてください。

ただし、ご指摘のように通知領域が出てしまうと、設定で
ホームアプリの切り替えが出来てしまいます。

それは、フリーのアプリロックアプリ(Perfect AppLockなど)を
インストールしておいて、設定にロックがかかるようにすれば
ある程度、専用化が出来ると思います。
> --
> このメールは Google グループのグループ「日本Androidの会」に登録しているユーザーに送られています。
> このグループから退会し、グループからのメールの配信を停止するには android-group-j...@googlegroups.com <mailto:android-group-j...@googlegroups.com> にメールを送信してください。
> このグループに投稿するには android-g...@googlegroups.com <mailto:android-g...@googlegroups.com> にメールを送信してください。
> https://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
> その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。


Jun Shiozawa

unread,
Aug 17, 2017, 3:33:13 AM8/17/17
to 日本Androidの会
 こんにちは,塩澤 淳と申します.

 たとえば

Activity系をextendsしたクラスのonCreate()系のオーバーライド内に

//フルスクリーン表示
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

を追加するアプローチではダメでしょうか.

さらに

//タイトルバー非表示
requestWindowFeature(Window.FEATURE_NO_TITLE);

とすればアプリ自身のタイトルバーも隠せます.

>Androidアプリで端末専用化を行いたいので特定のユーザー以外からは操作を受け付けたくありません。

 個人的には(特にゲーム屋が好んで使用する)フルスクリーン表示は迷惑な機能ですし
当たり前の仕様かもしれませんがスマホに電話着信があった場合はAndroidは再優先で電話アプリに切り替えます.

2017年8月17日木曜日 15時15分29秒 UTC+9 佐藤佑樹:

Jun Shiozawa

unread,
Aug 17, 2017, 3:51:13 AM8/17/17
to 日本Androidの会
塩澤 淳です.追記です.

と思ったのですが

フルスクリーン設定になっているディズニーツムツムで確認してみると
フリックで通知領域が出てしまうようです.
フルスクリーン設定の有名ゲームアプリで通知領域が出てしまうことを考えると
通知領域の表示はAndroidユーザーの権利とGoogleは考えているようです.


2017年8月17日木曜日 16時33分13秒 UTC+9 Jun Shiozawa:

佐藤佑樹

unread,
Aug 17, 2017, 4:21:54 AM8/17/17
to 日本Androidの会
ホームアプリの作成方法を参考にしてみます。
ありがとうございます。 

2017年8月17日木曜日 16時09分15秒 UTC+9 かるでら:
> このグループから退会し、グループからのメールの配信を停止するには android-group-japan+unsub...@googlegroups.com <mailto:android-group-japan+unsub...@googlegroups.com> にメールを送信してください。

佐藤佑樹

unread,
Aug 17, 2017, 4:23:17 AM8/17/17
to 日本Androidの会
やはりFLAGなどで非表示とやっても完全に非表示にするということは難しそうですね・・
迅速なご対応ありがとうございます。

2017年8月17日木曜日 16時51分13秒 UTC+9 Jun Shiozawa:
Reply all
Reply to author
Forward
0 new messages