2014-12-03 2 views
1

У меня есть небольшая проблема, с которой мне нужна помощь. Мы создаем устройство, на котором нам нужно ограничить пользователя от множества вещей. Итак, мы исследовали создание пользовательской панели запуска, чтобы скрыть определенные приложения и функции от отображения.Создать новое приложение настроек в Android

Но одно нам также нужно сделать, чтобы ограничить то, что пользователь может установить из меню настроек/приложения в Android. Похоже, что единственный способ изменить то, что видимо/доступно в этом приложении/меню, - это написать собственный собственный ПЗУ, который мы не хотим делать.

Так что я хочу знать, могу ли я написать новое приложение настройки в андроиде, чтобы заменить его по умолчанию?

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

ответ

1

Короткий ответ, нет. Приложение настроек поставляется вместе с ПЗУ и является привилегированным приложением, которое имеет доступ к защищенным настройкам, а также к скрытым API. Вы могли бы попытаться создать свой собственный, но его нужно было бы подписывать с помощью ключа платформы, используемого для подписи других внутренних компонентов ПЗУ, а также для некоторых встроенных (не SDK) API.

+0

Спасибо за отзыв, я подумал, что это может быть что-то вроде этого. Я искал в Google несколько часов, но ничего не могу найти. Возможно, у вас есть ссылка на дополнительную информацию об этом? –

+0

Это не то, что действительно показано в общих документах разработчиков. Вам нужно будет изучить источники AOSP и посмотреть, как создаются изображения устройств, чтобы лучше понять. –

+0

Будем рады. –

0

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

<action android:name="android.settings.SETTINGS" /> 

Например, если вы делаете приложение пусковое это то, что вашей активности в манифесте должно понравиться, если вы хотите сделать это как настройками, так и активностью запуска.

<activity 
     android:name=".ExampleActivity" 
     android:label="@string/app_name" 
     android:launchMode="singleTask" 
      > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.HOME" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
      <action android:name="android.settings.SETTINGS" /> 

     </intent-filter> 
    </activity> 
+0

Это также работает в режиме блокировки браузера. – stevyhacker

Смежные вопросы