应用的安装,启动和删除
2012-05-21 10:26
190 查看
启动或安装相应的应用的方法:
Step1:判断是否安装目标应用。只要知道目标应用的安装包名就可以通过判断"/data/data/packagename"是否存在来实现。
/**
* 判断是否安装目标应用
* @param packageName 目标应用安装后的包名
* @return 是否已安装目标应用
* @author zuolongsnail
*/
private boolean isInstallByread(String packageName) {
return new File("/data/data/" + packageName).exists();
}
Step2:目标应用已安装则启动,否则先安装。
/**
* 先判断是否安装,已安装则启动目标应用程序,否则先安装
* @param packageName 目标应用安装后的包名
* @param appPath 目标应用apk安装文件所在的路径
* @author zuolongsnail
*/
private void launchApp(String packageName, String appPath) {
// 启动目标应用
if (isInstallByread(packageName)) {
// 获取目标应用安装包的Intent
Intent intent = getPackageManager().getLaunchIntentForPackage(
packageName);
startActivity(intent);
}
// 安装目标应用
else {
Intent intent = new Intent();
// 设置目标应用安装包路径
intent.setDataAndType(Uri.fromFile(new File(appPath)),
"application/vnd.android.package-archive");
startActivity(intent);
}
}
删除
Uri packageURI=Uri.parse("package:"+xx);//xx是包名
Intent intent=new Intent(Intent.ACTION_DELETE,packageURI);
startActivity(intent);
权限
<uses-permission
android:name="android.permission.DELETE_PACKAGES"></uses-permission>
Step1:判断是否安装目标应用。只要知道目标应用的安装包名就可以通过判断"/data/data/packagename"是否存在来实现。
/**
* 判断是否安装目标应用
* @param packageName 目标应用安装后的包名
* @return 是否已安装目标应用
* @author zuolongsnail
*/
private boolean isInstallByread(String packageName) {
return new File("/data/data/" + packageName).exists();
}
Step2:目标应用已安装则启动,否则先安装。
/**
* 先判断是否安装,已安装则启动目标应用程序,否则先安装
* @param packageName 目标应用安装后的包名
* @param appPath 目标应用apk安装文件所在的路径
* @author zuolongsnail
*/
private void launchApp(String packageName, String appPath) {
// 启动目标应用
if (isInstallByread(packageName)) {
// 获取目标应用安装包的Intent
Intent intent = getPackageManager().getLaunchIntentForPackage(
packageName);
startActivity(intent);
}
// 安装目标应用
else {
Intent intent = new Intent();
// 设置目标应用安装包路径
intent.setDataAndType(Uri.fromFile(new File(appPath)),
"application/vnd.android.package-archive");
startActivity(intent);
}
}
删除
Uri packageURI=Uri.parse("package:"+xx);//xx是包名
Intent intent=new Intent(Intent.ACTION_DELETE,packageURI);
startActivity(intent);
权限
<uses-permission
android:name="android.permission.DELETE_PACKAGES"></uses-permission>
相关文章推荐
- Tinycore linux应用软件的安装删除
- ubuntu12.04安装中文输入法(ibus)和开机自动启动ibus应用
- Android - 安装及卸载应用,启动应用程序,分享,详细信息,设备进程信息获取,获取进程占用RAM,清理进程
- 网页上启动特定android应用,如果安装就打开,如果未安装就跳到下载页面
- VS.NET Beta2安装后添加/删除程序不能正常启动的问题的解决方案
- 根据应用存放的位置,如何动态的启动应用的安装界面。
- 获取android已安装的应用PackageInfo启动第三方APP应用
- Android中如何在应用A中启动或安装应用B
- Weblogic 新建服务节点、启动并安装应用
- 爬坑!解决应用安装完成打开和返回桌面打开app启动两次应用的问题
- Android 在一个应用中如何启动另外一个已安装的应用!!!
- Android 判断应用 第一次安装启动
- windows服务删除后,在次安装时无法安装启动。
- Android 安装和启动另外一个应用
- 通过PackageManager启动/卸载已安装的应用
- 如何手动安装、启动、卸载和删除Windows服务
- Android中实现Activity的启动拦截之----实现360卫士的安装应用界面
- Android中如何在应用A中启动或安装应用B
- PostgreSQL简介、安装、用户管理、启动关闭、创建删除数据库
- Oracle应用工具软件——PL/SQL Developer下载、安装、启动过程图解!