public class AppUtils
extends java.lang.Object
author: Blankj blog : http://blankj.com time : 2016/8/2 desc : App相关工具类
Modifier and Type | Class and Description |
---|---|
static class |
AppUtils.AppInfo
封装App信息的Bean类
|
Modifier and Type | Method and Description |
---|---|
static boolean |
cleanAppData(Context context,
java.lang.String... dirPaths)
清除App所有数据
|
static boolean |
cleanAppData(java.io.File... dirs)
清除App所有数据
|
static void |
getAppDetailsSettings(Context context)
获取App具体设置
|
static void |
getAppDetailsSettings(Context context,
java.lang.String packageName)
获取App具体设置
|
static Drawable |
getAppIcon(Context context)
获取App图标
|
static Drawable |
getAppIcon(Context context,
java.lang.String packageName)
获取App图标
|
static AppUtils.AppInfo |
getAppInfo(Context context)
获取App信息
|
static AppUtils.AppInfo |
getAppInfo(Context context,
java.lang.String packageName)
获取App信息
|
static java.lang.String |
getAppName(Context context)
获取App名称
|
static java.lang.String |
getAppName(Context context,
java.lang.String packageName)
获取App名称
|
static java.lang.String |
getAppPackageName(Context context)
获取App包名
|
static java.lang.String |
getAppPath(Context context)
获取App路径
|
static java.lang.String |
getAppPath(Context context,
java.lang.String packageName)
获取App路径
|
static Signature[] |
getAppSignature(Context context)
获取App签名
|
static Signature[] |
getAppSignature(Context context,
java.lang.String packageName)
获取App签名
|
static java.lang.String |
getAppSignatureSHA1(Context context)
获取应用签名的的SHA1值
|
static java.lang.String |
getAppSignatureSHA1(Context context,
java.lang.String packageName)
获取应用签名的的SHA1值
|
static java.util.List<AppUtils.AppInfo> |
getAppsInfo(Context context)
获取所有已安装App信息
|
static int |
getAppVersionCode(Context context)
获取App版本码
|
static int |
getAppVersionCode(Context context,
java.lang.String packageName)
获取App版本码
|
static java.lang.String |
getAppVersionName(Context context)
获取App版本号
|
static java.lang.String |
getAppVersionName(Context context,
java.lang.String packageName)
获取App版本号
|
static void |
installApp(Activity activity,
java.io.File file,
int requestCode)
安装App(支持6.0)
|
static void |
installApp(Activity activity,
java.lang.String filePath,
int requestCode)
安装App(支持6.0)
|
static void |
installApp(Context context,
java.io.File file)
安装App(支持6.0)
|
static void |
installApp(Context context,
java.lang.String filePath)
安装App(支持6.0)
|
static boolean |
installAppSilent(java.lang.String filePath)
静默安装App
|
static boolean |
isAppDebug(Context context)
判断App是否是Debug版本
|
static boolean |
isAppDebug(Context context,
java.lang.String packageName)
判断App是否是Debug版本
|
static boolean |
isAppForeground(Context context)
判断App是否处于前台
|
static boolean |
isAppForeground(Context context,
java.lang.String packageName)
判断App是否处于前台
|
static boolean |
isAppRoot()
判断App是否有root权限
|
static boolean |
isInstallApp(Context context,
java.lang.String packageName)
判断App是否安装
|
static boolean |
isSystemApp(Context context)
判断App是否是系统应用
|
static boolean |
isSystemApp(Context context,
java.lang.String packageName)
判断App是否是系统应用
|
static void |
launchApp(Activity activity,
java.lang.String packageName,
int requestCode)
打开App
|
static void |
launchApp(java.lang.String packageName)
打开App
|
static void |
uninstallApp(Activity activity,
java.lang.String packageName,
int requestCode)
卸载App
|
static void |
uninstallApp(Context context,
java.lang.String packageName)
卸载App
|
static boolean |
uninstallAppSilent(Context context,
java.lang.String packageName,
boolean isKeepData)
静默卸载App
|
public static boolean isInstallApp(Context context, java.lang.String packageName)
context
- 上下文packageName
- 包名true
: 已安装false
: 未安装public static void installApp(Context context, java.lang.String filePath)
context
- 上下文filePath
- 文件路径public static void installApp(Context context, java.io.File file)
context
- 上下文file
- 文件public static void installApp(Activity activity, java.lang.String filePath, int requestCode)
activity
- activityfilePath
- 文件路径requestCode
- 请求值public static void installApp(Activity activity, java.io.File file, int requestCode)
activity
- activityfile
- 文件requestCode
- 请求值public static boolean installAppSilent(java.lang.String filePath)
非root需添加权限 <uses-permission android:name="android.permission.INSTALL_PACKAGES" />
filePath
- 文件路径true
: 安装成功false
: 安装失败public static void uninstallApp(Context context, java.lang.String packageName)
context
- 上下文packageName
- 包名public static void uninstallApp(Activity activity, java.lang.String packageName, int requestCode)
activity
- activitypackageName
- 包名requestCode
- 请求值public static boolean uninstallAppSilent(Context context, java.lang.String packageName, boolean isKeepData)
非root需添加权限 <uses-permission android:name="android.permission.DELETE_PACKAGES" />
context
- 上下文packageName
- 包名isKeepData
- 是否保留数据true
: 卸载成功false
: 卸载成功public static boolean isAppRoot()
true
: 是false
: 否public static void launchApp(java.lang.String packageName)
packageName
- 包名public static void launchApp(Activity activity, java.lang.String packageName, int requestCode)
activity
- activitypackageName
- 包名requestCode
- 请求值public static java.lang.String getAppPackageName(Context context)
context
- 上下文public static void getAppDetailsSettings(Context context)
context
- 上下文public static void getAppDetailsSettings(Context context, java.lang.String packageName)
context
- 上下文packageName
- 包名public static java.lang.String getAppName(Context context)
context
- 上下文public static java.lang.String getAppName(Context context, java.lang.String packageName)
context
- 上下文packageName
- 包名public static Drawable getAppIcon(Context context)
context
- 上下文public static Drawable getAppIcon(Context context, java.lang.String packageName)
context
- 上下文packageName
- 包名public static java.lang.String getAppPath(Context context)
context
- 上下文public static java.lang.String getAppPath(Context context, java.lang.String packageName)
context
- 上下文packageName
- 包名public static java.lang.String getAppVersionName(Context context)
context
- 上下文public static java.lang.String getAppVersionName(Context context, java.lang.String packageName)
context
- 上下文packageName
- 包名public static int getAppVersionCode(Context context)
context
- 上下文public static int getAppVersionCode(Context context, java.lang.String packageName)
context
- 上下文packageName
- 包名public static boolean isSystemApp(Context context)
context
- 上下文true
: 是false
: 否public static boolean isSystemApp(Context context, java.lang.String packageName)
context
- 上下文packageName
- 包名true
: 是false
: 否public static boolean isAppDebug(Context context)
context
- 上下文true
: 是false
: 否public static boolean isAppDebug(Context context, java.lang.String packageName)
context
- 上下文packageName
- 包名true
: 是false
: 否public static Signature[] getAppSignature(Context context)
context
- 上下文public static Signature[] getAppSignature(Context context, java.lang.String packageName)
context
- 上下文packageName
- 包名public static java.lang.String getAppSignatureSHA1(Context context)
可据此判断高德,百度地图key是否正确
context
- 上下文public static java.lang.String getAppSignatureSHA1(Context context, java.lang.String packageName)
可据此判断高德,百度地图key是否正确
context
- 上下文packageName
- 包名public static boolean isAppForeground(Context context)
context
- 上下文true
: 是false
: 否public static boolean isAppForeground(Context context, java.lang.String packageName)
当不是查看当前App,且SDK大于21时,
需添加权限 <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS"/>
context
- 上下文packageName
- 包名true
: 是false
: 否public static AppUtils.AppInfo getAppInfo(Context context)
AppInfo(名称,图标,包名,版本号,版本Code,是否系统应用)
context
- 上下文public static AppUtils.AppInfo getAppInfo(Context context, java.lang.String packageName)
AppInfo(名称,图标,包名,版本号,版本Code,是否系统应用)
context
- 上下文packageName
- 包名public static java.util.List<AppUtils.AppInfo> getAppsInfo(Context context)
getBean(PackageManager, PackageInfo)
(名称,图标,包名,包路径,版本号,版本Code,是否系统应用)
依赖上面的getBean方法
context
- 上下文public static boolean cleanAppData(Context context, java.lang.String... dirPaths)
context
- 上下文dirPaths
- 目录路径true
: 成功false
: 失败public static boolean cleanAppData(java.io.File... dirs)
dirs
- 目录true
: 成功false
: 失败