0
在我的申請中,我有一個ContentProvider
。我可以通過編程啓用/禁用ContentProvider嗎?
我可以通過編程啓用/禁用它嗎?
我需要該提供程序只適用於我的應用程序的某些口味,所以我認爲我可能會根據我擁有的其他屬性禁用/啓用它。
在我的申請中,我有一個ContentProvider
。我可以通過編程啓用/禁用ContentProvider嗎?
我可以通過編程啓用/禁用它嗎?
我需要該提供程序只適用於我的應用程序的某些口味,所以我認爲我可能會根據我擁有的其他屬性禁用/啓用它。
使用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);
如果「口味」你的意思是不同的分銷渠道或類似的東西,你也可以考慮只是沒有出貨'ContentProvider'擺在首位,用搖籃對於Android的產品口味。否則,如果您需要在單個APK中控制提供程序的行爲,Brigham的答案將起作用。 – CommonsWare