2012-06-17 3 views
5

Я разрабатываю приложение для Android для использования в CAR, и мне нужно, чтобы в телефоне или планшете драйвер мог запускать и использовать это приложение: нет вызова или запуска другого приложения. Это возможно? Если это не так, есть ли способ ограничить пользователя, например, удалить другие приложения и отключить систему установки и отключить вызывающую систему?Разработка Android: ограничить пользователя только запуском и использованием моего приложения

Спасибо заранее,

+0

это возможно с помощью Activitymanager создать сервис и смотреть стек активность и выбрать верхнее приложение, если это не ваше приложение затем запустить ваш application.for более securilty и может отключить keygaurd ключей –

+1

Пользователь, которого вы хотите ограничить с помощью любого другого приложения на телефоне, не является владельцем телефона, я полагаю? –

+0

Чтобы убедиться, что ничего не может быть запущено, вы должны изменить системное программное обеспечение на телефоне. –

ответ

6

я сделал аналогичное приложение, как это, который является фактически в кабине развлекательной системы. Я также написал сообщение в блоге об этом, вы можете проверить здесь: http://arnab.ch/blog/2012/01/android-auto-updating-homescreen-application/.

Это сложное приложение, и позвольте мне перечислить соответствующие пункты для вас:

  1. Ваше приложение должно быть приложение Homescreen (поиск Google для того, как создать Homescreen приложение для Android)
  2. кажется ясно, что у вас будет некоторый контроль над устройством, чтобы вы могли убедиться, что никаких дополнительных приложений не установлено.
  3. Домашний экран можно динамически включить/отключить, посмотреть приложение KytePhone, чтобы посмотреть, что я имел в виду. Короче вам понадобится пароль для выхода из приложения HomeScreen.
  4. Если вы хотите тихо удалить или установить любое приложение, вам понадобится root-доступ, или вам придется создать пользовательскую сборку Android, где ваше приложение будет иметь системные привилегии (возможно, это не то, что вы ищете).

Надеюсь, я смогу дать вам какое-то направление, если что-то неясно, тогда дайте мне знать.

+0

Очень хороший блогпост! – Tim

+0

@TimMesserschmidt Спасибо, что нашли время для чтения! – Arnab

+0

@ Арнаб - Спасибо. Полезный блог. Я уверен, что при разработке приложения вы прошли бы тонны соответствующих статей. Разделить их было бы полезно .... очень полезно ... в вашем блоге или здесь. – Srikanth

0

Вы можете использовать службу специальных возможностей для решения этой проблемы, и вам необходимо проверить предоставленные пакеты приложений внутри метода onAccessibilityEvent.

import android.accessibilityservice.AccessibilityService; 

public class MyAccessibilityService extends AccessibilityService { 
... 
    @Override 
    public void onAccessibilityEvent(AccessibilityEvent event) { 
    } 

    @Override 
    public void onInterrupt() { 
    } 

... 
} 

, пожалуйста, следуйте по ссылке: https://developer.android.com/training/accessibility/service.html

+0

и включить службу доступности в настройках. –