Android 防複製粘貼使用總結

                           SDKClipboard類(防複製粘貼)

     爲提供更安全的防複製粘貼的解決方案,eSDK引入了安全剪切板。用戶使用安全剪切板接口,既能防止內容從沙箱內被拷貝到沙箱外,同時又能讓沙箱內的應用互相拷貝粘貼。

SDK提供了兩種防止複製粘貼的場景:

場景一:複製的內容粘貼不到外部應用,只能在本應用中互相拷貝


這種場景實現起來比較簡單,作用範圍也比較廣,可對本應用中具備可長按複製粘貼的源生控件起作用(比如EditTextWebView等)。


   實現方法:

在需要防複製粘貼的頁面對應的activity中重寫onResume()onPause()方法,並調用sdk中的相關接口。

 如果需要應用中的每個界面都能防複製粘貼,可寫一個父類的Activity,在父類的Activity中調用該接口,然後其他Activity繼承該父類Activity

   



  實現原理:

1.       在本應用中將數據拷貝後,在onPause()方法中將系統剪切板中的內容保存後,然後清空系統剪切板中的內容,所以當外部應用拷貝數據時發現沒有內容;

2.       回到本應用後,在OnResume()中將保存的數據取出後再放回系統的剪切板上,這樣剪切板中的內容可在本應用中隨意粘貼。

場景二:複製的內容可再沙箱內的應用互相拷貝粘貼,不能粘貼到其他應用。


  這種場景實現起來相對上一種場景要複雜些,作用範圍較小,只能作用在重寫複製粘貼的控件上,但是可以實現沙箱內的應用間的數據拷貝,使數據的傳輸和共享在安全的基礎上更加方便。


    實現方法:

1.       在佈局中添加一個控件(不一定是SDKEditText,一般的EditText也可以),SDKEditText複製出的內容默認放在安全剪切板,源生的EditText需自行實現該操作。
   
 
2.       監聽該控件的長按事件,重寫系統的複製粘貼方法,並根據安全剪切板是否有內容
 
    


3.       拷貝數據時將內容複製到安全剪切板上
   
 
4.       獲取安全剪切板上的內容
 



 

  實現原理:

重寫系統的複製粘貼方法後,調用sdk中的相關接口,將拷貝出的內容是直接放在安全剪切板上的,而不是存放在系統的剪切板上,同樣,在獲取內容時也是在安全剪切板上獲取的,所以,該功能針對沙箱中有所有調用sdk中防複製粘貼接口實現重寫複製粘貼方法的應用中的所有控件。

https://developer.huawei.com/ict/forum/thread-22601.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章