博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 内部存储安装apk文件实现
阅读量:6628 次
发布时间:2019-06-25

本文共 1506 字,大约阅读时间需要 5 分钟。

目前国内市场的山寨机横行,安卓手机升级也是一天一个样,对于原来老手机可能没有SDCARD,导致我们的APP不能下载资源,无法更新APP,针对这种情况有以下解决方案。
通过以下函数判断是否有SD卡再判断下载到哪个目录下。

 

/**	 * 安装应用	 */	public static void update(File apkFile, Context context) {		Intent intent = new Intent(Intent.ACTION_VIEW);		if (apkFile != null && apkFile.exists()) {			chmod(apkFile.getAbsolutePath());//授权			intent.setDataAndType(Uri.fromFile(apkFile),					"application/vnd.android.package-archive");			intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);			context.startActivity(intent);		} else {			MLog.makeText("安装失败,安装文件未找到");		}	}	public static void chmod(String pathc) {		String chmodCmd = "chmod 666 " + pathc;		try {			Runtime.getRuntime().exec(chmodCmd);		} catch (Exception e) {			e.printStackTrace();		}	}	public static boolean isMounted() {		return Environment.getExternalStorageState().equals(				Environment.MEDIA_MOUNTED);	}/**	 * 初始文件可以存储的位置	 * @param context	 */	public static void init(Context context) {		FileUtil.context = context;		StringBuffer buffer = new StringBuffer();		String pName = context.getPackageName();		if (Tools.isMounted()) {			buffer.append(Environment.getExternalStorageDirectory()					.getAbsolutePath());			buffer.append(File.separator);			buffer.append(pName);			fileDir = buffer.toString();		} else {			buffer.append(context.getFilesDir().getAbsolutePath());			buffer.append(File.separator);			buffer.append(pName);			fileDir = buffer.toString();		}		File file = new File(fileDir);		if (!file.exists())			file.mkdir();	}

  

 

  • 本文固定链接: 
  • 转载请注明:  2015年01月22日 于  发表
你可能感兴趣的文章
这样做,轻松在Word中使用MathType
查看>>
VS Code非英语版本连接TFS错误解决方案
查看>>
angular5中使用jsonp请求页面
查看>>
sql in not in 案例用 exists not exists 代替
查看>>
使用newtonjson解决Json日期格式问题
查看>>
WEB前端资源代码:学习篇
查看>>
Nginx安装及配置详解【转】
查看>>
vue2.0 :style :class样式设置
查看>>
测不准原理主要指向微观
查看>>
Android之ExpandableList扩展用法(基于BaseExpandableListAdapter)
查看>>
解决注册表映像劫持
查看>>
怎样获取Web应用程序的路径
查看>>
xcode crash 查找 EXC_BAD_ACCESS 问题根源的方法
查看>>
linux下为php添加mongodb扩展
查看>>
使用java.util.concurrent.ThreadFactory来创建线程
查看>>
宅男程序员给老婆的计算机课程之5:设计模式
查看>>
PHPWAMP强行脱离依赖,在系统缺失必备组件或DLL受损的情况下依然能正常运行
查看>>
echo显示颜色
查看>>
UNIX高级环境编程: 终端登录过程-远程登录-进程组-Session-Linux启动过程-dup与重定向-守护进程...
查看>>
中国大数据科技传播联盟在京成立
查看>>