在android或ios检查应用是否安装
android
包名: com.cabbagelol.bfban
https://developer.android.com/training/package-visibility
- Java
- kotlin
isPackageInstalled.java
private boolean isPackageInstalled(String packageName, PackageManager packageManager) {
try {
packageManager.getPackageInfo(packageName, 0);
return true;
} catch (PackageManager.NameNotFoundException e) {
return false;
}
}
isPackageInstalled.kt
private fun isPackageInstalled(packageName: String, packageManager: PackageManager): Boolean =
try {
packageManager.getPackageInfo(packageName, 0)
true
} catch (e: PackageManager.NameNotFoundException) {
false
}
ios
bundle ID: com.cabbagelol.bfban
isPackageInstalled.swift
Class LSApplicationWorkspace_class = objc_getClass("LSApplicationWorkspace");
NSObject* workspace = [LSApplicationWorkspace_class performSelector:@selector(defaultWorkspace)];
NSArray *allApplications = [workspace performSelector:@selector(allApplications)];
NSInteger appConnt = 0;
for (NSString *appStr in allApplications) {
NSString *app = [NSString stringWithFormat:@"%@",appStr];
NSRange range = [app rangeOfString:@"BFBAN bundle ID"];
if (range.length > 1) {
appConnt ++;
}
}
if (appConnt >= 1) {
// 已安装
}