IP Library Granted Patent US 12,411,990
Granted Patent B2
US 12,411,990 · App. 17/961,766 · Granted Sep 9, 2025

System function invoking method and apparatus, and terminal

Inventors: Xi Huang (Shenzhen, CN); Huangwei Wu (Shenzhen, CN)
Assignee: HUAWEI DEVICE CO., LTD.
G06F21/629G06F8/61G06F21/51G06F21/52G06F21/604G06F21/62G06F21/6281H04L63/102G06F2221/033
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,411,990
App. No.
17/961,766
Granted
Sep 9, 2025
Kind
B2
Abstract

A system function invoking method includes acquiring an installation package of a first application program, granting a first permission of a system to the first application program according to the installation package, where the first permission is used to, when the first application program is in a running state, forbid a second application program from invoking at least one system function. The method further includes running the first application program, and forbidding the second application program from invoking the at least one system function.

Claims (71)

1. An apparatus, comprising:

a storage device configured to store instructions; and

one or more processors coupled to the storage device and configured to execute the instructions to:

receive an installation package of a first application program, wherein the installation package comprises a first disable permission of the first application program pre-recorded in the installation package, wherein the first disable permission forbids a second application program from invoking a system function, and wherein the system function comprises a short message service (SMS) function;

install, based on the installation package, the first application program by:

applying for the first disable permission from a system that provides system functions to the apparatus:

receiving a grant of the first disable permission from the system that provides the system functions to the apparatus; and

configuring, in response to receiving the grant of the first disable permission, the first disable permission pre-recorded in the installation package, wherein the first disable permission is configured to forbid the second application program from invoking the system function when the first application program is running:

run the first application program;

forbid, according to the first disable permission and in response to running the first application program, the second application program from invoking the system function by preventing the second application program from passing a permission check of the SMS function when the first application program is in a running state;

exit the first application program; and

permit, after exiting the first application program, the second application program to invoke the system function.

2. The apparatus of claim 1 , wherein the one or more processors are further configured to execute the instructions to:

store the first disable permission; and

enable the first disable permission when running the first application program.

3. The apparatus of claim 1 , wherein the one or more processors are further configured to execute the instructions to end an invocation of the system function by the second application program when the second application program has invoked the system function and when the system function is currently in an invoked state of being invoked by the second application program.

4. The apparatus of claim 1 , wherein the one or more processors are further configured to execute the instructions to suspend an invocation of the system function by the second application program when the second application program has invoked the system function and when the system function is currently in an invoked state of being invoked by the second application program.

5. The apparatus of claim 1 , wherein the second application program is one of a plurality of application programs in the apparatus other than the first application program.

6. The apparatus of claim 1 , wherein the one or more processors are further configured to execute the instructions to forbid the second application program from invoking the system function by:

searching, according to the first disable permission and in response to running the first application program, for disabling information; and

returning, when the disabling information is found, a null value or a false value to the second application program.

7. The apparatus of claim 1 , wherein the first disable permission comprises a PERMISSION_DISABLE permission in the installation package.

8. The apparatus of claim 7 , wherein the system comprises an ANDROID system.

9. The apparatus of claim 8 , wherein the one or more processors are further configured to execute the instructions to:

read configuration information of a plurality of permissions in a configuration file of the installation package, wherein the plurality of permissions comprises the first disable permission;

present, to a user, a plurality of function introductions of the plurality of permissions, wherein the plurality of function introductions comprises a first function introduction corresponding to the first disable permission;

implement an installation process of the first application program when the user grants permission to the first application program according to the first function introduction; and

exit the installation process of the first application program when the user forbids granting permission to the second application program according to the first function introduction.

10. An apparatus, comprising:

a storage device configured to store instructions; and

one or more processors coupled to the storage device and configured to execute the instructions to:

receive an installation package of a first application program, wherein the installation package comprises a first disable permission of the first application program pre-recorded in the installation package, wherein the first disable permission forbids a second application program from invoking a system function, and wherein the system function comprises a short message service (SMS) function;

install, based on the installation package, the first application program by:

applying for the first disable permission from a system that provides system functions to the apparatus:

receiving a grant of the first disable permission from the system that provides the system functions to the apparatus; and

configuring, in response to receiving the grant of the first disable permission and based on the first disable permission pre-recorded in the installation package, a first mode associated with the first application program, wherein the first mode is configured to forbid the second application program from invoking the system function:

enter, in response to a second operation, the first mode;

forbid, according to the first disable permission and in response to entering the first mode, the second application program from invoking the system function by preventing the second application program from passing a permission check of the SMS function when the first application program is in the first mode;

exit, in response to a third operation, the first mode; and

permit, after exiting the first application program, the second application program to invoke the system function.

11. The apparatus of claim 10 , wherein the one or more processors are further configured to execute the instructions to:

store the first mode; and

enable the first mode when running the first application program.

12. The apparatus of claim 10 , wherein the one or more processors are further configured to execute the instructions to end an invocation of the system function by the second application program when the second application program has invoked the system function and when the system function is currently in an invoked state of being invoked by the second application program.

13. The apparatus of claim 10 , wherein the one or more processors are further configured to execute the instructions to suspend an invocation of the system function by the second application program when the second application program has invoked the system function and when the system function is currently in an invoked state of being invoked by the second application program.

14. The apparatus of claim 10 , wherein the one or more processors are further configured to execute the instructions to forbid the second application program from invoking the system function by:

searching, according to the first disable permission and in response to entering the first mode, for disabling information; and

returning, when the disabling information is found, a null value or a false value to the second application program.

15. An apparatus, comprising:

a storage device configured to store instructions; and

one or more processors coupled to the storage device and configured to execute the instructions to:

receive an installation package of a first application program, wherein the installation package comprises a first disable permission of the first application program pre-recorded in the installation package, wherein the first disable permission forbids a second application program from invoking a system function, and wherein the system function comprises a short message service (SMS) function;

install, based on the installation package, the first application program by:

applying for the first disable permission from a system that provides system functions to the apparatus:

receiving a grant of the first disable permission from the system that provides the system functions to the apparatus; and

configuring, in response to receiving the grant of the first disable permission and based on the first disable permission pre-recorded in the installation package, a first mode, wherein the first mode is configured to forbid the second application program from invoking the system function when the first application program is running:

run, in response to a second operation, the first application program;

enter, in response to running the first application program, the first mode;

forbid, according to the first disable permission and in response to entering the first mode, the second application program from invoking the system function by preventing the second application program from passing a permission check of the SMS function when the first application program is in a running state;

exit the first application program;

exit, in response to exiting the first application program, the first mode; and

permit, after exiting the first mode, the second application program to invoke the system function.

16. The apparatus of claim 15 , wherein the one or more processors are further configured to execute the instructions to:

store the first mode; and

enable the first mode when running the first application program.

17. The apparatus of claim 15 , wherein the one or more processors are further configured to execute the instructions to end an invocation of the system function by the second application program when the second application program has invoked the system function and when the system function is currently in an invoked state of being invoked by the second application program.

18. The apparatus of claim 15 , wherein the one or more processors are further configured to execute the instructions to suspend an invocation of the system function by the second application program when the second application program has invoked the system function and when the system function is currently in an invoked state of being invoked by the second application program.

19. The apparatus of claim 15 , wherein the second application program is one of a plurality of application programs in the apparatus other than the first application program.

20. The apparatus of claim 15 , wherein the one or more processors are further configured to execute the instructions to forbid the second application program from invoking the system function by:

searching, according to the first disable permission and in response to entering the first mode, for disabling information; and

returning, when the disabling information is found, a null value or a false value to the second application program.

