public final class AppTool
extends java.lang.Object
限定符和类型 | 方法和说明 |
---|---|
static void |
bindService(android.content.Context context,
java.lang.Class<?> cls,
android.content.ServiceConnection conn,
int flags)
绑定服务
|
static void |
bindService(android.content.Context context,
java.lang.String className,
android.content.ServiceConnection conn,
int flags)
绑定服务
|
static java.util.Set |
getAllRunningService(android.content.Context context)
获取所有运行的服务
|
int |
getAppVersionCode(android.content.Context ctx)
获取应用版本号
|
java.lang.String |
getLauncherActivity(android.content.Context context,
java.lang.String packageName)
获取launcher activity
|
java.lang.String |
getPackageName(android.content.Context context)
获取应用包名
|
java.lang.String |
getTopActivityName(android.content.Context context)
获取顶层activity名称
|
java.lang.String |
getVersionNameFromPackage(android.content.Context context)
获取应用版本名称
|
static AppTool |
instance() |
boolean |
isActivityExists(android.content.Context context,
java.lang.String packageName,
java.lang.String className)
判断是否存在Activity
|
boolean |
isAppForeground(android.content.Context context,
java.lang.String packageName)
判断App是否处于前台
当不是查看当前App,且SDK大于21时,
需添加权限
<uses-permission android:name="android.permission.PACKAGE_USAGE_STATS"/> |
boolean |
isProessRunning(android.content.Context context,
java.lang.String proessName)
进程是否运行
|
boolean |
isRunningForeground(android.content.Context context)
判断应用是否在前台运行
|
boolean |
isServiceRunning(android.content.Context mContext,
java.lang.String className)
服务是否运行
|
void |
launchActivity(android.content.Context context,
java.lang.String packageName,
java.lang.String className)
打开Activity
|
void |
launchActivity(android.content.Context context,
java.lang.String packageName,
java.lang.String className,
android.os.Bundle bundle)
打开Activity
|
static void |
startService(android.content.Context context,
java.lang.Class<?> cls)
启动服务
|
static void |
startService(android.content.Context context,
java.lang.String className)
启动服务
|
static boolean |
stopService(android.content.Context context,
java.lang.Class<?> cls)
停止服务
|
static boolean |
stopService(android.content.Context context,
java.lang.String className)
停止服务
|
static void |
unbindService(android.content.Context context,
android.content.ServiceConnection conn)
解绑服务
|
public static AppTool instance()
public static java.util.Set getAllRunningService(android.content.Context context)
context
- 上下文public static void startService(android.content.Context context, java.lang.String className)
context
- 上下文className
- 完整包名的服务类名public static void startService(android.content.Context context, java.lang.Class<?> cls)
context
- 上下文cls
- 服务类public static boolean stopService(android.content.Context context, java.lang.String className)
context
- 上下文className
- 完整包名的服务类名true
: 停止成功false
: 停止失败public static boolean stopService(android.content.Context context, java.lang.Class<?> cls)
context
- 上下文cls
- 服务类true
: 停止成功false
: 停止失败public static void bindService(android.content.Context context, java.lang.String className, android.content.ServiceConnection conn, int flags)
context
- 上下文className
- 完整包名的服务类名conn
- 服务连接对象flags
- 绑定选项
Context.BIND_AUTO_CREATE
Context.BIND_DEBUG_UNBIND
Context.BIND_NOT_FOREGROUND
Context.BIND_ABOVE_CLIENT
Context.BIND_ALLOW_OOM_MANAGEMENT
Context.BIND_WAIVE_PRIORITY
public static void bindService(android.content.Context context, java.lang.Class<?> cls, android.content.ServiceConnection conn, int flags)
context
- 上下文cls
- 服务类conn
- 服务连接对象flags
- 绑定选项
Context.BIND_AUTO_CREATE
Context.BIND_DEBUG_UNBIND
Context.BIND_NOT_FOREGROUND
Context.BIND_ABOVE_CLIENT
Context.BIND_ALLOW_OOM_MANAGEMENT
Context.BIND_WAIVE_PRIORITY
public static void unbindService(android.content.Context context, android.content.ServiceConnection conn)
context
- 上下文conn
- 服务连接对象public boolean isServiceRunning(android.content.Context mContext, java.lang.String className)
mContext
- className
- public boolean isProessRunning(android.content.Context context, java.lang.String proessName)
public int getAppVersionCode(android.content.Context ctx)
ctx
- public java.lang.String getVersionNameFromPackage(android.content.Context context)
context
- public java.lang.String getPackageName(android.content.Context context)
context
- public java.lang.String getTopActivityName(android.content.Context context)
context
- public boolean isRunningForeground(android.content.Context context)
context
- public boolean isAppForeground(android.content.Context context, java.lang.String packageName)
当不是查看当前App,且SDK大于21时,
需添加权限 <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS"/>
context
- 上下文packageName
- 包名true
: 是false
: 否public boolean isActivityExists(android.content.Context context, java.lang.String packageName, java.lang.String className)
context
- packageName
- 包名className
- activity全路径类名public void launchActivity(android.content.Context context, java.lang.String packageName, java.lang.String className)
context
- 上下文packageName
- 包名className
- 全类名public void launchActivity(android.content.Context context, java.lang.String packageName, java.lang.String className, android.os.Bundle bundle)
context
- 上下文packageName
- 包名className
- 全类名bundle
- bundlepublic java.lang.String getLauncherActivity(android.content.Context context, java.lang.String packageName)
context
- 上下文packageName
- 包名