android机身存储读写权限问题
要做一个自动更新功能,我需要下载一个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;
}
}
求解答,谢谢了。
我把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设备中,由于内置存储空间有限,用户常面临存储不足的问题。
Android实现获取SD卡总容量,可用大小,机身内存总容量及可用大小的方法
总的来说,这些方法提供了一种有效的方式,用于在Android应用中获取设备存储的相关信息,这对于优化资源管理、提示用户存储空间不足等问题非常有用。开发者可以根据实际需求选择合适的方法进行集成。
解决Android 5.1限制外置SD卡写入权限的问题
以下是通过修改系统文件来解除权限限制的步骤:1. 使用具有读写权限的文件管理器(如R.E管理器)挂载系统分区。2.
Android开发——文件存储
本文将深入探讨如何在Android中实现基于文件存储的日程安排应用,包括如何在机身内存或SD卡中保存数据文件,以及如何进行添加、删除操作。
Android数据存储(2)向机身内存(Internal Storage)和SDcard(External Storage)读写数据实例
总的来说向内存和SDcard中读写数据和java io操作基本差不多 而机身内存读取和SDcard读取数据有少许差别 机身内存数据读写 1.机身内存读取主要用个两个类文件输入流(FileInputStream)和文件输出流(FileOutputStream): FileInputStream fileInput = this.openFileInput("test.txt") 第一个参


