首页 > 解决方案 > 如果安装了特定应用程序,如何阻止我的 VPN 应用程序运行

问题描述

我有一个在 OpenVPN 核心上运行的 android VPN 应用程序,所以我想检查是否安装了特定的应用程序,在连接应用程序时,它将停止并请求在运行之前卸载此类应用程序。

我在一个使用 JSON 的应用程序上看到了所有被列入黑名单的应用程序 id,我真的不知道在我自己的应用程序上进行此操作。

这是 JSON 图像文件: Blacklist.json

谢谢你。

标签: javaandroid

解决方案


您需要弄清楚设备上任何已安装应用程序的正确包名称是什么。

获取包裹信息:

private boolean isPackageInstalled(String packageName, PackageManager packageManager) {
    try {
        packageManager.getPackageInfo(packageName, 0);
        return true;
    } catch (PackageManager.NameNotFoundException e) {
        return false;
    }
}

然后你可以在这里签到,

PackageManager pm = context.getPackageManager();
boolean isInstalled = isPackageInstalled("com.somepackage.name", pm);
if(isInstalled) {
 // NO VPN
}
else {
// start your service
}

推荐阅读