Скрыть панель планшета

Я хочу скрыть системную панель для планшетного устройства. Я много искал, но не смог. Я добавил изображение для него.

Я нашел некоторое решение вроде

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

но я не знаю, как его использовать enter image description here

И я знаю, что это возможно как http://forum.xda-developers.com/showthread.php?t=1228046 Может ли кто-нибудь знать, как это сделать?

Ответ 1

Наконец, после долгого поиска я получил несколько альтернатив для моего требования.

Я знаю, что это не очень хорошая идея для программиста отступить от этой ситуации, но для моего ограничения времени я использовал этот способ...

Я нашел эту ссылку и приложение, которые заполняют мое требование

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

пожалуйста, посетите это один раз, если вы хотите, чтобы этот тип требований был применен в вашем приложении....

Спасибо всем за то, что помогли мне в моей проблеме...

Ответ 2

Фрагмент кода для отображения/скрытия строки состояния на встроенных планшетах для 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();
            }

Ответ 3

Скрыть системную панель невозможно. В API нет ничего, что позволяет. Это связано с тем, что пользователю всегда нужен доступ к домашним и обратно ключам, если приложение зависает или делает что-то плохое, когда пользователю просто нужно выйти из приложения. Скрыть панель действий можно только.

Ответ 4

Существует обходной путь для отключения панели меню во всех большинстве таблиц без укоренения. Но это немного сложно, но работает чисто. Несколько известных приложений на рынке в настоящий момент используют эту стратегию для достижения этой функции отключения панели меню для своих приложений.

  • Предоставить привилегии администратора.
  • Установите пароль и заблокируйте устройство, используя профиль admin admin api
  • Затем загрузите пользовательские интерфейсы поверх встроенного экрана блокировки. (Конечно, это будет показывать экран блокировки фона всякий раз, когда происходит переход между действиями. Но если логика организована хорошо, тогда пользователь будет плавным и менее заметным).
  • Когда нужно включить обратно, reset password to ", используя resetPassword (" ", 0) объекта менеджера политики устройства.

Ответ 5

var width = innerWidth;

var height = innerHeight;

Я думаю, что этот код поможет вам. Не скрывать планшет но ваше приложение подходит для любого устройства, которое вы можете использовать (Я использовал этот код в javascript для мобильного приложения ova ova)

Ответ 6

Вам просто нужна комбинация 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);

Проведите по экрану снизу, чтобы увидеть нижнюю панель, она будет скрываться снова через несколько секунд.

Ответ 7

Я считаю, что он одинаковый для всех устройств Android.

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

Я также нашел другое решение, но это, конечно, просто отдельное приложение, называемое surelock.

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

EDIT:

Приведенный выше код не скрывает планшетную панель. Я оставлю свой ответ для тех, кто хочет скрыть системную панель на другом устройстве Android.

Ответ 8

Вы не можете скрыть это, но вы можете просто отключить его, кроме дома. Попробуйте эту ссылку.. Используя SYSTEM_UI_FLAG_LOW_PROFILE, вы можете сгладить свою системную панель, а использование onWindowFocusChanged() может сфокусироваться и свернуть ее.

Ответ 9

Я нашел трюк на вкладке галактики, чтобы использовать его в качестве киоска в соответствии с разработчиком Samsung.

Вы можете попросить свое приложение быть в системе блокировки и попросить кнопку возврата вернуться к начальному действию/представлению вашего приложения. Я сделал это для приложения веб-просмотра

    @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);

а затем, когда вы дважды нажмете кнопку питания, вы нашли свое приложение, и только активная кнопка в активной строке

Таким образом, единственный способ - перезагрузить планшет (и поэтому вы можете использовать классическую систему блокировки с кодом для открытия планшета).

Может быть полезно, если кнопка питания не может быть получена посетителем, или если вы единственный, у кого есть код разблокировки

Ответ 10

//Поместите код в метод 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);
        }

Ответ 11

Чтобы создать приложение для киоска в андроиде, вам нужно следующее: - Заменить onkeydown

@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>

Не нужно странных приложений-шкафчиков, которые запрашивают миллион разрешений. Вам не нужно корневать свой телефон.