Похоже ли «Отключение» приложений с Android 4 на «Замораживание» в резервной копии Titanium?

Я только что увидел, что могу «отключить» приложение в меню редактирования приложений на моем новом HTC Droid DNA (стандартный Android 4.1 с Sense).

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

Чем это "отключение" отличается от "зависания" Titanium Backup? (что касается полных эффектов)

Связано, но НЕ дублируется: android.stackexchange.com/questions/29976/…

Ответы (1)

Да, они добиваются одного и того же. Приложение будет не только недоступно в панели приложений, но и не может быть запущено с его помощью am start. Единственное отличие состоит в том, что механизм по умолчанию позволяет отключать определенные предустановленные приложения, в то время как Titanium Backup позволяет отключить любое приложение.

Для версии Android, такой как 4.2.1, при отключении предустановленного приложения из «Настройки» Android эта строка будет отображаться в /data/system/users/0/package-restrictions.xml:

<pkg name="PKG_NAME" enabled="3" />

Для Android 4.4 или 5.x это будет:

<pkg name="PKG_NAME" enabled="3" enabledCaller="com.android.settings" />

где PKG_NAMEимя пакета приложения , например, для калькулятора это com.android.calculator2.

Однако, когда вы отключаете замораживание приложения с помощью Titanium Backup, оно enabledCallerполучает значение shell:0, т. е.:

<pkg name="PKG_NAME" enabled="3" enabledCaller="shell:0" />
  • В обоих случаях, если приложение является предустановленным приложением, оно будет отображать только параметр «Включить» в разделе «Настройки» → «Приложения» → «ваше_приложение» .

  • Если это приложение, установленное пользователем, тогда Android не будет отображать параметр «Включить», но приложение все равно будет помечено как «Отключено».

    (Нажмите на изображение, чтобы увеличить)

    ИЗОБРАЖЕНИЕ:


pmотличается

pm disable PKG_NAMEтакже отключает приложение, но тогда приложение не будет отображаться даже в разделе «Настройки» → «Приложения».

Кроме того, при отключении приложения записывается pm disableдругое значение для .enabled

Для Android 4.2.1:

<pkg name="PKG_NAME" enabled="2" />

Для Android 4.4 и 5.x:

<pkg name="PKG_NAME" enabled="2" enabledCaller="shell:0" />

Вы можете отключить любое приложение, используя pmпри условии, что у вас есть root-доступ.