Как отключить панель состояния/панель уведомлений на андроиде программно?
Я создаю приложение lockscreen. Это приложение запускается с помощью SMS. Когда полученная SMS-команда была получена, она отображает активность блокировки экрана.
моя активность lockscreen использует TYPE_KEYGUARD для отключения кнопки главного экрана. Когда экран устройства выключится, а затем снова включите его, моя проблема - строка состояния/панель уведомлений, которые все еще отображаются на моем экране. это проблема, потому что пользователь по-прежнему может получить доступ к какой-либо программе через панель состояния/панель уведомлений, даже если устройство заблокировано. поэтому я хочу распустить эту панель состояния/панель уведомлений, чтобы пользователь (кража) больше не мог получить доступ к этому устройству.
Пожалуйста, помогите мне решить эту проблему.
Ответы
Ответ 1
Я думаю, что то, что вы пытаетесь сделать, программно задает активность как полноэкранный. Если да, рассмотрите следующее:
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
Источник: http://www.androidsnippets.com/how-to-make-an-activity-fullscreen
Ответ 2
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().requestFeature(Window.FEATURE_NO_TITLE);
}
Ответ 3
requestWindowFeature(Window.FEATURE_NO_TITLE);
отключает панель заголовка активности, а не панель уведомлений вверху.
Используйте эту тему в манифесте android для вашей деятельности:
"Theme.NoTitleBar.Fullscreen"
действительно работал у меня.
Он скрывает панель уведомлений.
Ответ 4
В Android 4.0 и ниже
Вариант 1:
<application
...
android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen" >
...
</application>
Вариант 2:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// If the Android version is lower than Jellybean, use this call to hide
// the status bar.
if (Build.VERSION.SDK_INT < 16) {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
setContentView(R.layout.activity_main);
}
...
}
на Android 4.1 и выше
View decorView = getWindow().getDecorView();
// Hide the status bar.
int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
// Remember that you should never show the action bar if the
// status bar is hidden, so hide that too if necessary.
ActionBar actionBar = getActionBar();
actionBar.hide();
И для Android 4.6 (Api 19) и выше используйте Immersive Full-Screen Режим
Ссылка из Google