安卓無法跨應用複製文件的原理是什麼?

在Windows上,不同文件管理器複製文件,可以互相粘貼。

如Windows資源管理器、Total Commander、Directory Opus、Everything等等,它們之間可以互相複製文件。

在安卓上,不同的文件管理器為什麼不能互相粘貼?


汕頭腦 邀請你回答此問題 ? 忽略邀請

大部分Android應用在複製/粘貼文件的時候,實際上只是在應用內操作,並沒有涉及到操作剪貼板API。有一些原因在於Android 3.x之前,剪貼板API只能處理簡單的文本。事實上實現跨應用複製文件很簡單,我的應用甚至可以做到在Chrome中複製圖片,直接粘貼在文本框內添加圖片。


可以的。

SDK11後,android剪切板使用ClipData這個實體保存數據。ClipData可以傳遞uri。只要兩個應用程序都可以正常解析該uri即可。

你說的不能跨app粘貼的android資源管理器,它們文件複製粘貼都是app內的行為,通常是nio,根本沒用剪切板,因此也不實現跨程序複製粘貼的功能。

windows原理一樣。對應於ClipData,windows的剪切板是一個xml數據結構。並且windwos的大部分資源管理器也能夠平滑的接受剪切板中的數據結構並處理。


推薦閱讀:

TAG:操作系統 | Android開發 | Android | SD卡 |