Я занимаюсь разработкой приложения с функциями запуска (которое также является Device Admin). В моем приложении есть кнопка, которая при нажатии открывает список приложений Google Play для моего приложения, чтобы пользователи могли обновиться до последней версии. Я использую приведенный ниже код для достижения этой цели:
try {
final String appPackageName = getPackageName();
try {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
} catch (android.content.ActivityNotFoundException anfe) {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + appPackageName)));
}
}catch (Exception e){
e.printStackTrace();
}
Все отлично работает, здесь нет проблем. При исключении вышеуказанного кода пользователю предоставляется следующее (простите за греческий):
Из-за того, что мое приложение должно функционировать как средство запуска (в том смысле, что оно не должно позволять запускать другие приложения, и особенно другие приложения запуска), кнопка "Назад" и поле поиска представляют для меня риск. Теоретически пользователь может перемещаться или искать и загружать другие приложения, кроме моего, как показано ниже:
Итак, мой вопрос: есть ли способ запустить список приложений моего Google Play без кнопки «Назад» и строки / значка поиска? Страница, на которой пользователь может выполнять действия, связанные с моим приложением и ничего более. Нет возможности установить другие приложения.
Если кто-то придумает альтернативный подход, который даст такие же результаты, тогда непременно поделитесь своей мудростью! Но список моего приложения в Google Play без панели навигации / поиска вверху будет для меня Святым Граалем в этот момент! : D
Любая помощь будет принята с благодарностью! Заранее спасибо.
Некоторые ответы на ожидаемые вопросы. (Пользователи, которые чувствуют, что уже прочитали достаточно, не должны проходить этот пункт):
Приложение предназначено для очень специфических демографических . Это инструмент для водителей автобусов для печати билетов с использованием термопринтера по Bluetooth и выполнения различных задач, связанных с работой. Устройства - это не личные устройства водителей, а устройства, предоставляемые их агентством в качестве рабочих инструментов. Функции запуска пытаются решить проблему, когда драйверы будут использовать свои ежемесячные мобильные данные с помощью приложений, таких как Youtube e.t.c.
У меня есть Белый список приложений, которые пользователь может свободно запускать. Существует служба , которая проверяет, какое приложение является текущим на переднем плане, и если оно не принадлежит к Белому списку, оно немедленно перенаправляет пользователя обратно в мое приложение (поскольку нет законного способа убить эти приложения). на некорневом устройстве). Проблема с этим подходом состоит в том, что если запущенное приложение является приложением запуска (скажем, Nova Launcher), то в миллисекундах, что это приложение запуска находилось на переднем плане перед служба перенаправила пользователя обратно в мое приложение, приложение запуска уже предоставило пользователю диалоговое окно для выбора предпочтительного приложения запуска для устройства, как показано ниже, тем самым отключив мое приложение и получив бесплатный доступ через устройство: