Android安装手机内存中的apk
2014-11-25 17:18
211 查看
1、一般情况下,下载的软件保存到sd卡中,如果需要从A程序中安装刚刚下载到sd卡中的apk,直接调用下面的代码就行
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(android.content.Intent.ACTION_VIEW);
File file = new File(apkpath);
if (file.exists() && file.isAbsolute()) {
intent.setDataAndType(Uri.fromFile(file),
"application/vnd.android.package-archive");
context.startActivity(intent);
}
2、如果手机中没有sd卡,将apk下载到了手机内存,即/data/data/包名/files此时上面的代码无法执行,会报“解析包名异常”的错误,原因是没有权限,可通过下面的代码运行(需root权限)
String cmd = "chmod 777 " +apkpath;
try {
Runtime.getRuntime().exec(cmd);
} catch (Exception e) {
e.printStackTrace();
}
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(android.content.Intent.ACTION_VIEW);
File file = new File(apkpath);
if (file.exists() && file.isAbsolute()) {
intent.setDataAndType(Uri.fromFile(file),
"application/vnd.android.package-archive");
context.startActivity(intent);
}
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(android.content.Intent.ACTION_VIEW);
File file = new File(apkpath);
if (file.exists() && file.isAbsolute()) {
intent.setDataAndType(Uri.fromFile(file),
"application/vnd.android.package-archive");
context.startActivity(intent);
}
2、如果手机中没有sd卡,将apk下载到了手机内存,即/data/data/包名/files此时上面的代码无法执行,会报“解析包名异常”的错误,原因是没有权限,可通过下面的代码运行(需root权限)
String cmd = "chmod 777 " +apkpath;
try {
Runtime.getRuntime().exec(cmd);
} catch (Exception e) {
e.printStackTrace();
}
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(android.content.Intent.ACTION_VIEW);
File file = new File(apkpath);
if (file.exists() && file.isAbsolute()) {
intent.setDataAndType(Uri.fromFile(file),
"application/vnd.android.package-archive");
context.startActivity(intent);
}
相关文章推荐
- 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等
- 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等) 收藏
- 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)
- 手机内存中安装apk
- Android中让应用程序自动安装到手机内存及判断应用程序是否安装在SDCard中
- Android无SD卡如何从内存中安装apk?
- 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)
- 探秘腾讯Android手机游戏平台之不安装游戏APK直接启动法 3ff8
- 【转】探秘腾讯Android手机游戏平台之不安装游戏APK直接启动法
- Android获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)
- 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等) 收藏
- Android 源码编译的系统apk如何安装到手机
- 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)
- 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)
- 通过adb安装apk到android手机
- 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等) 收藏
- 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用 ...
- 【Android】获取手机中已安装apk文件信息
- android 如何在手机第一次开机的时候,把用户放在外置SD卡上的APK自动安装到手机的存储卡。
- Android如何判断应用程序是安装在手机内存中还是SD卡