@capacitor/app-launcher
AppLauncher API 允许你的应用程序检查是否可以打开另一个应用程序并执行打开操作。
在 iOS 上,你只能通过已知的 URL 方案(URL scheme)来打开应用程序。
在 Android 上,你可以通过已知的 URL 方案或使用应用程序的公共包名来打开应用程序。
注意: 在 Android 11 及更高版本中,你需要在 AndroidManifest.xml 文件的 queries 标签内添加你想查询的应用程序包名。
示例:
<queries>
<package android:name="com.getcapacitor.myapp" />
</queries>
安装
npm install @capacitor/app-launcher@latest-6
npx cap sync
示例
import { AppLauncher } from '@capacitor/app-launcher';
const checkCanOpenUrl = async () => {
const { value } = await AppLauncher.canOpenUrl({ url: 'com.getcapacitor.myapp' });
console.log('可以打开 URL: ', value);
};
const openPortfolioPage = async () => {
await AppLauncher.openUrl({ url: 'com.getcapacitor.myapp://page?id=portfolio' });
};
API
canOpenUrl(...)
canOpenUrl(options: CanOpenURLOptions) => Promise<CanOpenURLResult>
检查给定的 URL 是否可以打开一个应用程序。
在 iOS 上,你必须在你应用程序的 Info.plist 文件中添加 LSApplicationQueriesSchemes 键来声明传递给此方法的 URL 方案。
了解更多关于配置 Info.plist 的信息。
对于未声明的方案,无论是否安装了相应的应用程序,此方法始终返回 false。要了解更多关于此键的信息,请参阅 LSApplicationQueriesSchemes。
| 参数 | 类型 |
|---|---|
options | |
返回值:
Promise<CanOpenURLResult>
自: 1.0.0
openUrl(...)
openUrl(options: OpenURLOptions) => Promise<OpenURLResult>
使用给定的 URL 打开一个应用程序。 在 iOS 上,URL 应为一个已知的 URL 方案。 在 Android 上,URL 可以是一个已知的 URL 方案或一个应用程序包名。
| 参数 | 类型 |
|---|---|
options | |
返回值:
Promise<OpenURLResult>
自: 1.0.0
接口
CanOpenURLResult
| 属性 | 类型 |
|---|---|
value | boolean |
CanOpenURLOptions
| 属性 | 类型 |
|---|---|
url | string |
OpenURLResult
| 属性 | 类型 |
|---|---|
completed | boolean |
OpenURLOptions
| 属性 | 类型 |
|---|---|
url | string |