14

タブレットデバイスのシステムバーを非表示にしたい。たくさん検索しましたが、成功しませんでした。画像を追加しました。

私は次のような解決策を見つけました

View v = findViewById(R.id.view_id);
v.setSystemUiVisibility(View.STATUS_BAR_HIDDEN); 

でも使い方がわからないここに画像の説明を入力してください

そして私はそれがhttp://forum.xda-developers.com/showthread.php?t=1228046として可能であることを知っています誰もがこれを行う方法を知ることができますか?

4

11 に答える 11

7

ルート権限を取得されたAndroidタブレットでステータスバーを表示/非表示にするコードスニペット

隠れる:


            Process proc = null;

            String ProcID = "79"; //HONEYCOMB AND OLDER

            if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH){
                ProcID = "42"; //ICS AND NEWER
            }

            try {
                proc = Runtime.getRuntime().exec(new String[] { "su", "-c", "service call activity "+ProcID+" s16 com.android.systemui" });
            } catch (Exception e) {
                Log.w("Main","Failed to kill task bar (1).");
                e.printStackTrace();
            }
            try {
                proc.waitFor();
            } catch (Exception e) {
                Log.w("Main","Failed to kill task bar (2).");
                e.printStackTrace();
            }

表示するには:


            Process proc = null;
            try {
                proc = Runtime.getRuntime().exec(new String[] { "su", "-c", "am startservice -n com.android.systemui/.SystemUIService" });
            } catch (Exception e) {
                Log.w("Main","Failed to kill task bar (1).");
                e.printStackTrace();
            }
            try {
                proc.waitFor();
            } catch (Exception e) {
                Log.w("Main","Failed to kill task bar (2).");
                e.printStackTrace();
            }
于 2014-04-21T06:47:11.430 に答える
4

最後に、多くの時間を検索した後、私は自分の要件のためにいくつかの代替案を手に入れました。

これはプログラマーがこの状況から撤退するのは良い考えではないことを私は知っていますが、私の時間制限のために私はこのように使用しました...

要件を満たすこのリンクとアプリケーションを見つけました

http://www.42gears.com/blog/2012/04/how-to-hide-bottom-bar-in-rooted-android-3-0-tablets-using-surelock/

アプリケーションでこのタイプの要件が必要な場合は、一度これにアクセスしてください...。

私の問題で私を助けてくれたすべての人に感謝します...

于 2012-09-08T04:53:46.910 に答える
2

システムバーを非表示にすることはできません。APIにはそれを可能にするものは何もありません。これは、アプリがフリーズしたり、ユーザーがアプリから抜け出すだけで何かおかしなことをしたりした場合に備えて、ユーザーは常にホームキーとバックキーにアクセスする必要があるためです。非表示にできるのはアクションバーのみです。

于 2012-08-14T18:04:21.197 に答える
1

ルート権限を取得せずに、ほとんどすべてのタブレットでメニューバーを無効にする回避策があります。しかし、これは少し注意が必要ですが、きれいに機能します。現在市場に出回っているいくつかの有名なアプリは、この戦略を使用して、アプリのメニューバー機能を無効にします。

  • 管理者権限を付与します。
  • デバイス管理プロファイルAPIを使用して、パスワードを設定し、デバイスをロックします
  • 次に、ネイティブロック画面の上にUIをロードします。(もちろん、これはアクティビティ間で遷移が発生するたびにバックグラウンドロック画面を表示します。ただし、ロジックが適切に編成されている場合は、スムーズでユーザーの気づきが少なくなります)
  • バックを有効にする必要がある場合は、デバイスポリシーマネージャーオブジェクトのresetPassword( ""、0)を使用してパスワードを""にリセットします。
于 2013-07-10T12:53:51.160 に答える
1
var width = innerWidth;

var height = innerHeight;

このコードはあなたに役立つと思います。タブレットバーを隠すことはありませんが、アプリケーションはこれを使用できるすべてのデバイスに適合します(コードovaモバイルアプリケーションのJavaScriptでこのコードを使用しました)

于 2015-11-11T08:04:27.707 に答える
1

SYSTEM_UI_FLAG_IMMERSIVE_STICKY|の組み合わせが必要です。SYSTEM_UI_FLAG_HIDE_NAVIGATION | SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN。たとえば、openglとglSurfaceViewを使用する場合、次のようになります。

glSurfaceView.setSystemUiVisibility(
                View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY |
                View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
                View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);

下部をスワイプして下部のバーを表示します。数秒後に再び非表示になります。

于 2016-01-02T05:34:59.047 に答える
0

私はそれがすべてのAndroidデバイスで同じだと信じています。

requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                     WindowManager.LayoutParams.FLAG_FULLSCREEN);

別の解決策も見つけましたが、これはもちろん、surelockと呼ばれる別のアプリです。

http://onkarsingh.sys-con.com/node/2184158

編集:

上記のコードはタブレットバーを非表示にしません。別のAndroidデバイスでシステムバーを非表示にしようとしている人のために、私の答えを残しておきます。

于 2012-08-14T18:00:22.293 に答える
0

非表示にすることはできませんが、ホーム以外は無効にすることができます。このリンクを試してください。。SYSTEM_UI_FLAG_LOW_PROFILEを使用すると、システムバーを暗くすることができ、を使用onWindowFocusChanged()すると、フォーカスを取得して折りたたむことができます。

于 2013-03-27T06:09:53.297 に答える
0

サムスンの開発者ガイドによると、ギャラクシータブをキオスクとして使用するためのトリックを見つけました

アプリにロックシステムを終了するように依頼し、戻るボタンにアプリのアクティビティ/ビューの開始に戻るように依頼することができます。私はこれをWebViewアプリに対して行いました

    @Override
    public void onBackPressed() {
        //here asking to go back to home page
        mWebView.loadUrl(mHomepageUrl);
    }

onCreateメソッドで、ロックシステムから立ち上がるように要求する場合:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);

次に、電源ボタンを2回クリックすると、アプリケーションが戻ってきて、ステータスバーで戻るボタンだけがアクティブになります。

したがって、唯一の方法はタブレットを再起動することです(したがって、タブレットを開くためのコードで従来のロックシステムを使用できます)

訪問者が電源ボタンにアクセスできない場合、またはロック解除コードを持っているのがあなただけの場合に役立ちます

于 2014-09-17T14:21:17.580 に答える
-1

//アクティビティ/フラグメントのonCreateメソッドにコードを配置します

@Override
        @SuppressLint("NewApi")
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            getSupportActionBar().hide();
            setContentView(R.layout.activity_main);

              getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
        }
于 2014-11-28T12:01:55.127 に答える
-1

Androidでキオスクアプリを作成するには、次のものが必要です。-オンキーダウンをオーバーライドする

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if(keyCode==KeyEvent.KEYCODE_BACK || keyCode==KeyEvent.KEYCODE_HOME){


        startActivity(new Intent(this,MainActivity.class));
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

次に、ホームボタンを上書きするために、アクティビティをランチャーアクティビティにします。(マニフェスト内)

<intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.HOME" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>

百万の許可を求める奇妙なロッカーアプリは必要ありません。あなたはあなたの電話を根絶する必要はありません。

于 2015-03-10T07:19:36.523 に答える