[基础]Android 应用的启动

Android 应用的启动模式分为两种,一种是通过启动器(Launcher)启动,另一种是通过Intent消息启动.

如果在通过Intent 消息启动前,希望判断欲启动的应用是否已经安装,

目前有两种方法可以检测相关的信息,一种是检测相关的UI组件是否存在,另一种是检测安装包是否存在.

检测组件是否存在的方法如下:

Intent intent = new Intent();
intent.setClassName(pluginPackgeName,pluginPackageName+".EngineSettings");
PackageManager pm = getPackageManager();
//检测Activity
ResolveInfo bestMatch = pm.resolveActivity(intent,PackageManage.MATH_DEFAULT_ONLY);

检测安装包是否存在的方法同样是基于PackageManage进行的, 具体如下:

public abstract PackageInfo getPackageInfo(String packageName,int flags)

如果安装的应用体验不佳,就要进行卸载操作,方法如下:

Uri uri = Uri.fromParts("package",packageName,null);
//packageName为包名,比如 com.xxx.apkInstaller
startActivity(it);

另外,通过adb 命令也能启动应用,方法如下:

#adb shell am start -n com.xxx.test/.MainActivity


摘自:<<深入Android应用开发>>核心技术解析与最佳实践 

posted @ 2014-04-26 13:23  一个学渣  阅读(195)  评论(0编辑  收藏  举报

 

CSDNGitHub 联系邮箱:aikongmeng@gmail.com


Copyright 2008-2019 Government All Rights Reserved