内部ストレージの何かを書き込もうとしました。ディレクトリを開き、ファイル出力ストリームを作成しました。ファイルを書き込むことはできましたが、このファイルを使用しようとするとエラーが発生します(Logcatではエラーは発生しません。「Startactivity」部分が開いたときに実行されますダイアログ.Androidデバイスのダイアログに「パケット解析エラーがあります」と書きます.実際にはファイルは存在しますが、私はファイルを使用していません. 私のstartactivityの目的:apkファイルをAndroidデバイスにロードするインテントを開きます。
内部ストレージのマイ パス
mydir = getDir("mydir", MODE_WORLD_READABLE);
filewithmydir = new File(mydir,fileName+".apk");
fileOutPutStream = new FileOutputStream(filewithmydir);
入力ストリームからプログレスバーでファイルに何かを書き込みます(この部分は成功しています)
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"/>