SDKClipboard類(防複製粘貼)
爲提供更安全的防複製粘貼的解決方案,eSDK引入了安全剪切板。用戶使用安全剪切板接口,既能防止內容從沙箱內被拷貝到沙箱外,同時又能讓沙箱內的應用互相拷貝粘貼。
SDK提供了兩種防止複製粘貼的場景:
場景一:複製的內容粘貼不到外部應用,只能在本應用中互相拷貝
這種場景實現起來比較簡單,作用範圍也比較廣,可對本應用中具備可長按複製粘貼的源生控件起作用(比如EditText、WebView等)。
實現方法:
在需要防複製粘貼的頁面對應的activity中重寫onResume()和onPause()方法,並調用sdk中的相關接口。
如果需要應用中的每個界面都能防複製粘貼,可寫一個父類的Activity,在父類的Activity中調用該接口,然後其他Activity繼承該父類Activity。
實現原理:
1. 在本應用中將數據拷貝後,在onPause()方法中將系統剪切板中的內容保存後,然後清空系統剪切板中的內容,所以當外部應用拷貝數據時發現沒有內容;
2. 回到本應用後,在OnResume()中將保存的數據取出後再放回系統的剪切板上,這樣剪切板中的內容可在本應用中隨意粘貼。
場景二:複製的內容可再沙箱內的應用互相拷貝粘貼,不能粘貼到其他應用。
這種場景實現起來相對上一種場景要複雜些,作用範圍較小,只能作用在重寫複製粘貼的控件上,但是可以實現沙箱內的應用間的數據拷貝,使數據的傳輸和共享在安全的基礎上更加方便。
實現方法:
1. 在佈局中添加一個控件(不一定是SDKEditText,一般的EditText也可以),SDKEditText複製出的內容默認放在安全剪切板,源生的EditText需自行實現該操作。
2. 監聽該控件的長按事件,重寫系統的複製粘貼方法,並根據安全剪切板是否有內容
3. 拷貝數據時將內容複製到安全剪切板上
4. 獲取安全剪切板上的內容
實現原理:
重寫系統的複製粘貼方法後,調用sdk中的相關接口,將拷貝出的內容是直接放在安全剪切板上的,而不是存放在系統的剪切板上,同樣,在獲取內容時也是在安全剪切板上獲取的,所以,該功能針對沙箱中有所有調用sdk中防複製粘貼接口實現重寫複製粘貼方法的應用中的所有控件。
Android 防複製粘貼使用總結
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.