Что уже работает:
- При установке приложения в качестве домашнего приложения системные панели скрываются.
- Системные панели не скрываются. отображается при событиях касания или перетаскивания
- При переводе эмулятора в спящий режим и его повторном включении панель навигации отображается на короткое время, а затем исчезает.
- При перезагрузке adb по умолчанию отображается экран загрузки, и мое домашнее приложение загружается только после завершения команды «Запуск телефона...».
AndroidManifest
Код: Выделить всё
Код: Выделить всё
class CarLauncher : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
hideSystemBars(window, window.decorView)
setContent {
CarLauncherTheme {
Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
Column {
Clock()
Greeting(
name = "Android",
modifier = Modifier.padding(innerPadding)
)
}
}
}
}
}
override fun onWindowFocusChanged(hasFocus: Boolean) {
super.onWindowFocusChanged(hasFocus)
hideSystemBars(window, window.decorView)
}
override fun onResume() {
super.onResume()
hideSystemBars(window, window.decorView)
}
private fun hideSystemBars(window: Window, decorView: View) {
WindowCompat.getInsetsController(window, decorView)
.hide(WindowInsetsCompat.Type.systemBars())
}
}
@Composable
fun Greeting(name: String, modifier: Modifier = Modifier) {
Text(
text = "Hello $name!",
modifier = modifier
)
}
@Composable
fun Clock() {
AndroidView(
factory = { context ->
TextClock(context).apply {
textSize.let { this.textSize = 30f }
}
},
modifier = Modifier.padding(5.dp),
)
}
Код: Выделить всё
- добавление всевозможных разрешений (взято из программы запуска, найденной в исходном коде Android)
- прослушивание BOOT_COMPLETED и LOCKED_BOOT_COMPLETED, чтобы показать мое приложение вместо экрана загрузки по умолчанию
- прослушивание ACTION_SCREEN_ON чтобы немедленно скрыть панель навигации при пробуждении экрана
- с помощью ActivityManager.moveTaskToFront
- и т. д.
У меня заканчиваются идеи, как достичь своих целей. Любая помощь приветствуется.
Подробнее здесь: https://stackoverflow.com/questions/790 ... ides-defau