管控网络视图控件访问剪贴板的方法、装置、设备及介质制造方法及图纸

技术编号:38645480 阅读:13 留言:0更新日期:2023-08-31 18:36
本申请为网页开发技术领域,本申请提供了一种管控网络视图控件访问剪贴板的方法、装置、设备及介质,其中,所述方法包括:当检测到网络视图控件在初始化时,获取当前应用程序的APK包路径,调用网络视图控件中内核代码的类加载器加载剪贴板类,通过文件类加载器对APK包路径及剪贴板类进行加载及实例化,得到剪贴板实现类,并通过反射实例化对象,得到目标对象,根据需求为剪贴板实现类赋予所需管控的接口,并反射遍历剪贴板类的变量,找到变量类型为剪贴板类且是静态的目标变量,将所述目标对象设置为所述目标变量,以在本地实现剪贴板实现类自定义,不与业务代码耦合,侵入性低,避免网络视图控件在初始化过程中造成隐私泄露。网络视图控件在初始化过程中造成隐私泄露。网络视图控件在初始化过程中造成隐私泄露。

【技术实现步骤摘要】
管控网络视图控件访问剪贴板的方法、装置、设备及介质


[0001]本申请涉及网页开发
,具体而言,本申请涉及一种管控网络视图控件访问剪贴板的方法、装置、设备及介质。

技术介绍

[0002]WebView是一种网络视图控件,是Android系统提供的一种可以在应用程序中显示网页内容的控件。它可以显示网页、HTML内容和编辑文本区域等等,使得应用程序可以在内部展示网页,避免需要调用外部浏览器的麻烦。
[0003]网络视图控件是Android中内置的浏览器引擎,可通过其支持Java和JavaScript交互并具有缓存机制。由于网络视图控件提供了一个简单的映射规则,使得推出Web服务的业务变得非常简单,使得Android应用可以更加灵活多样。
[0004]在Android系统中,网络视图控件被广泛用于各种应用场景中,比如展示新闻、商品详情页面、操作向导、图片浏览、广告导航、搜索实现等等。网络视图控件可以方便地加载HTML、CSS、JavaScript、图片等网络资源,提升应用的用户体验,同时也增加了应用的展示方式,丰富了应用的多样性。
[0005]但是现有网络视图控件在初始化过程中调用到了剪贴板的接口,且并未对接口进行有效处理,容易造成隐私泄露。

技术实现思路

