我使用以下代码:
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"
这是什么意思?可能与我的创建文件问题有关吗?
答案 0 :(得分:2)
您的警告与您创建文件的问题无关。
您没有正确的权限设置来写入设备上的外部存储设备。
添加
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
到<activity
标记
如果您想了解清单中有关警告的更多信息,请查看此答案here
答案 1 :(得分:0)
小心/ mnt / sdcard /可能无法在所有设备上运行,您应该使用Environment.getExternalStorageDirectory()
并检查清单中的权限,如评论中所述