Android Studio:如何让其他应用程序在一段时间内使用我的应用程序的下载数据(如流式传输),同时又保证其安全?
Android Studio : How to let other apps use my app's downloaded data for some time period, like streaming, but also keep it secure?
我正在构建一个应用程序,它从服务器下载一些附件,如 mp4、mp3、docx、pdf 等,并将它们保存在 getApplicationContext().getDir()[ 返回的目录中=22=],这使得它可以安全地在此应用程序之外使用它。
但是,我需要外部应用程序打开附件,比如视频应该在视频播放器中打开,mp3 在音乐播放器中打开,pdf 在 pdf 阅读器中打开,等等。
但是,当前目录不允许外部应用程序访问这些附件。那么,有没有办法让这些外部应用程序访问它们,只有当我使用自己的应用程序打开这些附件时?
或者,有没有办法将附件保存在外部目录,比如SD卡,但仍然是安全的,即外部应用程序无法打开附件。只有当我使用自己的应用程序打开这些附件时,它才会授予其他应用程序现在可以打开附件的权限。应该像在线流媒体一样,用户无法访问应用程序外的数据。
如何实现?
看看这个 post - FileProvider 将解决您的问题。
我正在构建一个应用程序,它从服务器下载一些附件,如 mp4、mp3、docx、pdf 等,并将它们保存在 getApplicationContext().getDir()[ 返回的目录中=22=],这使得它可以安全地在此应用程序之外使用它。
但是,我需要外部应用程序打开附件,比如视频应该在视频播放器中打开,mp3 在音乐播放器中打开,pdf 在 pdf 阅读器中打开,等等。
但是,当前目录不允许外部应用程序访问这些附件。那么,有没有办法让这些外部应用程序访问它们,只有当我使用自己的应用程序打开这些附件时?
或者,有没有办法将附件保存在外部目录,比如SD卡,但仍然是安全的,即外部应用程序无法打开附件。只有当我使用自己的应用程序打开这些附件时,它才会授予其他应用程序现在可以打开附件的权限。应该像在线流媒体一样,用户无法访问应用程序外的数据。
如何实现?
看看这个 post - FileProvider 将解决您的问题。