1.一种判断应用程序是否被安装的方法,其特征在于,该方法包括以下步骤:
建立安装应用程序列表集合,并将其存储到JAVA的内存区域的静态区中;
获取已安装的应用程序的包管理者对象;
通过包管理者对象获取当前Android系统的所有已安装的应用程序的包信息,得到包信息集合;
通过循环的方式对包信息集合进行遍历,获取所有已安装的应用程序的各自的包信息;
从每个包信息中获取对应的已安装的应用程序的包名信息,其中,获取应用程序的包管理者对象、获取当前Android系统的所有已安装的应用程序的包信息、获取所有已安装的应用程序的包信息以及获取对应的已安装的应用程序的包名信息,均是在Android系统启动时通过开启新的线程执行;
将所有已安装的应用程序的包名信息存储在安装应用程序列表集合中;以及判断安装应用程序列表集合是否包含所需要判定的应用程序的包名信息,若是,则所需要判定的应用程序已经安装,若否,则所需要判定的应用程序没有安装。
2.如权利要求1所述的判断应用程序是否被安装的方法,其特征在于:采用Thread方式开启所述新的线程。
3.如权利要求1所述的判断应用程序是否被安装的方法,其特征在于:调用Android系统的getPackageManager接口获取已安装的应用程序的包管理者对象。
4.如权利要求1所述的判断应用程序是否被安装的方法,其特征在于:调用包管理者对象中的getInstalledPackages函数获取当前Android系统的所有已安装的应用程序的包信息。
5.如权利要求1所述的判断应用程序是否被安装的方法,其特征在于:通过for循环的方式对包信息集合进行遍历,并调用包信息集合中的get(i)函数获得包信息集合中位置为i的包信息。
6.如权利要求1所述的判断应用程序是否被安装的方法,其特征在于:调用包信息中的getLaunchIntentForPackage函数来获取对应的应用程序的包名信息。
7.如权利要求1所述的判断应用程序是否被安装的方法,其特征在于:调用安装应用程序列表集合中的contains方法判断所需要判定的应用程序是否安装,若contains方法返回true,则安装应用程序列表集合包含所需要判定的应用程序的包名信息,若contains方法返回false,则安装应用程序列表集合未包含所需要判定的应用程序的包名信息。
8.如权利要求7所述的判断应用程序是否被安装的方法,其特征在于:所述方法还包括将所述contains方法封装成函数isAppInstall的步骤,若所述isAppInstall返回true,则所需要判定的应用程序已经安装,若所述isAppInstall返回false,则所需要判定的应用程序没有安装。
9.一种判断应用程序是否被安装的判断系统,其特征在于,包括:
包管理者对象模块,其用于管理Android系统中的包信息;
包信息获取模块,其根据所述包管理者对象模块获取Android系统所有已安装的应用程序的包信息,得到包信息集合;
遍历模块,其对包信息集合进行遍历,获得所有已安装的应用程序的单个包信息;
包名信息获取模块,其用于从每个包信息中获取对应的已安装的应用程序的包名信息;
所述包信息获取模块获取Android系统的所有已安装的应用程序的包信息、所述遍历模块获得所有已安装的应用程序的包信息以及所述包名信息获取模块获取对应的已安装的应用程序的包名信息,均是在Android系统启动时通过开启新的线程执行;
存储模块,其用于存储所有已安装的应用程序的包名信息,所述存储模块设于JAVA的内存区域中;以及判断模块,其用于判断存储模块是否包含所需要判定的应用程序的包名信息,若是,则所需要判定的应用程序已经安装,若否,则所需要判定的应用程序未安装。