[0006]本申请的主要目的为提供一种管控网络视图控件访问剪贴板的方法、装置、设备及介质,以避免网络视图控件在初始化过程中造成隐私泄露。
[0007]为了实现上述专利技术目的,本申请提供一种管控网络视图控件访问剪贴板的方法,包括:
[0008]当检测到网络视图控件在初始化时,获取当前应用程序的APK包路径;
[0009]调用网络视图控件中内核代码的类加载器加载剪贴板类,通过文件类加载器对所述APK包路径及剪贴板类进行加载及实例化,得到剪贴板实现类,并通过反射实例化对象,得到目标对象;
[0010]根据需求为所述剪贴板实现类赋予所需管控的接口,并反射遍历所述剪贴板类的变量,找到变量类型为剪贴板类且是静态的目标变量;
[0011]将所述目标对象设置为所述目标变量。
[0012]优选地,所述调用网络视图控件中内核代码的类加载器加载剪贴板类,包括:
[0013]通过反射调用静态方法获取网络视图控件的FactoryProvider对象;
[0014]根据所述网络视图控件的FactoryProvider对象获取得到网络视图控件中内核代码的类加载器;
[0015]调用所述类加载器加载剪贴板类。
[0016]优选地,所述通过文件类加载器对所述APK包路径及剪贴板类进行加载及实例化,
得到剪贴板实现类,包括:
[0017]通过文件类加载器配置当前应用程序的APK包路径和网络视图控件中内核代码的类加载器,并进行加载及实例化,得到剪贴板实现类。
[0018]优选地,所述将所述目标对象设置为所述目标变量,包括:
[0019]根据所述目标变量替换所述剪贴板实现类中静态方法中的所述目标对象;其中,所述目标对象为instance对象。
[0020]优选地,所述通过反射实例化对象,得到目标对象,包括:
[0021]获取所述剪贴板实现类的Class对象;
[0022]通过有参构造函数或无参构造函数反射创建所述Class对象的对象实例,得到目标对象。
[0023]优选地,所述根据需求为所述剪贴板实现类赋予所需管控的接口,包括:
[0024]获取所述剪贴板实现类的Class对象;
[0025]根据所述Class对象获取所述剪贴板类的剪贴板内容;
[0026]判断所述剪贴板内容是否发生改变,若是,则获取自定义需求,根据所述自定义需求为所述剪贴板实现类赋予所需管控的接口。
[0027]优选地,所述反射遍历所述剪贴板类的变量,找到变量类型为剪贴板类且是静态的目标变量,包括:
[0028]获取所述剪贴板类的Class对象;
[0029]根据所述Class对象获取所述剪贴板类的所有声明的变量,利用For循环遍历所有变量,找到变量类型为剪贴板类且是静态的目标变量。
[0030]本申请还提供一种管控网络视图控件访问剪贴板的装置,所述装置包括:
[0031]获取模块,用于当检测到网络视图控件在初始化时,获取当前应用程序的APK包路径;
[0032]调用模块,用于调用网络视图控件中内核代码的类加载器加载剪贴板类,通过文件类加载器对所述APK包路径及剪贴板类进行加载及实例化,得到剪贴板实现类,并通过反射实例化对象,得到目标对象;
[0033]遍历模块,用于根据需求为所述剪贴板实现类赋予所需管控的接口,并反射遍历所述剪贴板类的变量,找到变量类型为剪贴板类且是静态的目标变量;
[0034]设置模块,用于将所述目标对象设置为所述目标变量。
[0035]本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
[0036]本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述任一项所述方法的步骤。
[0037]本申请所提供的一种管控网络视图控件访问剪贴板的方法、装置、设备及介质,当检测到网络视图控件在初始化时,获取当前应用程序的APK包路径,调用网络视图控件中内核代码的类加载器加载剪贴板类,通过文件类加载器对所述APK包路径及剪贴板类进行加载及实例化,得到剪贴板实现类,并通过反射实例化对象,得到目标对象,根据需求为所述剪贴板实现类赋予所需管控的接口,并反射遍历所述剪贴板类的变量,找到变量类型为剪贴板类且是静态的目标变量,将所述目标对象设置为所述目标变量,方案灵活,方便扩展,
在本地实现剪贴板实现类自定义,不与业务代码耦合,侵入性低,避免网络视图控件在初始化过程中造成隐私泄露。
附图说明
[0038]图1为本申请一实施例的管控网络视图控件访问剪贴板的方法的流程示意图;
[0039]图2为本申请一实施例的管控网络视图控件访问剪贴板的装置的结构示意框图;
[0040]图3为本申请一实施例的计算机设备的结构示意框图。
[0041]本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0042]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0043]网络视图控件WebView在初始化过程中,WebView在构造方法时。创建了核心服务提供者WebViewProvider,WebViewProvider内核层具体的实现是在网页展示内核类WebViewChromium,当WebView执行界面变更监听动作onWindowVisi本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种管控网络视图控件访问剪贴板的方法,其特征在于,包括:当检测到网络视图控件在初始化时,获取当前应用程序的APK包路径;调用网络视图控件中内核代码的类加载器加载剪贴板类,通过文件类加载器对所述APK包路径及剪贴板类进行加载及实例化,得到剪贴板实现类,并通过反射实例化对象,得到目标对象;根据需求为所述剪贴板实现类赋予所需管控的接口,并反射遍历所述剪贴板类的变量,找到变量类型为剪贴板类且是静态的目标变量;将所述目标对象设置为所述目标变量。2.根据权利要求1所述的方法,其特征在于,所述调用网络视图控件中内核代码的类加载器加载剪贴板类,包括:通过反射调用静态方法获取网络视图控件的FactoryProvider对象;根据所述网络视图控件的FactoryProvider对象获取得到网络视图控件中内核代码的类加载器;调用所述类加载器加载剪贴板类。3.根据权利要求1所述的方法,其特征在于,所述通过文件类加载器对所述APK包路径及剪贴板类进行加载及实例化,得到剪贴板实现类,包括:通过文件类加载器配置当前应用程序的APK包路径和网络视图控件中内核代码的类加载器,并进行加载及实例化,得到剪贴板实现类。4.根据权利要求1所述的方法,其特征在于,所述将所述目标对象设置为所述目标变量,包括:根据所述目标变量替换所述剪贴板实现类中静态方法中的所述目标对象;其中,所述目标对象为instance对象。5.根据权利要求1所述的方法,其特征在于,所述通过反射实例化对象,得到目标对象,包括:获取所述剪贴板实现类的Class对象;通过有参构造函数或无参构造函数反射创建所述Class对象的对象实例,得到目标对象。6.根据权利要求1所述的方法,其特征在于,所述根...

【专利技术属性】
技术研发人员:梁建勋
申请(专利权)人:深圳依时货拉拉科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1