1

内部ストレージの何かを書き込もうとしました。ディレクトリを開き、ファイル出力ストリームを作成しました。ファイルを書き込むことはできましたが、このファイルを使用しようとするとエラーが発生します(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"/>

4

2 に答える 2

0

外部アプリケーションでファイルを開いた場合、ファイルにアクセスできません。また、さまざまな変数を使用intentintentGuncelleます 。intent.setDataAndType(Uri.fromFile(new File(mydir.getAbsolutePath()+"/incomingplus.apk")), "application/vnd.android.package-archive"); startActivity(intentGuncelle);// Error is here!

于 2012-09-04T10:01:00.087 に答える
0

マニフェストに許可を含めましたか?

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
于 2012-09-04T10:01:25.377 に答える