android开发的MVP架构中View与Presenter的职责分配问题

刚刚开始学习MVP准备应用到实践中,发现了一些问题

举两个具体的职责作为例子:

第一个,将获取到的图片上传到服务器。

这个操作本身不涉及到UI的更新和展示,但同时也不需要与Model层交互,是否应该在Presenter中实现?

第二个,拍摄照片

这个功能虽然会有UI交互,但是在实现中是通过intent调用系统相机,并不直接调用UI,更像是逻辑处理。
但是这个功能的实现需要context或者Activity,而在presenter中使用context或activity应该是不被建议的。(如果有错请dalao指出)
类似的有动态权限请求

像上述的function如果要在MVP架构中实现应该放到哪一层?具体如何实现?比如context或者Activity是否应该通过方法参数传递到Presenter?

请dalao指教。

用mvp模式开发,一般网络请求都放在Presenter中实现,上传数据和返回数据的逻辑处理都放在Presenter层,数据返回的model层都有基层(公共)的数据成功失败model,对应公共的网络加载中成功和失败页面展示。
第二个直接可以定义一个工具类来完成。

mvp模式以解耦,逻辑清晰为目的,本身就几行代码就没必要在presenter上了。