mirror of
https://github.com/openharmony/ability_ability_runtime.git
synced 2026-08-25 12:23:20 -04:00
支持通过connectServiceExtension接口进行URI授权
Signed-off-by: 段嗣钊 <duansizhao@huawei.com> Change-Id: I678ebeb293c1286b7fcad81661a3e45dfb0564a8
This commit is contained in:
@@ -256,7 +256,6 @@ int AbilityConnectManager::StartAbilityLocked(const AbilityRequest &abilityReque
|
||||
|
||||
if (!isLoadedAbility) {
|
||||
TAG_LOGD(AAFwkTag::ABILITYMGR, "Target service has not been loaded.");
|
||||
targetService->GrantUriPermissionForServiceExtension();
|
||||
SetLastExitReason(abilityRequest, targetService);
|
||||
if (IsUIExtensionAbility(targetService)) {
|
||||
targetService->SetLaunchReason(LaunchReason::LAUNCHREASON_START_ABILITY);
|
||||
@@ -265,7 +264,6 @@ int AbilityConnectManager::StartAbilityLocked(const AbilityRequest &abilityReque
|
||||
} else if (targetService->IsAbilityState(AbilityState::ACTIVE) && !IsUIExtensionAbility(targetService)) {
|
||||
// It may have been started through connect
|
||||
targetService->SetWant(abilityRequest.want);
|
||||
targetService->GrantUriPermissionForServiceExtension();
|
||||
CommandAbility(targetService);
|
||||
} else if (IsUIExtensionAbility(targetService)) {
|
||||
DoForegroundUIExtension(targetService, abilityRequest);
|
||||
|
||||
@@ -3527,7 +3527,8 @@ int AbilityManagerService::ConnectAbilityCommon(
|
||||
Want abilityWant = want;
|
||||
AbilityRequest abilityRequest;
|
||||
std::string uri = abilityWant.GetUri().ToString();
|
||||
if (!uri.empty()) {
|
||||
bool isFileUri = (abilityWant.GetUri().GetScheme() == "file");
|
||||
if (!uri.empty() && !isFileUri) {
|
||||
// if the want include uri, it may only has uri information. it is probably a datashare extension.
|
||||
TAG_LOGD(AAFwkTag::ABILITYMGR,
|
||||
"%{public}s called. uri:%{public}s, userId %{public}d", __func__, uri.c_str(), validUserId);
|
||||
|
||||
@@ -1606,6 +1606,7 @@ void AbilityRecord::ConnectAbility()
|
||||
if (isConnected) {
|
||||
TAG_LOGW(AAFwkTag::ABILITYMGR, "connect state error.");
|
||||
}
|
||||
GrantUriPermissionForServiceExtension();
|
||||
lifecycleDeal_->ConnectAbility(GetWant());
|
||||
isConnected = true;
|
||||
}
|
||||
@@ -1637,6 +1638,7 @@ void AbilityRecord::CommandAbility()
|
||||
{
|
||||
TAG_LOGD(AAFwkTag::ABILITYMGR, "startId_:%{public}d.", startId_);
|
||||
CHECK_POINTER(lifecycleDeal_);
|
||||
GrantUriPermissionForServiceExtension();
|
||||
lifecycleDeal_->CommandAbility(GetWant(), false, startId_);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user