我是一名Android开发人员,并且最近获得了一台Nougat设备,并注意到我写的很多应用都在这台设备上崩溃了。
崩溃可追溯到FileUriExposedException,我知道原因和修复(targetSdkVersion< 24,FileProvider,内容URI,带有StrictMode的VmPolicy等)
但我不太清楚这里的大局。就我而言,我有大约十几个相互关联的应用程序,它们将文件URI相互传递。我可以将它们更改为新标准,但这样做对我没有好处,而且我也使用了我无法控制的旧应用程序,并且对内容URI一无所知。
我尝试了几个文件管理器,并注意到旧版本的ES文件资源管理器和新版本的Mixplorer在调用应用程序时都使用文件URI,而Solid Explorer则使用内容URI。因此,情况似乎非常明显。
我熟悉Linux世界,可能有严格或松散的文件权限。我很清楚Nougat的等价物是什么,但是有没有相当于松散的权限?目前,我的想法是使用两行StrictMode方案关闭异常,同时逐步调整我的应用程序所需的方向,例如通过处理传入的文件和内容URI。
有没有人对这里的大局有所了解?