创建文件在android中不起作用

时间:2012-10-23 16:38:19

标签: android file android-activity android-manifest creation

我使用以下代码:

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

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

 // *** other code ***

但是当应用程序到达行

 f.createNewFile();
没什么可说的。其他代码行不会被执行,也不会发生错误。

我执行此代码的活动以这种方式配置为manf:

 <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"

这是什么意思?可能与我的创建文件问题有关吗?

2 个答案:

答案 0 :(得分:2)

您的警告与您创建文件的问题无关。

您没有正确的权限设置来写入设备上的外部存储设备。

添加

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

<activity标记

上方的清单

如果您想了解清单中有关警告的更多信息,请查看此答案here

答案 1 :(得分:0)

小心/ mnt / sdcard /可能无法在所有设备上运行,您应该使用Environment.getExternalStorageDirectory()并检查清单中的权限,如评论中所述