2016-08-23 4 views
0

Я пытаюсь скрыть другое приложение, используя следующий код:скрыть другое приложение в Android

PackageManager pm = this.getPackageManager(); 
pm.setComponentEnabledSetting(new ComponentName("com.sas.remotesample",".Player"), 
PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, PackageManager.DONT_KILL_APP); 

и со следующим разрешением:

<uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"/> 

но он бросает

java.lang.SecurityException: Permission Denial: attempt to change component state 
+1

http://stackoverflow.com/questions/22277887/attempt-to-change-component-state-security-exception-in-android – rahul

+0

Спасибо, но это не помогло мне найти решение моей проблемы. –

ответ

1

CHANGE_COMPONENT_ENABLED_STATE имеет protectionLevel от signature|privileged. Это означает, что либо:

  • Вы должны создать свой собственный диск, а затем подписать приложение с тем же ключом подписи, который использовался для подписи пользовательских ROM. Затем устройства с установленным пользовательским ПЗУ позволят вашему приложению управлять состояниями компонентов других приложений.

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

В противном случае вы не сможете воспользоваться этим разрешением. Или, как указывает the documentation for the permission, «Не для использования сторонними приложениями».

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