expo-plugin-app-checker
v0.1.0
Published
检测指定的App是否存在
Maintainers
Readme
expo-plugin-app-checker
用于检测设备上是否安装了指定的应用程序。
安装
npm install expo-plugin-app-checker
# 或者
yarn add expo-plugin-app-checker配置
将以下内容添加到 app.json 或 app.config.js:
{
"expo": {
"plugins": [
"expo-plugin-app-checker"
]
}
}如果需要检测特定应用,可以配置额外的URL Schemes:
{
"expo": {
"plugins": [
[
"expo-plugin-app-checker",
{
"schemes": ["twitter", "instagram", "facebook", "linkedin"]
}
]
]
}
}这会自动为iOS和Android配置所需的 LSApplicationQueriesSchemes 和 queries。
iOS 下为 URI Scheme Android 下为 应用的包名(无需包含 '://')
使用方法
import * as AppChecker from 'expo-plugin-app-checker';
// 检查应用是否存在(Android 使用包名,iOS 使用 URL scheme)
AppChecker.checkAppExists('com.whatsapp')
.then(isExists => {
console.log('WhatsApp 是否存在:', isExists);
})
.catch(error => {
console.error('检查失败:', error);
});API
checkAppExists(packageNameOrScheme: string): Promise
检查设备上是否存在指定的应用程序。
packageNameOrScheme:
- 在 Android 上,使用完整的包名(例如
com.whatsapp) - 在 iOS 上,使用 URL scheme(例如
whatsapp://)
- 在 Android 上,使用完整的包名(例如
返回值: 返回一个 Promise,解析为布尔值,表示应用程序是否存在。
技术细节
- Android: 使用原生 PackageManager 来检测应用是否存在
- iOS: 使用 React Native 的 Linking.canOpenURL API 检测应用是否存在
平台支持
- ✅ Android
- ✅ iOS
许可证
MIT
