您的位置:首页 > 移动开发

如何打开一个app

2015-10-21 14:13 459 查看
apk安装完成后,会生成一个存放apk安装的路径,获取方式如下:

public static String getSourceApkPath(Context context, String packageName) {
if (TextUtils.isEmpty(packageName))
return null;
try {
ApplicationInfo appInfo = context.getPackageManager().getApplicationInfo(packageName, 0);
return appInfo.sourceDir;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}

return null;
}

切勿根据自己的逻辑去总结路径,

经过Google和自己测试,发现事情是这样的:

1.当你第一次安装一个APK到手机上时(假设packageName为com.sina.weibo),Android会再/data/app/目录下拷贝一个名为com.sina.weibo-1.apk的文件;

2.重新安装一遍(可能是Google Market升级,也可能是自己手动安装),/data/app/目录下,该文件名就会改为com.sina.weibo-2.apk;

3.再重新安装一遍,文件名就又会变为com.sina.weibo-1.apk,周而复始(1或者2)...

不知道Google为什么做这么一个设计,可能是为了防止App升级的时候被覆盖掉吧。

所以千万不能手动写路径。

路径获取到了之后,



这里所谓的安装就是打开apk 百度有很多答案,我给出一个我测试通过的代码

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setDataAndType(Uri.parse(path),
 "application/vnd.android.package-archive");

startActivity(intent);

还有第二种方法,直接通过包名打开app
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: