CN116048647B - 一种控制后台应用自启动的方法及电子设备 - Google Patents

一种控制后台应用自启动的方法及电子设备 Download PDF

Info

Publication number
CN116048647B
CN116048647B CN202210836558.8A CN202210836558A CN116048647B CN 116048647 B CN116048647 B CN 116048647B CN 202210836558 A CN202210836558 A CN 202210836558A CN 116048647 B CN116048647 B CN 116048647B
Authority
CN
China
Prior art keywords
application
contact
content data
data provider
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210836558.8A
Other languages
English (en)
Other versions
CN116048647A (zh
Inventor
肖名鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202210836558.8A priority Critical patent/CN116048647B/zh
Publication of CN116048647A publication Critical patent/CN116048647A/zh
Application granted granted Critical
Publication of CN116048647B publication Critical patent/CN116048647B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Telephone Function (AREA)

Abstract

本申请实施例提供了一种控制后台应用自启动的方法及电子设备,方法包括:在第一应用启动后,获取第一应用的联系人内容数据提供者信息,第一应用是包含联系人内容数据提供者标签的应用;如果联系人内容数据提供者信息中的联系人数量大于0,判断联系人的目标属性的属性值是否为空,目标属性包括联系人账户名称和/或联系人账户显示的名称;如果联系人内容数据提供者信息为空,或者,联系人内容数据提供者信息中的联系人的数量等于0,或者,目标属性的属性值为空,结束第一应用,并将第一应用添加至第一列表中。以解决如果不规范的第三方应用将自身联系人内容数据提供者标签的属性值设置为目标值后,在后台自动启动和/或开机自动启动的问题。

Description

一种控制后台应用自启动的方法及电子设备
技术领域
本申请涉及终端技术领域,尤其涉及一种控制后台应用自启动的方法及电子设备。
背景技术
随着电子技术的不断发展,电子设备在社会生活中的普及率越来越高,用户在日常生活中使用电子设备的频率也越来越高。电子设备中的软件系统中安装有各种用于实现各类软件功能的应用程序,以满足用户工作或生活需求。通常,应用程序的运行源于应用程序的启动。而应用程序的启动包括应用程序的自启动和用户的主动启动,用户的主动启动是在用户意愿下实施的应用程序启动。而应用程序的自启动则是在用户不知情或者违背用户意愿的情况下实施的应用程序启动。
目前,应用程序和应用程序之间会发生互拉行为。由于应用程序之间的关联关系,当一个应用程序启动后,与其关联的其他应用程序也会被拉起并在后台运行。例如,在联系人应用启动的场景下,如果第三方应用的联系人内容数据提供者标签(DirectoryProvider)的属性值为目标值(android.cotent.ContactDirectory),则联系人应用将调用联系人储存进程。联系人储存进程在启动时会扫描电子设备已安装的全部应用程序,并拉起包含Directory Provider的该第三方应用,以使该第三方应用在后台运行。
然而,由于某些第三方应用属于不规范的应用,并利用上述机制。如果不规范的应用将自身的Directory Provider标签的属性值伪装为android.cotent.ContactDirectory后,即可被联系人储存进程拉起,并在后台自动启动和/或开机自动启动。这样,将会存在窃取用户隐私信息和后台执行流氓广告弹窗等行为。同时还会消耗电子设备的各种资源,例如内存、CPU、I/O口和电量等,严重影响电子设备的安全运行,降低用户的使用体验感。
发明内容
本申请提供了一种控制后台应用自启动的方法及电子设备,以解决如果不规范的应用将自身联系人内容数据提供者标签的属性值设置为目标值后,即可在后台自动启动和/或开机自动启动,降低用户使用体验感的问题。
第一方面,本申请实施例提供了一种控制后台应用自启动的方法,包括:在第一应用启动后,获取第一应用的联系人内容数据提供者信息,第一应用是包含联系人内容数据提供者标签的应用;如果联系人内容数据提供者信息中的联系人数量大于0,判断联系人的目标属性的属性值是否为空,目标属性至少包括联系人账户名称和/或联系人账户显示的名称;如果联系人内容数据提供者信息为空,或者,联系人内容数据提供者信息中的联系人的数量等于0,或者,目标属性的属性值为空,结束第一应用,并将第一应用添加至第一列表中。
根据上述方法,在第一应用启动后,首先判断第一应用中联系人内容数据提供者信息的联系人数量。如果联系人数量大于0,接着判断联系人的目标属性的属性值是否为空。如果联系人内容数据提供者信息为空,或者,联系人的数量等于0,或者,目标属性的属性值为空,则判定第一应用为不规范的应用。进而,结束运行第一应用,并将第一应用添加至第一列表中。避免运行不规范的应用而消耗电子设备的各种资源,提高用户的使用体验感。
在一种可选择的实现方式中,将第一应用添加至第一列表中之后,还包括:判断第一应用是否为目标类型应用;如果第一应用不为目标类型应用,则获取第一应用根据联系人内容数据提供者标签被拉起的次数;如果次数大于预设阈值,则禁止第一应用根据联系人内容数据提供者标签被拉起。
在第一应用不为目标类型应用的场景下,通过再次判断第一应用根据联系人内容数据提供者标签被拉起的次数,来判定第一应用是否为不规范的应用。如果第一应用根据联系人内容数据提供者标签被拉起的次数大于预设阈值,则禁止第一应用根据联系人内容数据提供者标签被拉起。这样,后续第一应用将无法在后台自动启动和/或开机自动启动,提升用户的使用体验感。
在一种可选择的实现方式中,判断次数是否大于预设阈值之后,还包括:获取第一应用的联系人内容数据提供者标签中接口函数反馈的函数数据;判断函数数据是否与目标数据相同,其中,目标数据是目标应用的联系人内容数据提供者标签中的接口函数反馈的,目标应用为除第一应用之外的应用,且目标应用允许根据联系人内容数据提供者标签拉起;如果函数数据与目标数据不相同,则禁止第一应用根据联系人内容数据提供者标签被拉起。
通过对联系人内容数据提供者标签中接口函数反馈的函数数据进行判断,可以再次判定第一应用是否为不规范的应用。如果函数数据与目标数据不相同,则判定第一应用为不规范的应用,并禁止第一应用根据联系人内容数据提供者标签被拉起。因此,为了防止不规范的应用将自身的联系人内容数据提供者信息、联系人数量、目标属性的属性值以及应用类型进行伪装,再次通过对接口函数反馈的函数数据进行判断,更精确地管控第一应用,提升用户的使用体验感。
在一种可选择的实现方式中,在第一应用启动之前,还包括:扫描第二列表,第二列表包括电子设备中已安装的全部应用;更新每个应用的联系人内容数据提供者标签;将联系人内容数据提供者标签的属性值为目标值的应用确定为第一应用。
在一种可选择的实现方式中,在第一应用启动之前,还包括:在联系人变更后,判断联系人是否为系统联系人;如果联系人不是系统联系人,则将联系人确定为非系统应用联系人;根据非系统应用联系人获取对应非系统应用的应用标识;根据应用标识更新非系统应用的联系人内容数据提供者标签;如果联系人内容数据提供者标签的属性值为目标值,则将目标值对应的非系统应用确定为第一应用。
在非系统应用联系人出现变更的场景下,为了减少电子设备的处理时间,无需将电子设备中已安装的全部应用进行扫描和更新。因此,本申请在非系统应用联系人出现变更后,仅需通过应用标识更新对应的非系统应用,避免扫描和更新全部应用后才拉起第一应用,减少了用户等待时间,提升用户的使用体验感。
在一种可选择的实现方式中,还包括:如果联系人是系统联系人,更新第二列表中应用的联系人内容数据提供者标签;将联系人内容数据提供者标签的属性值为目标值的应用确定为第一应用。
在系统应用联系人出现变更的场景下,为了减少电子设备的处理时间,无需将电子设备中已安装的全部应用进行扫描。因此,本申请仅需更新第二列表中应用对应的联系人内容数据提供者标签。减少了用户等待时间,提升用户的使用体验感。
在一种可选择的实现方式中,系统联系人包括SIM卡联系人、云联系人、日历联系人、用户本地联系人和邮箱联系人。
在一种可选择的实现方式中,第一应用为第三方应用;联系人内容数据提供者标签为Directory Provider标签。
在一种可选择的实现方式中,在第一应用启动之前,还包括:接收服务器发送的第三列表,第三列表包括多个允许后台自启动的应用;判断第三列表中是否包括第一应用;如果第三列表中包括第一应用,则准备启动第一应用。
第二方面,本申请实施例提供了一种电子设备,包括:存储器和处理器,处理器和存储器耦合;其中,存储器包括有程序指令,程序指令被处理器运行时,使得电子设备执行如上述第一方面的方法。
第三方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序指令,当计算机程序指令被运行时,实现如上述第一方面的方法。
附图说明
图1为本申请实施例提供的电子设备的硬件结构示意图;
图2为本申请实施例提供的一种控制后台应用自启动的流程图;
图3为本申请实施例提供的另一种控制后台应用自启动的流程图;
图4为本申请实施例提供的第一进程确定第一应用的流程图;
图5为本申请实施例提供的第一进程与第一应用的交互图;
图6为本申请实施例提供的一种控制应用自启动装置的结构示意图;
图7为本申请实施例提供的另一种控制应用自启动装置的结构示意图。
具体实施方式
随着电子技术的不断发展,电子设备在社会生活中的普及率越来越高,用户在日常生活中使用电子设备的频率也越来越高。电子设备中的软件系统中安装有各种用于实现各类软件功能的应用程序,以满足用户工作或生活需求。
目前,应用程序和应用程序之间会发生互拉行为。由于应用程序之间的关联关系,当一个应用程序启动后,与其关联的其他应用程序也会被拉起并在后台运行。例如,在联系人应用启动的场景下,如果第三方应用的联系人提供者(Directory Provider)标签的属性值为目标值(android.cotent.ContactDirectory),联系人应用将调用联系人储存进程拉起该第三方应用,以使该第三方应用在后台运行。
例如,第三方应用将自身的AndroidManifest的Directory Provider中添加:<meta-data android:name="android.content.ContactDirectory"android:value="true"/>。
需要说明的是,联系人应用可以为通讯录应用。联系人储存进程用于管理电子设备上联系人相关数据的中央存储区,中央存储区可以提供用户在联系人应用中所看到的数据源。联系人储存进程还可以用于在电子设备与在线服务之间传送联系人相关数据。第三方应用可以包括连接应用程序,比如电子邮件、即时通讯、GPS导航、远程访问等;也可以包括商业应用程序,比如移动银行服务、股市跟踪与交易、文件处理及日程规划等;也可以包括生活方式的应用程序,比如电子商务、账单支付、健康监测、数字阅读与社交等;还可以包括娱乐应用程序,比如新闻、游戏、多媒体播放器、照片及视频编辑器等,本申请实施例不作限定。
为便于后续描述,本申请将第三方应用称为第一应用,将联系人储存进程称为第一进程,将Directory Provider标签称为联系人内容数据提供者标签。
在用户使用电子设备的场景下,由于某些第三方应用属于不规范的应用。如果不规范的第三方应用将自身的Directory Provider标签的属性值伪装为android.cotent.ContactDirectory后,即可被联系人储存进程拉起,并在后台自动启动和/或开机自动启动。这样,将会存在窃取用户隐私信息和后台执行流氓广告弹窗等行为。同时还会消耗电子设备的各种资源,例如内存、CPU、I/O口和电量等,且严重影响电子设备的安全运行,降低用户的使用体验感。
为了解决不规范的应用将自身联系人内容数据提供者标签的属性值设置为目标值后,即可在后台自动启动和/或开机自动启动的问题。本申请实施例提供了一种控制后台应用自启动的方法及电子设备。其中,本申请实施例提供的电子设备包括但不限于:手机、笔记本电脑、平板电脑、个人台式电脑、电脑一体机、大屏显示设备、虚拟/混合/增强现实设备等。
图1是本申请实施例示出的电子设备的硬件结构示意图。如图1所示,电子设备100可以包括处理器110,存储器120,通用串行总线(universal serial bus,USB)接口130,射频电路140,移动通信模块150,无线通信模块160,摄像头170,显示屏180,触摸传感器190,气压传感器210和按键220等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-networkprocessing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中,例如集成在系统芯片(system on a chip,SoC)中。处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
存储器120可以用于存储计算机可执行程序代码,可执行程序代码包括指令。存储器120可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,存储器120可以包括一个或者多个存储单元,例如可以包括易失性存储器(volatile memory),如:动态随机存取存储器(dynamic random access memory,DRAM)、静态随机存取存储器(static randomaccess memory,SRAM)等;还可以包括非易失性存储器(non-volatile memory,NVM),如:只读存储器(read-only memory,ROM)、闪存(flash memory)等。处理器110通过运行存储在存储器120的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及数据处理。
电子设备100的无线通信功能可以通过射频电路140、移动通信模块150、无线通信模块160、调制解调处理器以及基带处理器等实现。
射频电路140可以包括至少一个天线141,用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。在一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线141接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线141转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(包括但不限于扬声器,受话器等)输出声音信号,或通过显示屏180显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以包括无线保真(wireless fidelity,Wi-Fi)模块,蓝牙(bluetooth,BT)模块、GNSS模块、近距离无线通信技术(near field communication,NFC)模块、红外(infrared,IR)模块等。无线通信模块160可以是集成上述至少一个模块的一个或多个器件。无线通信模块160经由天线141接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线141转为电磁波辐射出去。
本申请实施例中,电子设备100的无线通信功能例如可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packetradio service,GPRS),码分多址接入(code division multiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-divisioncode division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),第五代移动通信技术新空口(5th generation mobile networks new radio,5G NR),BT,GNSS,WLAN,NFC,FM,和/或IR等功能。GNSS可以包括全球卫星定位系统(globalpositioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite basedaugmentation systems,SBAS)。
摄像头170用于捕获静态图像或视频。摄像头170包括镜头和感光元件,物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupleddevice,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV,RYYB等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头170,N为大于1的正整数。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
显示屏180用于显示图像,视频等。显示屏180包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),MiniLED,MicroLED,Micro-OLED,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏180,N为大于1的正整数。
触摸传感器190,也称“触控器件”。触摸传感器190可以设置于显示屏180,由触摸传感器190与显示屏180组成触摸屏,也称“触控屏”。触摸传感器190用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏180提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器190也可以设置于电子设备100的表面,与显示屏180所处的位置不同。
气压传感器210用于测量气压。在一些实施例中,电子设备100通过气压传感器210测得的气压值计算海拔高度,辅助定位和导航。
按键220包括开机键,音量键等。按键220可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
在一种实施例中,电子设备100中安装有操作系统,该操作系统能够保障电子设备正常运行。在操作系统中,进程与进程之间、进程与应用之间均可以通过进程间通信(Inter-Process Communication,IPC)相互调用,以实现业务功能。其中,操作系统中可以包括多个进程和应用,每个进程和应用用于实现操作系统中的一项或者多项基本功能。通常情况下,多个进程之间以及进程和应用之间均可以相互调用以实现对应的业务功能。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以硬件,软件或软件和硬件组合实现。
下面是本申请的第一实施例。
本申请的第一实施例提供了一种控制后台应用自启动的方法。图2是控制应用自启动的方法200的流程图。如图2所示,该方法包括以下步骤S201-S206:
步骤S201,在第一应用启动后,第一进程获取第一应用的联系人内容数据提供者信息,第一应用是包含联系人内容数据提供者标签的应用。
在本申请实施例中,为了判断第一应用是否为不规范的应用,第一进程需获取第一应用的联系人内容数据提供者信息。其中,联系人内容数据提供者信息可以包括多个联系人,每个联系人可以对应有不同类型的数据。例如,显示姓名、电话号码、电子邮件、邮政地址、照片以及网站明细等。为便于管理上述联系人对应的数据,每个应用均会在对应的数据存储表中存储联系人内容数据提供者信息。数据存储表中可以包括多个数据行和数据列,并通过数据行和数据列来呈现上述每个联系人对应的数据。例如,在运行Android系统的电子设备中,数据存储表可以是ContactsContract.Data表。ContactsContract.Data表还可以为某些数据列使用描述性名称,为其他数据列使用通用名称。对于使用描述性名称的列而言,其内容具有相同的含义,且与行中数据的类型无关。而对于使用通用名称的数据列而言,其内容的含义会因数据类型而异。
需要说明的是,不规范的应用可以包括存在流氓行为的应用。流氓行为指的是对于执行后对操作系统没有直接损害,也不对用户个人信息、资费造成侵害的其它恶意行为。例如,流氓广告和流氓弹框。规范的应用可以包括不存在流氓行为且自律合规运营的应用。例如,系统应用。因此,如果不规范的应用将自身的联系人内容数据提供者信息或联系人进行伪装后,即可被第一进程拉起,并在后台自动启动和/或开机自动启动。这样,不规范的应用中的流氓行为在影响用户使用体验的同时,也存在着潜在的安全隐患。
步骤S202,如果联系人内容数据提供者信息中的联系人数量大于0,第一进程判断联系人的目标属性的属性值是否为空,目标属性至少包括联系人账户名称和/或联系人账户显示的名称。
在本申请实施例中,如果联系人内容数据提供者信息中的联系人数量大于0,则说明联系人内容数据提供者信息中存在联系人。在联系人内容数据提供者信息中存有联系人的情况下,第一进程需判断联系人的目标属性的属性值。如果联系人的目标属性的属性值为空,即可判定第一应用为不规范的应用。
在一些实施方式中,目标属性可以包括联系人账户名称account name和联系人账户显示的名称display name。进而,第一进程可以根据该联系人的联系人账户名称accountname和/或联系人账户显示的名称display name来判定第一应用。示例性的,规范的应用中联系人的目标属性通常均赋有固定的属性值。当第一应用中联系人的联系人账户名称account name和/或联系人账户显示的名称display name为空值时,即可判定第一应用为不规范的应用。
需要说明的是,目标属性还可以包括联系人的ID、联系人的昵称nick name、联系人的电话phone numbers、联系人的邮箱emails、联系人的地址addresses、联系人的即时通讯地址ims、联系人所属组织信息organizations、联系人的生日birthday、联系人的备注note、联系人的头像photos、联系人的组名categories以及联系人的网址urls等。本申请并不对目标属性进行具体限定,仅以联系人账户名称和/或联系人账户显示的名称进行示例。本领域技术人员可以对目标属性来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
步骤S203,如果联系人内容数据提供者信息为空,或者,联系人内容数据提供者信息中的联系人的数量等于0,或者,目标属性的属性值为空,第一进程结束第一应用,并将第一应用添加至第一列表中。
通常,在规范的应用中均会存有联系人内容数据提供者信息,联系人内容数据提供者信息中也会包括一定数量的联系人,并且每个联系人的目标属性也具有固定的属性值。因此,如果第一应用对应的联系人内容数据提供者信息为空,即说明第一应用中不存在联系人内容数据提供者信息,进而可以判定第一应用为不规范的应用。或者,如果第一应用对应的联系人内容数据提供者信息不为空,但联系人内容数据提供者信息中不存在联系人,也可以判定第一应用为不规范的应用。再或者,如果第一应用对应的联系人内容数据提供者信息中存在联系人,但联系人的目标属性的属性值为空,同样也可以判定第一应用为不规范的应用。这样,当判定第一应用为不规范的应用之后,第一进程控制第一应用结束运行,并将第一应用添加至第一列表中。避免第一应用运行消耗电子设备的各种资源,需要说明的是,第一列表可以为电子设备中存储的应用灰名单。应用灰名单包括允许根据联系人内容数据提供者标签被拉起的应用。
步骤S204,第一进程判断第一应用是否为目标类型应用。
在本申请实施例中,当第一进程将第一应用添加至第一列表后,为了防止后续每次因其后台和/开机的自启动行为而额外消耗流量、占用系统内存,第一进程可以通过判断第一应用的应用类型来决定后续是否禁止第一应用根据联系人内容数据提供者标签被拉起。通常,电子邮件应用和即时通信应用等目标类型应用会根据自身联系人内容数据提供者标签被拉起。如果第一应用不为目标类型应用,并仍可以根据自身联系人内容数据提供者标签被拉起,那么第一应用即为不规范的应用。第一进程后续可以禁止第一应用根据联系人内容数据提供者标签被拉起。
在一种可实现的方式中,在第一进程判断第一应用是否为目标类型应用的过程中,由于每个类型应用均对应有自身的应用特征。第一进程可以根据第一应用的自身特征来识别第一应用是否为目标类型应用。示例性的,电子邮件应用和即时通信应用对应有自身的时间特征。时间特征可以包括多个单位时段对应的流量特征。以电子邮件应用为例,单位时段为1天,可以将预设周期1周划分为工作日(星期一至星期五)的第一时间段和休息日(星期六至星期日)的第二时间段。其中,将第一时间段包含的单位时段对应的流量之和确定为第一时间段流量特征。将第二时间段包含的单位时段对应的流量之和确定为第二时间段流量特征。这样,如果第一应用中的时间特征与上述电子邮件应用中的第一时间段流量特征和第二时间段流量特征相匹配,第一进程可以确定第一应用为电子邮件应用。
步骤S205,如果第一应用不为目标类型应用,第一进程获取第一应用根据联系人内容数据提供者标签被拉起的次数。
步骤S206,如果次数大于预设阈值,第一进程禁止第一应用根据联系人内容数据提供者标签被拉起。
在本申请实施例中,如果第一应用不为目标类型应用,为了再次判定第一应用是否为不规范的应用,第一进程可以通过获取第一应用根据联系人内容数据提供者标签被拉起的次数来实现。如果第一应用已经根据自身的联系人内容数据提供者标签被拉起多次,则说明第一应用已经在后台自动启动和/或开机自动启动多次。这样,通过再次判定第一应用是否为不规范的应用,优化了应用在后台自动启动和/或开机自动启动,节省电子设备的运行资源并保障电子设备的运行安全。
示例性的,预设阈值为3次。如果第一应用根据联系人内容数据提供者标签被拉起的次数大于3次,则说明第一应用已经根据联系人内容数据提供者标签被拉起多次。这样,即可判定第一应用为不规范的应用,同时第一进程将禁止后续第一应用根据联系人内容数据提供者标签被拉起。避免后续第一应用仍可以在后台自动启动和/或开机自动启动占用电子设备的运行资源,提升用户的使用体验感。
在一些实施例中,在第一应用启动之前,第一进程接收服务器发送的第三列表,第三列表可以包括多个允许后台自启动的应用。为了判断第一应用是否是允许后台自启动的应用,第一进程可以先判断第三列表中是否包括第一应用。在第三列表中包括第一应用的情况下,第一进程才会启动第一应用。这样,第一进程可以预先在第一应用启动之前,基于第三列表对第一应用进行检测,如果第一应用是不允许后台自启动的应用,第一进程将直接禁止第一应用启动。
在一种可实现的方式中,第三列表还可以包括每个应用的应用信息。例如,应用信息包括应用包名、联系人内容数据提供者标签名称、根据联系人内容数据提供者标签被拉起的次数以及允许自启动标识或禁止自启动标识等。如果第三列表中包括第一应用,那么第一进程在每次拉起第一应用之后,可以对第三列表中第一应用对应的应用信息进行更新,以便于第一进程利用该应用信息对第一应用进行后续判断。同样地,在上述第一进程获取第一应用根据联系人内容数据提供者标签被拉起的次数时,第一进程也可以在第三列表中获取。
下面是本申请的第二实施例。
本申请的第二实施例提供了一种控制后台应用自启动的方法。图3是该控制应用自启动的方法的流程图。如图3所示,方法包括步骤S301-S309。其中步骤S301-步骤S305与图2所示的方法200中的步骤S201-步骤S205类似,在此不再赘述。在步骤S305之后还包括以下步骤:
步骤S306,如果次数大于预设阈值,第一进程获取第一应用的联系人内容数据提供者标签中接口函数反馈的函数数据。
在本申请实施例中,为了避免不规范的应用将自身联系人内容数据提供者标签伪装的更加完善,在第一应用根据联系人内容数据提供者标签被拉起的次数大于3次的情况下,第一进程可以通过第一应用的联系人内容数据提供者标签中接口函数反馈的函数数据再次对第一应用进行判定。示例性的,在运行Android系统的电子设备中,当联系人内容数据提供者标签是Directory Provider标签时,接口函数可以包括query接口、insert接口以及update接口等。这样,第一进程可以对第一应用的联系人内容数据提供者标签中的query接口、insert接口、update接口等反馈的函数数据进行探测,以确认第一应用联系人内容数据提供者标签中是否为正常状态。
图5是本申请实施例提供的第一进程和第一应用的交互图。参见图5,在第一进程获取联系人内容数据提供者标签中接口函数反馈的函数数据时,具体交互过程如下:
步骤S501:第一进程发送query接口的函数数据获取请求至第一应用。其中,第一进程可以携带query接口对应的接口函数标识向第一应用获取query接口的函数数据。
步骤S502:第一应用接收query接口的函数数据获取请求并返回query接口的函数数据。第一应用通过返回与接口函数标识对应的query接口的函数数据,以便于后续第一进程将接收到的query接口的函数数据与目标应用中query接口的函数数据进行比对。
步骤S503:在第一进程接收到query接口的函数数据之后,发送insert接口的函数数据获取请求至第一应用。同样地,insert接口的函数数据获取请求包括insert接口对应的接口函数标识。
步骤S504:第一应用接收insert接口的函数数据获取请求并返回insert接口的函数数据,以便于后续第一进程将接收到的insert接口的函数数据与目标应用中insert接口的函数数据进行比对。
步骤S505:在第一进程接收到query接口的函数数据之后,发送update接口的函数数据获取请求至第一应用。同样地,update接口的函数数据获取请求包括update接口对应的接口函数标识。
步骤S506:第一应用接收update接口的函数数据获取请求并返回update接口的函数数据,以便于后续第一进程将接收到的update接口的函数数据与目标应用中update接口的函数数据进行比对。
在本申请实施例中,第一进程可以通过第一应用的联系人内容数据提供者标签中上述三种接口函数反馈的函数数据依次对第一应用进行判定。第一进程还可以通过上述三种接口函数中一种或几种反馈的函数数据对第一应用进行判定。
需要说明的是,本申请实施例仅以Directory Provider标签中的query接口、insert接口、update接口进行举例,不对具体的接口函数以及获取函数数据的顺序进行限定。本领域技术人员可以使用其他类型的接口函数以及不同函数数据的顺序对第一应用进行判定,但是这种实现不应认为超出本申请的范围。
步骤S307,第一进程判断函数数据是否与目标数据相同,其中,目标数据是目标应用的联系人内容数据提供者标签中的接口函数反馈的,目标应用为除第一应用之外的应用,且目标应用允许根据联系人内容数据提供者标签拉起。如果是,执行步骤S309。如果否,执行步骤S308。
步骤S308,第一进程禁止第一应用根据联系人内容数据提供者标签被拉起。
步骤S309,第一进程允许第一应用根据联系人内容数据提供者标签被拉起。
在本申请实施例中,在第一进程确认第一应用的联系人内容数据提供者标签是否为正常状态的过程中,第一进程可以将上述接口函数反馈的函数数据和目标数据进行对比。其中,目标应用为规范的第三方应用,且允许根据联系人内容数据提供者标签拉起。目标数据为规范的第三方应用对应的函数数据。例如,目标应用为微信TM应用。第一进程通过获取微信TM应用对应的目标数据,并对比第一应用的函数数据与微信TM应用对应的目标数据。如果第一应用的函数数据与微信TM应用对应的目标数据不相同,第一进程判断第一应用是不规范的应用,进而禁止后续第一应用根据联系人内容数据提供者标签被拉起。如果第一应用的函数数据与微信TM应用对应的目标数据相同,第一进程判断第一应用是规范的第三方应用,进而允许后续第一应用根据联系人内容数据提供者标签被拉起。
在一些实施例中,第一进程为了拉起第一应用,需预先在电子设备中的应用中找到符合条件的第一应用。因此,第一进程需要扫描第二列表,第二列表包括电子设备中已安装的全部应用。第一进程还需更新每个应用的联系人内容数据提供者标签;将联系人内容数据提供者标签的属性值为目标值的应用确定为第一应用。
示例性的,在运行Android系统的电子设备中,第二列表中包括电子设备已安装的全部应用(APK)。其中,每个APK均对应有APK目录(APK Directories),APK Directories中可以包括Directory Provider标签。这样,第一进程在启动后首先全量扫描第二列表,以及更新每个应用的APKDirectories。如果某个应用中的APKDirectories中存在DirectoryProvider标签,第一进程继续判断该Directory Provider标签的属性值是否为目标值。例如,目标值为:android.cotent.ContactDirectory。如果该Directory Provider标签的属性值为android.cotent.ContactDirectory。则将该应用确定为第一应用,并拉起第一应用。
在一些实施例中,第二列表中的应用可以包括多个系统应用和第三方应用。第一进程可以按照预设的轮询周期从电子设备的本地缓存中对第二列表进行获取。同样地,第一进程可以按照预设的轮询周期从云端服务器中对第二列表进行获取。在电子设备中安装的应用出现变更的场景下,例如,应用更新、应用卸载以及新应用安装等。电子设备和/或云端服务器可以针对变更的应用对第二列表进行动态调整。这样,如果变更应用中联系人内容数据提供者标签的属性值为目标值,第一进程会将变更确定为第一应用,并将其拉起。从而可以有效地提高拉起第一应用的可靠性。需要说明的是,本申请并不对目标值进行具体限定,仅以目标值为android.cotent.ContactDirectory进行示例。本领域技术人员可以对每个目标值来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
然而,如果在每一次第一进程启动后,都全量扫描一次第二列表中的全部应用(APK),那么则会增加电子设备的处理时间,同时也会增加用户的等待时间。为此,参见图4,在第一进程全量扫描第二列表之前,第一进程还执行以下步骤:
步骤S401,在联系人变更后,第一进程判断联系人是否为系统联系人。如果否,执行步骤S402。如果是,执行步骤S404。
在一些实施例中,每个联系人对应有不同的联系人类型。例如,联系人类型包括系统联系人和非系统应用联系人。系统联系人对应有系统应用,非系统应用联系人对应有非系统应用。示例性的,系统联系人可以包括SIM卡联系人、云联系人、日历联系人、用户本地联系人和邮箱联系人等。非系统应用联系人可以包括微信联系人、QQ联系人、购物联系人以及游戏联系人等第三方应用对应的联系人。因此,为了避免第一进程需要花费更长的时间去全量扫描第二列表,第一进程可以通过判断变更的联系人为系统联系人或非系统应用联系人,以便于后续高效拉起第一应用。
步骤S402,第一进程将联系人确定为非系统应用联系人,以及根据非系统应用联系人获取对应非系统应用的应用标识。
示例性的,非系统应用的应用标识可以为非系统应用的应用包名(PackageName)。
一般来说,每个应用程序(App,Application)都有一个唯一的系统用户名(UserID,简称UID),通过该UID可以标识该应用程序的文件并只对该应用程序自身可见。一个UID对应一个应用包名Package Name。因此,第一进程可以非系统应用联系人获取UID,再通过UID获取到非系统应用对应的应用包名Package Name。进而,第一进程可以利用非系统应用对应的应用包名Package Name更新非系统应用中的联系人内容数据提供者标签。例如:操作系统中的微信TM应用进行了应用更新,即微信TM应用对应的联系人发生了变更。在Android系统中,微信TM应用的应用包名为com.tencent.mm。这样,在非系统应用为微信TM应用,且微信TM应用的联系人出现变更的情况下,第一进程可以利用变更的联系人获取微信TM应用的应用包名com.tencent.mm。以便于第一进程后续利用微信TM应用的应用包名com.tencent.mm直接更新微信TM应用的联系人内容数据提供者标签,避免再次全量扫描并更新第二列表中所有应用的联系人内容数据提供者标签,提高用户的使用体验。
需要说明的是,本申请并不对应用标识进行具体限定,仅以应用包名PackageName进行示例。本领域技术人员可以对标识来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
步骤S403,第一进程根据应用标识更新非系统应用的联系人内容数据提供者标签。如果联系人内容数据提供者标签的属性值为目标值,则第一进程将目标值对应的非系统应用确定为第一应用。
示例性的,参见上述第一进程在获取微信TM应用的应用包名com.tencent.mm后,根据包名com.tencent.mm更新微信TM应用对应的Directory Provider标签。如果微信TM应用中Directory Provider标签的属性值为android.cotent.ContactDirectory。则将微信TM应用确定为第一应用,并将其拉起。这样,通过第一进程仅更新微信TM应用对应的DirectoryProvider标签,避免需要花费更长的时间执行扫描第二列表的任务,提升了拉起第一应用的拉起效率。
步骤S404,第一进程更新第二列表中应用的联系人内容数据提供者标签,以及将联系人内容数据提供者标签的属性值为目标值的应用确定为第一应用。
具体实现中,如果系统联系人出现变更,不会改变系统应用中联系人内容数据提供者标签的属性值。示例性的,当用户拔掉SIM卡后,SIM卡状态为拔出状态,电子设备中该SIM卡对应的SIM卡联系人将会被删除。然而,在电子设备删除了该SIM卡联系人的情况下,SIM卡应用中Directory Provider标签的属性值不会被改变。因此,在变更的联系人为系统联系人的场景下,第一进程无需再对第二列表中全部应用(APK)进行全量扫描。为了节省电子设备的处理时间,第一进程只需更新第二列表中应用的联系人内容数据提供者标签,并拉起联系人内容数据提供者标签的属性值为目标值的应用即可。这样,避免出现了第一进程在第一应用启动之前,无论变更的联系人是系统联系人还是非系统应用联系人,均需要扫描第二列表的情况。保证了电子设备在拉起第一应用的处理时间,以提升用户的使用体验。
上述本申请提供的实施例从电子设备本身的角度对本申请提供的控制后台应用自启动的各方案进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
图6是本申请实施例提供的一种控制应用自启动装置的结构示意图。在一个实施例中,电子设备可以通过图6所示的硬件装置实现相应的功能。如图6所示,该控制应用自启动装置包括:存储器601和处理器602。
在一个实施例中,处理器602可以包括一个或多个处理单元,例如:处理器602可以包括应用处理器,调制解调处理器,图形处理器,图像信号处理器,控制器,视频编解码器,数字信号处理器,基带处理器,和/或神经网络处理器等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。存储器601与处理器602耦合,用于存储各种软件程序和/或多组计算机程序指令,存储器601可包括易失性存储器和/或非易失性存储器。
当存储器601中的软件程序和/或多组计算机程序指令被处理器602执行时,使得电子设备实现如下方法步骤:在第一应用启动后,获取第一应用的联系人内容数据提供者信息,第一应用是包含联系人内容数据提供者标签的应用;如果联系人内容数据提供者信息中的联系人数量大于0,判断联系人的目标属性的属性值是否为空,目标属性至少包括联系人账户名称和/或联系人账户显示的名称;如果联系人内容数据提供者信息为空,或者,联系人内容数据提供者信息中的联系人的数量等于0,或者,目标属性的属性值为空,结束第一应用,并将第一应用添加至第一列表中。
本申请实施例提供的技术方案,对第一应用进行判定,如果第一应用为不规范的应用,结束第一应用,并将第一应用添加至第一列表中。这样,通过结束第一应用以及将第一应用记录在第一列表中,避免运行第一应用而消耗电子设备的各种资源,例如内存、CPU、I/O口和电量等,且严重影响电子设备的安全运行。
在一种实现方式中,存储器601中的软件程序和/或多组计算机程序指令被处理器602执行时,将第一应用添加至第一列表中之后,还使得电子设备具体实现如下方法步骤:判断第一应用是否为目标类型应用;如果第一应用不为目标类型应用,则获取第一应用根据联系人内容数据提供者标签被拉起的次数;如果次数大于预设阈值,则禁止第一应用根据联系人内容数据提供者标签被拉起。
在一种实现方式中,存储器601中的软件程序和/或多组计算机程序指令被处理器602执行时,判断所述次数是否大于预设阈值之后,还使得电子设备具体实现如下方法步骤:获取所述第一应用的所述联系人内容数据提供者标签中接口函数反馈的函数数据;判断所述函数数据是否与目标数据相同,其中,所述目标数据是目标应用的所述联系人内容数据提供者标签中的接口函数反馈的,所述目标应用为除所述第一应用之外的应用,且所述目标应用允许根据所述联系人内容数据提供者标签拉起;如果所述函数数据与所述目标数据不相同,则禁止所述第一应用根据所述联系人内容数据提供者标签被拉起。
在一种实现方式中,存储器601中的软件程序和/或多组计算机程序指令被处理器602执行时,在所述第一应用启动之前,还使得电子设备具体实现如下方法步骤:扫描第二列表,所述第二列表包括电子设备中已安装的全部应用;更新每个应用的所述联系人内容数据提供者标签;将所述联系人内容数据提供者标签的属性值为目标值的应用确定为所述第一应用。
在一种实现方式中,存储器601中的软件程序和/或多组计算机程序指令被处理器602执行时,在所述第一应用启动之前,还使得电子设备具体实现如下方法步骤:在联系人变更后,判断所述联系人是否为系统联系人;如果所述联系人不是所述系统联系人,则将所述联系人确定为非系统应用联系人;根据所述非系统应用联系人获取对应非系统应用的应用标识;根据所述应用标识更新所述非系统应用的所述联系人内容数据提供者标签;如果所述联系人内容数据提供者标签的属性值为目标值,则将所述目标值对应的所述非系统应用确定为所述第一应用。
在一种实现方式中,存储器601中的软件程序和/或多组计算机程序指令被处理器602执行时,还使得电子设备具体实现如下方法步骤:如果所述联系人是所述系统联系人,更新所述第二列表中所述应用的所述联系人内容数据提供者标签;将所述联系人内容数据提供者标签的属性值为目标值的应用确定为所述第一应用。
在一种实现方式中,所述系统联系人包括SIM卡联系人、云联系人、日历联系人、用户本地联系人和邮箱联系人。
在一种实现方式中,所述第一应用为第三方应用;所述联系人内容数据提供者标签为Directory Provider标签。
在一种实现方式中,存储器601中的软件程序和/或多组计算机程序指令被处理器602执行时,在所述第一应用启动之前,还使得电子设备具体实现如下方法步骤:接收服务器发送的第三列表,所述第三列表包括多个允许后台自启动的应用;判断所述第三列表中是否包括所述第一应用;如果所述第三列表中包括所述第一应用,则准备启动所述第一应用。
图7是本申请实施例提供的另一种控制应用自启动装置的结构示意图。在一个实施例中,电子设备可以通过图7所示的软件装置实现相应的功能。如图7所示,该控制应用自启动装置包括:启动模块701和处理模块702。
启动模块701用于启动第一应用。处理模块702用于在第一应用启动后,获取所述第一应用的联系人内容数据提供者信息,所述第一应用是包含联系人内容数据提供者标签的应用;如果所述联系人内容数据提供者信息中的联系人数量大于0,判断所述联系人的目标属性的属性值是否为空,所述目标属性至少包括联系人账户名称和/或联系人账户显示的名称;如果所述联系人内容数据提供者信息为空,或者,所述联系人内容数据提供者信息中的联系人的数量等于0,或者,所述目标属性的属性值为空,结束所述第一应用,并将所述第一应用添加至第一列表中。这样,通过结束第一应用以及将第一应用记录在第一列表中,避免运行第一应用而消耗电子设备的各种资源,例如内存、CPU、I/O口和电量等,且严重影响电子设备的安全运行。
在一种实现方式中,将所述第一应用添加至第一列表中之后,处理模块702还用于判断所述第一应用是否为目标类型应用;如果所述第一应用不为所述目标类型应用,则获取所述第一应用根据所述联系人内容数据提供者标签被拉起的次数;如果所述次数大于预设阈值,则禁止所述第一应用根据所述联系人内容数据提供者标签被拉起。
在一种实现方式中,判断所述次数是否大于预设阈值之后,处理模块702还用于获取所述第一应用的所述联系人内容数据提供者标签中接口函数反馈的函数数据;判断所述函数数据是否与目标数据相同,其中,所述目标数据是目标应用的所述联系人内容数据提供者标签中的接口函数反馈的,所述目标应用为除所述第一应用之外的应用,且所述目标应用允许根据所述联系人内容数据提供者标签拉起;如果所述函数数据与所述目标数据不相同,则禁止所述第一应用根据所述联系人内容数据提供者标签被拉起。
在一种实现方式中,在所述第一应用启动之前,处理模块702还用于扫描第二列表,所述第二列表包括电子设备中已安装的全部应用;更新每个应用的所述联系人内容数据提供者标签;将所述联系人内容数据提供者标签的属性值为目标值的应用确定为所述第一应用。
在一种实现方式中,在所述第一应用启动之前,处理模块702还用于在联系人变更后,判断所述联系人是否为系统联系人;如果所述联系人不是所述系统联系人,则将所述联系人确定为非系统应用联系人;根据所述非系统应用联系人获取对应非系统应用的应用标识;根据所述应用标识更新所述非系统应用的所述联系人内容数据提供者标签;如果所述联系人内容数据提供者标签的属性值为目标值,则将所述目标值对应的所述非系统应用确定为所述第一应用。
在一种实现方式中,处理模块702还用于如果所述联系人是所述系统联系人,更新所述第二列表中所述应用的所述联系人内容数据提供者标签;将所述联系人内容数据提供者标签的属性值为目标值的应用确定为所述第一应用。
在一种实现方式中,所述系统联系人包括SIM卡联系人、云联系人、日历联系人、用户本地联系人和邮箱联系人。
在一种实现方式中,所述第一应用为第三方应用;所述联系人内容数据提供者标签为Directory Provider标签。
在一种实现方式中,在所述第一应用启动之前,还包括:接收服务器发送的第三列表,所述第三列表包括多个允许后台自启动的应用;判断所述第三列表中是否包括所述第一应用;如果所述第三列表中包括所述第一应用,则准备启动所述第一应用。
本申请实施例还提供了一种芯片系统,该芯片系统包括处理器,用于支持上述装置实现上述方面中所涉及的功能,例如,生成或处理上述方法中所涉及的信息。在一种可能的设计中,芯片系统还包括存储器,用于保存隐私信息生成装置必要的计算机指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
本申请实施例还提供了一种电子设备,包括:存储器和处理器,处理器和存储器耦合;其中,存储器包括有程序指令,程序指令被处理器运行时,使得电子设备执行如上述各方面执行的方法。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序指令,当计算机程序指令被运行时,实现如上述各方面执行的方法。
本文中的术语“多个”是指两个或两个以上。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。可以理解的是,在本申请的实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。

Claims (10)

1.一种控制后台应用自启动的方法,其特征在于,包括:
在第一应用启动后,获取所述第一应用的联系人内容数据提供者信息,所述第一应用是包含联系人内容数据提供者标签的应用;
如果所述联系人内容数据提供者信息中的联系人数量大于0,判断所述联系人的目标属性的属性值是否为空,所述目标属性至少包括联系人账户名称和/或联系人账户显示的名称;
如果所述联系人内容数据提供者信息为空,或者,所述联系人内容数据提供者信息中的联系人的数量等于0,或者,所述目标属性的属性值为空,则确定所述第一应用为不规范的应用,以及,结束所述第一应用,并将所述第一应用添加至第一列表中;所述不规范的应用是指将自身的联系人内容数据提供者标签的属性值伪装成目标值而被拉起并自动启动的应用,所述目标值是指联系人目录对应的属性值;
判断所述第一应用是否为目标类型应用;
如果所述第一应用不为所述目标类型应用,则获取所述第一应用根据所述联系人内容数据提供者标签被拉起的次数;
如果所述次数大于预设阈值,则禁止所述第一应用根据所述联系人内容数据提供者标签被拉起。
2.根据权利要求1所述的方法,其特征在于,所述判断所述次数是否大于预设阈值之后,还包括:
获取所述第一应用的所述联系人内容数据提供者标签中接口函数反馈的函数数据;
判断所述函数数据是否与目标数据相同,其中,所述目标数据是目标应用的所述联系人内容数据提供者标签中的接口函数反馈的,所述目标应用为除所述第一应用之外的应用,且所述目标应用允许根据所述联系人内容数据提供者标签拉起;
如果所述函数数据与所述目标数据不相同,则禁止所述第一应用根据所述联系人内容数据提供者标签被拉起。
3.根据权利要求1所述的方法,其特征在于,在所述第一应用启动之前,还包括:
扫描第二列表,所述第二列表包括电子设备中已安装的全部应用;
更新每个应用的所述联系人内容数据提供者标签;
将所述联系人内容数据提供者标签的属性值为目标值的应用确定为所述第一应用。
4.根据权利要求1所述的方法,其特征在于,在所述第一应用启动之前,还包括:
在联系人变更后,判断所述联系人是否为系统联系人;
如果所述联系人不是所述系统联系人,则将所述联系人确定为非系统应用联系人;
根据所述非系统应用联系人获取对应非系统应用的应用标识;
根据所述应用标识更新所述非系统应用的所述联系人内容数据提供者标签;
如果所述联系人内容数据提供者标签的属性值为目标值,则将所述目标值对应的所述非系统应用确定为所述第一应用。
5.根据权利要求4所述的方法,其特征在于,还包括:
如果所述联系人是所述系统联系人,更新第二列表中所述应用的所述联系人内容数据提供者标签;
将所述联系人内容数据提供者标签的属性值为目标值的应用确定为所述第一应用。
6.根据权利要求4所述的方法,其特征在于,所述系统联系人包括SIM卡联系人、云联系人、日历联系人、用户本地联系人和邮箱联系人。
7. 根据权利要求1所述的方法,其特征在于,所述第一应用为第三方应用;所述联系人内容数据提供者标签为Directory Provider标签。
8.根据权利要求1所述的方法,其特征在于,在所述第一应用启动之前,还包括:
接收服务器发送的第三列表,所述第三列表包括多个允许后台自启动的应用;
判断所述第三列表中是否包括所述第一应用;
如果所述第三列表中包括所述第一应用,则准备启动所述第一应用。
9.一种电子设备,其特征在于,包括:存储器和处理器,所述处理器和所述存储器耦合;其中,所述存储器包括有程序指令,所述程序指令被所述处理器运行时,使得所述电子设备执行如权利要求1-8任一项中由所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序指令,当所述计算机程序指令被运行时,实现如权利要求1-8任一项由所述的方法。
CN202210836558.8A 2022-07-15 2022-07-15 一种控制后台应用自启动的方法及电子设备 Active CN116048647B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210836558.8A CN116048647B (zh) 2022-07-15 2022-07-15 一种控制后台应用自启动的方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210836558.8A CN116048647B (zh) 2022-07-15 2022-07-15 一种控制后台应用自启动的方法及电子设备

Publications (2)

Publication Number Publication Date
CN116048647A CN116048647A (zh) 2023-05-02
CN116048647B true CN116048647B (zh) 2023-10-20

Family

ID=86124393

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210836558.8A Active CN116048647B (zh) 2022-07-15 2022-07-15 一种控制后台应用自启动的方法及电子设备

Country Status (1)

Country Link
CN (1) CN116048647B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462952A (zh) * 2014-12-31 2015-03-25 北京奇虎科技有限公司 一种禁止应用自启动的方法及装置
CN106843977A (zh) * 2017-01-25 2017-06-13 北京奇虎科技有限公司 一种应用程序自启动的处理方法、装置及移动终端
CN107831886A (zh) * 2017-11-21 2018-03-23 广东欧珀移动通信有限公司 关联启动应用的管控方法、装置、存储介质及智能终端
CN107861773A (zh) * 2017-11-21 2018-03-30 广东欧珀移动通信有限公司 关联启动的管控方法、装置、存储介质及移动终端
CN107944257A (zh) * 2017-11-21 2018-04-20 广东欧珀移动通信有限公司 以服务方式启动应用的控制方法、装置、存储介质及终端
CN110069333A (zh) * 2019-04-29 2019-07-30 努比亚技术有限公司 应用的后台管控方法、移动终端及计算机可读存储介质
CN111831357A (zh) * 2020-07-10 2020-10-27 上海传英信息技术有限公司 后台应用管理方法、装置和计算机可读存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462952A (zh) * 2014-12-31 2015-03-25 北京奇虎科技有限公司 一种禁止应用自启动的方法及装置
CN106843977A (zh) * 2017-01-25 2017-06-13 北京奇虎科技有限公司 一种应用程序自启动的处理方法、装置及移动终端
CN107831886A (zh) * 2017-11-21 2018-03-23 广东欧珀移动通信有限公司 关联启动应用的管控方法、装置、存储介质及智能终端
CN107861773A (zh) * 2017-11-21 2018-03-30 广东欧珀移动通信有限公司 关联启动的管控方法、装置、存储介质及移动终端
CN107944257A (zh) * 2017-11-21 2018-04-20 广东欧珀移动通信有限公司 以服务方式启动应用的控制方法、装置、存储介质及终端
CN110069333A (zh) * 2019-04-29 2019-07-30 努比亚技术有限公司 应用的后台管控方法、移动终端及计算机可读存储介质
CN111831357A (zh) * 2020-07-10 2020-10-27 上海传英信息技术有限公司 后台应用管理方法、装置和计算机可读存储介质

Also Published As

Publication number Publication date
CN116048647A (zh) 2023-05-02

Similar Documents

Publication Publication Date Title
WO2020207326A1 (zh) 一种对话消息的发送方法及电子设备
WO2021185105A1 (zh) SIM卡和eSIM卡的切换方法及电子设备
WO2021073428A1 (zh) 一种账号绑定方法、设备及系统
WO2020150894A1 (zh) 一种基于应用的来电显示方法和终端设备
WO2021253975A1 (zh) 应用程序的权限管理方法、装置和电子设备
CN114553814B (zh) 处理推送消息的方法和装置
CN113591106A (zh) 一种应用授权方法、装置和终端设备
CN116048647B (zh) 一种控制后台应用自启动的方法及电子设备
CN116074623B (zh) 一种摄像头的分辨率选择方法和装置
CN116056184B (zh) 网络接入方法、系统、电子设备及存储介质
CN115022982B (zh) 多屏协同无感接入方法、电子设备及存储介质
WO2022042765A1 (zh) 一种显示方法及电子设备
CN115250261B (zh) 一种信息的显示方法及电子设备
CN116048545B (zh) 一种弹窗广告的处理方法、电子设备及可读存储介质
EP4290827A1 (en) Access control method and related apparatus
CN116055636B (zh) 一种陌生来电的显示方法、移动终端及存储介质
CN117009023B (zh) 显示通知信息的方法及相关装置
CN116048544B (zh) 一种弹窗广告的处理方法、电子设备及可读存储介质
CN116049867B (zh) 反诈方法、图形界面和相关装置
WO2024046062A1 (zh) 一种卡片跨设备交互方法及电子设备
US20240220339A1 (en) Message reminding method and terminal device
CN117707662A (zh) 界面显示方法及电子设备
CN117991934A (zh) 一种卡片使用方法及电子设备
CN116560535A (zh) 应用组件管理方法及相关设备
CN116055505A (zh) 一种消息同步方法及终端设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant