Intereting Posts
Избегайте, чтобы Android Lint жаловался на непереведенную строку Невозможно запустить новый Intent с помощью setClassName с другим пакетом в Android Интерфейс настройки Libgdx дает 2 неожиданные ошибки в новом проекте GWT Увеличьте скорость разработки Android Прямоугольный предмет с нажатым синим фоном Проверка ошибок при попытке переноса приложения Android на BlackBerry 10 Как заставить SearchView потерять фокус и свернуть при нажатии в другом месте (Android) Список в диалоговом окне с одним элементом с флажком Узнайте, что играет MediaPlayer, и остановите его onPause или onStop? Диспетчер аварийных сигналов и уведомление в android Как отключить автоматическое отображение консолей АБР в Eclipse? Как обновить список ListView после изменения базы данных? Android: последняя строка текста отключена Для создания видео из последовательности изображений на Android Не удалось запустить Android Studio

Приложения из последних приложений возвращаются в пусковую установку, а не пользовательскую пусковую установку

Я создаю пользовательскую пусковую установку, которая используется как режим киоска для телефона. Это означает, что большинство вещей скрыто, но позволяет пользователю получать доступ к некоторым приложениям. Я заметил, что когда я запускаю приложения из списка «Недавние приложения», когда я нажимаю кнопку «Назад», вместо моей пользовательской панели запуска появляется пусковая установка. Я удостоверился, что моя обычная пусковая установка – это пусковая установка по умолчанию, так как это запускающая программа, которая появляется, когда я нажимаю кнопку «домой». Кто-нибудь сталкивался с этой проблемой? Как это решить?

В своей попытке самостоятельно создать пользовательскую программу Launcher, чтобы сделать этот результат, вам нужно было отключить пусковую установку по умолчанию, которую я смог сделать с помощью KeyguardManager.

package com.themejunky.locker.services; public class KeyguardService extends Service { BroadcastReceiver mReceiver, mBatteryReceiver; // Intent myIntent; public class LocalBinder extends Binder { public KeyguardService getService() { return KeyguardService.this; } } @Override public IBinder onBind(Intent intent) { return mBinder; } private final IBinder mBinder = new LocalBinder(); @Override public void onCreate() { KeyguardManager.KeyguardLock k1; KeyguardManager km = (KeyguardManager) getSystemService(KEYGUARD_SERVICE); k1 = km.newKeyguardLock("IN"); k1.disableKeyguard(); KeyguardManager keyguardManager = (KeyguardManager)getSystemService(Activity.KEYGUARD_SERVICE); KeyguardManager.KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE); lock.disableKeyguard(); IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON); filter.addAction(Intent.ACTION_SCREEN_OFF); filter.setPriority(999); mReceiver = new LockScreenReceiver(); registerReceiver(mReceiver, filter); mBatteryReceiver = new BatteryReceiver(); IntentFilter filter2 = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); filter2.addAction(Intent.ACTION_BATTERY_OKAY); filter2.addAction(Intent.ACTION_BATTERY_LOW); registerReceiver(mBatteryReceiver, filter2); super.onCreate(); } @Override public int onStartCommand(Intent intent, int flags, int startId) { return START_STICKY; } @Override public void onDestroy() { unregisterReceiver(mReceiver); unregisterReceiver(mBatteryReceiver); super.onDestroy(); } 

}

Единственное решение, которое я нашел, когда у меня возникла такая же проблема, – перезапуск устройства. Когда вы запустите приложения из последних приложений и нажмите кнопку «Назад», вы увидите правильный домашний экран.