From 8bc887e1a41a35e7aa07bcc81e0ea9c46440f9b9 Mon Sep 17 00:00:00 2001 From: yanglw Date: Sun, 14 Dec 2025 13:14:50 +0800 Subject: [PATCH] =?UTF-8?q?feat(core.runtime):=20=E6=94=AF=E6=8C=81Content?= =?UTF-8?q?=20Provider=E8=AE=BE=E7=BD=AEmultiprocess=3D"true"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 当 multiprocess="true" 时,PluginContainerContentProvider 不会在 Application.onCreate 之前创建,而是在真正被调用时才会创建。 当 PluginContainerContentProvider.onCreate 方法被调用时,DelegateProviderHolderPrepareListener.onPrepare 方法已经被调用(在 DynamicPluginLoader. 方法中),导致 PluginContainerContentProvider.hostContentProviderDelegate 没有被赋值。 --- .../runtime/container/PluginContainerContentProvider.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/projects/sdk/core/common/src/main/java/com/tencent/shadow/core/runtime/container/PluginContainerContentProvider.java b/projects/sdk/core/common/src/main/java/com/tencent/shadow/core/runtime/container/PluginContainerContentProvider.java index 61909b396..3ec602cfa 100644 --- a/projects/sdk/core/common/src/main/java/com/tencent/shadow/core/runtime/container/PluginContainerContentProvider.java +++ b/projects/sdk/core/common/src/main/java/com/tencent/shadow/core/runtime/container/PluginContainerContentProvider.java @@ -38,6 +38,10 @@ public class PluginContainerContentProvider extends ContentProvider { public PluginContainerContentProvider() { + ContentProviderDelegateProvider p = ContentProviderDelegateProviderHolder.contentProviderDelegateProvider; + if (p != null) { + hostContentProviderDelegate = p.getHostContentProviderDelegate(); + } ContentProviderDelegateProviderHolder.setDelegateProviderHolderPrepareListener(new ContentProviderDelegateProviderHolder.DelegateProviderHolderPrepareListener() { @Override public void onPrepare() {