Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果安装了特定的应用程序,如何停止运行我的VPN应用程序_Java_Android - Fatal编程技术网

Java 如果安装了特定的应用程序,如何停止运行我的VPN应用程序

Java 如果安装了特定的应用程序,如何停止运行我的VPN应用程序,java,android,Java,Android,我有一个android VPN应用程序运行在OpenVPN核心上,所以我想检查是否安装了特定的应用程序,在连接该应用程序时,它将停止并请求卸载该应用程序,然后再运行 我在一个应用程序上看到过这样的情况,它使用JSON作为所有应用程序id的黑名单,我真的不知道在我自己的应用程序上怎么做 以下是JSON图像文件: 谢谢。您需要找出设备上任何已安装应用程序的正确软件包名称 获取包裹信息: private boolean isPackageInstalled(String packageName,

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

我在一个应用程序上看到过这样的情况,它使用JSON作为所有应用程序id的黑名单,我真的不知道在我自己的应用程序上怎么做

以下是JSON图像文件:


谢谢。

您需要找出设备上任何已安装应用程序的正确软件包名称

获取包裹信息:

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
}