2014-04-23 76 views
0

在我的申請中,我有一個ContentProvider我可以通過編程啓用/禁用ContentProvider嗎?

我可以通過編程啓用/禁用它嗎?

我需要該提供程序只適用於我的應用程序的某些口味,所以我認爲我可能會根據我擁有的其他屬性禁用/啓用它。

+2

如果「口味」你的意思是不同的分銷渠道或類似的東西,你也可以考慮只是沒有出貨'ContentProvider'擺在首位,用搖籃對於Android的產品口味。否則,如果您需要在單個APK中控制提供程序的行爲,Brigham的答案將起作用。 – CommonsWare

回答

5

使用PackageManager.setComponentEnabledSetting

ComponentName conProvCN = 
    new ComponentName(aContext, "com.a.content.provider.AContentProvider"); 
PackageManager pm = aContext.getPackageManager(); 
pm.setComponentEnabledSetting(conProvCN, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0); 
相關問題