Java Android将下载的文件限制在应用程序中

Java Android将下载的文件限制在应用程序中,java,android,Java,Android,我正在构建的应用程序是用于播放视频的,但它需要能够下载视频,以便在用户未连接到互联网时可以观看视频 每当我的手机下载一个文件时,它就会进入手机的下载文件夹,但我希望下载的文件只能通过应用程序访问 有人能给我指出正确的方向吗?“我的所有搜索都会导致下载视频的应用程序。保存应用程序专用的文件 如果您正在处理不供其他应用程序使用的文件(例如仅由您的应用程序使用的图形纹理或声音效果),则应通过调用getExternalFilesDir()在外部存储上使用私有存储目录 此方法还使用类型参数来指定子目录的类

我正在构建的应用程序是用于播放视频的,但它需要能够下载视频,以便在用户未连接到互联网时可以观看视频

每当我的手机下载一个文件时,它就会进入手机的下载文件夹,但我希望下载的文件只能通过应用程序访问

有人能给我指出正确的方向吗?“我的所有搜索都会导致下载视频的应用程序。

保存应用程序专用的文件

如果您正在处理不供其他应用程序使用的文件(例如仅由您的应用程序使用的图形纹理或声音效果),则应通过调用getExternalFilesDir()在外部存储上使用私有存储目录

此方法还使用类型参数来指定子目录的类型(如DIRECTORY\u MOVIES)。如果不需要特定的媒体目录,请传递null以接收应用程序专用目录的根目录

从Android 4.4开始,在应用程序的私有目录中读取或写入文件不需要读取外部存储或写入外部存储权限。因此,您可以通过添加maxSdkVersion属性声明仅在较低版本的Android上请求权限:

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

...
注意:当用户卸载应用程序时,此目录及其所有内容将被删除。此外,系统媒体扫描程序不会读取这些目录中的文件,因此无法从MediaStore内容提供商访问这些文件。因此,您不应将这些目录用于最终属于用户的媒体,如使用应用程序捕获或编辑的照片,或用户使用应用程序购买的音乐。这些文件应保存在公共目录中

请参阅:

使用getFilesDir()将有效


但是使用getExternalFilesDir文件仍然可以通过android->package\u name\u文件夹中的文件管理器访问,通过使用getFilesDir,我们无法从外部访问这些文件,包括文件管理器。

就我个人而言,我不希望有这样一个“锁定”的应用程序。如果它转到下载文件,它仍然可以在手机脱机时播放。我正在为客户端构建应用程序,它在规范中:/你将不得不离开下载管理器。那么,视频不是必须用适当的容器格式包装吗?如果没有,视频文件可以通过一个简单的文件管理器播放,允许用户搜索设备?请解释您今天是如何下载视频的<代码>下载管理器?很高兴知道这一点。如果答案对你有效,请接受。