一旦我使用下面的功能
,我就会出现解析错误public void installFile()
{
String path = "/data/data/com.utsc.smartdictate/";
String filename = "smartdictate.apk";
File file = new File(path + filename);
if(file.exists())
{
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");
startActivity(intent);
}
}
我尝试从模拟器中拉出apk文件并尝试安装它,以测试文件是否已损坏,但是它安装了!所以我不知道为什么会失败。
编辑:我在清单
中添加了“android.permission.INSTALL_PACKAGES”权限答案 0 :(得分:2)
最有可能的是,安装程序无法读取该文件。默认情况下,其他进程无法读取应用程序本地文件存储中的文件。您需要将文件存储在外部存储上,或使用openFileOutput()
和MODE_WORLD_READABLE
创建文件,或者创建内容提供商来提供该文件。
此外:
getFilesDir()
获取应用程序本地文件存储的根目录/data/data/com.utsc.smartdictate/
中,而是存储在/data/data/com.utsc.smartdictate/files
中,这是您从getFilesDir()
获得的文件File
构造函数