我尝试将内部存储somethings.Open写入目录。和fileoutputstream.I。我设法写了一个文件,但是当我尝试使用这个文件时得到一个错误(在Logcat.When "Startactivity“部分运行打开一个dialog.Write "There a packet parsing error”on android device on android device).Actually这个文件是存在的,但是我没有使用这个文件。我对startactivity的目标是:打开一个将apk文件加载到android设备的意图。
我在内部存储上的路径
mydir = getDir("mydir", MODE_WORLD_READABLE);
filewithmydir = new File(mydir,fileName+".apk");
fileOutPutStream = new FileOutputStream(filewithmydir);从inputstream中用progressbar写一些东西到文件(这部分是成功的)
byte[] data = new byte[1024];
long total = 0;
int count;
while ((count = inputStream.read(data)) != -1) {
total += count;
publishProgress((int) total * 100 / fileLength);
fileOutPutStream.write(data, 0, count);
}使用该文件的部分
intent.setDataAndType(Uri.fromFile(new File(mydir.getAbsolutePath()+"/incomingplus.apk")), "application/vnd.android.package-archive");
startActivity(intent);// Error is here!我的权限
<uses-permission android:name="android.permission.INSTALL_PACKAGES"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
发布于 2012-09-04 18:01:00
如果您通过外部应用程序打开文件,它将无法访问您的文件。您还可以使用不同的变量:intent.setDataAndType(Uri.fromFile(new File(mydir.getAbsolutePath()+"/incomingplus.apk")), "application/vnd.android.package-archive"); startActivity(intentGuncelle);// Error is here!中的intent和intentGuncelle
发布于 2012-09-04 18:01:25
您是否已将权限包含在清单中?
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />https://stackoverflow.com/questions/12260945
复制相似问题