1e41f4b71Sopenharmony_ci# Overview of Application Redirection 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ciApplication redirection enables users to jump from one application to another to transfer data or perform a specific action. It improves the convenience and smoothness of interaction. 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci 6e41f4b71Sopenharmony_ci## Two Types of Application Redirection 7e41f4b71Sopenharmony_ci 8e41f4b71Sopenharmony_ciApplication redirection can be categorized as follows based on whether the target application is specified: 9e41f4b71Sopenharmony_ci 10e41f4b71Sopenharmony_ci- Starting the specified application: The caller application specifies the target application by specifying either an application link and an ability. 11e41f4b71Sopenharmony_ci 12e41f4b71Sopenharmony_ci - Specifying an application link (recommended): Use [openLink](../reference/apis-ability-kit/js-apis-inner-application-uiAbilityContext.md#uiabilitycontextopenlink12) or [startAbility](../reference/apis-ability-kit/js-apis-inner-application-uiAbilityContext.md#uiabilitycontextstartability) to specify an [application link](#application-links) and start the target application page. 13e41f4b71Sopenharmony_ci 14e41f4b71Sopenharmony_ci - Specifying an ability (not recommended): Use [startAbility](../reference/apis-ability-kit/js-apis-inner-application-uiAbilityContext.md#uiabilitycontextstartability) to specify an ability and explicitly start the target application page. 15e41f4b71Sopenharmony_ci 16e41f4b71Sopenharmony_ci > **NOTE** 17e41f4b71Sopenharmony_ci > 18e41f4b71Sopenharmony_ci > In API version 11 and earlier versions, you can use explicit Want to start other applications. Since API version 12, third-party applications cannot use explicit Want to start other applications. 19e41f4b71Sopenharmony_ci 20e41f4b71Sopenharmony_ci- Starting an application of the specified type: The caller application starts a vertical domain panel that meets the user intent based on the business category (specified by the **type** or **feature** field). The panel displays all the vertical applications that can handle the intent, and users can choose to open one of them. 21e41f4b71Sopenharmony_ci 22e41f4b71Sopenharmony_ci Typical scenarios are navigation, sharing, and file opening. Redirection can be implemented in multiple modes based on the intent type. 23e41f4b71Sopenharmony_ci 24e41f4b71Sopenharmony_ci - [Navigation](start-intent-panel.md): supports navigation, location search, and route planning. 25e41f4b71Sopenharmony_ci - [File Opening](file-processing-apps-startup.md): opens a file of a specific type.<!--RP1--> 26e41f4b71Sopenharmony_ci <!--RP1End--> 27e41f4b71Sopenharmony_ci 28e41f4b71Sopenharmony_ci## Application Links 29e41f4b71Sopenharmony_ci 30e41f4b71Sopenharmony_ci### Basic URL Format 31e41f4b71Sopenharmony_ci 32e41f4b71Sopenharmony_ciAn application link is a URL that can direct users to a specific location in an application or a web page. The basic format of the URL is as follows: 33e41f4b71Sopenharmony_ci``` 34e41f4b71Sopenharmony_cischeme://host[:port]/path/ 35e41f4b71Sopenharmony_ci``` 36e41f4b71Sopenharmony_ci 37e41f4b71Sopenharmony_ci- **scheme**: scheme name, for example, http and https. 38e41f4b71Sopenharmony_ci- **host**: domain name or IP address, for example, developer.huawei.com or 127.0.0.1. 39e41f4b71Sopenharmony_ci- **port**: port number, for example, 80 in developer.huawei.com:80. 40e41f4b71Sopenharmony_ci- **path**: directory or file path on the DNS, for example, consumer in developer.huawei.com/consumer/. 41e41f4b71Sopenharmony_ci 42e41f4b71Sopenharmony_ci> **NOTE** 43e41f4b71Sopenharmony_ci> 44e41f4b71Sopenharmony_ci> The scheme of a third-party application cannot be the same as that of a system application. Otherwise, the third-party application cannot be started using the URI. 45e41f4b71Sopenharmony_ci> 46e41f4b71Sopenharmony_ci> If multiple applications are configured with the same URLs, these applications will be matched during application redirection, and a dialog box will be displayed for uses to select. For better user experience, you can use the **path** field to distinguish the application to start. For example, use **https://www.example.com/path1** to start target application 1 and use **https://www.example.com/path2** to start target application 2. 47e41f4b71Sopenharmony_ci 48e41f4b71Sopenharmony_ci### Working Principles of Application Link Redirection 49e41f4b71Sopenharmony_ci 50e41f4b71Sopenharmony_ci1. The target application registers its URL in the configuration file and provides the URL for external systems. 51e41f4b71Sopenharmony_ci2. The caller application passes in information such as the URL of the target application to the redirection APIs. 52e41f4b71Sopenharmony_ci3. After receiving the information such as the URL, the system searches for the matching application and redirects to the target application. 53e41f4b71Sopenharmony_ci 54e41f4b71Sopenharmony_ci 55e41f4b71Sopenharmony_ci### Comparison Between Deep Linking and App Linking 56e41f4b71Sopenharmony_ci 57e41f4b71Sopenharmony_ciDeep Linking enables users to jump to a specific page of an application through a link. It allows developers to define schemes in any form. 58e41f4b71Sopenharmony_ci 59e41f4b71Sopenharmony_ciApp Linking, as a specific type of Deep Linking, stipulates that the scheme must be https and adopts domain name verification to further filter the target application. 60e41f4b71Sopenharmony_ci 61e41f4b71Sopenharmony_ciCompared with Deep Linking, App Linking has higher security, reliability, and user experience. Therefore, App Linking is recommended. 62e41f4b71Sopenharmony_ci 63e41f4b71Sopenharmony_ci| Type| Deep Linking | App Linking | 64e41f4b71Sopenharmony_ci| -------- | -------- |-------- | 65e41f4b71Sopenharmony_ci| Implementation effect| - If the target application has been installed, it is started directly.<br> - If the target application is not installed, error code 16000019 is displayed.| - If the target application has been installed, it is started directly.<br> - If the target application is not installed, a browser page is opened.| 66e41f4b71Sopenharmony_ci| Constraints| - The scheme in the URL can be customized.<br> - Domain name verification is not required.| - The scheme in the URL must be https.<br> - Domain name verification must be carried out on the cloud server.| 67e41f4b71Sopenharmony_ci| Security| The target applications are easy to be spoofed since there is no domain name verification.| Domain name verification ensures reliable redirection to the target applications.| 68e41f4b71Sopenharmony_ci 69e41f4b71Sopenharmony_ci## Typical Scenario: Starting a System Application 70e41f4b71Sopenharmony_ci 71e41f4b71Sopenharmony_ciStarting a system application is a typical scenario of application redirection. The system provides some capabilities and interfaces for you to quickly implement system application redirection while ensuring access security. For details, see [Starting a System Application](system-app-startup.md). 72