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

你可能感兴趣的:(安卓)