1

私は次のコードを使用しています:

 String outputFile = "/mnt/sdcard/mydir/myApp.apk"
 File f = new File(outputFile);

 if(!f.exists())
       f.createNewFile();

 // *** other code ***

しかし、アプリケーションがラインに到達すると

 f.createNewFile();

何も追加されません。他のコード行は実行されず、エラーは発生しません。

このコードを実行したアクティビティは、次のように明確に構成されています。

 <activity android:theme="@android:style/Theme.NoTitleBar" 
        android:name=".ACT_ImpostazioniAvanzate"  android:screenOrientation="landscape">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:scheme="content" />
            <data android:scheme="file" />
            <data android:mimeType="application/vnd.android.package-archive" />
        </intent-filter>
    </activity>

このアクティビティはメインのアクティビティではなく、マニフェストで次の Waring を取得します。

 "Exported activity does not require permission"

これは何を意味するのでしょうか?私の作成ファイルの問題に関連している可能性がありますか?

4

2 に答える 2

2

あなたの警告は、ファイルの作成に関する問題とは無関係です。

デバイスの外部ストレージに書き込むための適切なアクセス許可が設定されていません。

追加

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<activityタグの上のマニフェストに

マニフェストの警告に関する詳細情報が必要な場合は、こちらの回答をご覧ください

于 2012-10-23T16:50:29.257 に答える
0

/mnt/sdcard/ はすべてのデバイスで機能しない可能性があることに注意してEnvironment.getExternalStorageDirectory()ください。コメントに記載されているように、マニフェストの許可も使用して確認する必要があります

于 2012-10-23T16:51:18.693 に答える