android机身存储读写权限问题

chang74 chang74 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
要做一个自动更新功能,我需要下载一个APK包,然后调用系统的安装来安装这个APK,就是自己下载自己然后安装自己。
我把APK下载到SD卡里,一切相安无事,可以顺利进行
但是我要是把APK下载到机身存储空间,就有问题了

1. 下载到/data/data/xx.xx.xx/files 目录下 可以下载成功,但是安装的时候会提示解析包错误。
2. 下载到/system或者/cache,文件创建不成功,好像是权限问题。

请问我怎么才能在机身存储来完成自动更新功能,因为不能强迫别人去插一张SD才能用。

我调用系统安装的代码:
String tPath = downLoadFilePath;
File mainFile = new File(tPath);
if (mainFile.exists()) {
Uri data = Uri.fromFile(mainFile);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(data,
"application/vnd.android.package-archive");
startActivity(intent);
}

下载文件后存储:
File tFile = new File(saveFilePath); //saveFilePath可以是SD卡耶可以是机身存储。
if(tFile.exists())
{
tFile.delete();
}
if(!tFile.exists())
{
FileOutputStream fos = new FileOutputStream(tFile);
fos.write(saveBuffer);
fos.flush();
fos.close();
if(tFile.exists())
{
return tFile;
}
}

求解答,谢谢了。
...全文

相关推荐

把软件装到SD卡

**知识点:将软件安装到SD卡的Android系统操作详解**在早期的Android设备中,由于内置存储空间有限,用户常面临存储不足的问题。

菜鸟xing

Android实现获取SD卡总容量,可用大小,机身内存总容量及可用大小的方法

总的来说,这些方法提供了一种有效的方式,用于在Android应用中获取设备存储的相关信息,这对于优化资源管理、提示用户存储空间不足等问题非常有用。开发者可以根据实际需求选择合适的方法进行集成。

weixin_38722944

解决Android 5.1限制外置SD卡写入权限的问题

以下是通过修改系统文件来解除权限限制的步骤:1. 使用具有读写权限的文件管理器(如R.E管理器)挂载系统分区。2.

weixin_38723559

Android开发——文件存储

本文将深入探讨如何在Android中实现基于文件存储的日程安排应用,包括如何在机身内存或SD卡中保存数据文件,以及如何进行添加、删除操作。

断弯刀

Android数据存储(2)向机身内存(Internal Storage)和SDcard(External Storage)读写数据实例

总的来说向内存和SDcard中读写数据和java io操作基本差不多    而机身内存读取和SDcard读取数据有少许差别 机身内存数据读写  1.机身内存读取主要用个两个类文件输入流(FileInputStream)和文件输出流(FileOutputStream): FileInputStream fileInput = this.openFileInput("test.txt") 第一个参

小哥、
评论 23
收藏 已收藏
分享
返回顶部
chang74
Android 80,490 成员 91,375 内容