Сохранение приложения отключено при сбросе заводских настроек

#android #android-source

#Android #android-исходный код

Вопрос:

Я проводил некоторые эксперименты с Android, чтобы заблокировать телефон ребенка. В идеале я бы хотел, чтобы он мог использовать только те приложения, которые были предварительно установлены на телефоне; он тратит чрезмерное количество времени на игры на телефоне. Я обнаружил, что могу отключить Google Play Store на телефоне (после рутирования), выполнив команду pm disable com.android.vending .

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

Мне удалось создать и запустить AOSP на телефоне и установить необходимые Gapps для Google Fi (нашего оператора) и другие необходимые приложения, но я хочу, чтобы в моем окончательном образе Android по умолчанию com.android.vending был отключен по умолчанию, если явно не будет повторно включен, скажем, после сброса настроек.

Сейчас мои знания об Android несколько ограничены, но из того, что я нашел через некоторые pm источники, следует, что статус «Включено / отключено» по умолчанию указан в AndroidManifest.xml в пакете APK. Поскольку я пытаюсь отключить приложение Google, я, скорее всего, не смогу это изменить.

Итак, вместо этого я пытался выяснить через источник pm, как именно pm происходит маркировка приложения как отключенного. К сожалению, мое понимание Java ужасно, поэтому я не смог ничего выяснить о внутренней работе того, как pm это делается.

Могу ли я каким-либо образом отключить com.vending.android в корневом каталоге моей системы по умолчанию при создании AOSP?

Обновление 1: похоже, что статус отключенного приложения зависит от пользователя. Таким образом, отключение приложения для одного пользователя не приводит к отключению для других. Но, несомненно, где-то есть файл глобальных настроек, от которого наследуется конфигурация пользователя …?

Обновление 2: Похоже, что pm работает с состоянием в памяти, которое не сохраняется (по крайней мере, для системных приложений) даже при перезагрузке.

Ответ №1:

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

Комментарии:

1. Я пытаюсь заблокировать телефон, который у него есть, вместо того, чтобы покупать новый. Если я не куплю телефон из Китая, в котором нет Play Store, у меня будет такая же проблема с любым телефоном.

2. Кроме того, поскольку я приложил все усилия для создания пользовательского образа Android для его телефона, это означает, что при сбросе к заводским настройкам «с чистого листа» все приложения / настройки, которые я ввел в системный образ, будут установлены по умолчанию.

3. Хорошо, затем добавьте родительский элемент управления или любое программное обеспечение, управляющее Google Play, и используйте SureLock, который предотвращает сброс к заводским настройкам. Он не сможет перезагрузить устройство или установить больше игр.. проблема решена. Взгляните: 42gears.com/blog/how-to-disable-factory-reset-using-surelock . Не забудьте проверить мой ответ, если найдете его полезным 😉

4. У моего старого Nokia N8 была эта функция приложения безопасности, которая сохранялась при сбросе заводских настроек