diff --git a/services/distributeddataservice/service/data_share/data_provider_config.cpp b/services/distributeddataservice/service/data_share/data_provider_config.cpp index 0bb5498fa0b8e95365bc6115ef1bd1edfd395483..74a7630fb64b124ff770c1696c298e162c8dc456 100644 --- a/services/distributeddataservice/service/data_share/data_provider_config.cpp +++ b/services/distributeddataservice/service/data_share/data_provider_config.cpp @@ -42,13 +42,6 @@ DataProviderConfig::DataProviderConfig(const std::string &uri, uint32_t callerTo LoadConfigCommonStrategy::GetInfoFromProxyURI(providerInfo_.uri, providerInfo_.visitedUserId, callerTokenId, providerInfo_.bundleName); URIUtils::FormatUri(providerInfo_.uri); - // if visitedUserId is 0, set current foreground userId as visitedUserId - if (providerInfo_.visitedUserId == 0) { - if (!(AccountDelegate::GetInstance()->QueryForegroundUserId(providerInfo_.visitedUserId))) { - ZLOGE("Get foreground userId failed"); - providerInfo_.visitedUserId = -1; - } - } } else { auto [success, data] = URIUtils::GetUserFromProxyURI(providerInfo_.uri); if (success) { diff --git a/services/distributeddataservice/service/data_share/data_share_service_impl.cpp b/services/distributeddataservice/service/data_share/data_share_service_impl.cpp index 9c58bf0ebe1ddb15d003bd45aace35f9ddfee022..99bff919b6aa61984658fe159dd480456ff75b2a 100644 --- a/services/distributeddataservice/service/data_share/data_share_service_impl.cpp +++ b/services/distributeddataservice/service/data_share/data_share_service_impl.cpp @@ -1083,6 +1083,21 @@ int32_t DataShareServiceImpl::GetBMSAndMetaDataStatus(const std::string &uri, co errCode, URIUtils::Anonymous(calledInfo.uri).c_str()); return errCode; } + DataShareDbConfig dbConfig; + DataShareDbConfig::DbConfig dbArg; + dbArg.uri = calledInfo.uri; + dbArg.bundleName = calledInfo.bundleName; + dbArg.storeName = calledInfo.storeName; + dbArg.userId = calledInfo.singleton ? 0 : calledInfo.visitedUserId; + dbArg.hasExtension = calledInfo.hasExtension; + dbArg.appIndex = calledInfo.appIndex; + auto [code, metaData] = dbConfig.GetMetaData(dbArg); + if (code != E_OK) { + ZLOGE("Get metaData fail,bundleName:%{public}s,tableName:%{public}s,tokenId:0x%{public}x, uri:%{public}s", + calledInfo.bundleName.c_str(), calledInfo.tableName.c_str(), tokenId, + URIUtils::Anonymous(calledInfo.uri).c_str()); + return E_METADATA_NOT_EXISTS; + } return E_OK; }