2

次のコードを使用して、/data/data/com.abc.def/files/ ディレクトリにデータを書き込みます。

InputStream input = new BufferedInputStream(url.openStream());
            FileOutputStream fos = openFileOutput(file_name, Context.MODE_WORLD_READABLE);
            byte data[] = new byte[1024];

            long total = 0;

                while ((count = input.read(data)) != -1) {
                    total += count;
                    publishProgress(""+(int)((total*100)/lenghtOfFile));
                    fos.write(data, 0, count);
                }

                fos.flush();
                fos.close();
                input.close();
            } catch (Exception e) {}

次のコードを使用して、意図を介してファイルを開きます。

File file = getDir(file_name, Context.MODE_WORLD_READABLE);
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.setDataAndType(Uri.fromFile(file),"application/vnd.android.package-archive");
            startActivity(intent);

しかし、 「パッケージの解析に問題があります」のようなエラーが発生します

ここに画像の説明を入力 助けてください。前もって感謝します。

4

3 に答える 3

0

私はそれを解決します。

String fileName = "tmp.apk";
FileOutputStream fos = openFileOutput(fileName,
        MODE_WORLD_READABLE | MODE_WORLD_WRITEABLE);

// write the .apk content here ... flush() and close()

// Now start the standard instalation window
File fileLocation = new File(context.getFilesDir(), fileName);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(fileLocation),
                       "application/vnd.android.package-archive");
context.startActivity(intent);
于 2012-10-25T09:32:44.097 に答える
0

使用している API のレベルは?? 8+ (Froyo 以上) を使用してみてください


編集

この行をマニフェスト ファイルに追加します

<uses-sdk
    android:minSdkVersion="15"
    android:targetSdkVersion="15" />

また

<uses-sdk
    android:minSdkVersion="7"
    android:targetSdkVersion="15" />

より高いバージョンでコンパイルし、より低いバージョンで実行できるように

于 2012-10-25T09:14:58.750 に答える
0

私の電話は、Android バージョン 2.3.3 を実行している Samsung Galaxy S II で、パッケージをインストールしようとすると、「解析エラー」というエラーが表示されます。これらのパッケージの作成には Android 3.2 を使用しています。

2.3.3 デバイスで 3.2 アプリケーションを開こうとしています。

解決

マニフェスト ファイルから必要な API レベル タグ android:minSdkVersion を変更します。

または、必要な API レベル タグ android:minSdkVersion を削除します。

于 2012-10-25T09:02:43.830 に答える