2014-03-31 47 views
0

我想隱藏在Android應用程序另一個應用程序的安裝程序安裝的應用程序,可以說用戶已經安裝了3名爲Skype的,Watsapp,臉譜等第三方的應用...隱藏在android系統

是有辦法,我們可以隱藏和顯示他們點擊一個按鈕從另一個應用程序?我嘗試了下面的代碼。沒有運氣,沒有發生在我啓動

PackageManager packageManager = context.getPackageManager(); 
ComponentName componentName = new ComponentName(context, 
     LauncherActivity.class); 
packageManager.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 
     PackageManager.DONT_KILL_APP); 

但在這裏我沒有得到如何隱藏特定的應用?我也跟着這些所謂link

,但我不能瞭解如何隱藏特別的應用。

+0

其他鏈接提到的圖標可能不會重新引導之前被刪除。重新啓動後圖標仍然存在嗎? – scottt

+0

我不能隱藏其他應用程序因爲它應該是私人nd當你以這種方式隱藏它會破壞應用程序mainActivity所以.. – PankajAndroid

+0

@scottt是的,這是真的,圖標仍然存在...即使重新啓動 – Naruto

回答

1

要隱藏/取消隱藏應用程序,您的應用程序需要是DevicePolicyManager。您可以在http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html找到有關該設備的策略管理器的更多信息,你可能需要使用http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#setApplicationHidden(android.content.ComponentName,java.lang.String中,布爾)

DevicePolicyManager dpm = 
      (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE); 
ComponentName ownerComponent = new ComponentName(context, DeviceAdminReceiverImpl.class); 
boolean newHiddenValue = true; 
dpm.setApplicationHidden(ownerComponent, packageName, newHiddenValue); 
+0

是的,但你需要棒棒糖 – Premier

+0

這種方式將無法正常工作。因爲您必須是DeviceOwner應用程序才能以這種方式執行此操作 –

+0

「由**配置文件或設備所有者**調用以隱藏或取消隱藏程序包。當程序包隱藏時,它無法使用,但數據和實際程序包文件保留「。 – Dori