2016-08-10 7 views
-1

В некоторых приложениях, когда я перехожу в Настройки> Приложение> любую деталь приложения, Кнопка «Отключить» отключена.Системное приложение vs Приложение системной подписи vs Привилегированное приложение

https://android.googlesource.com/platform/packages/apps/Settings/+/master/src/com/android/settings/applications/InstalledAppDetails.java)

Из приведенной выше ссылке, которую я знаю, если приложение Home приложение или приложение System, он не позволит, чтобы отключить это приложение.

https://android.googlesource.com/platform/packages/apps/Settings/+/b58b5127040b3c843fe42544a89a1085cf7e74f6/src/com/android/settings/Utils.java

Если вы проверяете isSystemPackage() API, по-видимому, чтобы проверить, если приложение подписано с системой подписи.

Это потому, что это системное приложение или потому что оно подписано с Системной подписью?

У меня есть много системных приложений (в системе/приложениях), кнопка «Отключена» включена.

Кроме того, он не упоминается нигде, что приложения с сигнатурой системы не могут быть удалены.

Или это случай Привилегированного приложения, хранящегося в системе/приватном приложении.

+0

(я думаю): потому что приложение ** подписано системой **, оно может включать/отключать определенные функции с помощью файла манифеста (отключить кнопку отключения, отключить кнопку четких данных и т. Д.). вторая проблема (местоположение приложения), я думаю, что только предустановленные приложения могут быть размещены на этом пути. ** ИЛИ ** устройство должно быть укоренено, поэтому пользователь может предоставить уровень доступа суперпользователя и установить приложение на этом пути – Yazan

+0

@Yazan Я не думаю, что разработчик может отключить ясную кнопку данных/отключить через файл манифеста. Пожалуйста, предоставьте несколько подробностей, как это можно сделать через манифест. Да, приложения, для которых отключена кнопка «Отключить», на самом деле предварительно установлены. Поэтому мне интересно, почему некоторые предустановленные приложения могут быть отключены, так как другие не могут быть отключены. – Surbhi

+0

да, они могут это сделать, но снова, только если приложение ** System App ** вы можете использовать это в своем манифесте (на теге приложения) 'android: allowClearUserData =" false "' оно будет работать, если ваше приложение является sys-приложением (подписанный подписи системы) – Yazan

ответ

0

После всех исследований, которые включали проверку подписей различных предустановленных приложений (с включенной и включенной кнопкой отключения), я пришел к выводу, что это зависит от Подписи.

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

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

  • Нет связанных вопросов^_^