Priority Claims (1)
CN 201310201782.0 · May 27, 2013 · national
Continuity (4)
Continuation 16589598 · Oct 1, 2019
Continuation 14936826 · Nov 10, 2015
Continuation PCTCN2014078260 · May 23, 2014
Related Publication 20230110179A1 · Apr 13, 2023
References Cited (116)
US 5057996A · Cutler · 1991 [cited by examiner]
US 5535416A · Feeney et al. · 1996 [cited by applicant]
US 5941975A · Park et al. · 1999 [cited by applicant]
US 6029190A · Oliver · 2000 [cited by examiner]
US 6101569A · Miyamoto · 2000 [cited by examiner]
US 6339826B2 · Hayes, Jr. et al. · 2002 [cited by applicant]
US 6345361B1 · Jerger · 2002 [cited by examiner]
US 6473800B1 · Jerger · 2002 [cited by examiner]
US 6895585B2 · Smith · 2005 [cited by applicant]
US 7287140B1 · Asanovic · 2007 [cited by examiner]
US 7712126B2 · Andersson et al. · 2010 [cited by applicant]
US 7793355B2 · Little et al. · 2010 [cited by applicant]
US 7815100B2 · Adams et al. · 2010 [cited by applicant]
US 8265595B1 · Reeves · 2012 [cited by examiner]
US 8321837B2 · Broberg et al. · 2012 [cited by applicant]
US 8387141B1 · Zhukov · 2013 [cited by examiner]
US 8595489B1 · Faaborg · 2013 [cited by examiner]
US 8656465B1 · Fong-Jones · 2014 [cited by applicant]
US 8826436B2 · Kreiner et al. · 2014 [cited by applicant]
US 8856859B2 · Kirkup et al. · 2014 [cited by applicant]
US 8887152B1 · Chen · 2014 [cited by examiner]
US 9075955B2 · Schieman · 2015 [cited by examiner]
US 9202049B1 · Book · 2015 [cited by examiner]
US 9203864B2 · Luna · 2015 [cited by examiner]
US 9208349B1 · Miliefsky et al. · 2015 [cited by applicant]
US 9280679B2 · Nicolaou · 2016 [cited by applicant]
US 9390294B2 · Ali · 2016 [cited by examiner]
US 9420432B2 · Matthews, III · 2016 [cited by examiner]
US 9450958B1 · Saylor · 2016 [cited by examiner]
US 9665465B1 · Jain et al. · 2017 [cited by applicant]
US 9740852B2 · Mahaffey et al. · 2017 [cited by applicant]
US 9954975B2 · Raleigh et al. · 2018 [cited by applicant]
US 10013237B2 · Snell · 2018 [cited by applicant]
US 10044757B2 · Qureshi et al. · 2018 [cited by applicant]
US 10114932B2 · Marion et al. · 2018 [cited by applicant]
US 10303501B2 · Ali et al. · 2019 [cited by applicant]
US 10305937B2 · Weiss et al. · 2019 [cited by applicant]
US 10333967B2 · Litva et al. · 2019 [cited by applicant]
US 10904257B2 · Li et al. · 2021 [cited by applicant]
US 12111927B2 · Thomas · 2024 [cited by examiner]
US 20020019887A1 · Moore · 2002 [cited by applicant]
US 20020178208A1 · Hutchison et al. · 2002 [cited by applicant]
US 20040127190A1 · Hansson · 2004 [cited by examiner]
US 20040255169A1 · Little et al. · 2004 [cited by applicant]
US 20050257209A1 · Adams et al. · 2005 [cited by applicant]
US 20070050369A1 · Stiegler · 2007 [cited by examiner]
US 20070050781A1 · Furuichi et al. · 2007 [cited by applicant]
US 20070169071A1 · Martin · 2007 [cited by examiner]
US 20070169129A1 · Polivy · 2007 [cited by examiner]
US 20080005741A1 · Terrell · 2008 [cited by examiner]
US 20080034208A1 · Mantere et al. · 2008 [cited by applicant]
US 20090276071A1 · Sim · 2009 [cited by examiner]
US 20100100889A1 · Labrie · 2010 [cited by examiner]
US 20110055841A1 · Senno · 2011 [cited by examiner]
US 20110106777A1 · Yospe · 2011 [cited by examiner]
US 20120117615A1 · Mackinnon et al. · 2012 [cited by applicant]
US 20120144138A1 · Kandasamy · 2012 [cited by examiner]
US 20120159570A1 · Reierson et al. · 2012 [cited by applicant]
US 20120209923A1 · Mathur · 2012 [cited by examiner]
US 20120255015A1 · Sahita · 2012 [cited by examiner]
US 20120291103A1 · Cohen · 2012 [cited by examiner]
US 20120311697A1 · Swingler · 2012 [cited by examiner]
US 20130055341A1 · Cooper et al. · 2013 [cited by applicant]
US 20130055378A1 · Chang · 2013 [cited by examiner]
US 20130097354A1 · Arges · 2013 [cited by examiner]
US 20130160147A1 · Draluk · 2013 [cited by examiner]
US 20130205385A1 · Roesner · 2013 [cited by examiner]
US 20130227636A1 · Bettini · 2013 [cited by examiner]
US 20130227641A1 · White et al. · 2013 [cited by applicant]
US 20130227652A1 · Choi · 2013 [cited by examiner]
US 20130305259A1 · Wang · 2013 [cited by examiner]
US 20130333039A1 · Kelly · 2013 [cited by applicant]
US 20140040870A1 · Lynch · 2014 [cited by examiner]
US 20140075546A1 · Zeng et al. · 2014 [cited by applicant]
US 20140075574A1 · Zheng et al. · 2014 [cited by applicant]
US 20140082611A1 · Li et al. · 2014 [cited by applicant]
US 20140282465A1 · Matenaar · 2014 [cited by examiner]
US 20140304711A1 · Tennant et al. · 2014 [cited by applicant]
US 20140380414A1 · Saidi et al. · 2014 [cited by applicant]
US 20150121478A1 · Huang et al. · 2015 [cited by applicant]
US 20160191534A1 · Mallozzi · 2016 [cited by applicant]
US 20160248810A1 · Majanemi · 2016 [cited by applicant]
US 20170011206A1 · Marion · 2017 [cited by examiner]
US 20170177854A1 · Gligor et al. · 2017 [cited by applicant]
US 20180293389A1 · Mahaffey et al. · 2018 [cited by applicant]
US 20180302443A1 · Weiss et al. · 2018 [cited by applicant]
US 20190037049A1 · Raleigh et al. · 2019 [cited by applicant]
US 20220100849A1 · Vandergeest · 2022 [cited by applicant]
CN 1924814A · 2007 [cited by applicant]
CN 101119550A · 2008 [cited by applicant]
CN 100468343A · 2009 [cited by applicant]
CN 101977230A · 2011 [cited by applicant]
CN 102170495A · 2011 [cited by applicant]
CN 102200922A · 2011 [cited by applicant]
CN 102521548A · 2012 [cited by applicant]
CN 102592077A · 2012 [cited by applicant]
CN 102693394A · 2012 [cited by applicant]
CN 102737427A · 2012 [cited by applicant]
CN 102819715A · 2012 [cited by applicant]
CN 103049692A · 2013 [cited by applicant]
CN 103310149A · 2013 [cited by applicant]
SureLock; SureLock Kiosk Mode Lockdown; 2013; retrieved from the Internet https://web.archive.org/web/20130529200823/http://www.42gears.com/surelock/surelockandroid.html; pp. 1-9, as printed. (Year: 2013). [cited by examiner]
Cooley; Metis: Mocking Data for Usability & privacy; 2013; retrieved from the Internet https://core.ac.uk/download/pdf/235417168.pdf; pp. 1-27, as printed (Year: 2013). [cited by examiner]
“DevicePolicyManager | Android Developers,” XP055429842, Nov. 25, 2012, 28 pages. [cited by applicant]
“Memory Management in Android,” XP055429859, Jul. 5, 2010, 10 pages. [cited by applicant]
“Application Fundamentals | Android Developers,” Retrieved from the Internet: URL: https://web.archive.org/web/20130501113041/http://developer.android.com/guide/components/fundamentals.html [retrieved on Feb. 29, 2016],… [cited by applicant]
Cooley; Metis: Mocking Data for Usability & Privacy; 2013; Retrieved from the Internet <URL: https://scholarworks.wm edu/cgi/viewcontent.cgi?article=1587&context=honorstheses>; pp. 1-27, as printed. (Year. 2013). [cited by applicant]
Henry; PDroid Gives You Control Over the Personal Information Your Android Apps Can Access; 2011; Retrieved from the Internet <URL: https://lifehacker.com/5866597/pdroid-gives-you-control-over-the-personal-information-y… [cited by applicant]
Meehan; LBE Privacy Guard: How Safe Is Your Private Data ?; 2011 Retrieved from the Internet <URL: https://android.appstorm.net/reviews/security/lbe-privacy-guard-how-safe-is-your-private-data/>; pp. 1-9, as printed. (Y… [cited by applicant]
Dube; Monitor Access & Guard Your Android Privacy With LBE Privacy Guard; 2011; Retrieved from the Internet <URL: https://www.makeuseof.com/tag/monitor-access-guard-android-privacy-lbe-privacy-guard/>; 1-11, as printed … [cited by applicant]
LBE Privacy Guard App for Android Review; 2012; Retrieved from the Internet <URL: HTTPS://youtu.be/PiGqmauOLNY?t=2m54s>; pp. 1-5, as printed (Year 2012). [cited by applicant]
Jeon et al; Dr. Android and Mr. Hide: Fine-grained Permissions in Android Applications; 2012; Retrieved from the Internet <URL: http://dl.acm.org/citation.cfm?id=2381938>; pp. 1-12 as printed. [cited by applicant]
Herpich et al.; A Trusted Ecosystem for Android Applications Based on Context-Aware Access Control; 2012; Retrieved from the Internet <URL: http://ieeexplore.ieee.org/abstract/document/6461011/>; pp. 1-6 as printed. [cited by applicant]
Thangaraju, Dr. B., “Fail Safe Port Allocation for Linux Device Drivers,” LinuxFocus article No. 264, 2005, 6 pages. [cited by applicant]
Android Developers, “Camera,” https:web.archive.org/web/20130501143205/http://developer.android.com/guide/topics/media/camera.html, May 1, 2013, 23 pages. [cited by applicant]
Poirier, G., “I Am Trying to Skype and My Computer is Blocking My Webcam,” Retrieved from the Internet: https://web.archive.org/web/20111225114059/http://smallbusiness.chron.com:80/am-trying-skype-computer-blocking-webc… [cited by applicant]