簡體   English   中英

我可以在用戶應用程序中非root用戶的設備上使用packagemanager.setApplicationEnabledSetting()

[英]Can I use packagemanager.setApplicationEnabledSetting() on non-rooted device in user app

我正在嘗試從我的應用程序禁用該應用程序之一。 我創建了啟動器應用程序,並嘗試使用包管理器的以下方法

pm.setApplicationEnabledSetting(packageInfo.packageName,PackageManager.COMPONENT_ENABLED_STATE_DISABLED,PackageManager.DONT_KILL_APP);

但我將SecurityException作為SecurityException:拒絕權限:嘗試從pid = 20217,uid = 10066,包uid = 10067更改組件狀態

注意:我找到解決方案的地方是在清單中提及以下權限

但是我在此權限中收到警告,該權限僅授予系統應用程序。

為了禁用/啟用其他應用程序,您的應用程序必須具有系統特權。 要獲得特權,您應該執行以下步驟。

將此行添加到清單標題android:sharedUserId =“ android.uid.system”

將此權限添加到清單“ android.permission.CHANGE_COMPONENT_ENABLED_STATE”

使用系統密鑰簽名您的應用。

我在啟動器應用程序中檢查了它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM