[
  {
    "path": ".gitignore",
    "content": "**/.gradle/\n**/.idea/\n\n**/build/\n\n**/.kotlin/\n\n/local.properties\n\n/out/\n"
  },
  {
    "path": ".gitmodules",
    "content": "[submodule \"native/libcap\"]\n\tpath = native/libcap\n\turl = https://android.googlesource.com/platform/external/libcap\n"
  },
  {
    "path": "404.html",
    "content": "<!doctype html>\n<html lang=\"en\">\n\n<head>\n  <meta charset=\"utf-8\" />\n  <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\" />\n  <title>Redirecting…</title>\n\n  <!-- Fallback meta refresh (for browsers without JS): go to help root -->\n  <meta http-equiv=\"refresh\" content=\"5;url=https://mirfatif.github.io/PermissionManagerX/help/\" />\n\n  <style>\n    body {\n      display: flex;\n      min-height: 100vh;\n      margin: 0;\n      align-items: center;\n      justify-content: center;\n      color: #111827;\n    }\n\n    .card {\n      background: white;\n      padding: 1.25rem 1.5rem;\n      border-radius: 12px;\n      box-shadow: 0 6px 20px rgba(17, 24, 39, 0.08);\n      max-width: 720px;\n      text-align: left;\n    }\n\n    a {\n      color: #0366d6;\n      text-decoration: none;\n    }\n  </style>\n</head>\n\n<body>\n  <main class=\"card\" role=\"main\">\n    <h1>Redirecting…</h1>\n    <p id=\"message\">If your browser doesn't redirect automatically, <a href=\"https://mirfatif.github.io/PermissionManagerX/help/\">click here</a>.</p>\n  </main>\n\n  <script>\n    (function () {\n      var origin = location.origin || (location.protocol + '//' + location.host);\n      var parts = location.pathname.split('/');\n      var helpIndex = parts.indexOf('help');\n\n      var target;\n\n      if (helpIndex !== -1 && parts[helpIndex + 1] === 'en') {\n        // Remove the 'en' segment immediately after 'help'\n        parts.splice(helpIndex + 1, 1);\n        var newPath = parts.join('/') || '/';\n        target = origin + newPath + (location.search || '') + (location.hash || '');\n      } else if (helpIndex !== -1 && parts[helpIndex + 1] === 'cn') {\n        // Replace the 'cn' segment immediately after 'help' with 'zh'\n        parts.splice(helpIndex + 1, 1, 'zh');\n        var newPath = parts.join('/') || '/';\n        target = origin + newPath + (location.search || '') + (location.hash || '');\n      } else {\n        target = origin + '/PermissionManagerX/help/';\n      }\n\n      document.getElementById('message').textContent = 'Redirecting to: ' + target;\n      location.replace(target);\n    })();\n  </script>\n</body>\n\n</html>"
  },
  {
    "path": "LICENSE",
    "content": "                    GNU AFFERO GENERAL PUBLIC LICENSE\n                       Version 3, 19 November 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n                            Preamble\n\n  The GNU Affero General Public License is a free, copyleft license for\nsoftware and other kinds of works, specifically designed to ensure\ncooperation with the community in the case of network server software.\n\n  The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works.  By contrast,\nour General Public Licenses are intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n  Developers that use our General Public Licenses protect your rights\nwith two steps: (1) assert copyright on the software, and (2) offer\nyou this License which gives you legal permission to copy, distribute\nand/or modify the software.\n\n  A secondary benefit of defending all users' freedom is that\nimprovements made in alternate versions of the program, if they\nreceive widespread use, become available for other developers to\nincorporate.  Many developers of free software are heartened and\nencouraged by the resulting cooperation.  However, in the case of\nsoftware used on network servers, this result may fail to come about.\nThe GNU General Public License permits making a modified version and\nletting the public access it on a server without ever releasing its\nsource code to the public.\n\n  The GNU Affero General Public License is designed specifically to\nensure that, in such cases, the modified source code becomes available\nto the community.  It requires the operator of a network server to\nprovide the source code of the modified version running there to the\nusers of that server.  Therefore, public use of a modified version, on\na publicly accessible server, gives the public access to the source\ncode of the modified version.\n\n  An older license, called the Affero General Public License and\npublished by Affero, was designed to accomplish similar goals.  This is\na different license, not a version of the Affero GPL, but Affero has\nreleased a new version of the Affero GPL which permits relicensing under\nthis license.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n                       TERMS AND CONDITIONS\n\n  0. Definitions.\n\n  \"This License\" refers to version 3 of the GNU Affero General Public License.\n\n  \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n  \"The Program\" refers to any copyrightable work licensed under this\nLicense.  Each licensee is addressed as \"you\".  \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n  To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy.  The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n  A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n  To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy.  Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n  To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies.  Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n  An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License.  If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n  1. Source Code.\n\n  The \"source code\" for a work means the preferred form of the work\nfor making modifications to it.  \"Object code\" means any non-source\nform of a work.\n\n  A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n  The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form.  A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n  The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities.  However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work.  For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n  The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n  The Corresponding Source for a work in source code form is that\nsame work.\n\n  2. Basic Permissions.\n\n  All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met.  This License explicitly affirms your unlimited\npermission to run the unmodified Program.  The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work.  This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n  You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force.  You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright.  Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n  Conveying under any other circumstances is permitted solely under\nthe conditions stated below.  Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n  3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n  No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n  When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n  4. Conveying Verbatim Copies.\n\n  You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n  You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n  5. Conveying Modified Source Versions.\n\n  You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n    a) The work must carry prominent notices stating that you modified\n    it, and giving a relevant date.\n\n    b) The work must carry prominent notices stating that it is\n    released under this License and any conditions added under section\n    7.  This requirement modifies the requirement in section 4 to\n    \"keep intact all notices\".\n\n    c) You must license the entire work, as a whole, under this\n    License to anyone who comes into possession of a copy.  This\n    License will therefore apply, along with any applicable section 7\n    additional terms, to the whole of the work, and all its parts,\n    regardless of how they are packaged.  This License gives no\n    permission to license the work in any other way, but it does not\n    invalidate such permission if you have separately received it.\n\n    d) If the work has interactive user interfaces, each must display\n    Appropriate Legal Notices; however, if the Program has interactive\n    interfaces that do not display Appropriate Legal Notices, your\n    work need not make them do so.\n\n  A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit.  Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n  6. Conveying Non-Source Forms.\n\n  You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n    a) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by the\n    Corresponding Source fixed on a durable physical medium\n    customarily used for software interchange.\n\n    b) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by a\n    written offer, valid for at least three years and valid for as\n    long as you offer spare parts or customer support for that product\n    model, to give anyone who possesses the object code either (1) a\n    copy of the Corresponding Source for all the software in the\n    product that is covered by this License, on a durable physical\n    medium customarily used for software interchange, for a price no\n    more than your reasonable cost of physically performing this\n    conveying of source, or (2) access to copy the\n    Corresponding Source from a network server at no charge.\n\n    c) Convey individual copies of the object code with a copy of the\n    written offer to provide the Corresponding Source.  This\n    alternative is allowed only occasionally and noncommercially, and\n    only if you received the object code with such an offer, in accord\n    with subsection 6b.\n\n    d) Convey the object code by offering access from a designated\n    place (gratis or for a charge), and offer equivalent access to the\n    Corresponding Source in the same way through the same place at no\n    further charge.  You need not require recipients to copy the\n    Corresponding Source along with the object code.  If the place to\n    copy the object code is a network server, the Corresponding Source\n    may be on a different server (operated by you or a third party)\n    that supports equivalent copying facilities, provided you maintain\n    clear directions next to the object code saying where to find the\n    Corresponding Source.  Regardless of what server hosts the\n    Corresponding Source, you remain obligated to ensure that it is\n    available for as long as needed to satisfy these requirements.\n\n    e) Convey the object code using peer-to-peer transmission, provided\n    you inform other peers where the object code and Corresponding\n    Source of the work are being offered to the general public at no\n    charge under subsection 6d.\n\n  A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n  A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling.  In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage.  For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product.  A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n  \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source.  The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n  If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information.  But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n  The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed.  Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n  Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n  7. Additional Terms.\n\n  \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law.  If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n  When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit.  (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.)  You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n  Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n    a) Disclaiming warranty or limiting liability differently from the\n    terms of sections 15 and 16 of this License; or\n\n    b) Requiring preservation of specified reasonable legal notices or\n    author attributions in that material or in the Appropriate Legal\n    Notices displayed by works containing it; or\n\n    c) Prohibiting misrepresentation of the origin of that material, or\n    requiring that modified versions of such material be marked in\n    reasonable ways as different from the original version; or\n\n    d) Limiting the use for publicity purposes of names of licensors or\n    authors of the material; or\n\n    e) Declining to grant rights under trademark law for use of some\n    trade names, trademarks, or service marks; or\n\n    f) Requiring indemnification of licensors and authors of that\n    material by anyone who conveys the material (or modified versions of\n    it) with contractual assumptions of liability to the recipient, for\n    any liability that these contractual assumptions directly impose on\n    those licensors and authors.\n\n  All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10.  If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term.  If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n  If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n  Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n  8. Termination.\n\n  You may not propagate or modify a covered work except as expressly\nprovided under this License.  Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n  However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n  Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n  Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License.  If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n  9. Acceptance Not Required for Having Copies.\n\n  You are not required to accept this License in order to receive or\nrun a copy of the Program.  Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance.  However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work.  These actions infringe copyright if you do\nnot accept this License.  Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n  10. Automatic Licensing of Downstream Recipients.\n\n  Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License.  You are not responsible\nfor enforcing compliance by third parties with this License.\n\n  An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations.  If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n  You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License.  For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n  11. Patents.\n\n  A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based.  The\nwork thus licensed is called the contributor's \"contributor version\".\n\n  A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version.  For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n  Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n  In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement).  To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n  If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients.  \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n  If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n  A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License.  You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n  Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n  12. No Surrender of Others' Freedom.\n\n  If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all.  For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n  13. Remote Network Interaction; Use with the GNU General Public License.\n\n  Notwithstanding any other provision of this License, if you modify the\nProgram, your modified version must prominently offer all users\ninteracting with it remotely through a computer network (if your version\nsupports such interaction) an opportunity to receive the Corresponding\nSource of your version by providing access to the Corresponding Source\nfrom a network server at no charge, through some standard or customary\nmeans of facilitating copying of software.  This Corresponding Source\nshall include the Corresponding Source for any work covered by version 3\nof the GNU General Public License that is incorporated pursuant to the\nfollowing paragraph.\n\n  Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU General Public License into a single\ncombined work, and to convey the resulting work.  The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the work with which it is combined will remain governed by version\n3 of the GNU General Public License.\n\n  14. Revised Versions of this License.\n\n  The Free Software Foundation may publish revised and/or new versions of\nthe GNU Affero General Public License from time to time.  Such new versions\nwill be similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n  Each version is given a distinguishing version number.  If the\nProgram specifies that a certain numbered version of the GNU Affero General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation.  If the Program does not specify a version number of the\nGNU Affero General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n  If the Program specifies that a proxy can decide which future\nversions of the GNU Affero General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n  Later license versions may give you additional or different\npermissions.  However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n  15. Disclaimer of Warranty.\n\n  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n  16. Limitation of Liability.\n\n  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n  17. Interpretation of Sections 15 and 16.\n\n  If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n                     END OF TERMS AND CONDITIONS\n\n            How to Apply These Terms to Your New Programs\n\n  If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n  To do so, attach the following notices to the program.  It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n    <one line to give the program's name and a brief idea of what it does.>\n    Copyright (C) <year>  <name of author>\n\n    This program is free software: you can redistribute it and/or modify\n    it under the terms of the GNU Affero General Public License as published by\n    the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU Affero General Public License for more details.\n\n    You should have received a copy of the GNU Affero General Public License\n    along with this program.  If not, see <https://www.gnu.org/licenses/>.\n\nAlso add information on how to contact you by electronic and paper mail.\n\n  If your software can interact with users remotely through a computer\nnetwork, you should also make sure that it provides a way for users to\nget its source.  For example, if your program is a web application, its\ninterface could display a \"Source\" link that leads users to an archive\nof the code.  There are many ways you could offer source, and different\nsolutions will be better for different programs; see section 13 for the\nspecific requirements.\n\n  You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU AGPL, see\n<https://www.gnu.org/licenses/>.\n\n"
  },
  {
    "path": "PRIVACY.html",
    "content": "<!DOCTYPE html>\n\n<html lang=\"en\">\n\n<head>\n    <title>PMX Privacy Policy</title>\n    <meta charset=\"UTF-8\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n\n    <style>\n        body {\n            font-family: sans-serif;\n            margin: 2px;\n        }\n\n        hr {\n            width: 100%;\n            text-align: center;\n            margin-top: 3%;\n            margin-bottom: 3%;\n            height: 0px;\n            border-left-width: 0;\n            border-right-width: 0;\n            border-top: 1px solid black;\n            border-bottom: 1px solid white;\n        }\n\n        div.card {\n            margin: 20px;\n            padding: 15px;\n            border: solid transparent;\n            border-width: thin;\n            border-radius: 10px;\n            display: block;\n            box-sizing: border-box;\n            box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.2);\n        }\n\n        a {\n            text-decoration: none;\n        }\n\n        a:hover {\n            text-decoration: underline;\n        }\n    </style>\n\n    <script>\n        document.write(\"<style>\");\n\n        if (screen.availHeight < screen.availWidth) {\n            var margin = (screen.availWidth - screen.availHeight) / 3;\n            document.write(\"body { margin-left: \" + margin + \"px; margin-right: \" + margin + \"px; }\");\n        } else {\n            document.write(\"div.card { margin-left: 5px; margin-right: 5px; }\");\n        }\n\n        document.write(\"</style>\");\n\n        screen.orientation.addEventListener(\"change\", function () {\n            location.reload();\n        });\n    </script>\n</head>\n\n<body>\n    <div class=\"card\">\n        <h1>Permission Manager X</h1>\n\n        <hr>\n\n        <h2>Privacy Policy</h2>\n        <p>Irfan Latif built <a href=\"https://github.com/mirfatif/PermissionManagerX\">Permission Manager X</a> as an open source app. However some features are paid-only and not open source. This app is intended for use as is.</p>\n        <p>This page is used to inform the app users regarding my policies with the collection, use, and disclosure of Personal Information if anyone decides to use my app.</p>\n\n        <p><strong>Information Collection and Use</strong></p>\n        <p>I DO NOT collect and retain any personally identifiable information about you or your device, like user name, address, location, pictures etc.</p>\n        <p>The paid version of the app available on <a href=\"https://play.google.com/store/apps/details?id=com.mirfatif.permissionmanagerx\">Play Store</a> does use Google Play Services for License Verification, that may collect information used to identify you. Link to their privacy policy: <a href=\"https://www.google.com/policies/privacy/\">Google Play Services</a>.</p>\n\n        <p><strong>Log Data</strong></p>\n        <p>I want to inform you that whenever you use my app, in case of an error, the app generates a crash log file. This Log Data may include information such as device name, operating system version, configuration of the app when utilizing the app, the time and date of your use of the app, and other statistics. This log file is retained on the device and you are prompted to share the data with us through email or Telegram service. If you do not share the data, it NEVER LEAVES your device. If you opt to send the log file to us, it's permanently deleted once the related issue is resolved.</p>\n\n        <p><strong>Cookies</strong></p>\n        <p>Permission Manager X does not use cookies.</p>\n\n        <p><strong>Service Providers</strong></p>\n        <p>Permission Manager X does not depend on any third party service provider for any purpose.</p>\n\n        <p><strong>Links to Other Sites</strong></p>\n        <p>Permission Manager X makes no internet connections except for app update check (which can be disabled in app settings) and to fetch help contents. Pro version also requires internet connection for license verification.</p>\n        <p>This app contains links to other sites for your guidance. If you click on a third-party link, you will be directed to that site. Note that these external sites are not operated by me. Therefore, I strongly advise you to review the Privacy Policy of these websites. I have no control over, and assume no responsibility for the content, privacy policies, or practices of any third-party sites or services.</p>\n\n        <p><strong>Children's Privacy</strong></p>\n        <p>Permission Manager X does not address anyone under the age of 13. I do not collect any personal identifiable information from children under 13.</p>\n\n        <p><strong>Changes to This Privacy Policy</strong></p>\n        <p>I may update our Privacy Policy from time to time. Thus, you are advised to review this page periodically for any changes. I will notify you of any changes by posting the new Privacy Policy on this page. These changes are effective immediately, after they are posted on this page.</p>\n\n        <p><strong>Contact Us</strong></p>\n        <p>If you have any questions or suggestions about my Privacy Policy, do not hesitate to contact me at mirfatif.dev@gmail.com.</p>\n    </div>\n</body>\n\n</html>"
  },
  {
    "path": "README.md",
    "content": "# PermissionManagerX\neXtended Permission Manager for Android - view and set Manifest Permissions and AppOps\n\n<a href=\"https://f-droid.org/packages/com.mirfatif.permissionmanagerx\"><img alt=\"Get it on F-Droid\" src=\"https://fdroid.gitlab.io/artwork/badge/get-it-on.png\" height=\"100\"></a>\n<a href=\"https://play.google.com/store/apps/details?id=com.mirfatif.permissionmanagerx\"><img alt=\"Get it on Google Play\" src=\"https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png\" height=\"100\"></a>  \n<a href=\"https://apt.izzysoft.de/fdroid/index/apk/com.mirfatif.permissionmanagerx\"><img alt=\"Get it on IzzyOnDroid\" src=\"https://gitlab.com/IzzyOnDroid/repo/-/raw/master/assets/IzzyOnDroid.png\" height=\"100\"></a>\n<a href=\"https://amzn.to/2Ij50j4\"><img alt=\"Available at Amazon AppStore\" src=\"https://user-images.githubusercontent.com/33040459/98554253-56c9d600-22c2-11eb-83ba-bd24fb1263ae.png\" height=\"100\"></a>  \n<a href=\"https://mirfatif.github.io/mirfatif/getpro\"><img alt=\"Get Pro Features\" src=\"https://user-images.githubusercontent.com/33040459/137955720-51f667ab-ea09-4b1d-9626-0b857e5f1673.png\" height=\"100\"></a>\n\n[![Github](https://img.shields.io/github/v/release/mirfatif/PermissionManagerX?label=\"Github\")](https://github.com/mirfatif/PermissionManagerX/releases/latest) [![F-Droid](https://img.shields.io/f-droid/v/com.mirfatif.permissionmanagerx.svg?label=\"F-Droid\")](https://f-droid.org/packages/com.mirfatif.permissionmanagerx) [![IzzyOnDroid](https://img.shields.io/endpoint?url=https://apt.izzysoft.de/fdroid/api/v1/shield/com.mirfatif.permissionmanagerx)](https://apt.izzysoft.de/fdroid/index/apk/com.mirfatif.permissionmanagerx) [![Telegram](https://img.shields.io/badge/Telegram-latest-blue)](https://t.me/mirfatifApps)\n\n<sup>* Join Telegram support group to get instant updates and test beta releases.</sup>\n\n## Features\nUsing e<b>X</b>tended <b>Permission Manager</b>, for each installed app, on single screen, you can:\n\n* View, grant or revoke manifest permissions\n* View AppOps permissions and choose one of multiple modes\n* Set your desired reference value for every changeable permission\n\n<b>Manifest permissions</b> are those normally called permissions e.g. Storage, Camera etc. <b>AppOps</b> (app operations) is a robust framework Android uses at back end for access control. With every Android release manifest permissions are becoming more dependent on AppOps. So it's fun to control both simultaneously and see how they relate to each other.\n\nIn short, AppOps provide a fine-grained control over many of the manifest permissions. Plus it provides additional controls like background execution, vibration, clipboard access etc. Just install the app to explore it yourself.\n\nWhen you reinstall an app, or change your device, or upgrade your ROM, it's a time-taking process to review all installed apps for granted permissions and revoke the unnecessary ones (after all  <b><i>privacy matters</i></b>). PMX provides you the solution. Set <b>reference states</b> of permissions, which can be quickly backed up and restored, and colored bars at left make it quite easy to review packages and permissions at a glance.\n\nConfused? We are here to explain. Please start with:\n\n* <a href=\"https://mirfatif.github.io/PermissionManagerX/help/\">What is PMX?</a>\n* <a href=\"https://mirfatif.github.io/PermissionManagerX/help/faqs/#faq36\">Why do I need to use PMX?</a>\n* <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\">What are manifest permissions and AppOps?</a>\n* <a href=\"https://mirfatif.github.io/PermissionManagerX/help/permission-references\">Permission References</a>\n\n## Required Privileges / Permissions\n\n* In order to let Permission Manager X serve you at its best, either the device must be <b>rooted</b> or you need to enable <b>ADB over network</b>.\n* <b>android.permission.INTERNET</b> is required to use ADB over network. The only connections made outside the device are to check for app updates or to fetch help contents. Pro version also requires internet connection for license verification.\n\n## Note:\n\n* The app is tested on stock Android 7-16. Some highly customized ROMs may behave unexpectedly.\n\n## Privacy Policy\n\n[Privacy Policy](https://mirfatif.github.io/PermissionManagerX/privacy_policy.html)\n\n## Paid Features\n\n[Paid Features](https://mirfatif.github.io/PermissionManagerX/help/versions/#paid-features)\n\n## Screenshots\n\n<img src=\"fastlane/metadata/android/en-US/images/phoneScreenshots/1.jpg\" width=\"250\"> <img src=\"fastlane/metadata/android/en-US/images/phoneScreenshots/2.jpg\" width=\"250\"> <img src=\"fastlane/metadata/android/en-US/images/phoneScreenshots/3.jpg\" width=\"250\">\n<img src=\"fastlane/metadata/android/en-US/images/phoneScreenshots/4.jpg\" width=\"250\"> <img src=\"fastlane/metadata/android/en-US/images/phoneScreenshots/5.jpg\" width=\"250\"> <img src=\"fastlane/metadata/android/en-US/images/phoneScreenshots/6.jpg\" width=\"250\">\n\n## How to Build\n`build.gradle` calls a shell script to build native binaries. So a Linux environment is expected with all standard tools.\n* Download code: `git clone --depth=1 --recurse-submodules --shallow-submodules https://github.com/mirfatif/PermissionManagerX.git && cd PermissionManagerX`\n* Set `sdk.dir` in `local.properties` to the directory containing Android SDK\n* Run `./gradlew :app:assembleRelease`. Or use IntelliJ IDEA / Android Studio.\n\n## Translations [![Crowdin](https://badges.crowdin.net/pmx/localized.svg)](https://crowdin.com/project/pmx)\n[Crowdin](https://crowdin.com/project/pmx)\n\n## Third-Party Libraries\nCredits and thanks to the developers of:\n* [Android Jetpack](https://github.com/androidx/androidx)\n* [Android Hidden APIs](https://github.com/anggrayudi/android-hidden-api)\n* [LSPass](https://github.com/LSPosed/AndroidHiddenApiBypass)\n* [LibADB Android](https://github.com/MuntashirAkon/libadb-android)\n* [Spotless GoogleJavaFormat](https://github.com/diffplug/spotless)\n* [Material Components for Android](https://github.com/material-components/material-components-android)\n* [Guava](https://github.com/google/guava)\n* [BetterLinkMovementMethod](https://github.com/saket/Better-Link-Movement-Method)\n* [LeakCanary](https://github.com/square/leakcanary)\n\n## License [![License](https://img.shields.io/github/license/mirfatif/PermissionManagerX?label=\"License\")](https://github.com/mirfatif/PermissionManagerX/blob/master/LICENSE)\n\nYou **CANNOT** use and distribute the app icon in anyway, except for **Permission Manager X** (`com.mirfatif.permissionmanagerx`) app.\n\n    Permission Manager X is free software: you can redistribute it and/or modify\n    it under the terms of the Affero GNU General Public License as published by\n    the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    Affero GNU General Public License for more details.\n\n    You should have received a copy of the Affero GNU General Public License\n    along with this program.  If not, see <https://www.gnu.org/licenses/>.\n\n## Need Help?\n\nSee [Guide and FAQs](https://mirfatif.github.io/PermissionManagerX/help/).\n\n## Want To Reach Us?\n\n<table>\n    <td>&nbsp;<a href=\"https://t.me/PermissionManagerX\"><img src=\"https://raw.githubusercontent.com/mirfatif/mirfatif/main/logos/telegram.png\" height=\"25\"/> Telegram</a>&nbsp;</td>\n    <td><a href=\"https://forum.xda-developers.com/t/app-7-0-permission-manager-x-manage-appops-and-manifest-permissions.4187657\"><img src=\"https://raw.githubusercontent.com/mirfatif/mirfatif/main/logos/xda.png\" height=\"23\" width=\"21\"/> XDA Thread</a></td>\n    <td>&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"mailto:mirfatif.dev@gmail.com\"><img src=\"https://raw.githubusercontent.com/mirfatif/mirfatif/main/logos/email.png\" height=\"22\" width=\"25\"/> Email</a>&nbsp;&nbsp;&nbsp;&nbsp;</td>\n</table>\n"
  },
  {
    "path": "app/.gitignore",
    "content": "/build/\n/src/*/jniLibs/\n"
  },
  {
    "path": "app/build.gradle",
    "content": "import java.nio.file.Paths\n\napply plugin: 'apk-conventions'\n\nfinal NDK_VER = '28.2.13676358'\n\nandroid {\n    namespace = 'com.mirfatif.permissionmanagerx'\n\n    defaultConfig {\n        applicationId namespace\n\n        versionCode libs.versions.app.code.get().toInteger()\n        versionName libs.versions.app.name.get()\n\n        // Flavor-independent and BuildType-independent BuildConfig.APPLICATION_ID\n        buildConfigField 'String', 'APP_ID', '\"' + namespace + '\"'\n\n        versionNameSuffix '-foss'\n    }\n\n    buildTypes {\n        debug {\n            applicationIdSuffix '.debug'\n            versionNameSuffix '-debug'\n        }\n\n        release.postprocessing.obfuscate = false\n    }\n\n    packagingOptions {\n        jniLibs {\n            // Due to android:extractNativeLibs set to 'true' in AndroidManifest.\n            useLegacyPackaging = true\n        }\n\n        // Exclude large files.\n        resources.excludes.add('org/bouncycastle/pqc/crypto/picnic/lowmcL1.bin.properties')\n        resources.excludes.add('org/bouncycastle/pqc/crypto/picnic/lowmcL3.bin.properties')\n        resources.excludes.add('org/bouncycastle/pqc/crypto/picnic/lowmcL5.bin.properties')\n    }\n}\n\nconfigurations {\n    configureEach {\n        // To avoid duplicate class version conflict.\n        exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel-ktx'\n    }\n}\n\ndependencies {\n    implementation project(path: ':priv_library')\n    runtimeOnly project(path: ':priv_daemon')\n\n    implementation libs.libadb.android\n    // To generate X509Certificate\n    implementation libs.sun.security.android\n    // For conscrypt\n    implementation libs.hiddenapibypass\n\n    implementation libs.androidx.appcompat\n    implementation libs.androidx.recyclerview\n    implementation libs.androidx.swiperefreshlayout\n    implementation libs.androidx.preference\n    implementation libs.androidx.browser\n    implementation libs.androidx.room.runtime\n    implementation libs.androidx.security.crypto\n    implementation libs.androidx.webkit\n    annotationProcessor libs.androidx.room.compiler\n\n    // For SnackBar and NavigationView. Also includes CoordinatorLayout\n    implementation libs.material\n\n    // To handle hyperlink onClick in TextView\n    implementation libs.better.link.movement.method\n\n    // To use Iterables for splitting Collections\n    implementation(libs.guava)\n\n    // Let's behave responsibly\n    debugImplementation libs.leakcanary.android\n}\n\ntasks.register('buildNative', Exec) {\n    def props = new Properties()\n    props.load(new FileInputStream(new File(rootDir, \"local.properties\")))\n    def ndkDir = new File(props.get(\"sdk.dir\").toString(), \"ndk/\" + NDK_VER)\n\n    if (!ndkDir.exists()) {\n        throw new GradleException('NDK ' + NDK_VER + ' not installed')\n    }\n\n    environment 'ANDROID_NDK', ndkDir.absolutePath\n    workingDir rootDir.absolutePath + \"/native\"\n    commandLine './build_native.sh'\n\n    doLast {\n        if (executionResult.get().exitValue != 0) {\n            throw new GradleException('buildNative failed')\n        }\n    }\n}\n\nafterEvaluate {\n    for (String build : new String[]{'Debug', 'Release'}) {\n        tasks.named('merge' + build + 'JniLibFolders').configure {\n            dependsOn('buildNative')\n            mustRunAfter('buildNative')\n        }\n    }\n}\n\nclean.doLast {\n    Paths.get(projectDir.absolutePath, 'src/main/jniLibs').deleteDir()\n}\n\npreBuild.doFirst {\n    // Re-merge the assets and jniLibs source sets.\n    for (String dir in new String[]{'assets', 'merged_jni_libs'}) {\n        Paths.get(projectDir.absolutePath, 'build/intermediates/' + dir).deleteDir()\n    }\n}\n"
  },
  {
    "path": "app/proguard-rules.pro",
    "content": "# Preserve the line number information for debugging stack traces.\n-keepattributes SourceFile,LineNumberTable\n\n# Keep the line number information but hide the original source file name.\n-renamesourcefileattribute SourceFile\n\n# Move all obfuscated classes into the root package.\n-repackageclasses\n-allowaccessmodification\n\n# Preference keys are accesses through reflection to reset filters and for backup / restore.\n-keepclassmembers class com.mirfatif.permissionmanagerx.R$string {\n  int pref_*_key;\n}\n\n# Throwable names must not be obfuscated to correctly print e.toString()\n-keepnames class ** extends java.lang.Throwable\n\n-dontwarn io.github.muntashirakon.adb.AdbProtocol$AuthType\n-dontwarn jakarta.annotation.Nullable\n"
  },
  {
    "path": "app/src/main/AndroidManifest.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  xmlns:tools=\"http://schemas.android.com/tools\">\n\n  <uses-permission android:name=\"android.permission.INTERNET\" />\n  <uses-permission\n    android:name=\"android.permission.QUERY_ALL_PACKAGES\"\n    tools:ignore=\"QueryAllPackagesPermission\" />\n  <uses-permission\n    android:name=\"android.permission.GET_APP_OPS_STATS\"\n    tools:ignore=\"ProtectedPermissions\" />\n  <uses-permission android:name=\"android.permission.POST_NOTIFICATIONS\" />\n  <uses-permission android:name=\"android.permission.FOREGROUND_SERVICE\" />\n  <uses-permission android:name=\"android.permission.FOREGROUND_SERVICE_SPECIAL_USE\" />\n\n  <application\n    android:name=\".fwk.AppM\"\n    android:allowBackup=\"true\"\n    android:icon=\"@mipmap/ic_launcher\"\n    android:label=\"@string/app_name\"\n    android:roundIcon=\"@mipmap/ic_launcher_round\"\n    android:supportsRtl=\"true\"\n    android:theme=\"@style/AppTheme\"\n    tools:ignore=\"AllowBackup\">\n\n    <activity\n      android:name=\".fwk.MainActivityM\"\n      android:exported=\"true\">\n      <intent-filter>\n        <action android:name=\"android.intent.action.MAIN\" />\n        <category android:name=\"android.intent.category.LAUNCHER\" />\n      </intent-filter>\n    </activity>\n\n    <activity\n      android:name=\".fwk.PackageActivityM\"\n      android:parentActivityName=\".fwk.MainActivityM\" />\n\n    <activity\n      android:name=\".fwk.SettingsActivityM\"\n      android:parentActivityName=\".fwk.MainActivityM\" />\n\n    <activity\n      android:name=\".fwk.AdvSettingsActivityM\"\n      android:parentActivityName=\".fwk.MainActivityM\" />\n\n    <activity\n      android:name=\".fwk.FilterSettingsActivityM\"\n      android:parentActivityName=\".fwk.MainActivityM\" />\n\n    <activity\n      android:name=\".fwk.AboutActivityM\"\n      android:parentActivityName=\".fwk.MainActivityM\" />\n\n    <activity\n      android:name=\".fwk.HelpActivityM\"\n      android:parentActivityName=\".fwk.MainActivityM\" />\n\n    <activity\n      android:name=\".fwk.CrashReportActivityM\"\n      android:parentActivityName=\".fwk.MainActivityM\" />\n\n    <service\n      android:name=\".fwk.LogcatSvcM\"\n      android:foregroundServiceType=\"specialUse\">\n      <property\n        android:name=\"android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE\"\n        android:value=\"This service is explicitly started by the user. It may run up to maximum 5 minutes and collects logs in a text file while the user is interacting with the app which includes navigating between different screens and closing the app. User can tap the stop button on the notification anytime to stop the service.\" />\n    </service>\n\n    <service\n      android:name=\".fwk.DaemonRcvSvcM\"\n      android:exported=\"true\"\n      android:foregroundServiceType=\"shortService\"\n      tools:ignore=\"ExportedService\" />\n\n    <service\n      android:name=\".fwk.AdbConnectSvcM\"\n      android:exported=\"true\"\n      android:foregroundServiceType=\"specialUse\"\n      tools:ignore=\"ExportedService\">\n      <property\n        android:name=\"android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE\"\n        android:value=\"This service is explicitly started by the user through commandline to notify the app that ADB has been enabled.\" />\n    </service>\n\n  </application>\n\n</manifest>\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/err/AdbException.java",
    "content": "package com.mirfatif.err;\n\npublic class AdbException extends Exception {\n\n  public AdbException(Throwable cause) {\n    super(cause);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/about/AboutActivity.java",
    "content": "package com.mirfatif.permissionmanagerx.about;\n\nimport static com.mirfatif.permissionmanagerx.util.ApiUtils.getString;\n\nimport android.app.Activity;\nimport android.content.ActivityNotFoundException;\nimport android.content.Intent;\nimport android.net.Uri;\nimport android.os.Debug;\nimport android.view.Menu;\nimport android.view.MenuItem;\nimport android.view.View;\nimport androidx.activity.result.ActivityResultCallback;\nimport androidx.activity.result.ActivityResultLauncher;\nimport androidx.activity.result.contract.ActivityResultContracts;\nimport androidx.activity.result.contract.ActivityResultContracts.CreateDocument;\nimport androidx.appcompat.app.ActionBar;\nimport androidx.appcompat.app.AlertDialog;\nimport androidx.appcompat.app.AlertDialog.Builder;\nimport androidx.fragment.app.FragmentActivity;\nimport com.mirfatif.permissionmanagerx.BuildConfig;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.app.App;\nimport com.mirfatif.permissionmanagerx.base.AlertDialogFragment;\nimport com.mirfatif.permissionmanagerx.databinding.ActivityAboutBinding;\nimport com.mirfatif.permissionmanagerx.fwk.AboutActivityM;\nimport com.mirfatif.permissionmanagerx.help.HelpActivity;\nimport com.mirfatif.permissionmanagerx.main.FeedbackDialogFrag;\nimport com.mirfatif.permissionmanagerx.main.FeedbackDialogFrag.FeedbackType;\nimport com.mirfatif.permissionmanagerx.prefs.AppUpdate;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\nimport com.mirfatif.permissionmanagerx.prefs.settings.SettingsActivity;\nimport com.mirfatif.permissionmanagerx.privs.DaemonHandler;\nimport com.mirfatif.permissionmanagerx.privs.DaemonIface;\nimport com.mirfatif.permissionmanagerx.svc.LogcatSvc;\nimport com.mirfatif.permissionmanagerx.util.ApiUtils;\nimport com.mirfatif.permissionmanagerx.util.LogUtils;\nimport com.mirfatif.permissionmanagerx.util.NotifUtils;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\nimport com.mirfatif.permissionmanagerx.util.bg.LiveTasksQueueTyped;\nimport com.mirfatif.privtasks.util.MyLog;\nimport com.mirfatif.privtasks.util.Util;\nimport com.mirfatif.privtasks.util.bg.SingleSchedTaskExecutor;\nimport java.io.File;\nimport java.io.IOException;\nimport java.util.Objects;\nimport java.util.concurrent.TimeUnit;\n\npublic class AboutActivity {\n\n  private static final String TAG = \"AboutActivity\";\n\n  private final AboutActivityM mA;\n\n  public AboutActivity(AboutActivityM activity) {\n    mA = activity;\n  }\n\n  private ActivityAboutBinding mB;\n  private ActivityResultLauncher<String> mNotifPermReqLauncher, mLoggingLauncher;\n\n  public void onCreated() {\n    mB = ActivityAboutBinding.inflate(mA.getLayoutInflater());\n    mA.setContentView(mB);\n\n    ActionBar actionBar = mA.getSupportActionBar();\n    if (actionBar != null) {\n      actionBar.setTitle(R.string.about_menu_item);\n    }\n\n    mB.version.setText(BuildConfig.VERSION_NAME);\n    openWebUrl(mB.telegram, R.string.telegram_group_link);\n    openWebUrl(mB.sourceCode, R.string.source_url);\n    openWebUrl(mB.issues, R.string.issues_url);\n    mB.rating.setOnClickListener(\n        v -> FeedbackDialogFrag.show(FeedbackType.RATE, mA.getSupportFragmentManager()));\n    mB.contact.setOnClickListener(v -> ApiUtils.sendMail(mA, null));\n    setLogTitle(alreadyLogging() ? R.string.stop_logging : R.string.collect_logs);\n    mB.logging.setOnClickListener(\n        v -> {\n          if (ApiUtils.hasNotifPerm()) {\n            handleLogging(true);\n          } else {\n            NotifUtils.askForNotifPerm(mA, mNotifPermReqLauncher);\n          }\n        });\n\n    if (LogUtils.isOfficialRelease()) {\n      mB.sendCrashReport.setOnClickListener(v -> CrashReportActivity.start(mA));\n    } else {\n      mB.sendCrashReport.setEnabled(false);\n    }\n\n    openWebUrl(mB.privacyPolicy, R.string.privacy_policy_link);\n    mB.checkUpdate.setOnClickListener(v -> checkForUpdates());\n    mB.translate.setOnClickListener(\n        v -> TransCreditsDialogFrag.show(mA.getSupportFragmentManager()));\n    mB.shareApp.setOnClickListener(v -> sendShareIntent(mA));\n\n    mB.paidFeatures.setOnClickListener(\n        v -> HelpActivity.start(mA, getString(R.string.paid_features_href)));\n\n    mNotifPermReqLauncher =\n        mA.registerForActivityResult(\n            new ActivityResultContracts.RequestPermission(), this::handleLogging);\n\n    ActivityResultCallback<Uri> callback =\n        logFile -> {\n          if (logFile != null) {\n            LogcatSvc.start(logFile);\n            setLogTitle(R.string.stop_logging);\n          }\n        };\n\n    mLoggingLauncher = mA.registerForActivityResult(new CreateDocument(\"text/plain\"), callback);\n  }\n\n  private void openWebUrl(View view, int linkResId) {\n    view.setOnClickListener(v -> ApiUtils.openWebUrl(mA, getString(linkResId)));\n  }\n\n  private void setLogTitle(int resId) {\n    mB.loggingTitle.setText(resId);\n  }\n\n  private static boolean alreadyLogging() {\n    return MySettings.INS.isDebug();\n  }\n\n  private void handleLogging(boolean notifPermGranted) {\n    if (alreadyLogging()) {\n      LogcatSvc.stopSvc();\n      setLogTitle(R.string.collect_logs);\n      // We need an anchor view at the bottom so that the nav bar\n      // doesn't overlap the snack bar due to EdgeToEdge.\n      UiUtils.showSnackBar(\n          mA,\n          mB.snackBarAnchor,\n          mB.snackBarAnchor,\n          App.getCxt().getString(R.string.logging_stopped),\n          5);\n      return;\n    }\n\n    if (notifPermGranted) {\n      UiUtils.showToast(R.string.select_log_file);\n      try {\n        mLoggingLauncher.launch(\"PermissionManagerX_\" + Util.getCurrDateTime(false, true) + \".log\");\n      } catch (ActivityNotFoundException ignored) {\n        UiUtils.showToast(R.string.no_file_picker_installed);\n      }\n    }\n  }\n\n  private boolean mCheckForUpdateInProgress = false;\n\n  private void checkForUpdates() {\n    if (mCheckForUpdateInProgress) {\n      return;\n    }\n    mCheckForUpdateInProgress = true;\n\n    mB.checkUpdateSummary.setText(R.string.check_in_progress);\n\n    new LiveTasksQueueTyped<>(mA, () -> AppUpdate.check(false))\n        .onUiWith(this::handleAppUpdateResult)\n        .start();\n  }\n\n  private void handleAppUpdateResult(AppUpdate.AppUpdateResult res) {\n    if (res == null) {\n      UiUtils.showToast(R.string.app_is_up_to_date);\n    } else if (res.failed) {\n      UiUtils.showToast(R.string.check_for_updates_failed);\n    } else {\n      showAppUpdateDialog(mA, res.version, true);\n    }\n\n    mB.checkUpdateSummary.setText(R.string.update_summary);\n    mCheckForUpdateInProgress = false;\n  }\n\n  public static void showAppUpdateDialog(FragmentActivity act, String version, boolean showCancel) {\n    Builder builder =\n        new Builder(act)\n            .setTitle(R.string.update)\n            .setMessage(getString(R.string.new_version_available) + \": \" + version)\n            .setPositiveButton(\n                R.string.download,\n                (d, w) -> ApiUtils.openWebUrl(act, getString(R.string.source_url)));\n    if (showCancel) {\n      builder.setNegativeButton(R.string.cancel_button, null);\n    }\n    AlertDialogFragment.show(act, builder.create(), \"APP_UPDATE\");\n  }\n\n  public static void sendShareIntent(Activity activity) {\n    Intent intent = new Intent(Intent.ACTION_SEND).setType(\"text/plain\");\n    intent.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.app_name));\n    String text = getString(R.string.share_text, getString(R.string.source_url));\n    activity.startActivity(Intent.createChooser(intent.putExtra(Intent.EXTRA_TEXT, text), null));\n  }\n\n  public boolean onCreateOptionsMenu(Menu menu) {\n    mA.getMenuInflater().inflate(R.menu.about_menu, menu);\n    return true;\n  }\n\n  public boolean onPrepareOptionsMenu(Menu menu) {\n    menu.findItem(R.id.action_perm_status).setEnabled(DaemonHandler.INS.isDaemonAlive());\n    menu.findItem(R.id.action_dump_daemon_heap).setVisible(BuildConfig.DEBUG);\n    return true;\n  }\n\n  public boolean onOptionsItemSelected(MenuItem item) {\n    if (item.getItemId() == R.id.action_dump_daemon_heap) {\n      item.setEnabled(false);\n      mDumpHeap = true;\n      return true;\n    }\n\n    if (item.getItemId() == R.id.action_perm_status) {\n      if (DaemonHandler.INS.isDaemonAlive()) {\n        AlertDialogFragment.show(mA, null, TAG_PERM_STATUS);\n      } else {\n        item.setEnabled(false);\n      }\n      return true;\n    }\n    return false;\n  }\n\n  private boolean mDumpHeap = false;\n\n  public void onDestroy() {\n    if (mDumpHeap) {\n      UiUtils.showToast(\"Heap dump will be taken after 10 seconds\");\n      SingleSchedTaskExecutor.schedule(\n          AboutActivity::dumpHeap, 10, TimeUnit.SECONDS, TAG + \"-HeapDump\");\n    }\n  }\n\n  private static final String CLASS = SettingsActivity.class.getName();\n  private static final String TAG_PERM_STATUS = CLASS + \".PERM_STATUS\";\n\n  public AlertDialog createDialog(String tag, AlertDialogFragment dialogFragment) {\n    if (TAG_PERM_STATUS.equals(tag)) {\n      return new PrivilegesDialog(mA).create(dialogFragment);\n    }\n\n    return null;\n  }\n\n  private static void dumpHeap() {\n    UiUtils.showToast(\"Taking heap dump\");\n\n    boolean done = DaemonIface.INS.dumpHeap();\n\n    System.gc();\n\n    String directory = Objects.requireNonNull(App.getCxt().getExternalCacheDir()).getAbsolutePath();\n\n    File dir = new File(directory);\n    if (!dir.isDirectory()) {\n      MyLog.e(TAG, \"dumpHeap\", directory + \" is not a directory\");\n      done = false;\n    }\n\n    File file = new File(dir, \"com.mirfatif.pmx.hprof\");\n    try {\n      Debug.dumpHprofData(file.getAbsolutePath());\n    } catch (IOException e) {\n      MyLog.e(TAG, \"dumpHeap\", e);\n      done = false;\n    }\n\n    UiUtils.showToast(done ? \"Heap dump completed\" : \"Heap dump failed\");\n  }\n\n  public static void start(Activity activity) {\n    activity.startActivity(new Intent(App.getCxt(), AboutActivityM.class));\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/about/CrashReportActivity.kt",
    "content": "package com.mirfatif.permissionmanagerx.about\n\nimport android.content.Intent\nimport android.view.View\nimport androidx.annotation.MainThread\nimport androidx.annotation.WorkerThread\nimport androidx.appcompat.app.AlertDialog\nimport androidx.core.app.NotificationManagerCompat\nimport androidx.fragment.app.FragmentActivity\nimport androidx.lifecycle.lifecycleScope\nimport com.mirfatif.permissionmanagerx.R\nimport com.mirfatif.permissionmanagerx.app.App\nimport com.mirfatif.permissionmanagerx.base.AlertDialogFragment\nimport com.mirfatif.permissionmanagerx.databinding.ActivityCrashReportBinding\nimport com.mirfatif.permissionmanagerx.fwk.CrashReportActivityM\nimport com.mirfatif.permissionmanagerx.prefs.AppUpdate\nimport com.mirfatif.permissionmanagerx.util.ApiUtils\nimport com.mirfatif.permissionmanagerx.util.LogUtils\nimport com.mirfatif.permissionmanagerx.util.UiUtils\nimport com.mirfatif.privtasks.util.MyLog\nimport java.io.IOException\nimport java.lang.AutoCloseable\nimport java.net.HttpURLConnection\nimport java.net.URL\nimport java.nio.charset.StandardCharsets\nimport kotlinx.coroutines.Dispatchers\nimport kotlinx.coroutines.launch\nimport kotlinx.coroutines.withContext\n\nclass CrashReportActivity(private val mA: CrashReportActivityM) {\n  private lateinit var mB: ActivityCrashReportBinding\n\n  fun onCreated() {\n    mB = ActivityCrashReportBinding.inflate(mA.layoutInflater)\n    mA.setContentView(mB)\n\n    mA.supportActionBar?.setTitle(R.string.crash_report)\n\n    mA.lifecycleScope.launch(Dispatchers.Main) { setFileContents(readFileContents()) }\n  }\n\n  private data class Result(val updateResult: AppUpdate.AppUpdateResult?, val contents: String)\n\n  private suspend fun readFileContents(): Result? =\n      withContext(Dispatchers.IO) {\n        NotificationManagerCompat.from(App.getCxt())\n            .cancel(ApiUtils.getInt(R.integer.channel_crash_report))\n\n        val logFile = LogUtils.getCrashLogFile()\n        if (!logFile.exists()) {\n          UiUtils.showToast(R.string.crash_log_file_not_exists_toast)\n          return@withContext null\n        }\n\n        val text: String\n\n        try {\n          text = logFile.readText()\n        } catch (e: IOException) {\n          MyLog.e(TAG, \"getFileContents\", e)\n          UiUtils.showToast(R.string.crash_log_file_read_failed_toast)\n          return@withContext null\n        }\n\n        if (text.split('\\n').size <= LogUtils.CRASH_FILE_HEADER_LINES) {\n          UiUtils.showToast(R.string.crash_log_file_not_exists_toast)\n          null\n        } else {\n          withContext(Dispatchers.Main) { mB.progMsg.setText(R.string.checking_for_app_update) }\n          Result(AppUpdate.check(false), text)\n        }\n      }\n\n  @MainThread\n  private fun setFileContents(result: Result?) {\n    if (result == null) {\n      mA.finishAfterTransition()\n      return\n    }\n\n    mB.reportCont.visibility = View.VISIBLE\n    mB.contentV.text = result.contents\n\n    handleAppUpdate(result)\n  }\n\n  @MainThread\n  private fun handleAppUpdate(res: Result) {\n    mB.progCont.visibility = View.GONE\n\n    if (res.updateResult == null) {\n      mB.submitButton.isEnabled = true\n\n      mB.submitButton.setOnClickListener {\n        mB.submitButton.setText(R.string.submitting_report_button)\n        mB.submitButton.isEnabled = false\n\n        mA.lifecycleScope.launch(Dispatchers.Main) {\n          handleSubmitResult(withContext(Dispatchers.IO) { submit(res.contents) })\n        }\n      }\n    } else if (res.updateResult.failed) {\n      val builder =\n          AlertDialog.Builder(mA)\n              .setTitle(R.string.update)\n              .setMessage(R.string.check_for_updates_failed_long)\n              .setPositiveButton(R.string.retry_button) { d, w ->\n                mB.progCont.visibility = View.VISIBLE\n                mA.lifecycleScope.launch(Dispatchers.IO) {\n                  val updateResult = AppUpdate.check(false)\n                  withContext(Dispatchers.Main) {\n                    handleAppUpdate(Result(updateResult, res.contents))\n                  }\n                }\n              }\n      AlertDialogFragment.show(mA, builder.create(), \"APP_UPDATE\")\n    } else {\n      AboutActivity.showAppUpdateDialog(mA, res.updateResult.version, false)\n    }\n  }\n\n  @Synchronized\n  @WorkerThread\n  private fun submit(fileContents: String): Boolean {\n    try {\n      ServerConnection().use { conn ->\n        if (!conn.write(fileContents)) {\n          return false\n        }\n      }\n    } catch (e: IOException) {\n      MyLog.e(TAG, \"submit\", e)\n      return false\n    }\n\n    val logFile = LogUtils.getCrashLogFile()\n    if (!logFile.delete()) {\n      MyLog.e(TAG, \"submit\", \"Failed to delete \" + logFile.absolutePath)\n    }\n\n    LogUtils.createCrashLogFile()\n\n    return true\n  }\n\n  private class ServerConnection : AutoCloseable {\n    private val conn =\n        URL(\"https://api.mirfatif.com/crash-report?app=PMX\").openConnection() as HttpURLConnection\n\n    init {\n      conn.setConnectTimeout(60000)\n      conn.setReadTimeout(60000)\n      conn.setDoOutput(true)\n      conn.setRequestMethod(\"PUT\")\n      conn.setRequestProperty(\"Content-Type\", \"text/plain; charset=UTF-8\")\n      conn.connect()\n    }\n\n    override fun close() {\n      conn.disconnect()\n    }\n\n    fun write(fileContents: String): Boolean {\n      conn.getOutputStream().use { it.write(fileContents.toByteArray(StandardCharsets.UTF_8)) }\n\n      val code = conn.getResponseCode()\n      if (code == HttpURLConnection.HTTP_CREATED || code == HttpURLConnection.HTTP_OK) {\n        return true\n      }\n\n      MyLog.e(TAG, \"write\", \"Response code: \" + code + \" (\" + conn.getResponseMessage() + \")\")\n      return false\n    }\n  }\n\n  private fun handleSubmitResult(done: Boolean) {\n    if (done) {\n      UiUtils.showToast(R.string.thank_you)\n      mA.finishAfterTransition()\n    } else {\n      mB.submitButton.setText(R.string.submit_report_button)\n      mB.submitButton.isEnabled = true\n      UiUtils.showToast(R.string.submit_crash_report_failed_toast)\n    }\n  }\n\n  companion object {\n    private const val TAG = \"CrashReportActivity\"\n\n    @JvmStatic\n    fun start(act: FragmentActivity) {\n      act.startActivity(Intent(App.getCxt(), CrashReportActivityM::class.java))\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/about/PrivilegesAdapter.java",
    "content": "package com.mirfatif.permissionmanagerx.about;\n\nimport android.view.LayoutInflater;\nimport android.view.ViewGroup;\nimport androidx.recyclerview.widget.RecyclerView;\nimport androidx.recyclerview.widget.RecyclerView.ViewHolder;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.about.PrivilegesAdapter.ItemViewHolder;\nimport com.mirfatif.permissionmanagerx.databinding.AboutPrivilegesItemBinding;\nimport com.mirfatif.privtasks.bind.PrivsStatus;\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class PrivilegesAdapter extends RecyclerView.Adapter<ItemViewHolder> {\n\n  private final List<PrivsStatus.PermStatus> mPermStatusList = new ArrayList<>();\n\n  void submitList(List<PrivsStatus.PermStatus> permStatusList) {\n    synchronized (mPermStatusList) {\n      mPermStatusList.clear();\n      mPermStatusList.addAll(permStatusList);\n      notifyDataSetChanged();\n    }\n  }\n\n  public ItemViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {\n    LayoutInflater inflater = LayoutInflater.from(parent.getContext());\n    AboutPrivilegesItemBinding b = AboutPrivilegesItemBinding.inflate(inflater, parent, false);\n    return new ItemViewHolder(b);\n  }\n\n  public void onBindViewHolder(ItemViewHolder holder, int position) {\n    holder.bind(position);\n  }\n\n  public long getItemId(int position) {\n    return position;\n  }\n\n  public int getItemCount() {\n    return mPermStatusList.size();\n  }\n\n  class ItemViewHolder extends ViewHolder {\n\n    private final AboutPrivilegesItemBinding mB;\n\n    public ItemViewHolder(AboutPrivilegesItemBinding binding) {\n      super(binding.getRoot());\n      mB = binding;\n    }\n\n    void bind(int pos) {\n      PrivsStatus.PermStatus item = mPermStatusList.get(pos);\n      if (item != null) {\n        mB.permV.setSelected(true);\n        mB.permV.setText(item.name.replaceFirst(\"^android.permission.\", \"\"));\n        mB.statusV.setImageResource(item.granted ? R.drawable.tick : R.drawable.cross_red);\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/about/PrivilegesDialog.java",
    "content": "package com.mirfatif.permissionmanagerx.about;\n\nimport android.graphics.drawable.ShapeDrawable;\nimport android.graphics.drawable.shapes.RectShape;\nimport androidx.appcompat.app.AlertDialog;\nimport androidx.fragment.app.FragmentActivity;\nimport androidx.recyclerview.widget.DividerItemDecoration;\nimport androidx.recyclerview.widget.LinearLayoutManager;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.base.AlertDialogFragment;\nimport com.mirfatif.permissionmanagerx.databinding.AboutPrivilegesDialogBinding;\nimport com.mirfatif.permissionmanagerx.parser.PackageParser;\nimport com.mirfatif.permissionmanagerx.privs.DaemonHandler;\nimport com.mirfatif.permissionmanagerx.privs.DaemonIface;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\nimport com.mirfatif.permissionmanagerx.util.bg.LiveTasksQueueTyped;\nimport com.mirfatif.privtasks.bind.PrivsStatus;\n\npublic class PrivilegesDialog {\n\n  private final FragmentActivity mA;\n\n  PrivilegesDialog(FragmentActivity activity) {\n    mA = activity;\n  }\n\n  AlertDialog create(AlertDialogFragment dialogFragment) {\n    AboutPrivilegesDialogBinding b = AboutPrivilegesDialogBinding.inflate(mA.getLayoutInflater());\n    PrivilegesAdapter adapter = new PrivilegesAdapter();\n\n    new LiveTasksQueueTyped<>(dialogFragment, DaemonIface.INS::getPrivsStatus)\n        .onUiWith(result -> updatePermStatusDialog(result, b, adapter, dialogFragment))\n        .start();\n\n    b.uidV.setText(String.valueOf(DaemonHandler.INS.getUid()));\n    b.recyclerV.setLayoutManager(new LinearLayoutManager(mA));\n    DividerItemDecoration divider = new DividerItemDecoration(mA, DividerItemDecoration.VERTICAL);\n    divider.setDrawable(new Divider(mA.getColor(R.color.colorControlNormal)));\n    b.recyclerV.addItemDecoration(divider);\n    b.recyclerV.setAdapter(adapter);\n    return new AlertDialog.Builder(mA)\n        .setTitle(R.string.perm_status_menu_item)\n        .setView(b.getRoot())\n        .create();\n  }\n\n  private void updatePermStatusDialog(\n      PrivsStatus status,\n      AboutPrivilegesDialogBinding b,\n      PrivilegesAdapter adapter,\n      AlertDialogFragment dialogFragment) {\n    if (status == null) {\n      dialogFragment.dismissAllowingStateLoss();\n      return;\n    }\n\n    adapter.submitList(status.permStatusList);\n    b.opToDefModeV.setImageResource(getIcon(status.opToDefModeWorks));\n    b.opToSwV.setImageResource(getIcon(status.opToSwitchWorks));\n    b.opToNameV.setImageResource(getIcon(status.opToNameWorks));\n    b.getOpsV.setImageResource(getIcon(status.getOpsWorks));\n    b.consAppOpNumV.setImageResource(getIcon(status.opNumConsistent));\n    b.consAppOpModeV.setImageResource(\n        getIcon(PackageParser.INS.mOpModesConsistent && status.opModeConsistent));\n  }\n\n  private int getIcon(boolean ok) {\n    return ok ? R.drawable.tick : R.drawable.cross_red;\n  }\n\n  private static class Divider extends ShapeDrawable {\n\n    public Divider(int color) {\n      super(new RectShape());\n      super.setAlpha(100);\n      super.getPaint().setColor(color);\n      super.setIntrinsicHeight(UiUtils.dpToPx(1.2f));\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/about/TransCreditsDialogFrag.java",
    "content": "package com.mirfatif.permissionmanagerx.about;\n\nimport static com.mirfatif.permissionmanagerx.util.ApiUtils.openWebUrl;\n\nimport android.content.res.TypedArray;\nimport android.os.Bundle;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport androidx.fragment.app.FragmentManager;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.app.App;\nimport com.mirfatif.permissionmanagerx.base.BottomSheetDialogFrag;\nimport com.mirfatif.permissionmanagerx.databinding.TransCreditsRowBinding;\nimport com.mirfatif.permissionmanagerx.databinding.TranslationDialogBinding;\nimport com.mirfatif.permissionmanagerx.util.StringUtils;\nimport me.saket.bettermovementmethod.BetterLinkMovementMethod;\n\npublic class TransCreditsDialogFrag extends BottomSheetDialogFrag {\n\n  public static void show(FragmentManager fm) {\n    TransCreditsDialogFrag frag = new TransCreditsDialogFrag();\n    frag.show(fm, \"TRANS_CREDITS\");\n  }\n\n  public View onCreateView(\n      LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {\n    TranslationDialogBinding b = TranslationDialogBinding.inflate(mA.getLayoutInflater());\n\n    TypedArray names = App.getRes().obtainTypedArray(R.array.locale_contributor_name_arrays);\n    TypedArray links = App.getRes().obtainTypedArray(R.array.locale_contributor_link_arrays);\n    String[] locales = App.getRes().getStringArray(R.array.locales);\n\n    StringBuilder sb = new StringBuilder();\n    TransCreditsRowBinding row;\n\n    int nameArrayResId, linkArrayResId;\n    String[] nameArray, linkArray;\n    String link;\n\n    BetterLinkMovementMethod moveMethod = BetterLinkMovementMethod.newInstance();\n    moveMethod.setOnLinkClickListener((textView, url) -> openWebUrl(mA, url));\n\n    for (int i = 0; i < names.length(); i++) {\n      nameArrayResId = names.getResourceId(i, 0);\n      linkArrayResId = links.getResourceId(i, 0);\n      if (nameArrayResId == 0 || linkArrayResId == 0) {\n        continue;\n      }\n\n      row = TransCreditsRowBinding.inflate(mA.getLayoutInflater());\n      b.table.addView(row.getRoot());\n\n      row.lang.setText(locales[i]);\n\n      nameArray = App.getRes().getStringArray(nameArrayResId);\n      linkArray = App.getRes().getStringArray(linkArrayResId);\n\n      sb.setLength(0);\n\n      for (int n = 0; n < nameArray.length; n++) {\n        if (n > 0) {\n          sb.append(\"<br />\");\n        }\n\n        sb.append(nameArray[n]).append(\" \");\n\n        link = linkArray[n];\n        if (link.startsWith(\"http://\") || link.startsWith(\"https://\")) {\n          sb.append(\"<a href=\\\"\").append(link).append(\"\\\">LINK</a>\");\n        } else if (!link.isEmpty()) {\n          sb.append(\"(\").append(link).append(\")\");\n        }\n      }\n\n      if (sb.length() != 0) {\n        row.credits.setText(StringUtils.htmlToString(sb.toString()));\n      }\n      row.credits.setMovementMethod(moveMethod);\n    }\n\n    names.recycle();\n    links.recycle();\n\n    b.addMyLang.setOnClickListener(\n        v -> {\n          openWebUrl(mA, getString(R.string.translation_link));\n          dismissAllowingStateLoss();\n        });\n    return b.getRoot();\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/app/App.java",
    "content": "package com.mirfatif.permissionmanagerx.app;\n\nimport android.content.Context;\nimport android.content.pm.PackageManager;\nimport android.content.res.Configuration;\nimport android.content.res.Resources;\nimport android.os.SystemClock;\nimport com.mirfatif.permissionmanagerx.fwk.AppM;\nimport com.mirfatif.permissionmanagerx.util.AppLifecycle;\nimport com.mirfatif.permissionmanagerx.util.LocaleUtils;\nimport com.mirfatif.permissionmanagerx.util.LogUtils;\nimport com.mirfatif.privtasks.util.MyLog;\nimport java.io.PrintWriter;\nimport java.io.StringWriter;\n\npublic class App {\n\n  private static final String TAG = \"App\";\n\n  private final AppM mA;\n\n  public App(AppM app) {\n    mA = app;\n  }\n\n  private static Context sContext;\n\n  private Thread.UncaughtExceptionHandler defaultExceptionHandler;\n\n  public void onCreate() {\n    sContext = mA.getApplicationContext();\n    mPm = App.getCxt().getPackageManager();\n\n    setLocale();\n\n    defaultExceptionHandler = Thread.getDefaultUncaughtExceptionHandler();\n    Thread.setDefaultUncaughtExceptionHandler(new ExceptionHandler());\n\n    AppLifecycle.init(mA);\n  }\n\n  public Configuration onConfigurationChanged(Configuration newConfig) {\n    return LocaleUtils.setLocale(newConfig);\n  }\n\n  public static void setLocale() {\n    LocaleUtils.setLocale(sContext);\n  }\n\n  public static Context getCxt() {\n    while (sContext == null) {\n      SystemClock.sleep(100);\n    }\n    return sContext;\n  }\n\n  public static Resources getRes() {\n    return sContext.getResources();\n  }\n\n  private static PackageManager mPm;\n\n  public static PackageManager getPm() {\n    return mPm;\n  }\n\n  private class ExceptionHandler implements Thread.UncaughtExceptionHandler {\n\n    public void uncaughtException(Thread t, Throwable e) {\n      MyLog.e(TAG, \"uncaughtException\", t.getName() + \": \" + e);\n\n      StringWriter stringWriter = new StringWriter();\n      PrintWriter writer = new PrintWriter(stringWriter, true);\n      e.printStackTrace(writer);\n      writer.close();\n      LogUtils.showCrashNotification(stringWriter.toString(), false);\n\n      defaultExceptionHandler.uncaughtException(t, e);\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/backup/BackupFileSelector.java",
    "content": "package com.mirfatif.permissionmanagerx.backup;\n\nimport android.content.ActivityNotFoundException;\nimport android.net.Uri;\nimport androidx.activity.result.ActivityResultCallback;\nimport androidx.activity.result.ActivityResultLauncher;\nimport androidx.activity.result.contract.ActivityResultContracts;\nimport androidx.fragment.app.FragmentActivity;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\nimport com.mirfatif.privtasks.util.Util;\n\npublic class BackupFileSelector {\n\n  public static final String BACKUP_FILE_MIME = \"text/xml\";\n\n  public static String backupFileName() {\n    return \"PermissionManagerX_\" + Util.getCurrDateTime(false, false) + \".xml\";\n  }\n\n  private final ActivityResultLauncher<String> mBackupLauncher;\n  private final ActivityResultLauncher<String[]> mRestoreLauncher;\n\n  public BackupFileSelector(\n      FragmentActivity act, boolean forBackup, ActivityResultCallback<Uri> callback) {\n    if (forBackup) {\n      mBackupLauncher =\n          act.registerForActivityResult(\n              new ActivityResultContracts.CreateDocument(BACKUP_FILE_MIME), callback);\n\n      mRestoreLauncher = null;\n    } else {\n      mBackupLauncher = null;\n      mRestoreLauncher =\n          act.registerForActivityResult(new ActivityResultContracts.OpenDocument(), callback);\n    }\n  }\n\n  public void launch() {\n    UiUtils.showToast(R.string.select_backup_file);\n\n    try {\n      if (mBackupLauncher != null) {\n        mBackupLauncher.launch(backupFileName());\n      } else {\n        mRestoreLauncher.launch(new String[] {\"text/xml\"});\n      }\n    } catch (ActivityNotFoundException e) {\n      UiUtils.showToast(R.string.no_file_picker_installed);\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/backup/BackupRestore.java",
    "content": "package com.mirfatif.permissionmanagerx.backup;\n\nimport android.content.SharedPreferences;\nimport android.content.pm.PackageManager;\nimport android.net.Uri;\nimport android.util.Xml;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.app.App;\nimport com.mirfatif.permissionmanagerx.parser.AppOpsParser;\nimport com.mirfatif.permissionmanagerx.parser.PackageParser;\nimport com.mirfatif.permissionmanagerx.parser.permsdb.PermissionEntity;\nimport com.mirfatif.permissionmanagerx.parser.permsdb.PermsDb;\nimport com.mirfatif.permissionmanagerx.prefs.ExcFiltersData;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\nimport com.mirfatif.permissionmanagerx.profile.PermProfileBackupRestore;\nimport com.mirfatif.permissionmanagerx.util.ApiUtils;\nimport com.mirfatif.privtasks.util.MyLog;\nimport java.io.ByteArrayInputStream;\nimport java.io.ByteArrayOutputStream;\nimport java.io.FileNotFoundException;\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.io.OutputStream;\nimport java.io.StringReader;\nimport java.io.StringWriter;\nimport java.lang.reflect.Field;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.HashSet;\nimport java.util.List;\nimport java.util.Map;\nimport java.util.Set;\nimport java.util.stream.Collectors;\nimport javax.xml.transform.OutputKeys;\nimport javax.xml.transform.Source;\nimport javax.xml.transform.Transformer;\nimport javax.xml.transform.TransformerException;\nimport javax.xml.transform.TransformerFactory;\nimport javax.xml.transform.stream.StreamResult;\nimport javax.xml.transform.stream.StreamSource;\nimport org.xmlpull.v1.XmlPullParser;\nimport org.xmlpull.v1.XmlPullParserException;\nimport org.xmlpull.v1.XmlSerializer;\n\npublic enum BackupRestore {\n  INS;\n\n  private static final String TAG = \"BackupRestore\";\n\n  private static final String TAG_ROOT = \"PermissionManagerX\";\n\n  private static final String TAG_PREFERENCES = \"preferences\";\n  private static final String TAG_PREF = \"pref\";\n\n  private static final String TAG_PERMISSIONS = \"permissions\";\n  private static final String TAG_PERM = \"perm\";\n\n  private static final String ATTR_KEY = \"key\";\n  private static final String ATTR_VALUE = \"value\";\n  private static final String ATTR_TYPE = \"type\";\n\n  private static final String BOOLEAN = \"boolean\";\n  private static final String FLOAT = \"float\";\n  private static final String INT = \"int\";\n  private static final String LONG = \"long\";\n  private static final String SET = \"Set\";\n  private static final String STRING = \"String\";\n\n  private static final String SEPARATOR = \",\";\n\n  private static final String ATTR_PKG = \"pkg\";\n  private static final String ATTR_PERM = \"perm\";\n  private static final String ATTR_STATE = \"state\";\n  private static final String ATTR_APP_OP = \"app_op\";\n  private static final String ATTR_PER_UID = \"per_uid\";\n  private static final String ATTR_USER_ID = \"user_id\";\n\n  public Result backupNoThrow(Uri file, boolean backupPrefs, boolean skipUninstalledApps) {\n    try {\n      return backup(file, backupPrefs, skipUninstalledApps);\n    } catch (FileNotFoundException e) {\n      MyLog.e(TAG, \"backupNoThrow\", e);\n      return null;\n    }\n  }\n\n  private Result backup(Uri file, boolean backupPrefs, boolean skipUninstalledApps)\n      throws FileNotFoundException {\n    try (OutputStream os = App.getCxt().getContentResolver().openOutputStream(file, \"w\")) {\n      return backup(os, backupPrefs, skipUninstalledApps);\n    } catch (FileNotFoundException e) {\n      throw e;\n    } catch (IOException e) {\n      MyLog.e(TAG, \"backup\", e);\n      return null;\n    }\n  }\n\n  public Result backup(\n      OutputStream outputStream, boolean backupPrefs, boolean skipUninstalledApps) {\n    XmlSerializer serializer = Xml.newSerializer();\n    StringWriter stringWriter = new StringWriter();\n    try {\n      serializer.setOutput(stringWriter);\n      serializer.startDocument(\"UTF-8\", true);\n      serializer.startTag(null, TAG_ROOT);\n      serializer.startTag(null, TAG_PREFERENCES);\n    } catch (IOException e) {\n      MyLog.e(TAG, \"backup\", e);\n      return null;\n    }\n\n    int prefCount = 0, invalidPrefs = 0;\n\n    if (backupPrefs) {\n      Map<String, ?> prefEntries = MySettings.getDefPrefs().getAll();\n\n      for (Map.Entry<String, ?> entry : prefEntries.entrySet()) {\n        String key = entry.getKey();\n\n        if (isInvalidPrefKey(key)) {\n          MyLog.i(TAG, \"backup\", \"Skipping \" + key);\n          continue;\n        }\n\n        prefCount++;\n\n        Object value = entry.getValue();\n        String type;\n\n        if (value instanceof Boolean) {\n          type = BOOLEAN;\n        } else if (value instanceof Float) {\n          type = FLOAT;\n        } else if (value instanceof Integer) {\n          type = INT;\n        } else if (value instanceof Long) {\n          type = LONG;\n        } else if (value instanceof Set) {\n          type = SET;\n          StringBuilder stringBuilder = new StringBuilder();\n          for (Object object : (Set<?>) value) {\n            if (stringBuilder.length() != 0) {\n              stringBuilder.append(SEPARATOR);\n            }\n            stringBuilder.append(object.toString());\n          }\n          value = stringBuilder;\n        } else if (value instanceof String) {\n          type = STRING;\n        } else {\n          MyLog.e(TAG, \"backup\", \"Unknown preference type: \" + value.toString());\n          invalidPrefs++;\n          continue;\n        }\n\n        try {\n          serializer.startTag(null, TAG_PREF);\n          serializer.attribute(null, ATTR_KEY, key);\n          serializer.attribute(null, ATTR_VALUE, value.toString());\n          serializer.attribute(null, ATTR_TYPE, type);\n          serializer.endTag(null, TAG_PREF);\n        } catch (IOException e) {\n          MyLog.e(TAG, \"backup\", e);\n          return null;\n        }\n      }\n    }\n\n    try {\n      serializer.endTag(null, TAG_PREFERENCES);\n      serializer.startTag(null, TAG_PERMISSIONS);\n    } catch (IOException e) {\n      MyLog.e(TAG, \"backup\", e);\n      return null;\n    }\n\n    List<PermissionEntity> permEntities = PermsDb.INS.getDb().getAll();\n\n    int permCount = permEntities.size();\n    int skippedApps = 0;\n\n    if (skipUninstalledApps) {\n      List<String> pkgList = getAllPkgList();\n      int permEntitiesSize = permEntities.size();\n      permEntities.removeIf(entity -> !pkgList.contains(entity.pkgName));\n      skippedApps = permEntitiesSize - permEntities.size();\n    }\n\n    for (PermissionEntity entity : permEntities) {\n      try {\n        serializer.startTag(null, TAG_PERM);\n\n        serializer.attribute(null, ATTR_PKG, entity.pkgName);\n        serializer.attribute(null, ATTR_PERM, entity.permName);\n        serializer.attribute(null, ATTR_STATE, entity.state);\n        serializer.attribute(null, ATTR_APP_OP, String.valueOf(entity.isAppOps));\n        serializer.attribute(null, ATTR_PER_UID, String.valueOf(entity.isPerUid));\n        serializer.attribute(null, ATTR_USER_ID, String.valueOf(entity.userId));\n\n        serializer.endTag(null, TAG_PERM);\n      } catch (IOException e) {\n        MyLog.e(TAG, \"backup\", e);\n        return null;\n      }\n    }\n\n    try {\n      serializer.endTag(null, TAG_PERMISSIONS);\n    } catch (IOException e) {\n      MyLog.e(TAG, \"backup\", e);\n      return null;\n    }\n\n    int profileCount;\n\n    try {\n      profileCount = PermProfileBackupRestore.backup(serializer);\n    } catch (IOException e) {\n      MyLog.e(TAG, \"backup\", e);\n      return null;\n    }\n\n    try {\n      serializer.endTag(null, TAG_ROOT);\n      serializer.endDocument();\n      serializer.flush();\n    } catch (IOException e) {\n      MyLog.e(TAG, \"backup\", e);\n      return null;\n    }\n\n    Source input = new StreamSource(new StringReader(stringWriter.toString()));\n    StreamResult output = new StreamResult(outputStream);\n    try {\n      Transformer transformer = TransformerFactory.newInstance().newTransformer();\n      transformer.setOutputProperty(OutputKeys.INDENT, \"yes\");\n      transformer.setOutputProperty(\"{http://xml.apache.org/xslt}indent-amount\", \"2\");\n      transformer.transform(input, output);\n    } catch (TransformerException e) {\n      MyLog.e(TAG, \"backup\", e);\n    }\n\n    try {\n      outputStream.flush();\n      outputStream.close();\n    } catch (IOException e) {\n      MyLog.e(TAG, \"backup\", e);\n    }\n\n    MyLog.i(TAG, \"backup\", \"Succeeded\");\n\n    return new Result(prefCount, permCount, profileCount, invalidPrefs, skippedApps);\n  }\n\n  public Result restore(Uri file, boolean skipUninstalledApps) {\n    Result res;\n\n    try (InputStream is = App.getCxt().getContentResolver().openInputStream(file)) {\n      if (is == null) {\n        MyLog.e(TAG, \"restore\", \"Failed to get InputStream\");\n        return null;\n      }\n      res = restore(is, skipUninstalledApps);\n    } catch (IOException | SecurityException e) {\n      MyLog.e(TAG, \"restore\", e);\n      return null;\n    }\n\n    if (res != null) {\n      ExcFiltersData.INS.populateLists(true);\n      PermsDb.INS.buildRefs();\n      PackageParser.INS.updatePkgList();\n    }\n\n    return res;\n  }\n\n  public Result restore(InputStream is, boolean skipUninstalledApps) {\n    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();\n    byte[] buffer = new byte[1024];\n    int len;\n    try {\n      while ((len = is.read(buffer)) > -1) {\n        byteArrayOutputStream.write(buffer, 0, len);\n      }\n      byteArrayOutputStream.flush();\n    } catch (IOException e) {\n      MyLog.e(TAG, \"restore\", e);\n      return null;\n    }\n\n    InputStream inputStream1 = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());\n    InputStream inputStream2 = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());\n    InputStream inputStream3 = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());\n\n    int invalidPrefs = 0;\n\n    String[] attrNames = new String[] {ATTR_KEY, ATTR_VALUE, ATTR_TYPE};\n    List<String[]> entries = getKeyValueEntries(inputStream1, TAG_PREFERENCES, TAG_PREF, attrNames);\n\n    if (entries == null) {\n      return null;\n    }\n\n    int prefCount = entries.size();\n\n    String key, value, type;\n\n    SharedPreferences.Editor prefEdit = MySettings.getDefPrefs().edit();\n    for (String[] entry : entries) {\n      key = entry[0];\n      value = entry[1];\n      type = entry[2];\n\n      if (isInvalidPrefKey(key)) {\n        MyLog.e(TAG, \"restore\", \"Invalid preference: \" + key);\n        invalidPrefs++;\n        continue;\n      }\n\n      switch (type) {\n        case BOOLEAN -> prefEdit.putBoolean(key, Boolean.parseBoolean(value));\n        case FLOAT -> prefEdit.putFloat(key, Float.parseFloat(value));\n        case INT -> prefEdit.putInt(key, Integer.parseInt(value));\n        case LONG -> prefEdit.putLong(key, Long.parseLong(value));\n        case SET -> {\n          if (value.length() == 0) {\n            prefEdit.putStringSet(key, new HashSet<>());\n          } else {\n            prefEdit.putStringSet(key, new HashSet<>(Arrays.asList(value.split(SEPARATOR))));\n          }\n        }\n        case STRING -> prefEdit.putString(key, value);\n        default -> {\n          MyLog.e(TAG, \"restore\", \"Unknown preference type: \" + type);\n          invalidPrefs++;\n        }\n      }\n      prefEdit.apply();\n    }\n\n    attrNames =\n        new String[] {\n          ATTR_PKG,\n          ATTR_PERM,\n          ATTR_STATE,\n          ATTR_APP_OP,\n          ATTR_PER_UID,\n          ATTR_USER_ID,\n          ATTR_KEY,\n          ATTR_VALUE,\n          ATTR_TYPE\n        };\n\n    entries = getKeyValueEntries(inputStream2, TAG_PERMISSIONS, TAG_PERM, attrNames);\n    if (entries == null) {\n      return null;\n    }\n\n    int permCount = entries.size();\n\n    List<PermissionEntity> entities = new ArrayList<>();\n\n    String pkgName, permName, state;\n    boolean isAppOp, isPerUid;\n\n    for (String[] entry : entries) {\n      pkgName = entry[0] != null ? entry[0] : entry[6];\n      permName = entry[1] != null ? entry[1] : entry[8];\n      state = entry[2] != null ? entry[2] : entry[7];\n      isAppOp = entry[3] != null && Boolean.parseBoolean(entry[3]);\n      isPerUid = entry[4] != null && Boolean.parseBoolean(entry[4]);\n\n      entities.add(new PermissionEntity(pkgName, permName, state, isAppOp, isPerUid));\n    }\n\n    int skippedApps = 0;\n\n    if (skipUninstalledApps) {\n      List<String> pkgList = getAllPkgList();\n      int permEntriesSize = entities.size();\n      entities.removeIf(entity -> !pkgList.contains(entity.pkgName));\n      skippedApps = permEntriesSize - entities.size();\n    }\n\n    PermsDb.INS.updateRefsDb(entities.toArray(new PermissionEntity[0]));\n\n    if (!entries.isEmpty() && entries.get(0)[0] == null) {\n      if (!AppOpsParser.INS.fixPermDb()) {\n        MySettings.INS.setFixPermDb(true);\n      }\n    }\n\n    int profileCount;\n\n    try {\n      profileCount = PermProfileBackupRestore.restore(inputStream3);\n    } catch (Exception ignored) {\n      return null;\n    }\n\n    MyLog.i(TAG, \"restore\", \"Succeeded\");\n\n    return new Result(prefCount, permCount, profileCount, invalidPrefs, skippedApps);\n  }\n\n  public static List<String[]> getKeyValueEntries(\n      InputStream inputStream, String mainTag, String entryTag, String[] attrNames) {\n    XmlPullParser xmlParser = Xml.newPullParser();\n\n    List<String[]> entries = new ArrayList<>();\n\n    boolean rootTagFound = false;\n    boolean mainTagFound = false;\n\n    try {\n      xmlParser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false);\n      xmlParser.setInput(inputStream, null);\n      while (true) {\n        int eventType = xmlParser.next();\n        if (eventType == XmlPullParser.END_DOCUMENT) {\n          break;\n        }\n\n        String tagName = xmlParser.getName();\n        if (eventType == XmlPullParser.START_TAG && tagName.equals(TAG_ROOT)) {\n          rootTagFound = true;\n        }\n        if (eventType == XmlPullParser.START_TAG && tagName.equals(mainTag)) {\n          mainTagFound = true;\n        }\n\n        if (!rootTagFound || !mainTagFound) {\n          continue;\n        }\n\n        if (eventType == XmlPullParser.END_TAG && tagName.equals(mainTag)) {\n          break;\n        }\n\n        if (eventType == XmlPullParser.START_TAG && tagName.equals(entryTag)) {\n          String[] values = new String[attrNames.length];\n          for (int i = 0; i < attrNames.length; i++) {\n            values[i] = xmlParser.getAttributeValue(null, attrNames[i]);\n          }\n\n          entries.add(values);\n        }\n      }\n    } catch (IOException | XmlPullParserException e) {\n      MyLog.e(TAG, \"getKeyValueEntries\", e);\n      return null;\n    }\n\n    return entries;\n  }\n\n  private final List<String> mBackupAblePrefs = new ArrayList<>();\n\n  private boolean isInvalidPrefKey(String prefKey) {\n    synchronized (mBackupAblePrefs) {\n      if (mBackupAblePrefs.isEmpty()) {\n        int resId;\n        String name;\n\n        for (Field field : R.string.class.getDeclaredFields()) {\n          name = field.getName();\n\n          try {\n            resId = R.string.class.getDeclaredField(name).getInt(null);\n          } catch (NoSuchFieldException | IllegalAccessException e) {\n            continue;\n          }\n\n          String str = App.getRes().getString(resId);\n\n          if (str.startsWith(\"pref_\") && !str.endsWith(\"_enc\") && name.equals(str + \"_key\")) {\n            mBackupAblePrefs.add(str);\n          }\n        }\n      }\n    }\n\n    return !mBackupAblePrefs.contains(prefKey);\n  }\n\n  private List<String> getAllPkgList() {\n    return ApiUtils.getInstalledPackages(PackageManager.MATCH_UNINSTALLED_PACKAGES).parallelStream()\n        .map(pkgInfo -> pkgInfo.packageName)\n        .collect(Collectors.toList());\n  }\n\n  public static class Result {\n\n    public final int prefs, perms, profiles, invalidPrefs, skippedApps;\n\n    private Result(int prefs, int perms, int profiles, int invalidPrefs, int skippedApps) {\n      this.prefs = prefs;\n      this.perms = perms;\n      this.profiles = profiles;\n      this.invalidPrefs = invalidPrefs;\n      this.skippedApps = skippedApps;\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/base/AlertDialogFragment.java",
    "content": "package com.mirfatif.permissionmanagerx.base;\n\nimport android.app.Dialog;\nimport android.content.Context;\nimport android.content.DialogInterface;\nimport android.content.DialogInterface.OnDismissListener;\nimport android.os.Bundle;\nimport androidx.appcompat.app.AlertDialog;\nimport androidx.appcompat.app.AlertDialog.Builder;\nimport androidx.appcompat.app.AppCompatDialogFragment;\nimport androidx.fragment.app.Fragment;\nimport androidx.fragment.app.FragmentActivity;\nimport androidx.fragment.app.FragmentManager;\nimport androidx.lifecycle.Lifecycle.State;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\nimport com.mirfatif.privtasks.util.MyLog;\n\npublic class AlertDialogFragment extends AppCompatDialogFragment {\n\n  private static final String TAG = \"AlertDialogFragment\";\n\n  public static final String DIALOG_TAG = AlertDialogFragment.class.getName() + \".A\";\n\n  public AlertDialogFragment() {}\n\n  private AlertDialog mAlertDialog;\n\n  public AlertDialog getDialog() {\n    return mAlertDialog;\n  }\n\n  private AlertDialogFragment(AlertDialog alertDialog) {\n    mAlertDialog = alertDialog;\n  }\n\n  private BaseActivity mA;\n\n  public void onAttach(Context context) {\n    super.onAttach(context);\n    mA = (BaseActivity) getActivity();\n  }\n\n  public Dialog onCreateDialog(Bundle savedInstanceState) {\n    if (mAlertDialog == null) {\n      mAlertDialog = mA.createDialog(requireArguments().getString(DIALOG_TAG), this);\n      if (mAlertDialog == null) {\n        dismissAllowingStateLoss();\n        return new Builder(mA).create();\n      }\n    }\n    UiUtils.onCreateDialog(mAlertDialog, mA);\n    return mAlertDialog;\n  }\n\n  public void onSaveInstanceState(Bundle outState) {}\n\n  private OnDismissListener mDismissListener;\n\n  public AlertDialogFragment setOnDismissListener(OnDismissListener dismissListener) {\n    mDismissListener = dismissListener;\n    return this;\n  }\n\n  public void onDismiss(DialogInterface dialog) {\n    super.onDismiss(dialog);\n    if (mDismissListener != null) {\n      mDismissListener.onDismiss(dialog);\n    }\n  }\n\n  public static AlertDialogFragment create(AlertDialog alertDialog, String tag) {\n    AlertDialogFragment frag = new AlertDialogFragment(alertDialog);\n    Bundle args = new Bundle();\n    args.putString(DIALOG_TAG, tag);\n    frag.setArguments(args);\n\n    return frag;\n  }\n\n  public static AlertDialogFragment show(\n      FragmentActivity activity, AlertDialog alertDialog, String tag) {\n    return create(alertDialog, tag).show(activity);\n  }\n\n  public AlertDialogFragment show(FragmentActivity activity) {\n    synchronized (AlertDialogFragment.class) {\n      String tag = requireArguments().getString(DIALOG_TAG);\n      FragmentManager manager = activity.getSupportFragmentManager();\n\n      Fragment fragment = manager.findFragmentByTag(tag);\n      if (fragment != null) {\n        manager.beginTransaction().remove(fragment).commitNowAllowingStateLoss();\n      }\n\n      try {\n        if (activity.getLifecycle().getCurrentState().isAtLeast(State.INITIALIZED)\n            && !activity.isChangingConfigurations()) {\n          showNow(manager, tag);\n        }\n      } catch (IllegalStateException e) {\n        MyLog.w(TAG, \"show\", e.toString());\n      }\n\n      return this;\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/base/BaseActivity.java",
    "content": "package com.mirfatif.permissionmanagerx.base;\n\nimport android.content.Context;\nimport android.content.res.Configuration;\nimport android.os.Build;\nimport android.os.Bundle;\nimport android.view.MenuItem;\nimport android.view.ViewGroup;\nimport androidx.appcompat.app.ActionBar;\nimport androidx.appcompat.app.AlertDialog;\nimport androidx.appcompat.app.AppCompatActivity;\nimport androidx.appcompat.app.AppCompatDelegate;\nimport androidx.core.view.ViewCompat;\nimport androidx.core.view.WindowCompat;\nimport androidx.core.view.WindowInsetsCompat;\nimport androidx.viewbinding.ViewBinding;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.databinding.StatusBarBgContBinding;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\nimport com.mirfatif.permissionmanagerx.util.LocaleUtils;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\n\npublic abstract class BaseActivity extends AppCompatActivity {\n\n  protected synchronized void onCreate(Bundle savedInstanceState) {\n    super.onCreate(savedInstanceState);\n\n    if (!setNightTheme()) {\n      onCreated(savedInstanceState);\n    }\n  }\n\n  protected abstract void onCreated(Bundle savedInstanceState);\n\n  public boolean onOptionsItemSelected(MenuItem item) {\n    if (item.getItemId() == android.R.id.home) {\n      getOnBackPressedDispatcher().onBackPressed();\n      return true;\n    }\n    return super.onOptionsItemSelected(item);\n  }\n\n  protected void attachBaseContext(Context context) {\n    super.attachBaseContext(LocaleUtils.setLocale(context));\n  }\n\n  public void onConfigurationChanged(Configuration newConfig) {\n    super.onConfigurationChanged(LocaleUtils.setLocale(newConfig));\n  }\n\n  public void applyOverrideConfiguration(Configuration overrideConfiguration) {\n    super.applyOverrideConfiguration(LocaleUtils.setLocale(overrideConfiguration));\n  }\n\n  public AlertDialog createDialog(String tag, AlertDialogFragment dialogFragment) {\n    return null;\n  }\n\n  private boolean setNightTheme() {\n    boolean wasNightMode = UiUtils.isNightMode(this);\n\n    String mode = MySettings.INS.getDarkThemeMode();\n    if (mode.equals(getString(R.string.dark_theme_mode_light_val))) {\n      AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);\n    } else if (mode.equals(getString(R.string.dark_theme_mode_dark_val))) {\n      AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);\n    } else {\n      AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM);\n    }\n\n    return wasNightMode != UiUtils.isNightMode(this);\n  }\n\n  public void setContentView(ViewBinding binding) {\n    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.VANILLA_ICE_CREAM) {\n      setContentView(binding.getRoot());\n      return;\n    }\n\n    var cont = StatusBarBgContBinding.inflate(getLayoutInflater());\n    setContentView(cont.getRoot());\n    cont.getRoot().addView(binding.getRoot(), cont.getRoot().getLayoutParams());\n\n    WindowCompat.getInsetsController(getWindow(), getWindow().getDecorView())\n        .setAppearanceLightStatusBars(!UiUtils.isNightMode(this));\n\n    ViewCompat.setOnApplyWindowInsetsListener(\n        cont.getRoot(),\n        (v, insets) -> {\n          var type = WindowInsetsCompat.Type.systemBars() | WindowInsetsCompat.Type.displayCutout();\n          var ins = insets.getInsets(type);\n\n          var mlp = (ViewGroup.MarginLayoutParams) v.getLayoutParams();\n          mlp.leftMargin = ins.left;\n          mlp.bottomMargin = ins.bottom;\n          mlp.rightMargin = ins.right;\n\n          ActionBar actionBar = getSupportActionBar();\n          if (actionBar != null) {\n            actionBar.setBackgroundDrawable(null);\n            var lp = cont.statusBarBg.getLayoutParams();\n            lp.height = ins.top;\n            cont.statusBarBg.setLayoutParams(lp);\n          } else {\n            mlp.topMargin = ins.top;\n          }\n\n          v.setLayoutParams(mlp);\n\n          return WindowInsetsCompat.CONSUMED;\n        });\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/base/BottomSheetDialogFrag.java",
    "content": "package com.mirfatif.permissionmanagerx.base;\n\nimport android.app.Dialog;\nimport android.content.Context;\nimport android.os.Bundle;\nimport android.view.View;\nimport androidx.fragment.app.FragmentActivity;\nimport com.google.android.material.bottomsheet.BottomSheetBehavior;\nimport com.google.android.material.bottomsheet.BottomSheetDialog;\nimport com.google.android.material.bottomsheet.BottomSheetDialogFragment;\n\npublic class BottomSheetDialogFrag extends BottomSheetDialogFragment {\n\n  public FragmentActivity mA;\n\n  public void onAttach(Context context) {\n    super.onAttach(context);\n    mA = getActivity();\n  }\n\n  public Dialog onCreateDialog(Bundle savedInstanceState) {\n    BottomSheetDialog dialog = (BottomSheetDialog) super.onCreateDialog(savedInstanceState);\n    dialog.setDismissWithAnimation(true);\n    dialog.setOnShowListener(\n        d -> {\n          View view = dialog.findViewById(com.google.android.material.R.id.design_bottom_sheet);\n          if (view != null) {\n            BottomSheetBehavior.from(view).setState(BottomSheetBehavior.STATE_EXPANDED);\n          }\n        });\n    return dialog;\n  }\n\n  public void onViewCreated(View view, Bundle savedInstanceState) {\n    super.onViewCreated(view, savedInstanceState);\n\n    ((View) view.getParent()).setBackground(new DialogBg(true, mA));\n  }\n\n  public int getTheme() {\n    return com.google.android.material.R.style.Theme_Design_BottomSheetDialog;\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/base/DialogBg.java",
    "content": "package com.mirfatif.permissionmanagerx.base;\n\nimport android.app.Activity;\nimport android.graphics.drawable.Drawable;\nimport android.graphics.drawable.GradientDrawable;\nimport android.graphics.drawable.InsetDrawable;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\n\npublic class DialogBg extends InsetDrawable {\n\n  private static final int DP16_TO_PX = UiUtils.dpToPx(16);\n\n  public DialogBg(Activity activity, boolean bordered) {\n    super(\n        createDrawable(activity, false, bordered),\n        DP16_TO_PX / 2,\n        DP16_TO_PX,\n        DP16_TO_PX / 2,\n        DP16_TO_PX);\n  }\n\n  public DialogBg(boolean isBottom, Activity activity) {\n    super(\n        createDrawable(activity, isBottom, false),\n        isBottom ? 0 : DP16_TO_PX / 2,\n        isBottom ? 0 : DP16_TO_PX,\n        isBottom ? 0 : DP16_TO_PX / 2,\n        isBottom ? 0 : DP16_TO_PX);\n  }\n\n  private static Drawable createDrawable(Activity activity, boolean isBottom, boolean bordered) {\n    GradientDrawable d = new GradientDrawable();\n    d.setShape(GradientDrawable.RECTANGLE);\n    d.setColor(UiUtils.getBgColor(activity));\n    if (isBottom) {\n      float[] radii = new float[8];\n      radii[0] = radii[1] = radii[2] = radii[3] = DP16_TO_PX;\n      d.setCornerRadii(radii);\n    } else {\n      d.setCornerRadius(DP16_TO_PX);\n      if (bordered) {\n        d.setStroke(DP16_TO_PX / 8, UiUtils.getColor(activity, R.attr.accentColor));\n      } else {\n        d.setStroke(DP16_TO_PX / 8, UiUtils.getColor(activity, R.attr.accentTrans10Color));\n      }\n    }\n    return d;\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/base/MyListAdapter.java",
    "content": "package com.mirfatif.permissionmanagerx.base;\n\nimport androidx.lifecycle.LifecycleOwner;\nimport androidx.recyclerview.widget.DiffUtil.ItemCallback;\nimport androidx.recyclerview.widget.ListAdapter;\nimport androidx.recyclerview.widget.RecyclerView;\nimport com.mirfatif.permissionmanagerx.util.bg.LiveSingleParamTask;\nimport com.mirfatif.permissionmanagerx.util.bg.LiveUiParamTask;\nimport com.mirfatif.privtasks.util.bg.NotifyWaiter;\nimport com.mirfatif.privtasks.util.bg.RateLimiter;\nimport java.util.List;\nimport java.util.concurrent.TimeUnit;\n\npublic abstract class MyListAdapter<T, VH extends RecyclerView.ViewHolder>\n    extends ListAdapter<T, VH> {\n\n  protected MyListAdapter(ItemCallback<T> diffCallback, LifecycleOwner owner, String tag) {\n    super(diffCallback);\n    mBgListSubmitter =\n        new LiveSingleParamTask<>(owner, this::submitListAndWait, tag + \"-ListSubmitter\");\n    mUiListSubmitter = new LiveUiParamTask<>(owner, this::submitListOnUi);\n  }\n\n  protected T getItem(int position) {\n    try {\n      return super.getItem(position);\n    } catch (IndexOutOfBoundsException ignored) {\n      return null;\n    }\n  }\n\n  private final LiveSingleParamTask<List<T>> mBgListSubmitter;\n\n  public synchronized void submitList(List<T> list) {\n    mBgListSubmitter.cancelAndSubmit(list, false);\n  }\n\n  private final LiveUiParamTask<List<T>> mUiListSubmitter;\n\n  private final NotifyWaiter mCommitWaiter = new NotifyWaiter(2, TimeUnit.SECONDS);\n\n  private final RateLimiter mListSubmitLimiter = new RateLimiter(1, TimeUnit.SECONDS);\n\n  private void submitListAndWait(List<T> list) {\n    mUiListSubmitter.post(list, true);\n    mCommitWaiter.waitForNotifyNoThrow();\n    mListSubmitLimiter.waitUntilCanNoThrow(true);\n  }\n\n  private final Runnable mWaitEnder = () -> mCommitWaiter.notify(true);\n\n  private void submitListOnUi(List<T> list) {\n    super.submitList(list, mWaitEnder);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/fwk/AboutActivityM.java",
    "content": "package com.mirfatif.permissionmanagerx.fwk;\n\nimport android.os.Bundle;\nimport android.view.Menu;\nimport android.view.MenuItem;\nimport androidx.appcompat.app.AlertDialog;\nimport com.mirfatif.permissionmanagerx.about.AboutActivity;\nimport com.mirfatif.permissionmanagerx.base.AlertDialogFragment;\nimport com.mirfatif.permissionmanagerx.base.BaseActivity;\n\npublic class AboutActivityM extends BaseActivity {\n\n  private final AboutActivity mA = new AboutActivity(this);\n\n  protected void onCreated(Bundle savedInstanceState) {\n    mA.onCreated();\n  }\n\n  public boolean onCreateOptionsMenu(Menu menu) {\n    return mA.onCreateOptionsMenu(menu);\n  }\n\n  public boolean onPrepareOptionsMenu(Menu menu) {\n    return mA.onPrepareOptionsMenu(menu);\n  }\n\n  public boolean onOptionsItemSelected(MenuItem item) {\n    return mA.onOptionsItemSelected(item) || super.onOptionsItemSelected(item);\n  }\n\n  protected void onDestroy() {\n    mA.onDestroy();\n    super.onDestroy();\n  }\n\n  public AlertDialog createDialog(String tag, AlertDialogFragment dialogFragment) {\n    AlertDialog d = mA.createDialog(tag, dialogFragment);\n    return d != null ? d : super.createDialog(tag, dialogFragment);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/fwk/AdbConnectSvcM.java",
    "content": "package com.mirfatif.permissionmanagerx.fwk;\n\nimport android.app.Service;\nimport android.content.Intent;\nimport android.os.IBinder;\nimport com.mirfatif.permissionmanagerx.svc.AdbConnectSvc;\n\npublic class AdbConnectSvcM extends Service {\n\n  private final AdbConnectSvc mS = new AdbConnectSvc(this);\n\n  public IBinder onBind(Intent intent) {\n    return null;\n  }\n\n  public int onStartCommand(Intent intent, int flags, int startId) {\n    return mS.onStartCommand(intent);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/fwk/AdvSettingsActivityM.java",
    "content": "package com.mirfatif.permissionmanagerx.fwk;\n\nimport android.os.Bundle;\nimport com.mirfatif.permissionmanagerx.base.BaseActivity;\nimport com.mirfatif.permissionmanagerx.prefs.settings.AdvSettingsActivity;\n\npublic class AdvSettingsActivityM extends BaseActivity {\n\n  public final AdvSettingsActivity mA;\n\n  public AdvSettingsActivityM() {\n    mA = new AdvSettingsActivity(this);\n  }\n\n  protected void onCreated(Bundle savedInstanceState) {\n    mA.onCreate(savedInstanceState);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/fwk/AppM.java",
    "content": "package com.mirfatif.permissionmanagerx.fwk;\n\nimport android.app.Application;\nimport android.content.res.Configuration;\nimport com.mirfatif.permissionmanagerx.app.App;\n\npublic class AppM extends Application {\n\n  private final App mA = new App(this);\n\n  public void onCreate() {\n    super.onCreate();\n    mA.onCreate();\n  }\n\n  public void onConfigurationChanged(Configuration newConfig) {\n    super.onConfigurationChanged(mA.onConfigurationChanged(newConfig));\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/fwk/CrashReportActivityM.java",
    "content": "package com.mirfatif.permissionmanagerx.fwk;\n\nimport android.os.Bundle;\nimport com.mirfatif.permissionmanagerx.about.CrashReportActivity;\nimport com.mirfatif.permissionmanagerx.base.BaseActivity;\n\npublic class CrashReportActivityM extends BaseActivity {\n\n  private final CrashReportActivity mA = new CrashReportActivity(this);\n\n  protected void onCreated(Bundle savedInstanceState) {\n    mA.onCreated();\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/fwk/CustomButton.java",
    "content": "package com.mirfatif.permissionmanagerx.fwk;\n\nimport android.app.Activity;\nimport android.content.Context;\nimport android.content.res.ColorStateList;\nimport android.graphics.drawable.GradientDrawable;\nimport android.graphics.drawable.InsetDrawable;\nimport android.graphics.drawable.RippleDrawable;\nimport android.graphics.drawable.StateListDrawable;\nimport android.os.Build.VERSION;\nimport android.os.Build.VERSION_CODES;\nimport android.util.AttributeSet;\nimport android.view.MotionEvent;\nimport androidx.appcompat.widget.AppCompatButton;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\n\npublic class CustomButton extends AppCompatButton {\n\n  private static final int DP4_TO_PX = UiUtils.dpToPx(4);\n\n  public CustomButton(Context context, AttributeSet attrs) {\n    super(context, attrs);\n\n    GradientDrawable normalBg = new GradientDrawable();\n    normalBg.setShape(GradientDrawable.RECTANGLE);\n    normalBg.setColor(UiUtils.getDimBgColor((Activity) context));\n    normalBg.setCornerRadius(DP4_TO_PX * 3f / 2);\n    if (VERSION.SDK_INT >= VERSION_CODES.Q) {\n      normalBg.setPadding(2 * DP4_TO_PX, DP4_TO_PX, 2 * DP4_TO_PX, DP4_TO_PX);\n    }\n\n    int rippleColor = context.getColor(R.color.colorControlNormalA50);\n    ColorStateList colorStateList =\n        new ColorStateList(new int[][] {new int[] {}}, new int[] {rippleColor});\n    mRipple = new RippleDrawable(colorStateList, null, normalBg);\n    mRipple.setPadding(2 * DP4_TO_PX, DP4_TO_PX, 2 * DP4_TO_PX, DP4_TO_PX);\n\n    StateListDrawable d = new StateListDrawable();\n    d.addState(new int[] {android.R.attr.state_pressed}, new InsetDrawable(mRipple, DP4_TO_PX));\n    d.addState(new int[] {}, new InsetDrawable(normalBg, DP4_TO_PX));\n    setBackground(d);\n  }\n\n  private final RippleDrawable mRipple;\n\n  public boolean onTouchEvent(MotionEvent event) {\n    if (event.getAction() == MotionEvent.ACTION_DOWN && mRipple != null) {\n      mRipple.setHotspot(event.getX(), event.getY());\n    }\n    return super.onTouchEvent(event);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/fwk/DaemonRcvSvcM.java",
    "content": "package com.mirfatif.permissionmanagerx.fwk;\n\nimport android.app.Service;\nimport android.content.Intent;\nimport android.os.IBinder;\nimport com.mirfatif.permissionmanagerx.svc.DaemonRcvSvc;\n\npublic class DaemonRcvSvcM extends Service {\n\n  private final DaemonRcvSvc mS = new DaemonRcvSvc(this);\n\n  public IBinder onBind(Intent intent) {\n    return null;\n  }\n\n  public int onStartCommand(Intent intent, int flags, int startId) {\n    return mS.onStartCommand(intent);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/fwk/DialogHelpIcon.java",
    "content": "package com.mirfatif.permissionmanagerx.fwk;\n\nimport android.content.Context;\nimport android.graphics.Color;\nimport android.util.AttributeSet;\nimport androidx.activity.ComponentActivity;\nimport androidx.appcompat.widget.AppCompatImageView;\nimport com.mirfatif.permissionmanagerx.util.bg.LiveTasksQueue;\n\npublic class DialogHelpIcon extends AppCompatImageView {\n\n  public DialogHelpIcon(Context context, AttributeSet attrs) {\n    super(context, attrs);\n\n    post(\n        () ->\n            new LiveTasksQueue((ComponentActivity) context, 3000)\n                .onUi(() -> setColorFilter(Color.RED))\n                .delay(250)\n                .onUi(() -> setColorFilter(Color.TRANSPARENT))\n                .delay(250)\n                .onUi(this::clearColorFilter)\n                .delay(250)\n                .onUi(() -> setColorFilter(Color.RED))\n                .delay(250)\n                .onUi(() -> setColorFilter(Color.TRANSPARENT))\n                .delay(250)\n                .onUi(this::clearColorFilter)\n                .start());\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/fwk/FilterSettingsActivityM.java",
    "content": "package com.mirfatif.permissionmanagerx.fwk;\n\nimport android.os.Bundle;\nimport android.view.Menu;\nimport android.view.MenuItem;\nimport androidx.appcompat.app.AlertDialog;\nimport com.mirfatif.permissionmanagerx.base.AlertDialogFragment;\nimport com.mirfatif.permissionmanagerx.base.BaseActivity;\nimport com.mirfatif.permissionmanagerx.prefs.settings.FilterSettingsActivity;\n\npublic class FilterSettingsActivityM extends BaseActivity {\n\n  public final FilterSettingsActivity mA = new FilterSettingsActivity(this);\n\n  protected void onCreated(Bundle savedInstanceState) {\n    mA.onCreated(savedInstanceState);\n  }\n\n  public boolean onCreateOptionsMenu(Menu menu) {\n    return mA.onCreateOptionsMenu(menu);\n  }\n\n  public boolean onPrepareOptionsMenu(Menu menu) {\n    return mA.onPrepareOptionsMenu(menu);\n  }\n\n  public boolean onOptionsItemSelected(MenuItem item) {\n    return mA.onOptionsItemSelected(item) || super.onOptionsItemSelected(item);\n  }\n\n  public AlertDialog createDialog(String tag, AlertDialogFragment dialogFragment) {\n    AlertDialog d = mA.createDialog(tag);\n    return d != null ? d : super.createDialog(tag, dialogFragment);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/fwk/HelpActivityM.java",
    "content": "package com.mirfatif.permissionmanagerx.fwk;\n\nimport android.os.Bundle;\nimport android.view.Menu;\nimport android.view.MenuItem;\nimport com.mirfatif.permissionmanagerx.base.BaseActivity;\nimport com.mirfatif.permissionmanagerx.help.HelpActivity;\n\npublic class HelpActivityM extends BaseActivity {\n\n  private final HelpActivity mA = new HelpActivity(this);\n\n  protected void onCreated(Bundle savedInstanceState) {\n    mA.onCreated();\n  }\n\n  public boolean onCreateOptionsMenu(Menu menu) {\n    return mA.onCreateOptionsMenu(menu);\n  }\n\n  public boolean onPrepareOptionsMenu(Menu menu) {\n    return mA.onPrepareOptionsMenu(menu);\n  }\n\n  public boolean onOptionsItemSelected(MenuItem item) {\n    return mA.onOptionsItemSelected(item) || super.onOptionsItemSelected(item);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/fwk/LifecycleWatcher.java",
    "content": "package com.mirfatif.permissionmanagerx.fwk;\n\nimport androidx.lifecycle.Lifecycle;\nimport androidx.lifecycle.Lifecycle.Event;\nimport androidx.lifecycle.Lifecycle.State;\nimport androidx.lifecycle.LifecycleEventObserver;\nimport androidx.lifecycle.LifecycleOwner;\nimport com.mirfatif.permissionmanagerx.util.bg.LiveUiWaitTask;\nimport com.mirfatif.privtasks.util.bg.ThreadUtils;\n\npublic class LifecycleWatcher {\n\n  public static LifecycleWatcher addOnDestroyed(LifecycleOwner owner, LifecycleCallback callback) {\n    return new LifecycleWatcher(owner, callback);\n  }\n\n  private final LifecycleEventObserver mObserver = new Observer();\n  private final LifecycleCallback mCallback;\n\n  private LifecycleWatcher(LifecycleOwner owner, LifecycleCallback callback) {\n    mCallback = callback;\n    if (ThreadUtils.isMainThread()) {\n      addObserver(owner.getLifecycle());\n    } else {\n      LiveUiWaitTask.post(() -> addObserver(owner.getLifecycle())).waitForMe();\n    }\n  }\n\n  private void addObserver(Lifecycle lifecycle) {\n    lifecycle.addObserver(mObserver);\n    if (lifecycle.getCurrentState() == State.DESTROYED) {\n      onDestroyed(lifecycle);\n    }\n  }\n\n  private void onDestroyed(Lifecycle lifecycle) {\n    mCallback.onDestroyed();\n    lifecycle.removeObserver(mObserver);\n  }\n\n  private class Observer implements LifecycleEventObserver {\n\n    public void onStateChanged(LifecycleOwner source, Event event) {\n      if (event == Event.ON_DESTROY) {\n        onDestroyed(source.getLifecycle());\n      }\n    }\n  }\n\n  public interface LifecycleCallback {\n\n    void onDestroyed();\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/fwk/LogcatSvcM.java",
    "content": "package com.mirfatif.permissionmanagerx.fwk;\n\nimport android.app.Service;\nimport android.content.Intent;\nimport android.os.IBinder;\nimport com.mirfatif.permissionmanagerx.svc.LogcatSvc;\n\npublic class LogcatSvcM extends Service {\n\n  private final LogcatSvc mS = new LogcatSvc(this);\n\n  public IBinder onBind(Intent intent) {\n    return null;\n  }\n\n  public int onStartCommand(Intent intent, int flags, int startId) {\n    return mS.onStartCommand(intent);\n  }\n\n  public void onDestroy() {\n    mS.onDestroy();\n    super.onDestroy();\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/fwk/MainActivityM.java",
    "content": "package com.mirfatif.permissionmanagerx.fwk;\n\nimport android.content.Intent;\nimport android.os.Bundle;\nimport android.view.Menu;\nimport android.view.MenuItem;\nimport androidx.appcompat.app.AlertDialog;\nimport com.mirfatif.permissionmanagerx.base.AlertDialogFragment;\nimport com.mirfatif.permissionmanagerx.base.BaseActivity;\nimport com.mirfatif.permissionmanagerx.main.MainActivity;\n\npublic class MainActivityM extends BaseActivity {\n\n  public final MainActivity mA = new MainActivity(this);\n\n  protected void onCreated(Bundle savedInstanceState) {\n    mA.onCreated();\n  }\n\n  protected void onNewIntent(Intent intent) {\n    super.onNewIntent(intent);\n    mA.onNewIntent(intent);\n  }\n\n  public boolean onCreateOptionsMenu(Menu menu) {\n    return mA.onCreateOptionsMenu(menu);\n  }\n\n  public boolean onPrepareOptionsMenu(Menu menu) {\n    return false;\n  }\n\n  public boolean onOptionsItemSelected(MenuItem item) {\n    return mA.onOptionsItemSelected(item) || super.onOptionsItemSelected(item);\n  }\n\n  protected void onResume() {\n    super.onResume();\n    mA.onResume();\n  }\n\n  protected void onPause() {\n    super.onPause();\n    mA.onPause();\n  }\n\n  public void onAttachedToWindow() {\n    super.onAttachedToWindow();\n    mA.onAttachedToWindow();\n  }\n\n  public AlertDialog createDialog(String tag, AlertDialogFragment dialogFragment) {\n    AlertDialog d = mA.createDialog(tag, dialogFragment);\n    return d != null ? d : super.createDialog(tag, dialogFragment);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/fwk/MoveUpBehavior.java",
    "content": "package com.mirfatif.permissionmanagerx.fwk;\n\nimport android.view.View;\nimport androidx.coordinatorlayout.widget.CoordinatorLayout;\n\npublic class MoveUpBehavior extends CoordinatorLayout.Behavior<View> {\n\n  private final Class<?> mDependency;\n  private final View mChild;\n\n  public MoveUpBehavior(Class<?> dependency, View child) {\n    mDependency = dependency;\n    mChild = child;\n  }\n\n  public boolean layoutDependsOn(CoordinatorLayout parent, View child, View dependency) {\n    return mDependency.isInstance(dependency);\n  }\n\n  public boolean onDependentViewChanged(CoordinatorLayout parent, View child, View dependency) {\n\n    float translationY = Math.min(0, dependency.getTranslationY() - dependency.getHeight());\n\n    mChild.animate().cancel();\n\n    mChild.setTranslationY(translationY);\n    return true;\n  }\n\n  public void onDependentViewRemoved(CoordinatorLayout parent, View child, View dependency) {\n    super.onDependentViewRemoved(parent, child, dependency);\n\n    mChild.animate().translationY(0).start();\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/fwk/MyCoordinatorLayout.java",
    "content": "package com.mirfatif.permissionmanagerx.fwk;\n\nimport android.content.Context;\nimport android.util.AttributeSet;\nimport androidx.coordinatorlayout.widget.CoordinatorLayout;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\n\npublic class MyCoordinatorLayout extends CoordinatorLayout {\n\n  public MyCoordinatorLayout(Context context, AttributeSet attrs) {\n    super(context, attrs);\n    UiUtils.onCreateLayout(this);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/fwk/MyDrawerLayout.java",
    "content": "package com.mirfatif.permissionmanagerx.fwk;\n\nimport android.content.Context;\nimport android.util.AttributeSet;\nimport androidx.drawerlayout.widget.DrawerLayout;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\n\npublic class MyDrawerLayout extends DrawerLayout {\n\n  public MyDrawerLayout(Context context, AttributeSet attrs) {\n    super(context, attrs);\n    UiUtils.onCreateLayout(this);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/fwk/MyLinearLayout.java",
    "content": "package com.mirfatif.permissionmanagerx.fwk;\n\nimport android.content.Context;\nimport android.util.AttributeSet;\nimport android.widget.LinearLayout;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\n\npublic class MyLinearLayout extends LinearLayout {\n\n  public MyLinearLayout(Context context, AttributeSet attrs) {\n    super(context, attrs);\n    UiUtils.onCreateLayout(this);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/fwk/MyNavigationView.java",
    "content": "package com.mirfatif.permissionmanagerx.fwk;\n\nimport android.content.Context;\nimport android.util.AttributeSet;\nimport com.google.android.material.navigation.NavigationView;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\n\npublic class MyNavigationView extends NavigationView {\n\n  public MyNavigationView(Context context, AttributeSet attrs) {\n    super(context, attrs);\n    UiUtils.onCreateLayout(this);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/fwk/MySearchView.java",
    "content": "package com.mirfatif.permissionmanagerx.fwk;\n\nimport android.content.Context;\nimport androidx.appcompat.widget.SearchView;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\n\npublic class MySearchView extends SearchView {\n\n  public MySearchView(Context context) {\n    super(context);\n    UiUtils.onCreateLayout(this);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/fwk/MyWebView.java",
    "content": "package com.mirfatif.permissionmanagerx.fwk;\n\nimport android.content.Context;\nimport android.util.AttributeSet;\nimport android.webkit.WebView;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\n\npublic class MyWebView extends WebView {\n\n  public MyWebView(Context context, AttributeSet attrs) {\n    super(context, attrs);\n    UiUtils.onCreateLayout(this);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/fwk/NumPickerPref.java",
    "content": "package com.mirfatif.permissionmanagerx.fwk;\n\nimport android.content.Context;\nimport android.content.res.TypedArray;\nimport android.util.AttributeSet;\nimport androidx.preference.DialogPreference;\n\npublic class NumPickerPref extends DialogPreference {\n\n  public NumPickerPref(Context context, AttributeSet attrs) {\n    super(context, attrs);\n  }\n\n  protected Object onGetDefaultValue(TypedArray a, int index) {\n    return a.getInt(index, 0);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/fwk/PackageActivityM.java",
    "content": "package com.mirfatif.permissionmanagerx.fwk;\n\nimport android.os.Bundle;\nimport android.view.Menu;\nimport android.view.MenuItem;\nimport androidx.appcompat.app.AlertDialog;\nimport com.mirfatif.permissionmanagerx.base.AlertDialogFragment;\nimport com.mirfatif.permissionmanagerx.base.BaseActivity;\nimport com.mirfatif.permissionmanagerx.pkg.PackageActivity;\n\npublic class PackageActivityM extends BaseActivity {\n\n  public final PackageActivity mA = new PackageActivity(this);\n\n  protected void onCreated(Bundle savedInstanceState) {\n    mA.onCreated();\n  }\n\n  public boolean onCreateOptionsMenu(Menu menu) {\n    return mA.onCreateOptionsMenu(menu);\n  }\n\n  public boolean onPrepareOptionsMenu(Menu menu) {\n    return mA.onPrepareOptionsMenu(menu);\n  }\n\n  public boolean onOptionsItemSelected(MenuItem item) {\n    return mA.onOptionsItemSelected(item) || super.onOptionsItemSelected(item);\n  }\n\n  protected void onResume() {\n    super.onResume();\n    mA.onResume();\n  }\n\n  public AlertDialog createDialog(String tag, AlertDialogFragment dialogFragment) {\n    AlertDialog d = mA.createDialog(tag);\n    return d != null ? d : super.createDialog(tag, dialogFragment);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/fwk/ProgressLinearLayout.java",
    "content": "package com.mirfatif.permissionmanagerx.fwk;\n\nimport android.content.Context;\nimport android.util.AttributeSet;\n\npublic class ProgressLinearLayout extends MyLinearLayout {\n\n  public ProgressLinearLayout(Context context, AttributeSet attrs) {\n    super(context, attrs);\n  }\n\n  private Runnable mVisibilityTask;\n  private long mLastCall;\n\n  public synchronized void setVisibility(int visibility) {\n    removeCallbacks(mVisibilityTask);\n    mVisibilityTask =\n        () -> {\n          mLastCall = System.currentTimeMillis();\n          super.setVisibility(visibility);\n        };\n    long sleepTime = 1000 + mLastCall - System.currentTimeMillis();\n    if (sleepTime > 10) {\n      postDelayed(mVisibilityTask, sleepTime);\n    } else {\n      mVisibilityTask.run();\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/fwk/SettingsActivityM.java",
    "content": "package com.mirfatif.permissionmanagerx.fwk;\n\nimport android.os.Bundle;\nimport androidx.preference.Preference;\nimport androidx.preference.PreferenceFragmentCompat;\nimport com.mirfatif.permissionmanagerx.base.BaseActivity;\nimport com.mirfatif.permissionmanagerx.prefs.settings.SettingsActivity;\n\npublic class SettingsActivityM extends BaseActivity\n    implements PreferenceFragmentCompat.OnPreferenceStartFragmentCallback {\n\n  public final SettingsActivity mA = new SettingsActivity(this);\n\n  protected void onCreated(Bundle savedInstanceState) {\n    mA.onCreated(savedInstanceState);\n  }\n\n  protected void onSaveInstanceState(Bundle outState) {\n    super.onSaveInstanceState(outState);\n    mA.onSaveInstanceState(outState);\n  }\n\n  public boolean onPreferenceStartFragment(PreferenceFragmentCompat caller, Preference pref) {\n    return mA.onPreferenceStartFragment(pref);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/help/HelpActivity.java",
    "content": "package com.mirfatif.permissionmanagerx.help;\n\nimport static com.mirfatif.permissionmanagerx.util.ApiUtils.getString;\n\nimport android.app.Activity;\nimport android.content.Intent;\nimport android.content.pm.PackageInfo;\nimport android.text.TextUtils;\nimport android.view.Menu;\nimport android.view.MenuItem;\nimport android.webkit.WebResourceRequest;\nimport android.webkit.WebSettings;\nimport android.webkit.WebView;\nimport androidx.activity.OnBackPressedCallback;\nimport androidx.webkit.WebViewClientCompat;\nimport androidx.webkit.WebViewCompat;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.about.AboutActivity;\nimport com.mirfatif.permissionmanagerx.app.App;\nimport com.mirfatif.permissionmanagerx.databinding.ActivityHelpBinding;\nimport com.mirfatif.permissionmanagerx.fwk.HelpActivityM;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\nimport com.mirfatif.permissionmanagerx.util.ApiUtils;\nimport com.mirfatif.permissionmanagerx.util.LocaleUtils;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\nimport com.mirfatif.permissionmanagerx.util.bg.LiveTasksQueue;\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class HelpActivity extends OnBackPressedCallback {\n\n  private final HelpActivityM mA;\n\n  public HelpActivity(HelpActivityM activity) {\n    super(true);\n    mA = activity;\n  }\n\n  private static final String EXTRA_URL = HelpActivity.class.getName() + \".A\";\n\n  private WebSettings mWebSettings;\n  private ActivityHelpBinding mB;\n  private String mUrl;\n\n  public void onCreated() {\n    mUrl = mA.getIntent().getStringExtra(EXTRA_URL);\n\n    // We've been launched in unexpected way (after rotation???)\n    if (mUrl == null) {\n      mA.finishAfterTransition();\n    }\n\n    mB = ActivityHelpBinding.inflate(mA.getLayoutInflater());\n\n    App.setLocale();\n    LocaleUtils.setLocale(mA.getBaseContext());\n\n    mA.setContentView(mB);\n\n    if (mA.getSupportActionBar() != null) {\n      mA.getSupportActionBar().setTitle(R.string.help_menu_item);\n    }\n\n    mWebSettings = mB.webV.getSettings();\n\n    mFontSize = MySettings.INS.getHelpFontSize();\n    setFontSize();\n\n    mWebSettings.setSupportZoom(false);\n    mWebSettings.setBlockNetworkLoads(false);\n    mWebSettings.setBlockNetworkImage(false);\n    mWebSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);\n    mB.webV.setWebViewClient(new MyWebViewClient());\n\n    enableJs();\n    mB.webV.addJavascriptInterface(new HelpJsInterface(mA), \"Android\");\n\n    if (MySettings.INS.shouldClearWebViewCache()) {\n      mB.webV.clearCache(true);\n    }\n\n    mB.webV.loadUrl(mUrl);\n\n    mB.refreshLayout.setOnRefreshListener(\n        () -> {\n          mB.webV.clearCache(true);\n          mB.webV.reload();\n        });\n\n    mA.getOnBackPressedDispatcher().addCallback(mA, this);\n  }\n\n  public void handleOnBackPressed() {\n    if (mB != null && mB.webV.canGoBack()) {\n      mB.webV.goBack();\n    } else {\n      mA.finishAfterTransition();\n    }\n  }\n\n  private void enableJs() {\n    mWebSettings.setJavaScriptEnabled(true);\n  }\n\n  private int mFontSize;\n\n  private void setFontSize() {\n    mWebSettings.setDefaultFontSize(mFontSize);\n    mB.webV.reload();\n    if (mFontSize > MAX_FONT_SIZE - 2 || mFontSize < MIN_FONT_SIZE + 2) {\n      mA.invalidateOptionsMenu();\n    }\n    MySettings.INS.setHelpFontSize(mFontSize);\n  }\n\n  public boolean onCreateOptionsMenu(Menu menu) {\n    mA.getMenuInflater().inflate(R.menu.help_menu, menu);\n    return true;\n  }\n\n  private static final int MAX_FONT_SIZE = 24;\n  private static final int MIN_FONT_SIZE = 10;\n\n  public boolean onPrepareOptionsMenu(Menu menu) {\n    menu.findItem(R.id.action_zoom_in).setEnabled(mFontSize < MAX_FONT_SIZE);\n    menu.findItem(R.id.action_zoom_out).setEnabled(mFontSize > MIN_FONT_SIZE);\n    return true;\n  }\n\n  public boolean onOptionsItemSelected(MenuItem item) {\n    if (item.getItemId() == R.id.action_open_browser) {\n      ApiUtils.openWebUrl(mA, mUrl);\n      mA.finishAfterTransition();\n      return true;\n    }\n    if (item.getItemId() == R.id.action_zoom_in) {\n      mFontSize++;\n      setFontSize();\n      return true;\n    }\n    if (item.getItemId() == R.id.action_zoom_out) {\n      mFontSize--;\n      setFontSize();\n      return true;\n    }\n    if (item.getItemId() == android.R.id.home) {\n      mA.finishAfterTransition();\n      return true;\n    }\n    return false;\n  }\n\n  private static final String HELP_URL = getString(R.string.github_help_url);\n\n  private boolean mFirstRun = true;\n\n  private class MyWebViewClient extends WebViewClientCompat {\n\n    public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {\n      String url = request.getUrl().toString();\n      if (url.equals(getString(R.string.contact_us_url))) {\n        AboutActivity.start(mA);\n        return true;\n      }\n      if (!url.startsWith(HELP_URL)) {\n        ApiUtils.openWebUrl(mA, url);\n        return true;\n      }\n      return super.shouldOverrideUrlLoading(view, request);\n    }\n\n    public void onPageFinished(WebView view, String url) {\n      mB.refreshLayout.setRefreshing(false);\n\n      if (mFirstRun && url.contains(\"#\")) {\n        String[] splitUrl = url.split(\"#\");\n        String id = splitUrl[splitUrl.length - 1];\n        if (!TextUtils.isEmpty(id)) {\n          String jsf = \"function(){document.getElementById('\" + id + \"').scrollIntoView();}\";\n          new LiveTasksQueue(mA, 500)\n              .onUi(() -> mB.webV.loadUrl(\"javascript:(\" + jsf + \")()\"))\n              .start();\n        }\n      }\n      mFirstRun = false;\n    }\n  }\n\n  private static final List<String> WEB_VIEW_PKGS = new ArrayList<>();\n\n  static {\n    WEB_VIEW_PKGS.add(\"com.android.webview\");\n    WEB_VIEW_PKGS.add(\"com.google.android.webview\");\n    WEB_VIEW_PKGS.add(\"com.android.chrome\");\n  }\n\n  public static void start(Activity activity, String href) {\n    String url = HELP_URL + \"/\" + getString(R.string.help_dir_name) + \"/\";\n    if (href != null) {\n      url += \"#\" + href;\n    }\n\n    PackageInfo pkgInfo = WebViewCompat.getCurrentWebViewPackage(activity);\n    if (pkgInfo == null) {\n      UiUtils.showToast(R.string.no_web_view);\n      ApiUtils.openWebUrl(activity, url);\n      return;\n    }\n\n    if (WEB_VIEW_PKGS.contains(pkgInfo.packageName)) {\n      try {\n        int ver = Integer.parseInt(pkgInfo.versionName.split(\"\\\\.\")[0]);\n        if (ver < 73) {\n          UiUtils.showToast(R.string.outdated_web_view);\n          ApiUtils.openWebUrl(activity, url);\n          return;\n        }\n      } catch (NumberFormatException ignored) {\n      }\n    }\n\n    activity.startActivity(new Intent(activity, HelpActivityM.class).putExtra(EXTRA_URL, url));\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/help/HelpJsInterface.java",
    "content": "package com.mirfatif.permissionmanagerx.help;\n\nimport android.app.Activity;\nimport android.graphics.Color;\nimport android.webkit.JavascriptInterface;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\n\npublic class HelpJsInterface {\n\n  private final String mBgColor, mTextColor, mThemeColor;\n  private final boolean mNightMode;\n\n  HelpJsInterface(Activity act) {\n    mBgColor = UiUtils.colorIntToRGB(UiUtils.getColor(act, android.R.attr.colorBackground), false);\n    mTextColor = UiUtils.colorIntToRGB(UiUtils.isNightMode(act) ? Color.WHITE : Color.BLACK, false);\n    mThemeColor = UiUtils.colorIntToRGB(UiUtils.getColor(act, R.attr.accentColor), false);\n    mNightMode = UiUtils.isNightMode(act);\n  }\n\n  @JavascriptInterface\n  public String getBgColor() {\n    return mBgColor;\n  }\n\n  @JavascriptInterface\n  public String getTextColor() {\n    return mTextColor;\n  }\n\n  @JavascriptInterface\n  public String getThemeColor() {\n    return mThemeColor;\n  }\n\n  @JavascriptInterface\n  public boolean isDarkTheme() {\n    return mNightMode;\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/main/AdbConnectDialog.java",
    "content": "package com.mirfatif.permissionmanagerx.main;\n\nimport static com.mirfatif.permissionmanagerx.main.MainActivity.TAG_ADB_CONNECTION;\nimport static com.mirfatif.permissionmanagerx.util.ApiUtils.getString;\nimport static java.lang.System.currentTimeMillis;\n\nimport android.os.Build.VERSION;\nimport android.os.Build.VERSION_CODES;\nimport android.os.SystemClock;\nimport android.system.Os;\nimport android.system.OsConstants;\nimport android.text.Editable;\nimport android.text.TextUtils;\nimport android.text.TextWatcher;\nimport android.view.View;\nimport androidx.appcompat.app.AlertDialog;\nimport androidx.appcompat.app.AlertDialog.Builder;\nimport androidx.fragment.app.Fragment;\nimport androidx.fragment.app.FragmentManager;\nimport androidx.lifecycle.MutableLiveData;\nimport com.google.android.material.textfield.TextInputLayout;\nimport com.mirfatif.err.AdbException;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.app.App;\nimport com.mirfatif.permissionmanagerx.base.AlertDialogFragment;\nimport com.mirfatif.permissionmanagerx.databinding.AdbConnectDialogBinding;\nimport com.mirfatif.permissionmanagerx.databinding.DilogTitleWithHelpBinding;\nimport com.mirfatif.permissionmanagerx.fwk.LifecycleWatcher;\nimport com.mirfatif.permissionmanagerx.help.HelpActivity;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\nimport com.mirfatif.permissionmanagerx.privs.AdbConnManager;\nimport com.mirfatif.permissionmanagerx.privs.DaemonStarter;\nimport com.mirfatif.permissionmanagerx.privs.NativeDaemon;\nimport com.mirfatif.permissionmanagerx.util.StringUtils;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\nimport com.mirfatif.permissionmanagerx.util.bg.LiveTasksQueueTyped;\nimport com.mirfatif.privtasks.util.MyLog;\nimport com.mirfatif.privtasks.util.NonBlockingReader;\nimport io.github.muntashirakon.adb.AdbPairingRequiredException;\nimport io.github.muntashirakon.adb.AdbStream;\nimport io.github.muntashirakon.adb.android.AdbMdns;\nimport java.io.IOException;\nimport java.util.concurrent.TimeUnit;\nimport org.lsposed.hiddenapibypass.HiddenApiBypass;\n\npublic class AdbConnectDialog {\n\n  private static final String TAG = \"AdbConnectDialog\";\n\n  private final MainActivity mA;\n  private final AdbConnectDialogBinding mB;\n  private final AlertDialogFragment mDialogFrag;\n\n  public AdbConnectDialog(MainActivity activity, AlertDialogFragment dialogFragment) {\n    mA = activity;\n    mB = AdbConnectDialogBinding.inflate(mA.mA.getLayoutInflater());\n    mB.connectIpV.setText(MySettings.INS.getAdbHost());\n    mB.connectPortV.setText(String.valueOf(MySettings.INS.getAdbPort()));\n\n    mDialogFrag = dialogFragment;\n    LifecycleWatcher.addOnDestroyed(dialogFragment, this::stopMdnsPairingListener);\n\n    connectToAdb(true);\n  }\n\n  private void onFirstTryFailed() {\n    if (VERSION.SDK_INT >= VERSION_CODES.R) {\n      mB.pairHelpV.setText(StringUtils.htmlToString(R.string.adb_pair_help_msg));\n\n      mB.pairingIpV.setText(MySettings.INS.getAdbHost());\n      mB.pairButton.setOnClickListener(v -> doPairing());\n\n      mB.pairingCodeV.addTextChangedListener(new EditTextWatcher(mB.pairingCodeCont));\n      mB.pairingIpV.addTextChangedListener(new EditTextWatcher(mB.pairingIpCont));\n      mB.pairingPortV.addTextChangedListener(new EditTextWatcher(mB.pairingPortCont));\n\n      mB.pairHeaderCont.setVisibility(View.VISIBLE);\n      mB.divider.setVisibility(View.VISIBLE);\n      mB.connectHeaderCont.setVisibility(View.VISIBLE);\n      mB.pairArrow.setOnClickListener(v -> onArrowClicked(v, false));\n      mB.connectArrow.setOnClickListener(v -> onArrowClicked(v, false));\n\n      setAutoPairingHostPort();\n    }\n\n    mB.connectHelpV.setVisibility(View.VISIBLE);\n    setConnectHelpText(false);\n\n    mB.connectButton.setOnClickListener(v -> connectToAdb(false));\n\n    mB.connectIpV.addTextChangedListener(new EditTextWatcher(mB.connectIpCont));\n    mB.connectPortV.addTextChangedListener(new EditTextWatcher(mB.connectPortCont));\n  }\n\n  private final MutableLiveData<HostPort> mMdnsPairingEvent = new MutableLiveData<>();\n\n  private static class HostPort {\n\n    public final String host;\n    public final int port;\n\n    public HostPort(String host, int port) {\n      this.host = host;\n      this.port = port;\n    }\n  }\n\n  private AdbMdns mMdnsPairingListener;\n\n  private void setAutoPairingHostPort() {\n    synchronized (mMdnsPairingEvent) {\n      mMdnsPairingListener =\n          new AdbMdns(\n              App.getCxt(),\n              AdbMdns.SERVICE_TYPE_TLS_PAIRING,\n              (hostAddress, port) -> {\n                String host = hostAddress == null ? null : hostAddress.getHostAddress();\n                if (host != null && port > 0) {\n                  mMdnsPairingEvent.postValue(new HostPort(host, port));\n                }\n              });\n      mMdnsPairingListener.start();\n    }\n\n    mMdnsPairingEvent.observe(\n        mDialogFrag,\n        daemon -> {\n          mB.pairingIpV.setText(daemon.host);\n          mB.pairingPortV.setText(String.valueOf(daemon.port));\n        });\n  }\n\n  private void stopMdnsPairingListener() {\n    synchronized (mMdnsPairingEvent) {\n      if (mMdnsPairingListener != null) {\n        mMdnsPairingListener.stop();\n        mMdnsPairingListener = null;\n      }\n    }\n  }\n\n  private void setConnectHelpText(boolean afterPairing) {\n    int resId;\n    if (VERSION.SDK_INT <= VERSION_CODES.Q) {\n      resId = R.string.adb_connect_help_msg;\n    } else if (afterPairing) {\n      resId = R.string.adb_connect_help_after_pair_msg;\n    } else {\n      resId = R.string.adb_connect_help_11_msg;\n    }\n    mB.connectHelpV.setText(StringUtils.htmlToString(resId));\n  }\n\n  private void onArrowClicked(View arrow, boolean hideOnly) {\n    View hideArrow = null, hideCont = null, showArrow, showCont;\n\n    if (arrow == mB.pairArrow) {\n      if (mB.pairCont.getVisibility() == View.GONE) {\n        if (hideOnly) {\n          return;\n        }\n        showArrow = arrow;\n        showCont = mB.pairCont;\n      } else {\n        hideArrow = arrow;\n        hideCont = mB.pairCont;\n        showArrow = mB.connectArrow;\n        showCont = mB.connectCont;\n      }\n    } else {\n      if (mB.connectCont.getVisibility() == View.GONE) {\n        if (hideOnly) {\n          return;\n        }\n        showArrow = arrow;\n        showCont = mB.connectCont;\n      } else {\n        hideArrow = arrow;\n        hideCont = mB.connectCont;\n        showArrow = mB.pairArrow;\n        showCont = mB.pairCont;\n      }\n    }\n\n    if (hideArrow != null) {\n      hideArrow.setRotation(0);\n      hideCont.setVisibility(View.GONE);\n    }\n\n    showArrow.setRotation(90);\n    showCont.setVisibility(View.VISIBLE);\n  }\n\n  private long mShowTs;\n\n  public AlertDialog createDialog() {\n    int helpHrefRes;\n    if (VERSION.SDK_INT <= VERSION_CODES.Q) {\n      helpHrefRes = R.string.adb_connect_help_href_10;\n    } else {\n      helpHrefRes = R.string.adb_connect_help_href_11;\n    }\n\n    DilogTitleWithHelpBinding b = DilogTitleWithHelpBinding.inflate(mA.mA.getLayoutInflater());\n    b.titleV.setText(R.string.adb_title);\n    b.helpV.setOnClickListener(v -> HelpActivity.start(mA.mA, getString(helpHrefRes)));\n\n    AlertDialog d = new Builder(mA.mA).setCustomTitle(b.getRoot()).setView(mB.getRoot()).create();\n    d.setOnShowListener(dialog -> mShowTs = currentTimeMillis());\n    return d;\n  }\n\n  private void doPairing() {\n    CharSequence s = mB.pairingCodeV.getText();\n    if (TextUtils.isEmpty(s)) {\n      mB.pairingCodeCont.setError(getString(R.string.required_field_error));\n      s = null;\n    } else if ((s = s.toString().trim()).length() != 6) {\n      s = null;\n    }\n    String code = s == null ? null : s.toString();\n\n    String host = getHost(mB.pairingIpV.getText(), mB.pairingIpCont);\n    int port = getPort(mB.pairingPortV.getText(), mB.pairingPortCont);\n\n    if (code != null && host != null && port != 0) {\n      mB.pairButton.setEnabled(false);\n      mB.pairButton.setText(R.string.pairing_button);\n      mB.pairingProg.setVisibility(View.VISIBLE);\n\n      new LiveTasksQueueTyped<>(mDialogFrag, () -> doPairing(host, port, code))\n          .onUiWith(this::onPairingComplete)\n          .inBgWithFor(this::autoConnectAfterAutoPairing)\n          .onUiWith(this::dismissDialog)\n          .start();\n    }\n  }\n\n  private static boolean mHiddenApiExempted = false;\n\n  private boolean doPairing(String host, int port, String code) {\n    if (!mHiddenApiExempted && VERSION.SDK_INT >= VERSION_CODES.P) {\n      if (!HiddenApiBypass.addHiddenApiExemptions(\"Lcom/android/org/conscrypt/Conscrypt\")) {\n        MyLog.e(\n            TAG, \"doPairing\", \"Failed to access hidden class com.android.org.conscrypt.Conscrypt\");\n        return false;\n      }\n      mHiddenApiExempted = true;\n    }\n\n    try (AdbConnManager connMgr = new AdbConnManager()) {\n      if (connMgr.pair(host, port, code)) {\n        return true;\n      } else {\n        MyLog.e(TAG, \"doPairing\", \"Adb pairing failed\");\n      }\n    } catch (Exception e) {\n      MyLog.e(TAG, \"doPairing\", e);\n    }\n    return false;\n  }\n\n  private void onPairingComplete(boolean result) {\n    setConnectHelpText(result);\n\n    if (result) {\n      onArrowClicked(mB.pairArrow, true);\n      mB.connectPortV.setText(null);\n    } else {\n      mB.pairButton.setEnabled(true);\n      mB.pairButton.setText(R.string.pair_button);\n      mB.pairingProg.setVisibility(View.INVISIBLE);\n      UiUtils.showToast(R.string.adb_pairing_failed_toast);\n    }\n  }\n\n  private boolean autoConnectAfterAutoPairing(boolean paired) {\n    if (paired) {\n      return connToAdbAndRestartDaemon(null, -1, false);\n    }\n    return false;\n  }\n\n  private void connectToAdb(boolean isFirstTry) {\n    String host = getHost(mB.connectIpV.getText(), mB.connectIpCont);\n    int port = getPort(mB.connectPortV.getText(), mB.connectPortCont);\n\n    mB.connectButton.setEnabled(false);\n    mB.connectButton.setText(R.string.connecting_button);\n    mB.connectProg.setVisibility(View.VISIBLE);\n\n    mA.setAdbCheckBox(false, false);\n\n    new LiveTasksQueueTyped<>(mDialogFrag, () -> connToAdbAndRestartDaemon(host, port, !isFirstTry))\n        .onUiWith(result -> onAdbConnect(result, isFirstTry))\n        .start();\n  }\n\n  private boolean connToAdbAndRestartDaemon(String host, int port, boolean buttonPressed) {\n    boolean retryAdbConnect = false;\n    boolean onlyAutoConnect = host == null || port <= 0;\n\n    if (!onlyAutoConnect) {\n      if (buttonPressed\n          && VERSION.SDK_INT >= VERSION_CODES.R\n          && port != MySettings.INS.getAdbPort()) {\n        try (AdbConnManager connMgr = new AdbConnManager()) {\n          connMgr.setTimeout(10, TimeUnit.SECONDS);\n          if (connMgr.connect(port)) {\n            retryAdbConnect = callTcpIp(connMgr, port);\n          } else {\n            MyLog.e(TAG, \"connToAdbAndRestartDaemon\", \"Adb connect for tcpip failed\");\n          }\n        } catch (AdbException\n            | InterruptedException\n            | IOException\n            | AdbPairingRequiredException e) {\n          MyLog.e(TAG, \"connToAdbAndRestartDaemon\", e);\n        }\n      }\n\n      MySettings.INS.setAdbHost(host);\n      MySettings.INS.saveAdbPort(port);\n    }\n\n    boolean res;\n    if (!buttonPressed || onlyAutoConnect) {\n      res = NativeDaemon.getAdb(false, false, buttonPressed, host, port);\n      SystemClock.sleep(mShowTs == 0 ? 1000 : Math.max(mShowTs + 1000 - currentTimeMillis(), 0));\n    } else {\n      res = NativeDaemon.forceGetAdb(retryAdbConnect);\n    }\n\n    if (res) {\n      DaemonStarter.INS.switchToRootOrAdbDaemon(false);\n    }\n\n    return res;\n  }\n\n  private boolean callTcpIp(AdbConnManager connMgr, int port) {\n    try (AdbStream adbStream = connMgr.openStream(\"tcpip:\" + port)) {\n      waitForTcpIpResponse(adbStream);\n      return true;\n    } catch (IOException | InterruptedException e) {\n      MyLog.e(TAG, \"callTcpIp\", e);\n      return false;\n    }\n  }\n\n  private void waitForTcpIpResponse(AdbStream adbStream) {\n    NonBlockingReader reader = new NonBlockingReader(adbStream.openInputStream());\n    try {\n      String line = reader.readLine(2000);\n      if (line != null) {\n        MyLog.i(TAG, \"waitForTcpIpResponse\", line);\n      }\n    } catch (IOException | InterruptedException e) {\n      MyLog.e(TAG, \"waitForTcpIpResponse\", e);\n    }\n  }\n\n  private void onAdbConnect(boolean result, boolean isFirstTry) {\n    boolean dismissed = false;\n\n    if (result) {\n      dismissed = dismissDialog(true);\n    } else if (isFirstTry) {\n      onFirstTryFailed();\n    } else {\n      UiUtils.showToast(R.string.adb_connect_failed_toast);\n    }\n\n    if (!dismissed) {\n      mB.connectButton.setEnabled(true);\n      mB.connectButton.setText(R.string.connect_button);\n      mB.connectProg.setVisibility(View.INVISIBLE);\n    }\n  }\n\n  private boolean dismissDialog(boolean result) {\n    boolean dismissed = false;\n    if (result) {\n      FragmentManager fm = mA.mA.getSupportFragmentManager();\n      Fragment frag = fm.findFragmentByTag(TAG_ADB_CONNECTION);\n      if (frag != null) {\n        fm.beginTransaction().remove(frag).commitNowAllowingStateLoss();\n        dismissed = true;\n      }\n      mA.showSnackBar(getString(R.string.connected_to_adb_toast), 5);\n    }\n    mA.setAdbCheckBox(result, true);\n    return dismissed;\n  }\n\n  public static final int MIN_PORT = 1;\n  public static final int MAX_PORT = 65535;\n\n  private static int getPort(CharSequence portStr, TextInputLayout container) {\n    if (!TextUtils.isEmpty(portStr)) {\n      int port;\n      try {\n        port = Integer.parseInt(portStr.toString().trim());\n      } catch (NumberFormatException ignored) {\n        port = -1;\n      }\n      if (port <= MAX_PORT && port >= MIN_PORT) {\n        return port;\n      }\n      container.setError(getString(R.string.invalid_field_error));\n    } else {\n      container.setError(getString(R.string.required_field_error));\n    }\n    return 0;\n  }\n\n  private static String getHost(CharSequence ipStr, TextInputLayout container) {\n    if (!TextUtils.isEmpty(ipStr)) {\n      String host = ipStr.toString().trim();\n      if (Os.inet_pton(OsConstants.AF_INET, host) != null) {\n        return host;\n      }\n      container.setError(getString(R.string.invalid_field_error));\n    } else {\n      container.setError(getString(R.string.required_field_error));\n    }\n    return null;\n  }\n\n  private static class EditTextWatcher implements TextWatcher {\n\n    private final TextInputLayout mCont;\n\n    private EditTextWatcher(TextInputLayout container) {\n      mCont = container;\n    }\n\n    public void beforeTextChanged(CharSequence s, int start, int count, int after) {}\n\n    public void onTextChanged(CharSequence s, int start, int before, int count) {\n      mCont.setErrorEnabled(false);\n    }\n\n    public void afterTextChanged(Editable s) {}\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/main/BackupRestoreDialog.java",
    "content": "package com.mirfatif.permissionmanagerx.main;\n\nimport static com.mirfatif.permissionmanagerx.util.ApiUtils.getString;\n\nimport android.net.Uri;\nimport android.view.View;\nimport android.widget.CheckBox;\nimport androidx.appcompat.app.AlertDialog;\nimport androidx.appcompat.app.AlertDialog.Builder;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.backup.BackupFileSelector;\nimport com.mirfatif.permissionmanagerx.backup.BackupRestore;\nimport com.mirfatif.permissionmanagerx.backup.BackupRestore.Result;\nimport com.mirfatif.permissionmanagerx.base.AlertDialogFragment;\nimport com.mirfatif.permissionmanagerx.databinding.BackupRestoreDialogBinding;\nimport com.mirfatif.permissionmanagerx.databinding.ProgressDialogBinding;\nimport com.mirfatif.permissionmanagerx.util.ApiUtils;\nimport com.mirfatif.permissionmanagerx.util.StringUtils;\nimport com.mirfatif.permissionmanagerx.util.bg.LiveTasksQueueTyped;\nimport com.mirfatif.privtasks.util.MyLog;\nimport java.util.Objects;\n\npublic class BackupRestoreDialog {\n\n  private static final String TAG = \"BackupRestoreDialog\";\n\n  private final MainActivity mA;\n\n  public BackupRestoreDialog(MainActivity activity) {\n    mA = activity;\n  }\n\n  private BackupFileSelector mBackupLauncher;\n  private BackupFileSelector mRestoreLauncher;\n\n  public void onCreated() {\n    mBackupLauncher = new BackupFileSelector(mA.mA, true, uri -> doBackupRestore(true, uri));\n    mRestoreLauncher = new BackupFileSelector(mA.mA, false, uri -> doBackupRestore(false, uri));\n  }\n\n  private boolean mSkipUninstalledApps = false;\n\n  public AlertDialog createDialog() {\n    BackupRestoreDialogBinding b = BackupRestoreDialogBinding.inflate(mA.mA.getLayoutInflater());\n\n    CheckBox cb = b.skipUninstalledPackages;\n    cb.setChecked(mSkipUninstalledApps);\n    cb.setOnClickListener(v -> mSkipUninstalledApps = cb.isChecked());\n\n    return new Builder(mA.mA)\n        .setPositiveButton(R.string.backup, (d, w) -> mBackupLauncher.launch())\n        .setNegativeButton(R.string.restore, (d, w) -> mRestoreLauncher.launch())\n        .setTitle(getString(R.string.backup) + \" / \" + getString(R.string.restore))\n        .setView(b.getRoot())\n        .create();\n  }\n\n  private void doBackupRestore(boolean isBackup, Uri uri) {\n    if (uri == null) {\n      return;\n    }\n\n    ProgressDialogBinding b = ProgressDialogBinding.inflate(mA.mA.getLayoutInflater());\n    b.progText.setText(isBackup ? R.string.backup_in_progress : R.string.restore_in_progress);\n\n    AlertDialog dialog =\n        new Builder(mA.mA)\n            .setTitle(isBackup ? R.string.backup : R.string.restore)\n            .setPositiveButton(android.R.string.ok, null)\n            .setView(b.getRoot())\n            .create();\n\n    AlertDialogFragment dialogFrag = AlertDialogFragment.create(dialog, \"BACKUP_RESTORE\");\n    dialogFrag.setCancelable(false);\n\n    dialog.setOnShowListener(\n        d -> {\n          dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);\n\n          new LiveTasksQueueTyped<>(\n                  mA.mA,\n                  () -> {\n                    if (isBackup) {\n                      return BackupRestore.INS.backupNoThrow(uri, true, mSkipUninstalledApps);\n                    } else {\n                      return BackupRestore.INS.restore(uri, mSkipUninstalledApps);\n                    }\n                  })\n              .onUiWith(result -> handleResult(isBackup, result, b, dialogFrag))\n              .start();\n        });\n\n    dialogFrag.show(mA.mA);\n  }\n\n  private void handleResult(\n      boolean isBackup, Result res, ProgressDialogBinding b, AlertDialogFragment dialog) {\n    b.prog.setVisibility(View.GONE);\n    Objects.requireNonNull(dialog.getDialog())\n        .getButton(AlertDialog.BUTTON_POSITIVE)\n        .setEnabled(true);\n    dialog.setCancelable(true);\n\n    if (res == null) {\n      MyLog.e(TAG, \"handleResult\", (isBackup ? \"Backup\" : \"Restore\") + \" failed\");\n      b.progText.setText(R.string.backup_restore_failed);\n    } else {\n      String message =\n          ApiUtils.getQtyString(R.plurals.backup_restore_processed_prefs, res.prefs, res.prefs);\n\n      if (res.profiles >= 0) {\n        message =\n            ApiUtils.getQtyString(\n                R.plurals.backup_restore_processed_profiles, res.profiles, message, res.profiles);\n      }\n\n      message =\n          ApiUtils.getQtyString(\n              R.plurals.backup_restore_processed_refs, res.perms, message, res.perms);\n\n      if (res.invalidPrefs > 0) {\n        message =\n            ApiUtils.getQtyString(\n                R.plurals.backup_restore_invalid_prefs,\n                res.invalidPrefs,\n                message,\n                res.invalidPrefs);\n      }\n\n      if (res.skippedApps > 0) {\n        message =\n            ApiUtils.getQtyString(\n                R.plurals.backup_restore_uninstalled_apps,\n                res.skippedApps,\n                message,\n                res.skippedApps);\n      }\n\n      b.progText.setText(StringUtils.breakParas(message));\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/main/DaemonStartProg.java",
    "content": "package com.mirfatif.permissionmanagerx.main;\n\nimport static com.mirfatif.permissionmanagerx.main.MainActivity.ACTION_SHOW_DRAWER;\nimport static com.mirfatif.permissionmanagerx.main.MainActivity.TAG_GRANT_ROOT_OR_ADB;\nimport static com.mirfatif.permissionmanagerx.main.MainActivity.TAG_PRIVS_REQ_FOR_DAEMON;\nimport static com.mirfatif.permissionmanagerx.util.ApiUtils.getString;\n\nimport androidx.appcompat.app.AlertDialog;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.base.AlertDialogFragment;\nimport com.mirfatif.permissionmanagerx.parser.PackageParser;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\nimport com.mirfatif.permissionmanagerx.privs.DaemonStarter;\nimport com.mirfatif.permissionmanagerx.util.Utils;\nimport com.mirfatif.permissionmanagerx.util.bg.LiveSchedTask;\nimport java.util.concurrent.TimeUnit;\n\npublic class DaemonStartProg {\n\n  private static final String TAG = \"DaemonStartProg\";\n\n  private final MainActivity mA;\n\n  DaemonStartProg(MainActivity activity) {\n    mA = activity;\n  }\n\n  void onCreated(String intentAction) {\n    DaemonStarter.INS.getLiveProg().observe(mA.mA, this::setDaemonStartProg);\n    DaemonStarter.INS.getLiveStartResult().observe(mA.mA, this::handleStartDaemonResult);\n\n    if (MySettings.INS.getShowUnsupportedSdkWarning()) {\n      AlertDialog dialog =\n          new AlertDialog.Builder(mA.mA)\n              .setTitle(R.string.unsupported_sdk_warning_title)\n              .setMessage(\n                  getString(R.string.unsupported_sdk_warning_message, Utils.getAndroidVersionInt()))\n              .setPositiveButton(\n                  R.string.unsupported_sdk_warning_button,\n                  (d, w) -> MySettings.INS.onUnsupportedSdkWarningShown())\n              .create();\n\n      AlertDialogFragment frag = AlertDialogFragment.create(dialog, \"UNSUPPORTED_SDK_WARNING\");\n      frag.setOnDismissListener(d -> startDaemon(intentAction));\n\n      LiveSchedTask.schedule(\n          mA.mA,\n          () -> frag.show(mA.mA),\n          500,\n          TimeUnit.MILLISECONDS,\n          true,\n          TAG + \"-SdkWarningDialog\");\n    } else {\n      startDaemon(intentAction);\n    }\n  }\n\n  private void startDaemon(String intentAction) {\n    DaemonStarter.INS.startPrivDaemon(false, true, true, !ACTION_SHOW_DRAWER.equals(intentAction));\n  }\n\n  private void setDaemonStartProg(String prog) {\n    if (prog != null) {\n      mA.mB.bigProgText.setText(prog);\n      mA.setBigProgVisible(true);\n    } else {\n      mA.setBigProgVisible(false);\n    }\n  }\n\n  private void handleStartDaemonResult(DaemonStarter.DaemonStartResult res) {\n    if (res.daemonStarted == DaemonStarter.DaemonStartStatus.NO_PRIVS) {\n\n      if (res.showNoPrivsDialog) {\n        if (!res.isFirstRun) {\n          AlertDialogFragment.show(mA.mA, null, TAG_GRANT_ROOT_OR_ADB);\n        } else if (MySettings.INS.shouldRemindMissingPrivileges()) {\n          LiveSchedTask.schedule(\n              mA.mA,\n              () -> AlertDialogFragment.show(mA.mA, null, TAG_PRIVS_REQ_FOR_DAEMON),\n              1,\n              TimeUnit.SECONDS,\n              true,\n              TAG + \"-NoPrivsDialog\");\n        }\n      }\n    }\n\n    if (res.isFirstRun) {\n      mA.setLiveDataObservers();\n    } else if (res.wasAlive || res.daemonStarted == DaemonStarter.DaemonStartStatus.STARTED) {\n      PackageParser.INS.updatePkgList();\n    } else {\n      mA.setBigProgVisible(false);\n    }\n\n    if (res.daemonStarted == DaemonStarter.DaemonStartStatus.FAILED) {\n      mA.showSnackBar(getString(R.string.daemon_failed_toast), 10);\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/main/Feedback.java",
    "content": "package com.mirfatif.permissionmanagerx.main;\n\nimport android.view.View;\nimport android.view.animation.Animation;\nimport android.view.animation.AnimationUtils;\nimport androidx.coordinatorlayout.widget.CoordinatorLayout.LayoutParams;\nimport com.google.android.material.behavior.SwipeDismissBehavior;\nimport com.google.android.material.behavior.SwipeDismissBehavior.OnDismissListener;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.main.FeedbackDialogFrag.FeedbackType;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\n\nclass Feedback {\n\n  private final MainActivity mA;\n\n  Feedback(MainActivity activity) {\n    mA = activity;\n  }\n\n  private boolean mFeedbackSwiped = false;\n\n  void askForFeedback() {\n    if (mA.mB == null) {\n      return;\n    }\n\n    if (!mFeedbackSwiped && MySettings.INS.shouldAskForFeedback()) {\n      mA.mB.movCont.feedbackCont.setVisibility(View.VISIBLE);\n      MySettings.INS.setAskForFeedbackTs(false);\n    }\n\n    if (mA.mB.movCont.feedbackCont.getVisibility() != View.VISIBLE) {\n      return;\n    }\n\n    mA.mB.movCont.likingAppYesButton.setOnClickListener(v -> showDialog(true));\n    mA.mB.movCont.likingAppNoButton.setOnClickListener(v -> showDialog(false));\n\n    SwipeDismissBehavior<View> dismissBehavior = new SwipeDismissBehavior<>();\n    dismissBehavior.setListener(new FeedbackDismissListener());\n    ((LayoutParams) mA.mB.movCont.feedbackCont.getLayoutParams()).setBehavior(dismissBehavior);\n\n    Animation anim = AnimationUtils.loadAnimation(mA.mA, R.anim.shake);\n    mA.mB.movCont.feedbackCont.postDelayed(\n        () -> mA.mB.movCont.feedbackCont.startAnimation(anim), 1000);\n  }\n\n  private void showDialog(boolean isYes) {\n    int type = isYes ? FeedbackType.POSITIVE : FeedbackType.NEGATIVE;\n    FeedbackDialogFrag.show(type, mA.mA.getSupportFragmentManager());\n    mA.mB.movCont.feedbackCont.setVisibility(View.GONE);\n  }\n\n  private class FeedbackDismissListener implements OnDismissListener {\n\n    public void onDismiss(View view) {\n      mA.mB.movCont.feedbackCont.setVisibility(View.GONE);\n      mFeedbackSwiped = true;\n    }\n\n    public void onDragStateChanged(int state) {}\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/main/FeedbackDialogFrag.java",
    "content": "package com.mirfatif.permissionmanagerx.main;\n\nimport static com.mirfatif.permissionmanagerx.util.ApiUtils.openWebUrl;\n\nimport android.os.Bundle;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.View.OnClickListener;\nimport android.view.ViewGroup;\nimport androidx.fragment.app.FragmentManager;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.about.AboutActivity;\nimport com.mirfatif.permissionmanagerx.base.BottomSheetDialogFrag;\nimport com.mirfatif.permissionmanagerx.databinding.FeedbackDialogBinding;\nimport com.mirfatif.permissionmanagerx.databinding.RateDonateDialogBinding;\nimport com.mirfatif.permissionmanagerx.help.HelpActivity;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\nimport com.mirfatif.permissionmanagerx.util.ApiUtils;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\nimport java.lang.annotation.Retention;\nimport java.lang.annotation.RetentionPolicy;\n\npublic class FeedbackDialogFrag extends BottomSheetDialogFrag {\n\n  private static final String FEEDBACK_TYPE = \"FEEDBACK_TYPE\";\n\n  @Retention(RetentionPolicy.SOURCE)\n  public @interface FeedbackType {\n    int POSITIVE = 0;\n    int NEGATIVE = 1;\n    int RATE = 2;\n    int RATE_DONATE = 3;\n    int CONTACT = 4;\n  }\n\n  public static void show(int type, FragmentManager fm) {\n    FeedbackDialogFrag frag = new FeedbackDialogFrag();\n    Bundle args = new Bundle();\n    args.putInt(FEEDBACK_TYPE, type);\n    frag.setArguments(args);\n    frag.show(fm, \"FEEDBACK_RATING\");\n  }\n\n  public View onCreateView(\n      LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {\n\n    int type = requireArguments().getInt(FEEDBACK_TYPE);\n    if (type == FeedbackType.POSITIVE) {\n      return getFeedbackView(true);\n    }\n    if (type == FeedbackType.NEGATIVE) {\n      return getFeedbackView(false);\n    }\n    return getButtonsView(type);\n  }\n\n  private View getFeedbackView(boolean isYes) {\n    FeedbackDialogBinding b = FeedbackDialogBinding.inflate(mA.getLayoutInflater());\n    int msgResId, buttonResId;\n\n    if (isYes) {\n      msgResId = R.string.purchase_and_rate_the_app;\n      buttonResId = R.string.how_do_i;\n    } else {\n      msgResId = R.string.ask_to_provide_feedback;\n      buttonResId = R.string.contact;\n    }\n\n    b.msgV.setText(msgResId);\n    b.posButton.setText(buttonResId);\n\n    b.neutralButton.setOnClickListener(\n        v -> {\n          MySettings.INS.setAskForFeedbackTs(true);\n          dismissAllowingStateLoss();\n        });\n\n    b.negButton.setOnClickListener(v -> dismissAllowingStateLoss());\n\n    b.posButton.setOnClickListener(\n        v -> {\n          int type = isYes ? FeedbackType.RATE_DONATE : FeedbackType.CONTACT;\n          FeedbackDialogFrag.show(type, mA.getSupportFragmentManager());\n          dismissAllowingStateLoss();\n        });\n\n    return b.getRoot();\n  }\n\n  private View getButtonsView(int type) {\n    int b1 = 0, b2, b3 = 0;\n    ButtonListener l1 = null, l2, l3 = null;\n\n    RateDonateDialogBinding b = RateDonateDialogBinding.inflate(mA.getLayoutInflater());\n\n    if (type == FeedbackType.CONTACT) {\n      b1 = R.string.contact_on_telegram;\n      l1 = new ButtonListener(() -> openWebUrl(mA, ApiUtils.getString(R.string.telegram_mirfatif)));\n      b2 = R.string.contact_on_email;\n      l2 = new ButtonListener(() -> ApiUtils.sendMail(mA, null));\n\n    } else {\n      b2 = R.string.rating_options;\n\n      if (type == FeedbackType.RATE) {\n        b1 = R.string.rate_on_ps;\n        l1 = new ButtonListener(() -> openWebUrl(mA, getString(R.string.play_store_url)));\n\n        b2 = R.string.other_rating_options;\n\n      } else if (type == FeedbackType.RATE_DONATE) {\n        b1 = R.string.purchase_donate;\n        l1 =\n            new ButtonListener(() -> ApiUtils.openWebUrl(mA, getString(R.string.purchase_pro_url)));\n      }\n\n      l2 =\n          new ButtonListener(\n              () -> HelpActivity.start(mA, getString(R.string.rate_review_help_href)));\n\n      if (type == FeedbackType.RATE_DONATE) {\n        b3 = R.string.share_with_others;\n        l3 = new ButtonListener(() -> AboutActivity.sendShareIntent(mA));\n      }\n    }\n\n    if (l1 != null) {\n      b.button1.setText(b1);\n      b.button1.setOnClickListener(l1);\n    } else {\n      b.button1.setVisibility(View.GONE);\n    }\n\n    b.button2.setText(b2);\n    b.button2.setOnClickListener(l2);\n\n    if (l3 != null) {\n      b.button3.setText(b3);\n      b.button3.setOnClickListener(l3);\n    } else {\n      b.button3.setVisibility(View.GONE);\n    }\n\n    return b.getRoot();\n  }\n\n  private class ButtonListener implements OnClickListener {\n\n    private final Runnable mTask;\n\n    private ButtonListener(Runnable task) {\n      mTask = task;\n    }\n\n    public void onClick(View v) {\n      mTask.run();\n      UiUtils.showToast(R.string.thank_you);\n      dismissAllowingStateLoss();\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/main/MainActivity.java",
    "content": "package com.mirfatif.permissionmanagerx.main;\n\nimport static com.mirfatif.permissionmanagerx.util.ApiUtils.getQtyString;\nimport static com.mirfatif.permissionmanagerx.util.ApiUtils.getString;\n\nimport android.content.Intent;\nimport android.graphics.drawable.Drawable;\nimport android.os.Build;\nimport android.text.TextUtils;\nimport android.view.Menu;\nimport android.view.MenuItem;\nimport android.view.View;\nimport android.widget.CheckBox;\nimport android.widget.TextView;\nimport androidx.activity.OnBackPressedCallback;\nimport androidx.activity.result.ActivityResultLauncher;\nimport androidx.activity.result.contract.ActivityResultContracts;\nimport androidx.appcompat.app.ActionBar;\nimport androidx.appcompat.app.ActionBarDrawerToggle;\nimport androidx.appcompat.app.AlertDialog;\nimport androidx.appcompat.app.AlertDialog.Builder;\nimport androidx.appcompat.content.res.AppCompatResources;\nimport androidx.appcompat.widget.SearchView;\nimport androidx.appcompat.widget.SearchView.OnQueryTextListener;\nimport androidx.coordinatorlayout.widget.CoordinatorLayout;\nimport androidx.core.view.GravityCompat;\nimport androidx.core.view.MenuCompat;\nimport androidx.fragment.app.Fragment;\nimport androidx.fragment.app.FragmentManager;\nimport androidx.recyclerview.widget.DividerItemDecoration;\nimport androidx.recyclerview.widget.LinearLayoutManager;\nimport com.google.android.material.snackbar.Snackbar;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.about.AboutActivity;\nimport com.mirfatif.permissionmanagerx.app.App;\nimport com.mirfatif.permissionmanagerx.base.AlertDialogFragment;\nimport com.mirfatif.permissionmanagerx.databinding.ActivityMainBinding;\nimport com.mirfatif.permissionmanagerx.databinding.DilogTitleWithHelpBinding;\nimport com.mirfatif.permissionmanagerx.fwk.AdvSettingsActivityM;\nimport com.mirfatif.permissionmanagerx.fwk.FilterSettingsActivityM;\nimport com.mirfatif.permissionmanagerx.fwk.LifecycleWatcher;\nimport com.mirfatif.permissionmanagerx.fwk.MainActivityM;\nimport com.mirfatif.permissionmanagerx.fwk.MoveUpBehavior;\nimport com.mirfatif.permissionmanagerx.fwk.SettingsActivityM;\nimport com.mirfatif.permissionmanagerx.help.HelpActivity;\nimport com.mirfatif.permissionmanagerx.main.PackageAdapter.PkgAdapterCallback;\nimport com.mirfatif.permissionmanagerx.parser.AppOpsParser;\nimport com.mirfatif.permissionmanagerx.parser.Package;\nimport com.mirfatif.permissionmanagerx.parser.PackageParser;\nimport com.mirfatif.permissionmanagerx.pkg.PackageActivity;\nimport com.mirfatif.permissionmanagerx.prefs.AppUpdate;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\nimport com.mirfatif.permissionmanagerx.prefs.settings.SearchSettingsFrag;\nimport com.mirfatif.permissionmanagerx.privs.DaemonHandler;\nimport com.mirfatif.permissionmanagerx.privs.DaemonStarter;\nimport com.mirfatif.permissionmanagerx.privs.NativeDaemon;\nimport com.mirfatif.permissionmanagerx.util.ApiUtils;\nimport com.mirfatif.permissionmanagerx.util.LocaleUtils;\nimport com.mirfatif.permissionmanagerx.util.NotifUtils;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\nimport com.mirfatif.permissionmanagerx.util.UserUtils;\nimport com.mirfatif.permissionmanagerx.util.bg.LiveMinDelayParamTask;\nimport com.mirfatif.permissionmanagerx.util.bg.LiveSchedParamTask;\nimport com.mirfatif.permissionmanagerx.util.bg.LiveSchedTask;\nimport com.mirfatif.permissionmanagerx.util.bg.LiveTasksQueue;\nimport com.mirfatif.permissionmanagerx.util.bg.LiveTasksQueueTyped;\nimport com.mirfatif.privtasks.util.bg.BgRunner;\nimport com.mirfatif.privtasks.util.bg.NotifyWaiter;\nimport java.util.ArrayList;\nimport java.util.List;\nimport java.util.Objects;\nimport java.util.concurrent.TimeUnit;\n\npublic class MainActivity extends OnBackPressedCallback {\n\n  private static final String TAG = \"MainActivity\";\n\n  public final MainActivityM mA;\n\n  public MainActivity(MainActivityM activity) {\n    super(true);\n    mA = activity;\n\n    mPkgCountNotifier =\n        new LiveSchedParamTask<>(\n            mA, this::showPkgCount, 500, TimeUnit.MILLISECONDS, true, TAG + \"-PkgCountNotifier\");\n\n    mBigProgHider =\n        new LiveMinDelayParamTask<>(\n            mA,\n            visibility -> mB.bigProgCont.setVisibility(visibility),\n            1,\n            TimeUnit.SECONDS,\n            true,\n            TAG + \"-BigProgHider\");\n\n    mWindowWaiter = new NotifyWaiter(() -> mA.getWindow() == null);\n  }\n\n  private static final String CLASS = MainActivity.class.getName();\n  public static final String ACTION_SHOW_DRAWER = CLASS + \".action.SHOW_DRAWER\";\n\n  public final DaemonStartProg mDaemonStartProg = new DaemonStartProg(this);\n  private final Feedback mFeedback = new Feedback(this);\n  private final BackupRestoreDialog mBackupRestoreDialog = new BackupRestoreDialog(this);\n  private final PrivsCheckBoxFocus mCheckBoxFocus = new PrivsCheckBoxFocus(this);\n\n  private ActivityResultLauncher<String> mNotifPermReqLauncher;\n\n  ActivityMainBinding mB;\n\n  private LinearLayoutManager mLayoutManager;\n  public SearchView mSearchView;\n  private PackageAdapter mPkgAdapter;\n\n  ActionBarDrawerToggle mDrawerToggle;\n\n  private final Class<?> mSnackBarLayoutCls = Snackbar.SnackbarLayout.class;\n\n  public void onCreated() {\n    if (isSecondaryUser()) {\n      return;\n    }\n\n    mB = ActivityMainBinding.inflate(mA.getLayoutInflater());\n    mB.movCont.setData(new Data());\n    mA.setContentView(mB);\n\n    ((CoordinatorLayout.LayoutParams) mB.moveUpCont.getLayoutParams())\n        .setBehavior(new MoveUpBehavior(mSnackBarLayoutCls, mB.movCont.getRoot()));\n\n    mB.bigProgCont.setOnClickListener(null);\n\n    ActionBar actionBar = mA.getSupportActionBar();\n    if (actionBar != null) {\n      actionBar.setDisplayHomeAsUpEnabled(true);\n    }\n\n    mDrawerToggle =\n        new ActionBarDrawerToggle(mA, mB.getRoot(), R.string.open_drawer, R.string.close_drawer);\n    mB.getRoot().addDrawerListener(mDrawerToggle);\n    mDrawerToggle.syncState();\n\n    handleIntentActions(mA.getIntent());\n\n    mB.navV.setNavigationItemSelectedListener(this::handleNavigationItemSelected);\n    setNavigationMenu();\n\n    MySettings.INS.mPrefsWatcher.observe(mA, this::onPrefChanged);\n\n    mB.refreshLayout.setOnRefreshListener(\n        () -> {\n          if (MySettings.INS.isSearching()) {\n            handleSearchQuery();\n          } else {\n            PackageParser.INS.updatePkgList();\n          }\n        });\n\n    mPkgAdapter = new PackageAdapter(mA, new PkgAdapterCallbackImpl());\n\n    mB.recyclerView.setAdapter(mPkgAdapter);\n\n    mLayoutManager = new LinearLayoutManager(mA, LinearLayoutManager.VERTICAL, false);\n    mB.recyclerView.setLayoutManager(mLayoutManager);\n\n    mB.recyclerView.addItemDecoration(new DividerItemDecoration(mA, LinearLayoutManager.VERTICAL));\n\n    mB.recyclerView.setOnScrollChangeListener(\n        (v, scrollX, scrollY, oldScrollX, oldScrollY) -> setRepeatUpdates());\n\n    if (mSearchView != null) {\n      collapseSearchView();\n    } else {\n      MySettings.INS.setQueryText(null);\n    }\n\n    mB.searchSettingsContainer.setOnClickListener(v -> hideSearchSettings());\n\n    String action = mA.getIntent().getAction();\n\n    if (Intent.ACTION_MAIN.equals(action)) {\n      BgRunner.execute(MySettings.INS::plusAppLaunchCount);\n    }\n\n    mNotifPermReqLauncher =\n        mA.registerForActivityResult(\n            new ActivityResultContracts.RequestPermission(), granted -> {});\n\n    mDaemonStartProg.onCreated(action);\n    mBackupRestoreDialog.onCreated();\n\n    if (ApiUtils.hasNotifPerm()) {\n      BgRunner.execute(() -> AppUpdate.check(true));\n    }\n\n    mA.getOnBackPressedDispatcher().addCallback(mA, this);\n  }\n\n  public void onNewIntent(Intent intent) {\n    handleIntentActions(intent);\n  }\n\n  public boolean onCreateOptionsMenu(Menu menu) {\n    if (UserUtils.getUserId() != 0) {\n      return false;\n    }\n\n    mA.getMenuInflater().inflate(R.menu.main_search, menu);\n    MenuCompat.setGroupDividerEnabled(menu, true);\n\n    MenuItem searchMenuItem = menu.findItem(R.id.action_search);\n    mSearchView = (SearchView) searchMenuItem.getActionView();\n    setUpSearchView();\n\n    return true;\n  }\n\n  public boolean onOptionsItemSelected(MenuItem item) {\n    if (item.getItemId() == android.R.id.home) {\n      if (!mSearchView.isIconified()) {\n        if (mB.searchSettingsContainer.getVisibility() == View.VISIBLE) {\n          hideSearchSettings();\n        } else {\n          mB.searchSettingsContainer.setVisibility(View.VISIBLE);\n          mA.getSupportFragmentManager()\n              .beginTransaction()\n              .replace(R.id.search_settings_frag, new SearchSettingsFrag())\n              .commit();\n        }\n        return true;\n      }\n    }\n\n    return mDrawerToggle.onOptionsItemSelected(item);\n  }\n\n  public void handleOnBackPressed() {\n    mCheckBoxFocus.endFocus();\n\n    if (mB != null && mB.getRoot().isDrawerOpen(GravityCompat.START)) {\n      mB.getRoot().closeDrawer(GravityCompat.START, true);\n      return;\n    }\n\n    if (mSearchView != null && !TextUtils.isEmpty(mSearchView.getQuery())) {\n      collapseSearchView();\n      return;\n    }\n\n    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {\n      mExited = true;\n    }\n\n    mA.finishAfterTransition();\n  }\n\n  private boolean mExited = false;\n\n  public void onResume() {\n    mFeedback.askForFeedback();\n    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S && mExited) {\n      PackageParser.INS.updatePkgList();\n    }\n    mExited = false;\n  }\n\n  public void onPause() {\n    mCheckBoxFocus.endFocus();\n  }\n\n  public void onAttachedToWindow() {\n    mWindowWaiter.notify(true);\n  }\n\n  public static final String TAG_PRIVS_REQ_FOR_DAEMON = CLASS + \".PRIVS_REQ_FOR_DAEMON\";\n  public static final String TAG_GRANT_ROOT_OR_ADB = CLASS + \".GRANT_ROOT_OR_ADB\";\n  public static final String TAG_ADB_CONNECTION = CLASS + \".TAG_ADB_CONNECTION\";\n  private static final String TAG_BACKUP_RESTORE = CLASS + \".TAG_BACKUP_RESTORE\";\n\n  public AlertDialog createDialog(String tag, AlertDialogFragment dialogFragment) {\n    if (TAG_PRIVS_REQ_FOR_DAEMON.equals(tag) || TAG_GRANT_ROOT_OR_ADB.equals(tag)) {\n      DilogTitleWithHelpBinding b = DilogTitleWithHelpBinding.inflate(mA.getLayoutInflater());\n      b.titleV.setText(R.string.privileges_title);\n      b.helpV.setOnClickListener(v -> HelpActivity.start(mA, \"faq1\"));\n\n      Builder builder =\n          new Builder(mA)\n              .setPositiveButton(android.R.string.ok, (d, w) -> openDrawerForPrivileges())\n              .setCustomTitle(b.getRoot())\n              .setMessage(getString(R.string.grant_root_or_adb));\n      if (TAG_GRANT_ROOT_OR_ADB.equals(tag)) {\n        builder.setNegativeButton(android.R.string.cancel, null);\n      } else {\n        builder.setNeutralButton(\n            R.string.do_not_remind, (d, which) -> MySettings.INS.setPrivReminderOff());\n      }\n      return UiUtils.removeButtonPadding(builder.create());\n    }\n\n    if (TAG_ADB_CONNECTION.equals(tag)) {\n      return new AdbConnectDialog(this, dialogFragment).createDialog();\n    }\n\n    if (TAG_BACKUP_RESTORE.equals(tag)) {\n      return mBackupRestoreDialog.createDialog();\n    }\n\n    return null;\n  }\n\n  private boolean isSecondaryUser() {\n    if (UserUtils.getUserId() == 0) {\n      return false;\n    }\n\n    Builder builder =\n        new Builder(mA)\n            .setPositiveButton(android.R.string.ok, null)\n            .setTitle(R.string.primary_account)\n            .setMessage(R.string.primary_profile_only);\n    AlertDialogFragment.show(mA, builder.create(), \"PRIMARY_PROFILE\")\n        .setOnDismissListener(d -> mA.finishAfterTransition());\n\n    return true;\n  }\n\n  private class PkgAdapterCallbackImpl implements PkgAdapterCallback {\n\n    public void onClick(Package pkg) {\n      PackageActivity.start(mA, pkg, null);\n    }\n\n    public void onLongClick(Package pkg) {\n      new PkgLongPressDialogFrag(pkg).show(mA.getSupportFragmentManager(), \"PKG_OPTIONS\");\n    }\n  }\n\n  private boolean mObserversSet = false;\n\n  public synchronized void setLiveDataObservers() {\n    if (mObserversSet) {\n      return;\n    }\n\n    PackageParser.INS.getProgMax().observe(mA, this::setMaxProg);\n    PackageParser.INS.getProgNow().observe(mA, this::setNowProg);\n    PackageParser.INS.getListCompleted().observe(mA, this::onListCompleted);\n    PackageParser.INS.getPkgListLive().observe(mA, this::pkgListReceived);\n    PackageParser.INS.getChangedPkg().observe(mA, this::pkgChanged);\n\n    mObserversSet = true;\n\n    PackageParser.INS.updatePkgListIfChanged();\n  }\n\n  private void setMaxProg(int progMax) {\n    if (progMax < 0) {\n      TextView progTv;\n\n      if (mB.bigProgCont.getVisibility() == View.VISIBLE) {\n        progTv = mB.bigProgText;\n      } else {\n        progTv = mB.movCont.progNowV;\n        mB.movCont.progBar.setIndeterminate(true);\n        mB.movCont.progMaxV.setText(\"\");\n        setProgVisible(true);\n      }\n\n      progTv.setText(PackageParser.INS.getProgMsg(progMax));\n      return;\n    }\n\n    mB.movCont.progBar.setIndeterminate(false);\n    mB.movCont.progBar.setProgress(0);\n    mB.movCont.progNowV.setText(LocaleUtils.toLocalizedNum(0));\n    mB.movCont.progBar.setMax(progMax);\n    mB.movCont.progMaxV.setText(LocaleUtils.toLocalizedNum(progMax));\n\n    setBigProgVisible(false);\n    setProgVisible(true);\n  }\n\n  private void setNowProg(int progNow) {\n    mB.movCont.progBar.setProgress(progNow, true);\n    mB.movCont.progNowV.setText(LocaleUtils.toLocalizedNum(progNow));\n  }\n\n  private boolean mFirstListCompleted = true;\n  private final LiveSchedParamTask<Integer> mPkgCountNotifier;\n\n  private void onListCompleted(int pkgCount) {\n    setProgVisible(false);\n\n    if (((mB.refreshLayout.isRefreshing() || MySettings.INS.isSearching()) && pkgCount >= 0)\n        || pkgCount == 0) {\n      mPkgCountNotifier.cancelAndSchedule(pkgCount);\n    }\n\n    mB.refreshLayout.setRefreshing(false);\n\n    if (mFirstListCompleted) {\n      mFirstListCompleted = false;\n\n      LiveSchedTask.schedule(\n          mA, this::askForFeedback, 5, TimeUnit.SECONDS, true, TAG + \"-FeedbackPrompt\");\n\n      showAppOpsPrivsToast();\n\n      if (DaemonHandler.INS.isDaemonAlive()\n          && !ApiUtils.hasNotifPerm()\n          && MySettings.INS.shouldAskForNotifPerm()) {\n        NotifUtils.askForNotifPerm(mA, mNotifPermReqLauncher);\n      }\n    }\n  }\n\n  private void pkgListReceived(List<Package> packages) {\n    mPkgAdapter.submitList(new ArrayList<>(packages));\n    setRepeatUpdates();\n  }\n\n  private void pkgChanged(Package pkg) {\n    int position = mPkgAdapter.getCurrentList().indexOf(pkg);\n    if (position != -1) {\n      mPkgAdapter.notifyItemChanged(position);\n    }\n  }\n\n  private void setRepeatUpdates() {\n    boolean rep = mPkgAdapter.getItemCount() < mLayoutManager.findLastVisibleItemPosition() + 5;\n    PackageParser.INS.setRepeatUpdates(rep);\n  }\n\n  private void onPrefChanged(Integer pref) {\n    switch (pref) {\n      case MySettings.PREF_DRAWER_CHANGED -> setBoxesChecked();\n      case MySettings.PREF_UI_CHANGED -> mA.recreate();\n    }\n  }\n\n  private void showPkgCount(int pkgCount) {\n    showSnackBar(getQtyString(R.plurals.apps_count, pkgCount, pkgCount), 5);\n  }\n\n  public void showSnackBar(String text, int sec) {\n    createSnackBar(text, sec).show();\n  }\n\n  public Snackbar createSnackBar(String text, int sec) {\n    return UiUtils.createSnackBar(mA, mB.movCont.progBarCont, null, text, sec);\n  }\n\n  private void handleIntentActions(Intent intent) {\n    String action = intent.getAction();\n    if (action != null) {\n      if (action.equals(ACTION_SHOW_DRAWER)) {\n        openDrawerForPrivileges();\n      }\n    }\n  }\n\n  private final LiveMinDelayParamTask<Integer> mBigProgHider;\n\n  public void setBigProgVisible(boolean visible) {\n    if (visible) {\n      mBigProgHider.cancelAndRunNow(View.VISIBLE);\n    } else {\n      mBigProgHider.cancelAndRunOrSchedule(View.GONE);\n    }\n  }\n\n  public void setProgVisible(boolean visible) {\n    mB.movCont.progBarCont.setVisibility(visible ? View.VISIBLE : View.GONE);\n  }\n\n  private boolean mNoAppOpsToasted = false;\n\n  private void showAppOpsPrivsToast() {\n    FragmentManager fm = mA.getSupportFragmentManager();\n    if (!mNoAppOpsToasted\n        && !MySettings.INS.excludeAppOpsPerms()\n        && !AppOpsParser.INS.canReadAppOps()\n        && !MySettings.INS.isRootEnabled()\n        && !MySettings.INS.isAdbEnabled()\n        && fm.findFragmentByTag(TAG_GRANT_ROOT_OR_ADB) == null\n        && fm.findFragmentByTag(TAG_PRIVS_REQ_FOR_DAEMON) == null) {\n      UiUtils.showToast(R.string.no_app_ops_without_daemon_toast);\n      mNoAppOpsToasted = true;\n    }\n  }\n\n  private void askForFeedback() {\n    MySettings.INS.setMayAskForFeedback(true);\n    LifecycleWatcher.addOnDestroyed(mA, () -> MySettings.INS.setMayAskForFeedback(false));\n    mFeedback.askForFeedback();\n  }\n\n  private void setUpSearchView() {\n    mSearchView.setOnQueryTextListener(\n        new OnQueryTextListener() {\n          public boolean onQueryTextSubmit(String query) {\n            handleSearchQuery();\n            return true;\n          }\n\n          public boolean onQueryTextChange(String newText) {\n            handleSearchQuery();\n            return true;\n          }\n        });\n\n    mSearchView.setOnQueryTextFocusChangeListener(\n        (v, hasFocus) -> {\n          ActionBar actionBar = mA.getSupportActionBar();\n          if (actionBar != null) {\n            Drawable icon = AppCompatResources.getDrawable(mA, R.drawable.search_settings);\n            if (icon != null) {\n              actionBar.setHomeAsUpIndicator(icon);\n            }\n          }\n\n          mB.getRoot().closeDrawer(GravityCompat.START, true);\n          if (!hasFocus && TextUtils.isEmpty(mSearchView.getQuery())) {\n            collapseSearchView();\n          }\n        });\n\n    mSearchView.setQueryHint(getString(R.string.search_menu_item));\n    mSearchView.setMaxWidth(Integer.MAX_VALUE);\n  }\n\n  private void collapseSearchView() {\n    mSearchView.onActionViewCollapsed();\n    mSearchView.setQuery(null, false);\n    handleSearchQuery();\n\n    ActionBar actionBar = mA.getSupportActionBar();\n    ActionBarDrawerToggle drawerToggle;\n    if (actionBar != null && (drawerToggle = mDrawerToggle) != null) {\n      actionBar.setHomeAsUpIndicator(drawerToggle.getDrawerArrowDrawable());\n    }\n  }\n\n  private void hideSearchSettings() {\n    int delay = 0;\n    FragmentManager fm = mA.getSupportFragmentManager();\n    Fragment frag = fm.findFragmentById(R.id.search_settings_frag);\n    if (frag != null) {\n      fm.beginTransaction().remove(frag).commit();\n      delay = 50;\n    }\n    mB.searchSettingsContainer.postDelayed(\n        () -> mB.searchSettingsContainer.setVisibility(View.GONE), delay);\n  }\n\n  private void handleSearchQuery() {\n    handleSearchQuery(true);\n  }\n\n  public void handleSearchQuery(boolean hideSettings) {\n    if (hideSettings) {\n      hideSearchSettings();\n    }\n\n    CharSequence queryText = mSearchView.getQuery();\n    boolean wasSearching = MySettings.INS.isSearching();\n\n    MySettings.INS.setQueryText(queryText == null ? null : queryText.toString());\n\n    if (!MySettings.INS.isSearching() && !wasSearching) {\n      return;\n    }\n\n    mPkgCountNotifier.cancel();\n\n    mB.refreshLayout.setRefreshing(\n        !MySettings.INS.isDeepSearchEnabled() || !MySettings.INS.isSearching());\n\n    PackageParser.INS.setRepeatUpdates(true);\n\n    PackageParser.INS.handleSearchQuery();\n  }\n\n  private void setNavigationMenu() {\n    mB.navV.invalidate();\n    setBoxesChecked();\n    setCheckBoxListeners();\n    mB.navV.getMenu().findItem(R.id.action_donate).setVisible(true);\n  }\n\n  private void setBoxesChecked() {\n    if (mB != null) {\n      setRootCheckBox(MySettings.INS.isRootEnabled(), true);\n      setAdbCheckBox(MySettings.INS.isAdbEnabled(), true);\n    }\n  }\n\n  private void setCheckBoxListeners() {\n    if (mB == null) {\n      return;\n    }\n    Menu menu = mB.navV.getMenu();\n    for (int id : new int[] {R.id.action_root, R.id.action_adb}) {\n      MenuItem menuItem = menu.findItem(id);\n      Objects.requireNonNull(menuItem.getActionView())\n          .setOnClickListener(v -> handleNavigationItemChecked(menuItem));\n    }\n  }\n\n  private boolean handleNavigationItemSelected(MenuItem item) {\n    View view = item.getActionView();\n    if (view instanceof CheckBox checkBox) {\n      checkBox.setChecked(!checkBox.isChecked());\n    }\n    return handleNavigationItemChecked(item);\n  }\n\n  private boolean handleNavigationItemChecked(MenuItem item) {\n    mB.getRoot().closeDrawer(GravityCompat.START, true);\n\n    if (item.getItemId() == R.id.action_settings) {\n      mA.startActivity(new Intent(App.getCxt(), SettingsActivityM.class));\n      return true;\n    }\n\n    if (item.getItemId() == R.id.action_advanced_settings) {\n      mA.startActivity(new Intent(App.getCxt(), AdvSettingsActivityM.class));\n      return true;\n    }\n\n    if (item.getItemId() == R.id.action_filter) {\n      mA.startActivity(new Intent(App.getCxt(), FilterSettingsActivityM.class));\n      return true;\n    }\n\n    if (item.getItemId() == R.id.action_root) {\n      handleRootCheckBox(((CheckBox) Objects.requireNonNull(item.getActionView())).isChecked());\n      return true;\n    }\n\n    if (item.getItemId() == R.id.action_adb) {\n      handleAdbCheckBox(((CheckBox) Objects.requireNonNull(item.getActionView())).isChecked());\n      return true;\n    }\n\n    if (item.getItemId() == R.id.action_backup_restore) {\n      AlertDialogFragment.show(mA, null, TAG_BACKUP_RESTORE);\n      return true;\n    }\n\n    if (item.getItemId() == R.id.action_help) {\n      HelpActivity.start(mA, null);\n      return true;\n    }\n\n    if (item.getItemId() == R.id.action_donate) {\n      ApiUtils.openWebUrl(\n          mA, getString(R.string.payment_methods_href, getString(R.string.purchase_pro_url)));\n      return true;\n    }\n\n    if (item.getItemId() == R.id.action_about) {\n      AboutActivity.start(mA);\n      return true;\n    }\n\n    return false;\n  }\n\n  private void handleRootCheckBox(boolean enable) {\n    if (!enable) {\n      BgRunner.execute(\n          () -> {\n            MySettings.INS.setRootEnabled(false);\n            NativeDaemon.INS_R.stopDaemon();\n            DaemonStarter.INS.stopDaemon(false);\n          });\n      return;\n    }\n\n    setRootCheckBox(false, false);\n    new LiveTasksQueueTyped<>(mA, () -> NativeDaemon.getRoot(false))\n        .onUiWith(this::handleRootResult)\n        .start();\n  }\n\n  private void setRootCheckBox(boolean checked, boolean enabled) {\n    CheckBox rootCheckBox = (CheckBox) mB.navV.getMenu().findItem(R.id.action_root).getActionView();\n    Objects.requireNonNull(rootCheckBox).setChecked(checked);\n    rootCheckBox.setEnabled(enabled);\n  }\n\n  private void handleRootResult(boolean granted) {\n    if (granted) {\n      showSnackBar(getString(R.string.root_granted_toast), 5);\n      DaemonStarter.INS.switchToRootOrAdbDaemon(true);\n    } else {\n      showSnackBar(getString(R.string.getting_root_failed), 10);\n    }\n  }\n\n  private void handleAdbCheckBox(boolean enable) {\n    if (!enable) {\n      BgRunner.execute(\n          () -> {\n            MySettings.INS.setAdbEnabled(false);\n            NativeDaemon.INS_A.stopDaemon();\n            DaemonStarter.INS.stopDaemon(true);\n          });\n      return;\n    }\n\n    setAdbCheckBox(false, true);\n    AlertDialogFragment.show(mA, null, TAG_ADB_CONNECTION);\n  }\n\n  public void setAdbCheckBox(boolean checked, boolean enabled) {\n    CheckBox adbCheckBox = (CheckBox) mB.navV.getMenu().findItem(R.id.action_adb).getActionView();\n    Objects.requireNonNull(adbCheckBox).setChecked(checked);\n    adbCheckBox.setEnabled(enabled);\n  }\n\n  private final NotifyWaiter mWindowWaiter;\n\n  private void openDrawerForPrivileges() {\n    new LiveTasksQueue(mA, mWindowWaiter::waitForNotifyNoThrow)\n        .onUi(\n            () -> {\n              if (mSearchView != null && !TextUtils.isEmpty(mSearchView.getQuery())) {\n                collapseSearchView();\n              }\n              mCheckBoxFocus.doFocus();\n            })\n        .start();\n  }\n\n  public class Data {\n\n    public final int progBgColor, progBgSeparatorColor;\n\n    private Data() {\n      progBgColor = UiUtils.getSharpBgColor(mA);\n      progBgSeparatorColor = UiUtils.getDimBgColor(mA);\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/main/PackageAdapter.java",
    "content": "package com.mirfatif.permissionmanagerx.main;\n\nimport static com.mirfatif.permissionmanagerx.util.ApiUtils.getString;\n\nimport android.content.pm.PackageManager;\nimport android.content.pm.PackageManager.NameNotFoundException;\nimport android.graphics.Color;\nimport android.graphics.drawable.Drawable;\nimport android.text.style.TextAppearanceSpan;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.View.OnClickListener;\nimport android.view.View.OnLongClickListener;\nimport android.view.ViewGroup;\nimport androidx.core.graphics.ColorUtils;\nimport androidx.lifecycle.LifecycleOwner;\nimport androidx.recyclerview.widget.DiffUtil;\nimport androidx.recyclerview.widget.RecyclerView;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.app.App;\nimport com.mirfatif.permissionmanagerx.base.MyListAdapter;\nimport com.mirfatif.permissionmanagerx.databinding.RvItemPkgBinding;\nimport com.mirfatif.permissionmanagerx.main.PackageAdapter.ItemViewHolder;\nimport com.mirfatif.permissionmanagerx.parser.Package;\nimport com.mirfatif.permissionmanagerx.util.ApiUtils;\nimport com.mirfatif.permissionmanagerx.util.StringUtils;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\nimport com.mirfatif.permissionmanagerx.util.bg.LiveSingleParamTask;\nimport com.mirfatif.permissionmanagerx.util.bg.UiRunner;\n\npublic class PackageAdapter extends MyListAdapter<Package, ItemViewHolder> {\n\n  private static final String TAG = \"PackageAdapter\";\n\n  private final LifecycleOwner mLifecycleOwner;\n  private final PkgAdapterCallback mCallback;\n\n  public static final int ORANGE = App.getCxt().getColor(R.color.orangeState);\n\n  public PackageAdapter(LifecycleOwner owner, PkgAdapterCallback callback) {\n    super(new DiffUtilItemCallBack(), owner, TAG);\n    mLifecycleOwner = owner;\n    mCallback = callback;\n  }\n\n  private Package getPkg(int pos) {\n    return pos == RecyclerView.NO_POSITION ? null : getItem(pos);\n  }\n\n  public ItemViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {\n    LayoutInflater inflater = LayoutInflater.from(parent.getContext());\n    RvItemPkgBinding binding = RvItemPkgBinding.inflate(inflater, parent, false);\n    return new ItemViewHolder(binding);\n  }\n\n  public void onBindViewHolder(ItemViewHolder holder, int position) {\n    holder.bind(position);\n  }\n\n  class ItemViewHolder extends RecyclerView.ViewHolder\n      implements OnClickListener, OnLongClickListener {\n\n    private final RvItemPkgBinding mB;\n    private final LiveSingleParamTask<Package> mIconSetter =\n        new LiveSingleParamTask<>(mLifecycleOwner, this::setIcon, TAG + \"-IconSetter\");\n\n    public ItemViewHolder(RvItemPkgBinding binding) {\n      super(binding.getRoot());\n      mB = binding;\n      binding.getRoot().setOnClickListener(this);\n      binding.getRoot().setOnLongClickListener(this);\n    }\n\n    public void bind(int pos) {\n      Package pkg = getPkg(pos);\n      if (pkg == null) {\n        return;\n      }\n\n      if (pkg.shouldShowRefs()) {\n        if (pkg.isReferenced() == null) {\n          mB.refIndicationV.setBackgroundColor(ORANGE);\n        } else if (Boolean.FALSE.equals(pkg.isReferenced())) {\n          mB.refIndicationV.setBackgroundColor(Color.RED);\n        } else {\n          mB.refIndicationV.setBackgroundColor(Color.GREEN);\n        }\n        mB.refIndicationV.setVisibility(View.VISIBLE);\n      } else {\n        mB.refIndicationV.setVisibility(View.GONE);\n      }\n\n      mIconSetter.cancelAndSubmit(pkg, true);\n\n      mB.pkgLabelV.setText(pkg.getLabel());\n      mB.pkgNameV.setText(pkg.getFormattedName());\n      mB.pkgPermCountV.setText(pkg.getPermCount());\n\n      String pkgState = null;\n      if (pkg.isCriticalApp()) {\n        pkgState = getString(R.string.pkg_state_critical);\n      } else if (pkg.isFrameworkApp()) {\n        pkgState = getString(R.string.pkg_state_framework);\n      } else if (pkg.isSystemApp()) {\n        pkgState = getString(R.string.pkg_state_system);\n      }\n      if (!pkg.isEnabled()) {\n        pkgState =\n            pkgState == null\n                ? getString(R.string.pkg_state_disabled)\n                : getString(R.string.pkg_state_disabled2, pkgState);\n      }\n\n      if (pkgState == null) {\n        mB.pkgStateV.setVisibility(View.GONE);\n      } else {\n        if (pkg.isFrameworkApp() && pkg.isChangeable()) {\n          mB.pkgStateV.setText(\n              StringUtils.getHighlightString(\n                  pkgState,\n                  getHighlightSpan(mB.pkgStateV.getCurrentTextColor()),\n                  true,\n                  getString(R.string.pkg_state_framework)));\n        } else {\n          mB.pkgStateV.setText(pkgState);\n        }\n        mB.pkgStateV.setVisibility(View.VISIBLE);\n      }\n\n      mB.dateV.setText(pkg.getDate());\n    }\n\n    public void onClick(View v) {\n      int pos = getBindingAdapterPosition();\n      Package pkg = getPkg(pos);\n      if (pkg != null) {\n        mCallback.onClick(pkg);\n      }\n    }\n\n    public boolean onLongClick(View v) {\n      int pos = getBindingAdapterPosition();\n      Package pkg = getPkg(pos);\n      if (pkg != null) {\n        mCallback.onLongClick(pkg);\n      }\n      return true;\n    }\n\n    private void setIcon(Package pkg) {\n      try {\n        int flags = PackageManager.MATCH_UNINSTALLED_PACKAGES;\n        Drawable icon = App.getPm().getApplicationIcon(ApiUtils.getAppInfo(pkg.getName(), flags));\n        if (!Thread.interrupted()) {\n          UiRunner.post(mLifecycleOwner, () -> mB.iconV.setImageDrawable(icon));\n        }\n      } catch (NameNotFoundException ignored) {\n      }\n    }\n  }\n\n  private TextAppearanceSpan HIGHLIGHT;\n\n  private TextAppearanceSpan getHighlightSpan(int currentColor) {\n    if (HIGHLIGHT == null) {\n      HIGHLIGHT =\n          UiUtils.getTextHighlightSpan(ColorUtils.blendARGB(currentColor, Color.RED, 0.75f));\n    }\n    return HIGHLIGHT;\n  }\n\n  private static class DiffUtilItemCallBack extends DiffUtil.ItemCallback<Package> {\n    public boolean areItemsTheSame(Package oldItem, Package newItem) {\n      return oldItem.getName().equals(newItem.getName());\n    }\n\n    public boolean areContentsTheSame(Package oldItem, Package newItem) {\n      return oldItem.areContentsTheSame(newItem);\n    }\n  }\n\n  public interface PkgAdapterCallback {\n\n    void onClick(Package pkg);\n\n    void onLongClick(Package pkg);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/main/PkgLongPressDialogFrag.java",
    "content": "package com.mirfatif.permissionmanagerx.main;\n\nimport android.app.Dialog;\nimport android.content.ActivityNotFoundException;\nimport android.content.Intent;\nimport android.content.pm.PackageManager;\nimport android.net.Uri;\nimport android.os.Bundle;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport androidx.appcompat.app.AlertDialog;\nimport androidx.appcompat.app.AlertDialog.Builder;\nimport com.google.android.material.snackbar.Snackbar;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.app.App;\nimport com.mirfatif.permissionmanagerx.base.AlertDialogFragment;\nimport com.mirfatif.permissionmanagerx.base.BottomSheetDialogFrag;\nimport com.mirfatif.permissionmanagerx.databinding.PkgLongPressDialogBinding;\nimport com.mirfatif.permissionmanagerx.fwk.MainActivityM;\nimport com.mirfatif.permissionmanagerx.parser.Package;\nimport com.mirfatif.permissionmanagerx.parser.PackageParser;\nimport com.mirfatif.permissionmanagerx.prefs.ExcFiltersData;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\nimport com.mirfatif.permissionmanagerx.privs.DaemonHandler;\nimport com.mirfatif.permissionmanagerx.privs.DaemonIface;\nimport com.mirfatif.permissionmanagerx.privs.DaemonStarter;\nimport com.mirfatif.permissionmanagerx.util.ApiUtils;\nimport com.mirfatif.permissionmanagerx.util.StringUtils;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\nimport com.mirfatif.permissionmanagerx.util.UserUtils;\nimport com.mirfatif.privtasks.util.bg.BgRunner;\n\npublic class PkgLongPressDialogFrag extends BottomSheetDialogFrag {\n\n  private final Package mPkg;\n\n  public PkgLongPressDialogFrag(Package pkg) {\n    mPkg = pkg;\n  }\n\n  public PkgLongPressDialogFrag() {\n    mPkg = null;\n  }\n\n  public View onCreateView(\n      LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {\n\n    if (mPkg == null) {\n      return null;\n    }\n\n    PkgLongPressDialogBinding b = PkgLongPressDialogBinding.inflate(mA.getLayoutInflater());\n\n    b.pkgLabelV.setText(mPkg.getLabel());\n    b.pkgLabelV.setSelected(true);\n    if (!mPkg.getLabel().equals(mPkg.getName())) {\n      b.pkgNameV.setText(mPkg.getName());\n      b.pkgNameV.setVisibility(View.VISIBLE);\n      b.pkgNameV.setSelected(true);\n    }\n\n    if (ExcFiltersData.INS.canBeExcluded(mPkg)) {\n      b.excludePkg.setOnClickListener(\n          v -> {\n            dismissAllowingStateLoss();\n            BgRunner.execute(\n                () -> {\n                  MySettings.INS.addPkgToExcludedApps(mPkg.getName());\n                  PackageParser.INS.removePackage(mPkg);\n                });\n          });\n    } else {\n      b.excludePkg.setEnabled(false);\n    }\n\n    b.disablePkg.setText(mPkg.isEnabled() ? R.string.disable_app : R.string.enable_app);\n    if (mPkg.isChangeable() && !mPkg.getName().equals(App.getCxt().getPackageName())) {\n      b.disablePkg.setOnClickListener(\n          v -> {\n            dismissAllowingStateLoss();\n            setPackageEnabledState();\n          });\n    } else {\n      b.disablePkg.setEnabled(false);\n    }\n\n    b.openPkgInfo.setOnClickListener(\n        v -> {\n          dismissAllowingStateLoss();\n          openAppInfo();\n        });\n\n    if (ApiUtils.resolveActivity(\n            new Intent(WRUN_ACTION_SEARCH_PKG), PackageManager.MATCH_DEFAULT_ONLY)\n        != null) {\n      b.findPkgProc.setVisibility(View.VISIBLE);\n      b.findPkgProc.setOnClickListener(\n          v -> {\n            dismissAllowingStateLoss();\n            openAppProc();\n          });\n    }\n\n    return b.getRoot();\n  }\n\n  public Dialog onCreateDialog(Bundle savedInstanceState) {\n    if (mPkg == null) {\n      dismissAllowingStateLoss();\n    }\n    return super.onCreateDialog(savedInstanceState);\n  }\n\n  void setPackageEnabledState() {\n    if (mPkg == null) {\n      return;\n    }\n    if (!DaemonHandler.INS.isDaemonAlive()) {\n      requireDaemon();\n      return;\n    }\n\n    boolean enabled = mPkg.isEnabled();\n\n    String warn = null;\n    if (enabled && MySettings.INS.warnDangerousPkgChanges()) {\n      if (mPkg.isFrameworkApp()) {\n        warn =\n            ApiUtils.getString(\n                R.string.disable_pkg_warning, ApiUtils.getString(R.string.framework));\n      } else if (mPkg.isSystemApp()) {\n        warn =\n            ApiUtils.getString(R.string.disable_pkg_warning, ApiUtils.getString(R.string.system));\n      }\n    }\n\n    if (warn == null) {\n      BgRunner.execute(() -> setPackageEnabledState(mPkg, enabled));\n      return;\n    }\n\n    AlertDialog dialog =\n        new Builder(mA)\n            .setPositiveButton(\n                R.string.yes,\n                (d, which) -> BgRunner.execute(() -> setPackageEnabledState(mPkg, true)))\n            .setNegativeButton(R.string.no, null)\n            .setNeutralButton(\n                R.string.do_not_remind,\n                (d, which) -> {\n                  MySettings.INS.disableWarnDangerousPkgChanges();\n                  BgRunner.execute(() -> setPackageEnabledState(mPkg, true));\n                })\n            .setTitle(R.string.warning)\n            .setMessage(StringUtils.breakParas(warn))\n            .create();\n\n    AlertDialogFragment.show(mA, dialog, \"PKG_DISABLE_WARNING\");\n  }\n\n  private void setPackageEnabledState(Package pkg, boolean enabled) {\n    DaemonIface.INS.setPkgState(!enabled, pkg.getName(), UserUtils.getUserId(pkg.getUid()));\n    PackageParser.INS.updatePackage(pkg, true);\n    PackageParser.INS.clearPkgInfoList();\n  }\n\n  private void openAppInfo() {\n    if (mPkg == null) {\n      return;\n    }\n    int pkgUserId = UserUtils.getUserId(mPkg.getUid());\n    if (UserUtils.getUserId() == pkgUserId) {\n      try {\n        startActivity(\n            new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS)\n                .setData(Uri.parse(\"package:\" + mPkg.getName())));\n      } catch (ActivityNotFoundException ignored) {\n        UiUtils.showToast(R.string.opening_app_info_failed_toast);\n      }\n    } else if (DaemonHandler.INS.isDaemonAlive()) {\n      BgRunner.execute(() -> DaemonIface.INS.openAppInfo(mPkg.getName(), pkgUserId));\n    } else {\n      requireDaemon();\n    }\n  }\n\n  private static final String WRUN_ACTION_SEARCH_PKG = \"com.mirfatif.wrun.action.SEARCH_PKG\";\n  private static final String WRUN_EXTRA_PKG_NAME = \"com.mirfatif.wrun.extra.PKG_NAME\";\n  private static final String WRUN_EXTRA_PKG_UID = \"com.mirfatif.wrun.extra.PKG_UID\";\n\n  private void openAppProc() {\n    if (mPkg == null) {\n      return;\n    }\n    Intent intent = new Intent(WRUN_ACTION_SEARCH_PKG);\n    intent\n        .putExtra(WRUN_EXTRA_PKG_NAME, mPkg.getName())\n        .putExtra(WRUN_EXTRA_PKG_UID, mPkg.getUid());\n    try {\n      startActivity(intent);\n    } catch (ActivityNotFoundException ignored) {\n      Snackbar sb =\n          ((MainActivityM) mA)\n              .mA.createSnackBar(ApiUtils.getString(R.string.wrun_not_installed), 10);\n      sb.setTextColor(mA.getColor(R.color.sharpText));\n      sb.getView().setBackgroundColor(UiUtils.getSharpBgColor(mA));\n      sb.setAction(\n          R.string.install, v -> ApiUtils.openWebUrl(mA, ApiUtils.getString(R.string.wrun_url)));\n      sb.show();\n    }\n  }\n\n  private void requireDaemon() {\n    DaemonStarter.INS.startPrivDaemon(false, false, true, true);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/main/PrivsCheckBoxFocus.java",
    "content": "package com.mirfatif.permissionmanagerx.main;\n\nimport android.animation.Animator;\nimport android.animation.ValueAnimator;\nimport android.graphics.Bitmap;\nimport android.graphics.Canvas;\nimport android.graphics.Color;\nimport android.graphics.Paint;\nimport android.graphics.PorterDuff;\nimport android.graphics.PorterDuffXfermode;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.view.animation.DecelerateInterpolator;\nimport android.widget.FrameLayout;\nimport androidx.core.view.GravityCompat;\nimport androidx.drawerlayout.widget.DrawerLayout;\nimport androidx.drawerlayout.widget.DrawerLayout.SimpleDrawerListener;\nimport androidx.recyclerview.widget.LinearLayoutManager;\nimport androidx.recyclerview.widget.RecyclerView;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.fwk.LifecycleWatcher;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\nimport com.mirfatif.permissionmanagerx.util.bg.LiveSchedTask;\nimport java.util.Objects;\nimport java.util.concurrent.TimeUnit;\nimport java.util.concurrent.atomic.AtomicReference;\n\npublic class PrivsCheckBoxFocus {\n\n  private static final String TAG = \"PrivsCheckBoxFocus\";\n\n  private final MainActivity mA;\n\n  PrivsCheckBoxFocus(MainActivity act) {\n    mA = act;\n  }\n\n  private final AtomicReference<AnimationFocus> mFocus = new AtomicReference<>();\n\n  void doFocus() {\n    synchronized (mFocus) {\n      endFocusUnlocked();\n      mFocus.set(new AnimationFocus());\n    }\n  }\n\n  void endFocus() {\n    synchronized (mFocus) {\n      endFocusUnlocked();\n    }\n  }\n\n  private void endFocusUnlocked() {\n    AnimationFocus focus = mFocus.getAndSet(null);\n    if (focus != null) {\n      focus.end();\n    }\n  }\n\n  private class AnimationFocus {\n\n    private final DrawerLayout mDrawerLayout = mA.mB.getRoot();\n    private final ViewGroup mDecorView = (ViewGroup) mA.mA.getWindow().getDecorView();\n\n    private final DrawerListener mDrawerListener = new DrawerListener();\n    private final Overlay mOverlay = new Overlay();\n    private final ValueAnimator mAnim = ValueAnimator.ofFloat(0, 0.8f);\n\n    private AnimationFocus() {\n      if (mDrawerLayout.isOpen()) {\n        mDrawerListener.onDrawerOpened(null);\n      } else {\n        mDrawerLayout.addDrawerListener(mDrawerListener);\n        mDrawerLayout.openDrawer(GravityCompat.START);\n      }\n    }\n\n    private void end() {\n      mDrawerLayout.removeDrawerListener(mDrawerListener);\n      mAnim.cancel();\n      mDecorView.removeView(mOverlay);\n    }\n\n    private class DrawerListener extends SimpleDrawerListener {\n\n      private boolean drawerOpened = false;\n\n      public synchronized void onDrawerOpened(View drawerView) {\n        if (drawerOpened) {\n          return;\n        }\n\n        drawerOpened = true;\n\n        scrollToCheckBoxes();\n        showOverlayDelayed();\n      }\n    }\n\n    private void scrollToCheckBoxes() {\n      View v = mA.mB.navV.getChildAt(0);\n\n      if (!(v instanceof RecyclerView rv)) {\n        return;\n      }\n\n      RecyclerView.LayoutManager lm = rv.getLayoutManager();\n\n      if (!(lm instanceof LinearLayoutManager llm)) {\n        return;\n      }\n\n      int first = llm.findFirstCompletelyVisibleItemPosition();\n      int last = llm.findLastCompletelyVisibleItemPosition();\n\n      if (first == RecyclerView.NO_POSITION || last == RecyclerView.NO_POSITION) {\n        return;\n      }\n\n      int rootPos = mA.mB.navV.getMenu().findItem(R.id.action_root).getOrder();\n      int adbPos = mA.mB.navV.getMenu().findItem(R.id.action_adb).getOrder();\n\n      if (adbPos > last) {\n        rv.scrollToPosition(adbPos);\n      } else if (rootPos < first) {\n        rv.scrollToPosition(rootPos);\n      }\n    }\n\n    private void showOverlayDelayed() {\n      LiveSchedTask.schedule(\n          mA.mA, this::showOverlay, 500, TimeUnit.MILLISECONDS, true, TAG + \"-ShowOverlay\");\n    }\n\n    private float mX, mY, mW, mH;\n\n    private void showOverlay() {\n      View view = mA.mB.navV.getMenu().findItem(R.id.action_root).getActionView();\n      int[] loc = new int[2];\n\n      Objects.requireNonNull(view).getLocationInWindow(loc);\n      mX = loc[0];\n      mY = loc[1];\n\n      mW = view.getWidth();\n\n      view = mA.mB.navV.getMenu().findItem(R.id.action_adb).getActionView();\n      Objects.requireNonNull(view).getLocationInWindow(loc);\n\n      mH = loc[1] + view.getHeight() - mY;\n\n      mAnim.setDuration(1000);\n      mAnim.setInterpolator(new DecelerateInterpolator(1.5f));\n      mAnim.setRepeatCount(1);\n      mAnim.setRepeatMode(ValueAnimator.REVERSE);\n\n      mAnim.addUpdateListener(\n          animation -> {\n            if (!mDrawerLayout.isOpen()) {\n              endFocus();\n            } else {\n              mOverlay.alpha = (float) animation.getAnimatedValue();\n              mOverlay.invalidate();\n            }\n          });\n\n      mAnim.addListener(\n          new Animator.AnimatorListener() {\n            public void onAnimationStart(Animator animation) {}\n\n            public void onAnimationEnd(Animator animation) {\n              endFocus();\n            }\n\n            public void onAnimationCancel(Animator animation) {}\n\n            public void onAnimationRepeat(Animator animation) {}\n          });\n\n      LifecycleWatcher.addOnDestroyed(mA.mA, PrivsCheckBoxFocus.this::endFocus);\n      mOverlay.setOnClickListener(v -> endFocus());\n\n      if (!mDrawerLayout.isOpen()) {\n        endFocus();\n      } else {\n        mDecorView.addView(mOverlay);\n        mAnim.start();\n      }\n    }\n\n    private class Overlay extends FrameLayout {\n\n      public Overlay() {\n        super(mA.mA);\n\n        setLayoutParams(\n            new ViewGroup.LayoutParams(\n                ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));\n\n        setWillNotDraw(false);\n      }\n\n      private float alpha = 0;\n      private Bitmap b;\n      private Canvas c;\n\n      private final Paint accent = new Paint(Paint.ANTI_ALIAS_FLAG);\n      private final Paint clear = new Paint(Paint.ANTI_ALIAS_FLAG);\n\n      {\n        accent.setStyle(Paint.Style.FILL);\n        accent.setColor(UiUtils.getAccentColor());\n\n        clear.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));\n      }\n\n      protected void onDraw(Canvas canvas) {\n        if (b == null) {\n          int wid = getWidth();\n          int ht = getHeight();\n\n          if (wid <= 0 || ht <= 0) {\n            return;\n          }\n\n          b = Bitmap.createBitmap(wid, ht, Bitmap.Config.ARGB_8888);\n          c = new Canvas(b);\n        }\n\n        c.drawColor(Color.BLACK);\n\n        float f = (1 - alpha) * mW * 2;\n\n        float x = mX - f;\n        float y = mY - f;\n        float w = mW + 2 * f;\n        float h = mH + 2 * f;\n        float r = w / 4;\n\n        c.drawRoundRect(x, y, x + w, y + h, r, r, accent);\n\n        float xx = x;\n\n        x = mX - f * 4 / 9;\n        y = mY - f * 4 / 9;\n        w = mW + f * 8 / 9;\n        h = mH + f * 8 / 9;\n\n        r = r - (x - xx) * 2 / 3;\n\n        c.drawRoundRect(x, y, x + w, y + h, r, r, clear);\n\n        canvas.drawBitmap(b, 0, 0, null);\n\n        setAlpha(alpha);\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/parser/AppOpsParser.java",
    "content": "package com.mirfatif.permissionmanagerx.parser;\n\nimport android.os.RemoteException;\nimport android.util.ArrayMap;\nimport com.mirfatif.permissionmanagerx.app.App;\nimport com.mirfatif.permissionmanagerx.parser.permsdb.PermissionEntity;\nimport com.mirfatif.permissionmanagerx.parser.permsdb.PermsDb;\nimport com.mirfatif.permissionmanagerx.prefs.ExcFiltersData;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\nimport com.mirfatif.permissionmanagerx.privs.DaemonHandler;\nimport com.mirfatif.permissionmanagerx.privs.DaemonIface;\nimport com.mirfatif.permissionmanagerx.util.ApiUtils;\nimport com.mirfatif.privtasks.AppPrivTasks;\nimport com.mirfatif.privtasks.bind.AppOpsLists;\nimport com.mirfatif.privtasks.bind.MyPackageOps;\nimport com.mirfatif.privtasks.util.CloseableReadWriteLock;\nimport com.mirfatif.privtasks.util.MyLog;\nimport com.mirfatif.privtasks.util.bg.BgRunner;\nimport java.util.ArrayList;\nimport java.util.Collections;\nimport java.util.List;\nimport java.util.Map;\n\npublic enum AppOpsParser {\n  INS;\n\n  private static final String TAG = \"AppOpsParser\";\n\n  List<MyPackageOps> getOpsForPackage(int uid, String pkgName, Integer op) {\n    int[] ops = op == null ? null : new int[] {op};\n\n    if (DaemonHandler.INS.isDaemonAlive()) {\n      return DaemonIface.INS.getOpsForPkg(uid, pkgName, ops);\n    }\n\n    if (canReadAppOpsNoDaemon()) {\n      try {\n        return mAppPrivTasks.getOpsForPkg(uid, pkgName, ops);\n      } catch (RemoteException e) {\n        handleException(\"getOpsForPackage\", e);\n        return null;\n      }\n    }\n\n    return new ArrayList<>();\n  }\n\n  List<MyPackageOps> getUidOps(int uid) {\n    return getOpsForPackage(uid, null, null);\n  }\n\n  private final List<String> mAppOpsNames = Collections.synchronizedList(new ArrayList<>());\n  private final List<String> mAppOpsModes = Collections.synchronizedList(new ArrayList<>());\n  private final List<Integer> mOpSwitchList = Collections.synchronizedList(new ArrayList<>());\n  private final List<Integer> mOpDefModeList = Collections.synchronizedList(new ArrayList<>());\n  private final Map<String, Integer> mPermToOpCodeMap =\n      Collections.synchronizedMap(new ArrayMap<>());\n\n  private final CloseableReadWriteLock mListsLock = new CloseableReadWriteLock();\n\n  private @interface ListsStatus {\n    int NOT_BUILT = 0;\n    int BUILT_IN_APP = 1;\n    int BUILT_WITH_DAEMON = 2;\n  }\n\n  private int mListsStatus = ListsStatus.NOT_BUILT;\n\n  public void buildAppOpsList() {\n    mListsLock.withWriteLock(this::buildAppOpsListInternal);\n  }\n\n  private void buildAppOpsListInternal() {\n    if (mListsStatus == ListsStatus.BUILT_WITH_DAEMON) {\n      return;\n    }\n\n    AppOpsLists appOpsLists;\n\n    if (DaemonHandler.INS.isDaemonAlive()) {\n      appOpsLists = DaemonIface.INS.getAppOpsLists();\n      if (appOpsLists == null) {\n        mWorksWithDaemon = false;\n        return;\n      }\n\n      mWorksWithDaemon = true;\n\n      if (mListsStatus == ListsStatus.BUILT_IN_APP) {\n        mHasAppOps = false;\n        mAppOpsNames.clear();\n        mAppOpsModes.clear();\n        mOpSwitchList.clear();\n        mOpDefModeList.clear();\n        mPermToOpCodeMap.clear();\n      }\n      mListsStatus = ListsStatus.BUILT_WITH_DAEMON;\n    } else if (mListsStatus == ListsStatus.BUILT_IN_APP) {\n      return;\n    } else if (canReadAppOpsNoDaemon()) {\n      try {\n        appOpsLists = mAppPrivTasks.getAppOpsLists(App.getPm());\n        mListsStatus = ListsStatus.BUILT_IN_APP;\n      } catch (RemoteException e) {\n        handleException(\"buildAppOpsList\", e);\n        return;\n      }\n    } else {\n      return;\n    }\n\n    mAppOpsNames.addAll(appOpsLists.appOpsNames);\n    mAppOpsModes.addAll(appOpsLists.appOpsModes);\n    mOpSwitchList.addAll(appOpsLists.opSwitchList);\n    mOpDefModeList.addAll(appOpsLists.opDefModeList);\n    mPermToOpCodeMap.putAll(appOpsLists.permToOpMap.map);\n\n    mHasAppOps = true;\n\n    BgRunner.execute(() -> ExcFiltersData.INS.populateExtraAppOpsList(true, false));\n\n    if (MySettings.INS.shouldFixPermDb() && fixPermDb()) {\n      PermsDb.INS.buildRefs();\n    }\n  }\n\n  public boolean fixPermDb() {\n    if (mListsStatus != ListsStatus.BUILT_WITH_DAEMON) {\n      return false;\n    }\n\n    List<PermissionEntity> entities = PermsDb.INS.getDb().getAll();\n\n    mListsLock.withReadLock(\n        () -> entities.removeIf(e -> e.isAppOps || !mAppOpsNames.contains(e.permName)));\n    entities.forEach(entity -> entity.isAppOps = true);\n\n    PermsDb.INS.getDb().insertAll(entities.toArray(new PermissionEntity[0]));\n\n    MyLog.i(\n        TAG,\n        \"fixPermDb\",\n        \"Fixed 'isAppOps' field in \" + entities.size() + \" permission references\");\n\n    MySettings.INS.setFixPermDb(false);\n    return true;\n  }\n\n  public List<String> getAppOpsNames() {\n    return mListsLock.withReadLock(() -> new ArrayList<>(mAppOpsNames));\n  }\n\n  public String getAppOpName(int op) {\n    return mListsLock.withReadLock(\n        () -> op >= 0 && op < mAppOpsNames.size() ? mAppOpsNames.get(op) : null);\n  }\n\n  public Integer getAppOpCode(String opName) {\n    int i = mListsLock.withReadLock(() -> mAppOpsNames.indexOf(opName));\n    return i >= 0 ? i : null;\n  }\n\n  public int getAppOpModeCount() {\n    return mListsLock.withReadLock(mAppOpsModes::size);\n  }\n\n  public boolean isValidAppOpMode(int opMode) {\n    return mListsLock.withReadLock(() -> opMode >= 0 && opMode < mAppOpsModes.size());\n  }\n\n  public String opModeToName(int opMode) {\n    return mListsLock.withReadLock(\n        () -> isValidAppOpMode(opMode) ? mAppOpsModes.get(opMode) : null);\n  }\n\n  public String getDependsOn(int op) {\n    return mListsLock.withReadLock(\n        () -> {\n          Integer opSwitch = op >= 0 && op < mOpSwitchList.size() ? mOpSwitchList.get(op) : null;\n          return opSwitch == null\n                  || opSwitch < 0\n                  || opSwitch >= mAppOpsNames.size()\n                  || op == opSwitch\n              ? null\n              : mAppOpsNames.get(opSwitch);\n        });\n  }\n\n  Integer getOpDefMode(int op) {\n    return mListsLock.withReadLock(\n        () -> op >= 0 && op < mOpDefModeList.size() ? mOpDefModeList.get(op) : null);\n  }\n\n  Integer getPermToOpCode(String perm) {\n    return mListsLock.withReadLock(() -> mPermToOpCodeMap.get(perm));\n  }\n\n  private boolean mWorksWithNoDaemon = true;\n  private boolean mWorksWithDaemon = true;\n  private boolean mHasAppOps = false;\n\n  private boolean canReadAppOpsNoDaemon() {\n    return ApiUtils.hasAppOpsPerm() && mWorksWithNoDaemon;\n  }\n\n  public boolean canReadAppOps() {\n    return (DaemonHandler.INS.isDaemonAlive() && mWorksWithDaemon) || canReadAppOpsNoDaemon();\n  }\n\n  public boolean hasAppOps() {\n    return mHasAppOps && !MySettings.INS.excludeAppOpsPerms() && canReadAppOps();\n  }\n\n  private void handleException(String method, Throwable t) {\n    mWorksWithNoDaemon = false;\n    MyLog.e(TAG, method, t.toString());\n  }\n\n  public final AppPrivTasks mAppPrivTasks = new AppPrivTasks(new AppPrivTasksCallbackImpl(), false);\n\n  private static class AppPrivTasksCallbackImpl implements AppPrivTasks.AppPrivTasksCallback {\n\n    public void logErr(String tag, String method, Throwable e) {\n      MyLog.e(tag, method, e);\n    }\n\n    public void logErr(String tag, String method, String err) {\n      MyLog.e(tag, method, err);\n    }\n\n    public void showError(int error) {\n      DaemonHandler.INS.showError(error);\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/parser/Package.java",
    "content": "package com.mirfatif.permissionmanagerx.parser;\n\nimport android.text.TextUtils;\nimport com.mirfatif.permissionmanagerx.prefs.ExcFiltersData;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\nimport com.mirfatif.permissionmanagerx.util.LocaleUtils;\nimport java.util.ArrayList;\nimport java.util.List;\nimport java.util.Objects;\n\npublic class Package {\n\n  private String mPackageLabel;\n  private String mPackageName;\n  private List<Permission> mPermissionsList, mSearchPermList;\n  private boolean mIsFrameworkApp;\n  private boolean mIsSystemApp;\n  private boolean mIsEnabled;\n  private int mUid;\n  private Boolean mIsReferenced;\n\n  private int mTotalPermCount;\n  private int mPermCount, mSearchPermCount;\n  private int mTotalAppOpsCount;\n  private int mAppOpsCount, mSearchAppOpsCount;\n\n  void updatePackage(\n      String label,\n      String name,\n      List<Permission> permissionList,\n      boolean isFrameworkApp,\n      boolean isSystemApp,\n      boolean isEnabled,\n      int uid,\n      Boolean reference) {\n    mPackageLabel = label;\n    mPackageName = name;\n    mPermissionsList = permissionList;\n    mIsFrameworkApp = isFrameworkApp;\n    mIsSystemApp = isSystemApp;\n    mIsEnabled = isEnabled;\n    mUid = uid;\n    mIsReferenced = reference;\n  }\n\n  public String getLabel() {\n    return mPackageLabel;\n  }\n\n  public String getName() {\n    return mPackageName;\n  }\n\n  public String getFormattedName() {\n    return getName() + \" (\" + getUid() + \")\";\n  }\n\n  public List<Permission> getPermList() {\n    if (MySettings.INS.isDeepSearching()) {\n      return mSearchPermList == null ? new ArrayList<>() : mSearchPermList;\n    }\n    return getFullPermsList();\n  }\n\n  public List<Permission> getFullPermsList() {\n    return mPermissionsList;\n  }\n\n  public void setSearchPermList(List<Permission> permList) {\n    mSearchPermList = permList;\n  }\n\n  public boolean isFrameworkApp() {\n    return mIsFrameworkApp;\n  }\n\n  public boolean isSystemApp() {\n    return mIsSystemApp;\n  }\n\n  public boolean isEnabled() {\n    return mIsEnabled;\n  }\n\n  public boolean isCriticalApp() {\n    return ExcFiltersData.INS.isCriticalApp(mPackageName);\n  }\n\n  public boolean isChangeable() {\n    return !isCriticalApp() && !mIsFrameworkApp;\n  }\n\n  public void setTotalPermCount(int count) {\n    mTotalPermCount = count;\n  }\n\n  public int getTotalPermCount() {\n    return mTotalPermCount;\n  }\n\n  public void setPermCount(int count) {\n    mPermCount = count;\n  }\n\n  public void setSearchPermCount(int count) {\n    mSearchPermCount = count;\n  }\n\n  private String mLastPermCount = \"\";\n\n  public String getPermCount() {\n    if (MySettings.INS.isDeepSearching()) {\n      mLastPermCount =\n          LocaleUtils.toLocalizedNum(mSearchPermCount)\n              + \"/\"\n              + LocaleUtils.toLocalizedNum(getTotalPermCount());\n    } else {\n      mLastPermCount =\n          LocaleUtils.toLocalizedNum(mPermCount)\n              + \"/\"\n              + LocaleUtils.toLocalizedNum(getTotalPermCount());\n    }\n    if (AppOpsParser.INS.hasAppOps()) {\n      mLastPermCount += \" | \" + getAppOpsCount();\n    }\n    return mLastPermCount;\n  }\n\n  public void setTotalAppOpsCount(int count) {\n    mTotalAppOpsCount = count;\n  }\n\n  public int getTotalAppOpsCount() {\n    return mTotalAppOpsCount;\n  }\n\n  public void setAppOpsCount(int count) {\n    mAppOpsCount = count;\n  }\n\n  public void setSearchAppOpsCount(int count) {\n    mSearchAppOpsCount = count;\n  }\n\n  private String getAppOpsCount() {\n    if (MySettings.INS.isDeepSearching()) {\n      return LocaleUtils.toLocalizedNum(mSearchAppOpsCount)\n          + \"/\"\n          + LocaleUtils.toLocalizedNum(getTotalAppOpsCount());\n    } else {\n      return LocaleUtils.toLocalizedNum(mAppOpsCount)\n          + \"/\"\n          + LocaleUtils.toLocalizedNum(getTotalAppOpsCount());\n    }\n  }\n\n  public int getUid() {\n    return mUid;\n  }\n\n  public Boolean isReferenced() {\n    return mIsReferenced;\n  }\n\n  private boolean mLastShowingRef = true;\n\n  public boolean shouldShowRefs() {\n    mLastShowingRef = !MySettings.INS.isDeepSearching();\n    return mLastShowingRef;\n  }\n\n  public String getDate() {\n    return null;\n  }\n\n  private boolean mPkgRemoved = false;\n\n  public boolean isRemoved() {\n    return mPkgRemoved;\n  }\n\n  public void setPkgRemoved(boolean isRemoved) {\n    mPkgRemoved = isRemoved;\n  }\n\n  public boolean contains(String queryText) {\n    if (!MySettings.INS.isSpecialSearch()) {\n      return _contains(queryText);\n    }\n\n    boolean isEmpty = true;\n    for (String str : queryText.split(\"\\\\|\")) {\n      if (TextUtils.isEmpty(str)) {\n        continue;\n      }\n      isEmpty = false;\n      if (contains_(str)) {\n        return true;\n      }\n    }\n    return isEmpty;\n  }\n\n  private boolean contains_(String queryText) {\n    for (String str : queryText.split(\"&\")) {\n      if (TextUtils.isEmpty(str)) {\n        continue;\n      }\n      if (!_contains(str)) {\n        return false;\n      }\n    }\n    return true;\n  }\n\n  private boolean _contains(String queryText) {\n    boolean contains = true;\n    if (MySettings.INS.isSpecialSearch() && queryText.startsWith(\"!\")) {\n      queryText = queryText.replaceAll(\"^!\", \"\");\n      contains = false;\n    }\n\n    boolean isCaseSensitive = MySettings.INS.isCaseSensitiveSearch();\n    if (!isCaseSensitive) {\n      queryText = queryText.toUpperCase();\n    }\n\n    for (String field : searchableFields()) {\n      if (!isCaseSensitive) {\n        field = field.toUpperCase();\n      }\n      if (field.contains(queryText)) {\n        return contains;\n      }\n    }\n    return !contains;\n  }\n\n  private String[] searchableFields() {\n    return new String[] {\n      mPackageLabel,\n      mPackageName,\n      String.valueOf(mUid),\n      (isCriticalApp()\n          ? SearchConstants.INS.SEARCH_CRITICAL\n          : (mIsFrameworkApp\n              ? SearchConstants.INS.SEARCH_FRAMEWORK\n              : (mIsSystemApp\n                  ? SearchConstants.INS.SEARCH_SYSTEM\n                  : SearchConstants.INS.SEARCH_USER))),\n      (mIsEnabled ? \"\" : SearchConstants.INS.SEARCH_DISABLED),\n      (mIsReferenced == null\n          ? SearchConstants.INS.SEARCH_ORANGE\n          : (mIsReferenced ? SearchConstants.INS.SEARCH_GREEN : SearchConstants.INS.SEARCH_RED))\n    };\n  }\n\n  public boolean areContentsTheSame(Package pkg) {\n    boolean lastShowingRef = mLastShowingRef;\n    if (lastShowingRef != pkg.shouldShowRefs()) {\n      return false;\n    }\n\n    if (!Objects.equals(isReferenced(), pkg.isReferenced())) {\n      return false;\n    }\n\n    if (!mLastPermCount.equals(pkg.getPermCount())) {\n      return false;\n    }\n\n    return isEnabled() == pkg.isEnabled();\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/parser/PackageParser.java",
    "content": "package com.mirfatif.permissionmanagerx.parser;\n\nimport static android.content.pm.PermissionInfo.PROTECTION_INTERNAL;\nimport static com.mirfatif.privtasks.util.Util.PM_GET_SIGNATURES;\n\nimport android.app.AppOpsManager;\nimport android.content.pm.ApplicationInfo;\nimport android.content.pm.PackageInfo;\nimport android.content.pm.PackageManager;\nimport android.content.pm.PackageManager.NameNotFoundException;\nimport android.content.pm.PermissionInfo;\nimport android.content.pm.Signature;\nimport android.os.Build;\nimport android.os.Build.VERSION;\nimport android.os.Build.VERSION_CODES;\nimport android.os.RemoteException;\nimport androidx.lifecycle.Lifecycle;\nimport androidx.lifecycle.LifecycleEventObserver;\nimport androidx.lifecycle.LiveData;\nimport androidx.lifecycle.ProcessLifecycleOwner;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.app.App;\nimport com.mirfatif.permissionmanagerx.parser.PermGroupsMapping.PermGroupInfo;\nimport com.mirfatif.permissionmanagerx.parser.permsdb.PermsDb;\nimport com.mirfatif.permissionmanagerx.prefs.ExcFiltersData;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\nimport com.mirfatif.permissionmanagerx.privs.DaemonHandler;\nimport com.mirfatif.permissionmanagerx.privs.DaemonIface;\nimport com.mirfatif.permissionmanagerx.util.ApiUtils;\nimport com.mirfatif.permissionmanagerx.util.UserUtils;\nimport com.mirfatif.permissionmanagerx.util.bg.LiveEvent;\nimport com.mirfatif.permissionmanagerx.util.bg.UiRunner;\nimport com.mirfatif.privtasks.Constants;\nimport com.mirfatif.privtasks.HiddenSdkIntConstants;\nimport com.mirfatif.privtasks.bind.MyPackageOps;\nimport com.mirfatif.privtasks.bind.PermFixedFlags;\nimport com.mirfatif.privtasks.util.MyLog;\nimport com.mirfatif.privtasks.util.Util;\nimport com.mirfatif.privtasks.util.bg.RateLimitedTaskTyped;\nimport com.mirfatif.privtasks.util.bg.SingleParamTask;\nimport com.mirfatif.privtasks.util.bg.SingleSchedTaskExecutor;\nimport com.mirfatif.privtasks.util.bg.SingleTaskExecutorTyped;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Collections;\nimport java.util.Comparator;\nimport java.util.HashMap;\nimport java.util.List;\nimport java.util.Map;\nimport java.util.Objects;\nimport java.util.concurrent.TimeUnit;\nimport java.util.stream.Collectors;\n\npublic enum PackageParser {\n  INS;\n\n  private static final String TAG = \"PackageParser\";\n\n  private final PackageManager mPm = App.getPm();\n\n  private final LiveEvent<List<Package>> mPkgListLive = new LiveEvent<>(false);\n  private final LiveEvent<Package> mChangedPkg = new LiveEvent<>(true);\n  private final LiveEvent<Integer> mProgMax = new LiveEvent<>(true);\n  private final LiveEvent<Integer> mProgNow = new LiveEvent<>(true);\n  private final LiveEvent<Boolean> mListInProgress = new LiveEvent<>(false);\n  private final LiveEvent<Integer> mListCompleted = new LiveEvent<>(true);\n\n  private final List<PackageInfo> mPkgInfoList = new ArrayList<>();\n  private final List<Package> mPkgList = new ArrayList<>();\n\n  public boolean mOpModesConsistent = true;\n\n  private final SingleTaskExecutorTyped<List<Package>> mPkgUpdater =\n      new SingleTaskExecutorTyped<>(\n          this::updatePkgListInternal, null, TAG + \"-PkgUpdater\", Thread.MAX_PRIORITY);\n\n  private final SingleSchedTaskExecutor mPkgInfoListCleaner =\n      new SingleSchedTaskExecutor(this::clearPkgInfoList, TAG + \"-PkgInfoListCleaner\");\n\n  public void updatePkgListIfChanged() {\n    if (mPkgInfoList.isEmpty() || mPkgList.isEmpty()) {\n      updatePkgList();\n    }\n  }\n\n  public void updatePkgList() {\n    updatePkgList(false);\n  }\n\n  public void updatePkgList(boolean rebuildPkgInfoList) {\n    if (rebuildPkgInfoList) {\n      clearPkgInfoList();\n    }\n\n    mPkgUpdater.cancelAndSubmit(true);\n  }\n\n  public List<Package> updatePkgListWithResult(boolean rebuildPkgInfoList) {\n    if (rebuildPkgInfoList) {\n      clearPkgInfoList();\n    }\n    return mPkgUpdater.cancelSubmitGet(true);\n  }\n\n  private List<Package> updatePkgListInternal() {\n    mListInProgress.postValue(true);\n\n    mPkgInfoListCleaner.cancel(false);\n    List<PackageInfo> pkgInfoList = buildPkgInfoList();\n\n    buildRequiredData();\n\n    setProgress(pkgInfoList.size(), true, true);\n\n    final List<Package> pkgList = Collections.synchronizedList(new ArrayList<>());\n\n    int size = pkgInfoList.size();\n\n    for (int i = 0; i < size; i++) {\n      if (Thread.interrupted()) {\n        return null;\n      }\n\n      setProgress(i, false, false);\n      PackageInfo pkgInfo = pkgInfoList.get(i);\n\n      if (pkgInfo == null) {\n        continue;\n      }\n\n      Package pkg = new Package();\n      if (isPkgUpdated(pkgInfo, pkg, true)) {\n        pkgList.add(pkg);\n\n        if (mDoRepeatUpdates) {\n          updateAndPostLivePkgList(pkgList, false);\n        }\n      }\n    }\n\n    setProgress(size, false, true);\n\n    updateAndPostLivePkgList(pkgList, true);\n\n    mPkgInfoListCleaner.cancelAndSchedule(false, 30, TimeUnit.SECONDS);\n\n    mListInProgress.postValue(false);\n\n    return getPkgList();\n  }\n\n  private boolean isUpdating() {\n    return mPkgUpdater.hasRunningOrPendingTasks();\n  }\n\n  private List<PackageInfo> buildPkgInfoList() {\n    List<PackageInfo> pkgInfoList = new ArrayList<>(mPkgInfoList);\n\n    if (!pkgInfoList.isEmpty()) {\n      return pkgInfoList;\n    }\n\n    setProgress(CREATE_LIST, true, false);\n\n    pkgInfoList.clear();\n    pkgInfoList.addAll(\n        ApiUtils.getInstalledPackages(PackageManager.GET_PERMISSIONS | PM_GET_SIGNATURES));\n\n    setProgress(SORT_LIST, true, false);\n    pkgInfoList.sort(\n        Comparator.comparing(\n            pkgInfo -> pkgInfo.applicationInfo.loadLabel(mPm).toString().toUpperCase()));\n\n    pkgInfoList.removeIf(Objects::isNull);\n\n    synchronized (mPkgInfoList) {\n      mPkgInfoList.clear();\n      mPkgInfoList.addAll(pkgInfoList);\n    }\n\n    return pkgInfoList;\n  }\n\n  {\n    UiRunner.post(\n        () ->\n            ProcessLifecycleOwner.get()\n                .getLifecycle()\n                .addObserver(\n                    (LifecycleEventObserver)\n                        (source, event) -> {\n                          if (event == Lifecycle.Event.ON_STOP) {\n                            clearPkgInfoList();\n                            setRepeatUpdates(true);\n                          }\n                        }));\n  }\n\n  public void clearPkgInfoList() {\n    synchronized (mPkgInfoList) {\n      mPkgInfoList.clear();\n    }\n  }\n\n  private boolean mAppCanReadFlags = true;\n  private Integer SYSTEM_FIXED_FLAG, POLICY_FIXED_FLAG;\n\n  private static final Object BUILD_DATA_LOCK = new Object();\n\n  public void buildRequiredData() {\n    synchronized (BUILD_DATA_LOCK) {\n      if (!PermsDb.INS.refsBuilt()) {\n        setProgress(REF_PERMS_LIST, true, false);\n        if (!PermsDb.INS.buildRefs()) {\n          // We've been interrupted\n          return;\n        }\n      }\n\n      setProgress(APP_OPS_LISTS, true, false);\n      AppOpsParser.INS.buildAppOpsList();\n\n      if (SYSTEM_FIXED_FLAG != null && POLICY_FIXED_FLAG != null) {\n        return;\n      }\n\n      PermFixedFlags flags;\n\n      if (DaemonHandler.INS.isDaemonAlive()) {\n        flags = DaemonIface.INS.getPermFixedFlags();\n        if (flags == null) {\n          return;\n        }\n      } else if (mAppCanReadFlags) {\n        try {\n          flags = HiddenSdkIntConstants.getPermFixedFlags();\n        } catch (RemoteException e) {\n          mAppCanReadFlags = false;\n          MyLog.e(TAG, \"buildRequiredData\", e.toString());\n          return;\n        }\n      } else {\n        return;\n      }\n\n      SYSTEM_FIXED_FLAG = flags.systemFixed;\n      POLICY_FIXED_FLAG = flags.policyFixed;\n    }\n  }\n\n  public List<Package> getPkgList() {\n    synchronized (mPkgList) {\n      return new ArrayList<>(mPkgList);\n    }\n  }\n\n  public Package getPkg(int position) {\n    synchronized (mPkgList) {\n      if (position < 0 || position >= mPkgList.size()) {\n        MyLog.e(TAG, \"getPkg\", \"Bad position: \" + position);\n        return null;\n      }\n      return mPkgList.get(position);\n    }\n  }\n\n  public int getPkgPosition(Package pkg) {\n    synchronized (mPkgList) {\n      int position = mPkgList.indexOf(pkg);\n      if (position == -1) {\n        MyLog.e(TAG, \"getPkgPosition\", \"Bad Package provided\");\n        return -1;\n      }\n      return position;\n    }\n  }\n\n  public void updatePackage(Package pkg, boolean filterPerms) {\n    PackageInfo packageInfo =\n        PackageParser.getPkgInfo(pkg.getName(), PackageManager.GET_PERMISSIONS);\n\n    if (packageInfo == null || !isPkgUpdated(packageInfo, pkg, filterPerms)) {\n      removePackage(pkg);\n      return;\n    }\n\n    mChangedPkg.postValue(pkg, true);\n\n    if (MySettings.INS.isSearching()) {\n      updateSearchLists(pkg, true);\n    }\n  }\n\n  public void removePackage(Package pkg) {\n    if (isUpdating()) {\n      updatePkgList();\n      return;\n    }\n    boolean res;\n    synchronized (mPkgList) {\n      res = mPkgList.remove(pkg);\n    }\n    if (res) {\n      if (MySettings.INS.isSearching()) {\n        removeSearchPackage(pkg);\n      } else {\n        postLivePkgList(mPkgList, true);\n      }\n      pkg.setPkgRemoved(true);\n    } else {\n      MyLog.e(TAG, \"removePackage\", \"Bad Package provided\");\n    }\n  }\n\n  public LiveData<List<Package>> getPkgListLive() {\n    return mPkgListLive;\n  }\n\n  public LiveData<Package> getChangedPkg() {\n    return mChangedPkg;\n  }\n\n  public LiveData<Integer> getProgMax() {\n    return mProgMax;\n  }\n\n  public LiveData<Integer> getProgNow() {\n    return mProgNow;\n  }\n\n  public LiveData<Integer> getListCompleted() {\n    return mListCompleted;\n  }\n\n  private void updateAndPostLivePkgList(List<Package> pkgList, boolean isFinal) {\n    synchronized (mPkgList) {\n      if (pkgList != null) {\n        mPkgList.clear();\n        mPkgList.addAll(pkgList);\n      }\n    }\n\n    if (!MySettings.INS.isSearching()) {\n      postLivePkgList(mPkgList, isFinal);\n      if (isFinal) {\n        sendListCompleted(PostListStatus.FINAL, mPkgList.size());\n      }\n    } else {\n      handleSearchQuery(isFinal ? PostListStatus.FINAL : PostListStatus.NOT_FINAL);\n    }\n  }\n\n  private void postLivePkgList(List<Package> pkgList, boolean mustSend) {\n    mPkgListLive.postValue(new ArrayList<>(pkgList), mustSend);\n  }\n\n  private boolean mDoRepeatUpdates = true;\n\n  public void setRepeatUpdates(boolean doRepeatUpdates) {\n    mDoRepeatUpdates = doRepeatUpdates;\n  }\n\n  private final RateLimitedTaskTyped<Integer> mProgPoster =\n      new RateLimitedTaskTyped<>(100, TimeUnit.MILLISECONDS, mProgNow::postValue);\n\n  private void setProgress(int value, boolean isMax, boolean isFinal) {\n    if (isMax) {\n      mProgMax.postValue(value, isFinal);\n    } else {\n      if (isFinal) {\n        mProgNow.postValue(value, true);\n      } else {\n        mProgPoster.run(value);\n      }\n    }\n  }\n\n  private void sendListCompleted(int isFinal, int pkgCount) {\n    if (isFinal == PostListStatus.FINAL || (isFinal == PostListStatus.UNDEFINED && !isUpdating())) {\n      mListCompleted.postValue(pkgCount, true);\n    }\n  }\n\n  private static final int CREATE_LIST = -1;\n  private static final int SORT_LIST = -2;\n  private static final int REF_PERMS_LIST = -3;\n  private static final int APP_OPS_LISTS = -4;\n\n  public int getProgMsg(int progMax) {\n    return switch (progMax) {\n      case CREATE_LIST -> R.string.creating_packages_list;\n      case SORT_LIST -> R.string.sorting_packages_list;\n      case REF_PERMS_LIST -> R.string.reading_reference_perms;\n      case APP_OPS_LISTS -> R.string.creating_app_ops_lists;\n      default -> 0;\n    };\n  }\n\n  boolean isPkgUpdated(PackageInfo pkgInfo, Package pkg, boolean filterPerms) {\n    if (isFilteredOutPkgName(pkgInfo.packageName)) {\n      return false;\n    }\n\n    boolean isSystemApp = isSystemApp(pkgInfo);\n    if (isFilteredOutSystemPkg(isSystemApp)) {\n      return false;\n    }\n\n    boolean isFrameworkApp = isFrameworkApp(pkgInfo);\n    if (isFilteredOutFrameworkPkg(isFrameworkApp)) {\n      return false;\n    }\n    if (isFilteredOutUserPkg(isFrameworkApp, isSystemApp)) {\n      return false;\n    }\n\n    ApplicationInfo appInfo = pkgInfo.applicationInfo;\n    boolean isEnabled = appInfo.enabled;\n    if (isFilteredOutDisabledPkg(!isEnabled)) {\n      return false;\n    }\n\n    if (isFilteredOutNoIconPkg(appInfo.icon == 0)) {\n      return false;\n    }\n\n    List<Permission> permList = getPermList(pkgInfo, pkg, filterPerms);\n\n    if (isFilteredOutNoPermPkg(pkg)) {\n      return false;\n    }\n\n    Boolean pkgIsReferenced = true;\n\n    if (permList.parallelStream().anyMatch(perm -> Boolean.FALSE.equals(perm.isReferenced()))) {\n      pkgIsReferenced = false;\n    } else if (permList.parallelStream()\n        .anyMatch(perm -> perm.isReferenced() == null && perm.isChangeable())) {\n      pkgIsReferenced = null;\n    }\n\n    pkg.updatePackage(\n        appInfo.loadLabel(mPm).toString(),\n        pkgInfo.packageName,\n        permList,\n        isFrameworkApp,\n        isSystemApp,\n        isEnabled,\n        appInfo.uid,\n        pkgIsReferenced);\n\n    return true;\n  }\n\n  private boolean isSystemApp(PackageInfo packageInfo) {\n    return (packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0;\n  }\n\n  private List<Integer> mSystemSignatures;\n\n  public List<Integer> getSystemSignatures() {\n    if (mSystemSignatures == null) {\n      PackageInfo pkgInfo = getPkgInfo(\"android\", null);\n      mSystemSignatures =\n          Arrays.asList(Util.getPackageSignatures(pkgInfo)).parallelStream()\n              .mapToInt(Signature::hashCode)\n              .boxed()\n              .collect(Collectors.toList());\n    }\n    return mSystemSignatures;\n  }\n\n  private boolean isFrameworkApp(PackageInfo packageInfo) {\n    return Util.isFwkPkg(packageInfo, getSystemSignatures());\n  }\n\n  private boolean isFilteredOutPkgName(String pkgName) {\n    return ExcFiltersData.INS.isPkgExcluded(pkgName);\n  }\n\n  private boolean isFilteredOutSystemPkg(boolean isSystemPkg) {\n    return MySettings.INS.excludeSystemApps() && isSystemPkg;\n  }\n\n  private boolean isFilteredOutFrameworkPkg(boolean isFrameworkPkg) {\n    return MySettings.INS.excludeFrameworkApps() && isFrameworkPkg;\n  }\n\n  private boolean isFilteredOutUserPkg(boolean isFrameworkPkg, boolean isSystemPkg) {\n    return MySettings.INS.excludeUserApps() && !isFrameworkPkg && !isSystemPkg;\n  }\n\n  private boolean isFilteredOutDisabledPkg(boolean isDisabledPkg) {\n    return MySettings.INS.excludeDisabledApps() && isDisabledPkg;\n  }\n\n  private boolean isFilteredOutNoIconPkg(boolean isNoIconPkg) {\n    return MySettings.INS.excludeNoIconApps() && isNoIconPkg;\n  }\n\n  private boolean isFilteredOutNoPermPkg(Package pkg) {\n    return MySettings.INS.excludeNoPermsApps()\n        && pkg.getTotalPermCount() == 0\n        && pkg.getTotalAppOpsCount() == 0;\n  }\n\n  private List<Permission> getPermList(PackageInfo pkgInfo, Package pkg, boolean filterPerms) {\n    String[] requestedPerms = pkgInfo.requestedPermissions;\n    List<Permission> permList = new ArrayList<>();\n\n    int permCount = 0;\n    int[] appOpsCount1 = new int[] {0, 0};\n    List<Integer> processedAppOps = new ArrayList<>();\n\n    if (requestedPerms != null) {\n      for (int count = 0; count < requestedPerms.length; count++) {\n        String permName = requestedPerms[count].replaceAll(\"\\\\s\", \"\");\n        if (createPerm(pkgInfo, permName, count, filterPerms, permList)) {\n          permCount++;\n        }\n\n        if (AppOpsParser.INS.hasAppOps()) {\n          int[] appOpsCount =\n              createPermsAppOpsNotSet(pkgInfo, permName, permList, processedAppOps, filterPerms);\n          appOpsCount1[0] += appOpsCount[0];\n          appOpsCount1[1] += appOpsCount[1];\n        }\n      }\n    }\n\n    int[] appOpsCount2 = new int[] {0, 0};\n    int[] appOpsCount3 = new int[] {0, 0};\n    if (AppOpsParser.INS.hasAppOps()) {\n      appOpsCount2 = createSetAppOps(pkgInfo, permList, processedAppOps, filterPerms);\n\n      if (MySettings.INS.showExtraAppOps()\n          && (!MySettings.INS.excludeNoPermsApps()\n              || requestedPerms != null\n              || appOpsCount2[0] != 0)) {\n\n        List<Integer> ops1 = new ArrayList<>();\n        for (String opName : ExcFiltersData.INS.getExtraAppOps()) {\n          Integer op = AppOpsParser.INS.getAppOpCode(opName);\n          if (op != null && !processedAppOps.contains(op)) {\n            ops1.add(op);\n          }\n        }\n\n        if (!ops1.isEmpty()) {\n          int[] ops2 = new int[ops1.size()];\n          for (int i = 0; i < ops1.size(); i++) {\n            ops2[i] = ops1.get(i);\n          }\n          appOpsCount3 = createExtraAppOps(pkgInfo, permList, ops2, filterPerms);\n        }\n      }\n    }\n\n    pkg.setTotalPermCount(requestedPerms == null ? 0 : requestedPerms.length);\n    pkg.setPermCount(permCount);\n    pkg.setTotalAppOpsCount(appOpsCount1[0] + appOpsCount2[0] + appOpsCount3[0]);\n    pkg.setAppOpsCount(appOpsCount1[1] + appOpsCount2[1] + appOpsCount3[1]);\n\n    return permList;\n  }\n\n  private boolean isNotFilteredOut(Permission perm) {\n    if (perm.isExtraAppOp()) {\n      return true;\n    }\n\n    if (ExcFiltersData.INS.isPermExcluded(perm.getName())) {\n      return false;\n    }\n    if (MySettings.INS.excludeNotChangeablePerms() && !perm.isChangeable()) {\n      return false;\n    }\n    if (MySettings.INS.excludeNotGrantedPerms() && !perm.isGranted()) {\n      return false;\n    }\n\n    if (perm.isAppOp()) {\n      return !MySettings.INS.excludeNotSetAppOps() || perm.isAppOpModeSet();\n    }\n\n    if (MySettings.INS.excludePrivilegedPerms() && perm.isPrivileged()) {\n      return false;\n    }\n    if (MySettings.INS.excludeSignaturePerms()\n        && perm.getProtectionLevel().equals(Permission.PROTECTION_SIGNATURE)) {\n      return false;\n    }\n    if (MySettings.INS.excludeDangerousPerms()\n        && perm.getProtectionLevel().equals(Permission.PROTECTION_DANGEROUS)) {\n      return false;\n    }\n    if (MySettings.INS.excludeNormalPerms()\n        && perm.getProtectionLevel().equals(Permission.PROTECTION_NORMAL)) {\n      return false;\n    }\n    return !MySettings.INS.excludeInvalidPerms() || perm.hasProviderPkg();\n  }\n\n  private boolean createPerm(\n      PackageInfo pkgInfo,\n      String permName,\n      int count,\n      boolean filterPerms,\n      List<Permission> permList) {\n    int[] requestedPermissionsFlags = pkgInfo.requestedPermissionsFlags;\n\n    boolean isGranted =\n        (requestedPermissionsFlags[count] & PackageInfo.REQUESTED_PERMISSION_GRANTED) != 0;\n\n    ManifestPermFlags flags = getManifestPermFlags(permName);\n\n    PermGroupInfo permGroupInfo = PermGroupsMapping.INS.get(permName, false);\n\n    boolean isSystemApp = isSystemApp(pkgInfo);\n    boolean isFrameworkApp = isFrameworkApp(pkgInfo);\n\n    boolean isSystemFixed = false, isPolicyFixed = false;\n\n    if (isSystemApp || isFrameworkApp) {\n      int permFlags = getPermissionFlags(permName, pkgInfo);\n      if (permFlags >= 0 && SYSTEM_FIXED_FLAG != null) {\n        isSystemFixed = (permFlags & SYSTEM_FIXED_FLAG) != 0;\n      }\n      if (permFlags >= 0 && POLICY_FIXED_FLAG != null) {\n        isPolicyFixed = (permFlags & POLICY_FIXED_FLAG) != 0;\n      }\n    }\n\n    Permission perm =\n        new Permission(\n            permGroupInfo.groupId,\n            permGroupInfo.icon,\n            pkgInfo.packageName,\n            permName,\n            isGranted,\n            isSystemApp,\n            isFrameworkApp,\n            flags.protection,\n            flags.isPrivileged,\n            flags.isDevelopment,\n            flags.isManifestPermAppOp,\n            isSystemFixed,\n            isPolicyFixed,\n            flags.providerPkg);\n\n    if (!filterPerms || isNotFilteredOut(perm)) {\n      String refState = PermsDb.INS.getRef(pkgInfo.packageName, permName, false, false);\n\n      perm.setReference(Permission.isReferenced(refState, perm.isGranted()), refState);\n      permList.add(perm);\n\n      return true;\n    }\n\n    return false;\n  }\n\n  private int getPermissionFlags(String perm, PackageInfo pkgInfo) {\n    if (!DaemonHandler.INS.isDaemonAlive()) {\n      return -1;\n    }\n\n    Integer flags =\n        DaemonIface.INS.getPermFlags(\n            perm, pkgInfo.packageName, UserUtils.getUserId(pkgInfo.applicationInfo.uid));\n\n    if (flags != null) {\n      return flags;\n    }\n\n    return -1;\n  }\n\n  private int[] createPermsAppOpsNotSet(\n      PackageInfo pkgInfo,\n      String permName,\n      List<Permission> permList,\n      List<Integer> processedAppOps,\n      boolean filterPerms) {\n\n    Integer op = AppOpsParser.INS.getPermToOpCode(permName);\n    if (op == null) {\n      return new int[] {0, 0};\n    }\n\n    List<MyPackageOps> pkgOpsList =\n        AppOpsParser.INS.getOpsForPackage(pkgInfo.applicationInfo.uid, pkgInfo.packageName, op);\n\n    if (pkgOpsList == null || !pkgOpsList.isEmpty()) {\n      return new int[] {0, 0};\n    }\n\n    return createAppOp(pkgInfo, op, null, permList, processedAppOps, false, false, -1, filterPerms);\n  }\n\n  private int[] createSetAppOps(\n      PackageInfo packageInfo,\n      List<Permission> permissionsList,\n      List<Integer> processedAppOps,\n      boolean filterPerms) {\n    return createAppOpsList(packageInfo, permissionsList, processedAppOps, null, filterPerms);\n  }\n\n  private int[] createExtraAppOps(\n      PackageInfo packageInfo, List<Permission> permissionsList, int[] ops, boolean filterPerms) {\n    return createAppOpsList(packageInfo, permissionsList, null, ops, filterPerms);\n  }\n\n  private int[] createAppOpsList(\n      PackageInfo packageInfo,\n      List<Permission> permissionsList,\n      List<Integer> processedAppOps,\n      int[] ops,\n      boolean filterPerms) {\n\n    List<MyPackageOps> pkgOpsList = new ArrayList<>();\n    int totalAppOpsCount = 0;\n    int appOpsCount = 0;\n    boolean isExtraAppOp = ops != null;\n    int uid = packageInfo.applicationInfo.uid;\n\n    List<MyPackageOps> list;\n    if (isExtraAppOp) {\n      for (int op : ops) {\n        list = AppOpsParser.INS.getOpsForPackage(uid, packageInfo.packageName, op);\n        if (list != null) {\n          if (list.isEmpty()) {\n            int[] count =\n                createAppOp(\n                    packageInfo,\n                    op,\n                    null,\n                    permissionsList,\n                    processedAppOps,\n                    true,\n                    false,\n                    -1,\n                    filterPerms);\n            totalAppOpsCount += count[0];\n            appOpsCount += count[1];\n          } else {\n            pkgOpsList.addAll(list);\n          }\n        }\n      }\n    } else {\n      list = AppOpsParser.INS.getOpsForPackage(uid, packageInfo.packageName, null);\n      if (list != null) {\n        pkgOpsList.addAll(list);\n      }\n\n      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {\n        list = AppOpsParser.INS.getUidOps(uid);\n        if (list != null) {\n          pkgOpsList.addAll(list);\n        }\n      }\n    }\n\n    for (MyPackageOps myPackageOps : pkgOpsList) {\n      boolean isPerUid = myPackageOps.pkgName == null;\n      for (MyPackageOps.MyOpEntry myOpEntry : myPackageOps.opEntryList) {\n        int op = myOpEntry.op;\n        long lastAccessTime = myOpEntry.lastAccessTime;\n        int[] count =\n            createAppOp(\n                packageInfo,\n                op,\n                myOpEntry.opMode,\n                permissionsList,\n                processedAppOps,\n                isExtraAppOp,\n                isPerUid,\n                lastAccessTime,\n                filterPerms);\n        totalAppOpsCount += count[0];\n        appOpsCount += count[1];\n      }\n    }\n    return new int[] {totalAppOpsCount, appOpsCount};\n  }\n\n  private int[] createAppOp(\n      PackageInfo pkgInfo,\n      int op,\n      Integer opMode,\n      List<Permission> permList,\n      List<Integer> processedAppOps,\n      boolean isExtraAppOp,\n      boolean isPerUid,\n      long accessTime,\n      boolean filterPerms) {\n    String opName = AppOpsParser.INS.getAppOpName(op);\n\n    if (opName == null) {\n      return new int[] {1, 0};\n    }\n\n    if (Constants.UNKNOWN_OP.equals(opName)) {\n      return new int[] {0, 0};\n    }\n\n    String dependsOn = AppOpsParser.INS.getDependsOn(op);\n\n    boolean opModeSet = true, validMode = true;\n    if (opMode == null) {\n      opModeSet = false;\n    } else if (!AppOpsParser.INS.isValidAppOpMode(opMode)) {\n      mOpModesConsistent = validMode = false;\n    }\n\n    if (!opModeSet || !validMode) {\n      opMode = AppOpsParser.INS.getOpDefMode(op);\n      if (opMode == null || !AppOpsParser.INS.isValidAppOpMode(opMode)) {\n        opMode = AppOpsManager.MODE_DEFAULT;\n        mOpModesConsistent = validMode = false;\n      }\n    }\n\n    PermGroupInfo permGroupInfo = PermGroupsMapping.INS.get(opName, true);\n\n    Permission perm =\n        new Permission(\n            permGroupInfo.groupId,\n            permGroupInfo.icon,\n            pkgInfo.packageName,\n            opName,\n            Permission.isAppOpGranted(opMode),\n            isSystemApp(pkgInfo),\n            isFrameworkApp(pkgInfo),\n            isPerUid,\n            opModeSet,\n            !validMode,\n            opMode,\n            accessTime,\n            dependsOn,\n            isExtraAppOp);\n\n    if (!isExtraAppOp) {\n      processedAppOps.add(op);\n    }\n\n    int appOpsCount = 0;\n\n    if (!filterPerms || isNotFilteredOut(perm)) {\n      appOpsCount = 1;\n    } else if (!isExtraAppOp && ExcFiltersData.INS.isExtraAppOp(perm.getName())) {\n      perm.setExtraAppOp();\n      if (isNotFilteredOut(perm)) {\n        appOpsCount = 1;\n      }\n    }\n\n    if (appOpsCount == 1) {\n      String refState = PermsDb.INS.getRef(pkgInfo.packageName, opName, true, isPerUid);\n\n      perm.setReference(Permission.isReferenced(refState, opMode), refState);\n      permList.add(perm);\n    }\n\n    return new int[] {1, appOpsCount};\n  }\n\n  static PackageInfo getPkgInfo(String pkgName, Integer pmFlags) {\n    int flags = pmFlags == null ? Util.PM_GET_SIGNATURES : Util.PM_GET_SIGNATURES | pmFlags;\n    try {\n      return ApiUtils.getPkgInfo(pkgName, flags);\n    } catch (NameNotFoundException e) {\n      MyLog.e(TAG, \"getPkgInfo\", e.toString());\n      return null;\n    }\n  }\n\n  public static final int PI_PROTECTION_MASK_BASE = PermissionInfo.PROTECTION_MASK_BASE;\n\n  public static int getProtectionLevel(PermissionInfo permInfo) {\n    return permInfo.protectionLevel;\n  }\n\n  private final Map<String, ManifestPermFlags> mManifestFlags = new HashMap<>();\n\n  private ManifestPermFlags getManifestPermFlags(String permName) {\n    ManifestPermFlags flags = mManifestFlags.get(permName);\n\n    if (flags == null) {\n      try {\n        flags = getManifestPermFlags(PackageParser.INS.mPm.getPermissionInfo(permName, 0));\n      } catch (NameNotFoundException ignored) {\n        flags = new ManifestPermFlags();\n      }\n      mManifestFlags.put(permName, flags);\n    }\n\n    return flags;\n  }\n\n  public static ManifestPermFlags getManifestPermFlags(PermissionInfo permInfo) {\n    ManifestPermFlags flags = new ManifestPermFlags();\n\n    int protectionLevel = getProtectionLevel(permInfo) & PI_PROTECTION_MASK_BASE;\n    int protectionFlags = getProtectionLevel(permInfo) & ~PI_PROTECTION_MASK_BASE;\n    int PROTECTION_SIGNATURE_OR_SYSTEM = PermissionInfo.PROTECTION_SIGNATURE_OR_SYSTEM;\n\n    if (protectionLevel == PermissionInfo.PROTECTION_NORMAL) {\n      flags.protection = Permission.PROTECTION_NORMAL;\n    } else if (protectionLevel == PermissionInfo.PROTECTION_DANGEROUS) {\n      flags.protection = Permission.PROTECTION_DANGEROUS;\n    } else if (protectionLevel == PermissionInfo.PROTECTION_SIGNATURE) {\n      flags.protection = Permission.PROTECTION_SIGNATURE;\n    } else if (protectionLevel == PROTECTION_SIGNATURE_OR_SYSTEM) {\n      flags.protection = Permission.PROTECTION_SIGNATURE;\n    } else if (VERSION.SDK_INT >= VERSION_CODES.S && protectionLevel == PROTECTION_INTERNAL) {\n      flags.protection = Permission.PROTECTION_INTERNAL;\n    } else {\n      MyLog.e(TAG, \"createPerm\", \"Protection level for \" + permInfo.name + \": \" + protectionLevel);\n    }\n\n    flags.isPrivileged = (protectionFlags & PermissionInfo.PROTECTION_FLAG_PRIVILEGED) != 0;\n    flags.isDevelopment =\n        protectionLevel == PermissionInfo.PROTECTION_SIGNATURE\n            && (protectionFlags & PermissionInfo.PROTECTION_FLAG_DEVELOPMENT) != 0;\n    flags.isManifestPermAppOp = (protectionFlags & PermissionInfo.PROTECTION_FLAG_APPOP) != 0;\n\n    flags.providerPkg = permInfo.packageName;\n\n    return flags;\n  }\n\n  public static class ManifestPermFlags {\n    public String protection = Permission.PROTECTION_UNKNOWN;\n    public boolean isPrivileged = false;\n    public boolean isDevelopment = false;\n    public boolean isManifestPermAppOp = false;\n    public String providerPkg = null;\n  }\n\n  private @interface PostListStatus {\n    int UNDEFINED = 0;\n    int FINAL = 1;\n    int NOT_FINAL = 2;\n  }\n\n  private final SingleParamTask<Integer> mSearchQueryExecutor =\n      new SingleParamTask<>(this::doSearchInBg, TAG + \"-SearchExecutor\");\n\n  public void handleSearchQuery() {\n    handleSearchQuery(PostListStatus.UNDEFINED);\n  }\n\n  private void handleSearchQuery(int isFinal) {\n    if (isFinal == PostListStatus.NOT_FINAL && mSearchQueryExecutor.hasRunningOrPendingTasks()) {\n      return;\n    }\n\n    if (MySettings.INS.isSearching()) {\n      mSearchQueryExecutor.cancelAndSubmit(isFinal, true);\n    } else {\n      mSearchQueryExecutor.cancel(true);\n      clearSearchLists();\n\n      postLivePkgList(mPkgList, isFinal != PostListStatus.NOT_FINAL);\n\n      sendListCompleted(isFinal, -1);\n    }\n  }\n\n  private final Object SEARCH_BG_LOCK = new Object();\n\n  private void doSearchInBg(int isFinal) {\n    synchronized (SEARCH_BG_LOCK) {\n      List<Package> origPkgList = new ArrayList<>(mPkgList);\n      mSearchPkgList.clear();\n\n      boolean sendProgress = false;\n      int size = origPkgList.size();\n\n      for (int i = 0; i < size; i++) {\n        if (!isUpdating() && Thread.interrupted()) {\n          return;\n        }\n\n        Package pkg = origPkgList.get(i);\n\n        if (pkg == null) {\n          continue;\n        }\n\n        if (MySettings.INS.isDeepSearching()) {\n          if (!sendProgress) {\n            if (!isUpdating()) {\n              sendProgress = true;\n              setProgress(origPkgList.size(), true, true);\n            }\n          } else if (isUpdating()) {\n            sendProgress = false;\n          }\n\n          if (sendProgress) {\n            setProgress(i, false, false);\n          }\n        }\n\n        updateSearchLists(pkg, false);\n\n        if (isFinal == PostListStatus.UNDEFINED && mDoRepeatUpdates && !mSearchPkgList.isEmpty()) {\n          postLivePkgList(mSearchPkgList, false);\n        }\n      }\n\n      setProgress(size, false, true);\n\n      postLivePkgList(mSearchPkgList, isFinal != PostListStatus.NOT_FINAL);\n      sendListCompleted(isFinal, mSearchPkgList.size());\n    }\n  }\n\n  private final List<Package> mSearchPkgList = Collections.synchronizedList(new ArrayList<>());\n\n  private void updateSearchLists(Package pkg, boolean removeOnly) {\n    String queryText = MySettings.INS.getQueryText();\n    if (queryText == null) {\n      return;\n    }\n    if (!MySettings.INS.isDeepSearching()) {\n      if (pkg.contains(queryText)) {\n        if (!removeOnly) {\n          mSearchPkgList.add(pkg);\n        }\n      } else if (removeOnly) {\n        removeSearchPackage(pkg);\n      }\n      return;\n    }\n\n    List<Permission> permList = new ArrayList<>();\n    int permCount = 0, appOpsCount = 0;\n    for (Permission perm : pkg.getFullPermsList()) {\n      if (perm.contains(queryText, true)) {\n        permList.add(perm);\n        if (perm.isAppOp()) {\n          appOpsCount++;\n        } else {\n          permCount++;\n        }\n      }\n    }\n\n    pkg.setSearchPermList(permList);\n    pkg.setSearchPermCount(permCount);\n    pkg.setSearchAppOpsCount(appOpsCount);\n\n    if (!permList.isEmpty()) {\n      if (!removeOnly) {\n        mSearchPkgList.add(pkg);\n      }\n    } else if (removeOnly) {\n      removeSearchPackage(pkg);\n    }\n  }\n\n  private void removeSearchPackage(Package pkg) {\n    if (mSearchPkgList.remove(pkg)) {\n      pkg.setPkgRemoved(true);\n      postLivePkgList(mSearchPkgList, true);\n    }\n  }\n\n  private void clearSearchLists() {\n    synchronized (SEARCH_BG_LOCK) {\n      mSearchPkgList.clear();\n      new ArrayList<>(mPkgList).parallelStream().forEach(pkg -> pkg.setSearchPermList(null));\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/parser/PermGroupsMapping.java",
    "content": "package com.mirfatif.permissionmanagerx.parser;\n\nimport android.content.res.TypedArray;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.app.App;\nimport java.util.Arrays;\nimport java.util.List;\n\npublic enum PermGroupsMapping {\n  INS;\n\n  private final List<String> PERMS =\n      Arrays.asList(App.getRes().getStringArray(R.array.perm_groups_perms));\n\n  private final List<String> APP_OPS =\n      Arrays.asList(App.getRes().getStringArray(R.array.perm_groups_app_ops));\n\n  private final int[] ICONS;\n\n  {\n    TypedArray icons = App.getRes().obtainTypedArray(R.array.perm_groups_icons);\n    ICONS = new int[icons.length()];\n    for (int i = 0; i < ICONS.length; i++) {\n      ICONS[i] = icons.getResourceId(i, 0);\n    }\n    icons.recycle();\n\n    if (PERMS.size() != APP_OPS.size() || PERMS.size() != ICONS.length) {\n      throw new RuntimeException(\"Permission arrays size mismatch\");\n    }\n  }\n\n  public PermGroupInfo get(String perm, boolean isAppOp) {\n    int id = getGroupId(perm, isAppOp);\n    return new PermGroupInfo(\n        id, id < ICONS.length && ICONS[id] != 0 ? ICONS[id] : R.drawable.g_others);\n  }\n\n  public int getGroupId(String perm, boolean isAppOp) {\n    int i = isAppOp ? APP_OPS.indexOf(perm) : PERMS.indexOf(perm);\n    return i >= 0 ? i : ICONS.length;\n  }\n\n  public static class PermGroupInfo {\n\n    public final int groupId;\n    public final int icon;\n\n    private PermGroupInfo(int groupId, int icon) {\n      this.groupId = groupId;\n      this.icon = icon;\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/parser/Permission.java",
    "content": "package com.mirfatif.permissionmanagerx.parser;\n\nimport static com.mirfatif.permissionmanagerx.util.ApiUtils.getString;\n\nimport android.app.AppOpsManager;\nimport android.text.TextUtils;\nimport android.text.format.DateUtils;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.prefs.ExcFiltersData;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\nimport com.mirfatif.permissionmanagerx.privs.DaemonIface;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\nimport com.mirfatif.permissionmanagerx.util.UserUtils;\nimport com.mirfatif.privtasks.Constants;\nimport java.util.List;\nimport java.util.Objects;\nimport java.util.concurrent.TimeUnit;\nimport java.util.concurrent.atomic.AtomicInteger;\n\npublic class Permission {\n\n  public static final String PROTECTION_UNKNOWN = \"PROTECTION_UNKNOWN\";\n  public static final String PROTECTION_DANGEROUS = \"PROTECTION_DANGEROUS\";\n  public static final String PROTECTION_NORMAL = \"PROTECTION_NORMAL\";\n  public static final String PROTECTION_SIGNATURE = \"PROTECTION_SIGNATURE\";\n  public static final String PROTECTION_INTERNAL = \"PROTECTION_INTERNAL\";\n\n  private static final String GRANTED = \"GRANTED\";\n  private static final String REVOKED = \"REVOKED\";\n\n  public static final String PROTECTION_APP_OPS = \"APP_OPS\";\n\n  private final int mGroupId;\n  private final int mIconResId;\n  private final String mPackageName;\n  private final String mPermissionName;\n  private final boolean mGranted;\n  private Boolean mReferenced;\n  private String mReference;\n  private final boolean mSystemApp, mFrameworkApp;\n\n  private final String mProtectionLevel;\n  private final boolean mPrivileged;\n  private final boolean mDevelopment;\n  private final boolean mManifestPermAppOp;\n  private final boolean mSystemFixed, mPolicyFixed;\n  private final String mProviderPkg;\n\n  private final boolean mAppOp;\n  private final boolean mPerUid;\n  private final boolean mAppOpModeSet;\n  private final boolean mUnknownAppOpMode;\n  private final int mAppOpMode;\n  private final long mAppOpAccessTime;\n  private String mAppOpAccessTimeFormatted;\n  private final String mDependsOn;\n  private boolean mExtraAppOp;\n\n  Permission(\n      int groupId,\n      int iconResId,\n      String packageName,\n      String name,\n      boolean isGranted,\n      boolean isSystemApp,\n      boolean isFrameworkApp,\n      String protectionLevel,\n      boolean isPrivileged,\n      boolean isDevelopment,\n      boolean isManifestPermAppOp,\n      boolean isSystemFixed,\n      boolean isPolicyFixed,\n      String providerPkg) {\n    mGroupId = groupId;\n    mIconResId = iconResId;\n    mPackageName = packageName;\n    mPermissionName = name;\n    mGranted = isGranted;\n    mSystemApp = isSystemApp;\n    mFrameworkApp = isFrameworkApp;\n    mProtectionLevel = protectionLevel;\n    mPrivileged = isPrivileged;\n    mDevelopment = isDevelopment;\n    mManifestPermAppOp = isManifestPermAppOp;\n    mSystemFixed = isSystemFixed;\n    mPolicyFixed = isPolicyFixed;\n    mProviderPkg = providerPkg;\n\n    mAppOp = false;\n    mPerUid = false;\n    mAppOpModeSet = true;\n    mUnknownAppOpMode = false;\n    mAppOpMode = -1;\n    mAppOpAccessTime = -1;\n    mDependsOn = null;\n    mExtraAppOp = false;\n  }\n\n  Permission(\n      int groupId,\n      Integer iconResId,\n      String packageName,\n      String name,\n      boolean isGranted,\n      boolean isSystemApp,\n      boolean isFrameworkApp,\n      boolean isPerUid,\n      boolean opModeSet,\n      boolean unknownOpMode,\n      int appOpMode,\n      long appOpAccessTime,\n      String dependsOn,\n      boolean isExtraAppOp) {\n    mGroupId = groupId;\n    mIconResId = iconResId;\n    mPackageName = packageName;\n    mPermissionName = name;\n    mGranted = isGranted;\n    mSystemApp = isSystemApp;\n    mFrameworkApp = isFrameworkApp;\n    mPerUid = isPerUid;\n    mAppOpModeSet = opModeSet;\n    mUnknownAppOpMode = unknownOpMode;\n    mAppOpMode = appOpMode;\n    mAppOpAccessTime = appOpAccessTime;\n    mDependsOn = dependsOn;\n    mExtraAppOp = isExtraAppOp;\n\n    mAppOp = true;\n    mProtectionLevel = PROTECTION_APP_OPS;\n    mPrivileged = false;\n    mDevelopment = false;\n    mManifestPermAppOp = false;\n    mSystemFixed = false;\n    mPolicyFixed = false;\n    mProviderPkg = null;\n  }\n\n  public int getGroupId() {\n    return mGroupId;\n  }\n\n  public int getIconResId() {\n    return mIconResId;\n  }\n\n  public boolean isAppOp() {\n    return mAppOp;\n  }\n\n  public boolean isPerUid() {\n    return mPerUid;\n  }\n\n  public boolean hasUnknownOpMode() {\n    return mUnknownAppOpMode;\n  }\n\n  public boolean isAppOpModeSet() {\n    return mAppOpModeSet;\n  }\n\n  public int getAppOpMode() {\n    return mAppOpMode;\n  }\n\n  public String getAppOpAccessTime() {\n    if (System.currentTimeMillis() - mAppOpAccessTime > TimeUnit.DAYS.toMillis(365)) {\n      return null;\n    }\n    mAppOpAccessTimeFormatted =\n        DateUtils.getRelativeTimeSpanString(\n                mAppOpAccessTime, System.currentTimeMillis(), DateUtils.SECOND_IN_MILLIS)\n            .toString();\n    return mAppOpAccessTimeFormatted;\n  }\n\n  public boolean hasDependsOnPerm() {\n    return mDependsOn != null;\n  }\n\n  public CharSequence getDependsOnName() {\n    return mDependsOn;\n  }\n\n  public void setExtraAppOp() {\n    mExtraAppOp = true;\n  }\n\n  public boolean isExtraAppOp() {\n    return mExtraAppOp;\n  }\n\n  public String getName() {\n    return mPermissionName;\n  }\n\n  public boolean isGranted() {\n    return mGranted;\n  }\n\n  public String getProtectionLevel() {\n    return mProtectionLevel;\n  }\n\n  public boolean isPrivileged() {\n    return mPrivileged;\n  }\n\n  public boolean hasProviderPkg() {\n    return mProviderPkg != null;\n  }\n\n  public void setReference(Boolean isReferenced, String reference) {\n    mReferenced = isReferenced;\n    mReference = reference;\n  }\n\n  public Boolean isReferenced() {\n    return mReferenced;\n  }\n\n  public String getReference() {\n    return mReference;\n  }\n\n  public boolean isCritical() {\n    return (mSystemApp && mPrivileged) || mSystemFixed;\n  }\n\n  private Boolean mChangeable = null;\n\n  public boolean isChangeable() {\n    if (mChangeable == null) {\n      mChangeable = isChangeableInternal();\n    }\n    return mChangeable;\n  }\n\n  private boolean isChangeableInternal() {\n    if (mFrameworkApp || ExcFiltersData.INS.isCriticalApp(mPackageName)) {\n      return false;\n    }\n    if (mAppOp) {\n      return isAppOpPermChangeable(mDependsOn);\n    } else {\n      if ((!mProtectionLevel.equals(PROTECTION_DANGEROUS) && !mDevelopment)\n          || (mSystemApp && mPrivileged)\n          || mPolicyFixed) return false;\n      return !mSystemFixed;\n    }\n  }\n\n  public static boolean isAppOpPermChangeable(String dependsOn) {\n    return dependsOn == null;\n  }\n\n  public boolean contains(String queryText, boolean caseSensitive) {\n    if (!MySettings.INS.isSpecialSearch()) {\n      return containsNot(queryText, caseSensitive);\n    }\n\n    boolean isEmpty = true;\n    for (String str : queryText.split(\"\\\\|\")) {\n      if (TextUtils.isEmpty(str)) {\n        continue;\n      }\n      isEmpty = false;\n      if (containsAnd(str, caseSensitive)) {\n        return true;\n      }\n    }\n    return isEmpty;\n  }\n\n  private boolean containsAnd(String queryText, boolean caseSensitive) {\n    for (String str : queryText.split(\"&\")) {\n      if (TextUtils.isEmpty(str)) {\n        continue;\n      }\n      if (!containsNot(str, caseSensitive)) {\n        return false;\n      }\n    }\n    return true;\n  }\n\n  private boolean containsNot(String queryText, boolean caseSensitive) {\n    boolean contains = true;\n    if (MySettings.INS.isSpecialSearch() && queryText.startsWith(\"!\")) {\n      queryText = queryText.replaceAll(\"^!\", \"\");\n      contains = false;\n    }\n\n    caseSensitive = caseSensitive && MySettings.INS.isCaseSensitiveSearch();\n    if (!caseSensitive) {\n      queryText = queryText.toUpperCase();\n    }\n\n    for (String field :\n        new String[] {\n          getName(),\n          \":\" + getLocalizedProtectionLevel(mProtectionLevel),\n          ((mAppOp || mManifestPermAppOp) ? SearchConstants.INS.SEARCH_APP_OPS : \"\"),\n          ((mAppOp && mPerUid) ? SearchConstants.INS.SEARCH_UID : \"\"),\n          (mPrivileged ? SearchConstants.INS.SEARCH_PRIVILEGED : \"\"),\n          (mDevelopment ? SearchConstants.INS.SEARCH_DEV : \"\"),\n          (mSystemFixed ? SearchConstants.INS.SEARCH_FIXED : \"\"),\n          (mReferenced == null\n              ? SearchConstants.INS.SEARCH_ORANGE\n              : (mReferenced ? SearchConstants.INS.SEARCH_GREEN : SearchConstants.INS.SEARCH_RED)),\n          getAppOpAccessTime() != null ? SearchConstants.INS.SEARCH_TIME : \"\",\n          (mExtraAppOp ? SearchConstants.INS.SEARCH_EXTRA : \"\")\n        }) {\n      if (!caseSensitive) {\n        field = field.toUpperCase();\n      }\n      if (field.contains(queryText)) {\n        return contains;\n      }\n    }\n    return !contains;\n  }\n\n  public boolean areContentsTheSame(Permission newPerm) {\n    if (!Objects.equals(isReferenced(), newPerm.isReferenced())) {\n      return false;\n    }\n\n    if (!isAppOp()) {\n      return isGranted() == newPerm.isGranted();\n    }\n\n    if (getAppOpMode() != newPerm.getAppOpMode()) {\n      return false;\n    }\n\n    if (hasUnknownOpMode() != newPerm.hasUnknownOpMode()) {\n      return false;\n    }\n\n    if (isAppOpModeSet() != newPerm.isAppOpModeSet()) {\n      return false;\n    }\n\n    if (!Objects.equals(mAppOpAccessTimeFormatted, newPerm.getAppOpAccessTime())) {\n      return false;\n    }\n\n    return isExtraAppOp() == newPerm.isExtraAppOp();\n  }\n\n  public boolean isSamePerm(Permission newPerm) {\n    return isAppOp() == newPerm.isAppOp()\n        && getName().equals(newPerm.getName())\n        && (!isAppOp() || isPerUid() == newPerm.isPerUid());\n  }\n\n  public void setAppOpMode(Package pkg, int mode) {\n    if (isAppOp()) {\n      Integer op = AppOpsParser.INS.getAppOpCode(getName());\n      if (op != null) {\n        DaemonIface.INS.setAppOpMode(pkg.getUid(), isPerUid() ? null : pkg.getName(), op, mode);\n      } else {\n        UiUtils.showToast(R.string.something_went_wrong);\n      }\n    }\n  }\n\n  public void toggleState(Package pkg) {\n    if (!isAppOp()) {\n      DaemonIface.INS.setPermState(\n          !isGranted(), pkg.getName(), getName(), UserUtils.getUserId(pkg.getUid()));\n    }\n  }\n\n  public String createRefStringForDb() {\n    return isAppOp() ? createRefStringForDb(getAppOpMode()) : createRefStringForDb(isGranted());\n  }\n\n  public static String createRefStringForDb(boolean granted) {\n    return granted ? Permission.GRANTED : Permission.REVOKED;\n  }\n\n  public static String createRefStringForDb(int appOpMode) {\n    return AppOpsParser.INS.opModeToName(appOpMode);\n  }\n\n  public static boolean isAppOpGranted(int appOpMode) {\n    return appOpMode >= 0\n        && appOpMode != AppOpsManager.MODE_IGNORED\n        && appOpMode != AppOpsManager.MODE_ERRORED;\n  }\n\n  public static int getAppOpMode(boolean granted) {\n    return granted ? AppOpsManager.MODE_ALLOWED : AppOpsManager.MODE_IGNORED;\n  }\n\n  public static Boolean isReferenced(String dbRefString, boolean granted) {\n    return dbRefString == null ? null : dbRefString.equals(createRefStringForDb(granted));\n  }\n\n  public static Boolean isReferenced(String dbRefString, int appOpMode) {\n    return dbRefString == null ? null : dbRefString.equals(createRefStringForDb(appOpMode));\n  }\n\n  public CharSequence getPermNameString() {\n    CharSequence permName = getName();\n    if (mAppOp && hasDependsOnPerm()) {\n      permName = TextUtils.concat(permName, \" (\", getDependsOnName(), \")\");\n    }\n    return permName;\n  }\n\n  private static String getLocalizedProtectionLevel(String protectionLevel) {\n    return switch (protectionLevel) {\n      case PROTECTION_NORMAL -> SearchConstants.INS.SEARCH_PROT_NORMAL;\n      case PROTECTION_DANGEROUS -> SearchConstants.INS.SEARCH_PROT_DANGEROUS;\n      case PROTECTION_SIGNATURE -> SearchConstants.INS.SEARCH_PROT_SIGNATURE;\n      case PROTECTION_INTERNAL -> SearchConstants.INS.SEARCH_PROT_INTERNAL;\n      case PROTECTION_APP_OPS -> SearchConstants.INS.SEARCH_APP_OPS;\n      default -> SearchConstants.INS.SEARCH_PROT_UNKNOWN;\n    };\n  }\n\n  public static String getLocalizedProtLevelString(\n      boolean isAppOp,\n      String protection,\n      boolean privileged,\n      boolean development,\n      boolean manifestPermAppOp,\n      boolean perUid,\n      boolean extraAppOp,\n      boolean systemPolicyFixed) {\n    String protectionLevel = getLocalizedProtectionLevel(protection).replaceFirst(\"^:\", \"\");\n\n    if (isAppOp) {\n      if (perUid) {\n        protectionLevel = getString(R.string.prot_lvl_uid_mode, protectionLevel);\n      }\n      if (extraAppOp) {\n        protectionLevel = getString(R.string.prot_lvl_extra, protectionLevel);\n      }\n    } else {\n      if (development) {\n        protectionLevel = getString(R.string.prot_lvl_development2, protectionLevel);\n      }\n      if (manifestPermAppOp) {\n        protectionLevel = getString(R.string.prot_lvl_app_ops2, protectionLevel);\n      }\n      if (privileged) {\n        protectionLevel = getString(R.string.prot_lvl_privileged2, protectionLevel);\n      }\n      if (systemPolicyFixed) {\n        protectionLevel = getString(R.string.prot_lvl_fixed2, protectionLevel);\n      }\n    }\n    return protectionLevel;\n  }\n\n  public String getLocalizedProtLevelString() {\n    return getLocalizedProtLevelString(\n        isAppOp(),\n        getProtectionLevel(),\n        isPrivileged(),\n        mDevelopment,\n        mManifestPermAppOp,\n        mPerUid,\n        mExtraAppOp,\n        mSystemFixed || mPolicyFixed);\n  }\n\n  public String getLocalizedPermStateName() {\n    if (isAppOp()) {\n      return getLocalizedAppOpModeName(AppOpsParser.INS.opModeToName(getAppOpMode()));\n    } else {\n      return getLocalizedPermStateName(isGranted());\n    }\n  }\n\n  public static String getLocalizedAppOpModeName(String appOpModeName) {\n    if (appOpModeName == null) {\n      return null;\n    }\n    return switch (appOpModeName) {\n      case Constants.APP_OP_MODE_ALLOW -> getString(R.string.app_op_mode_allow);\n      case Constants.APP_OP_MODE_IGNORE -> getString(R.string.app_op_mode_ignore);\n      case Constants.APP_OP_MODE_DENY -> getString(R.string.app_op_mode_deny);\n      case Constants.APP_OP_MODE_DEFAULT -> getString(R.string.app_op_mode_default);\n      case Constants.APP_OP_MODE_FG -> getString(R.string.app_op_mode_foreground);\n      default -> appOpModeName;\n    };\n  }\n\n  public static String getLocalizedPermStateName(boolean granted) {\n    return granted ? getString(R.string.perm_mode_granted) : getString(R.string.perm_mode_revoked);\n  }\n\n  public static void getLocalizedPermStateNames(\n      List<CharSequence> names,\n      List<Boolean> states,\n      AtomicInteger preCheckedIndex,\n      boolean granted) {\n    for (boolean b : new Boolean[] {true, false}) {\n      names.add(getLocalizedPermStateName(b));\n      states.add(b);\n    }\n\n    preCheckedIndex.set(granted ? 0 : 1);\n  }\n\n  public static void getLocalizedAppOpModeNames(\n      List<CharSequence> names,\n      List<Integer> modes,\n      AtomicInteger preCheckedIndex,\n      int appOpMode,\n      String appOpName) {\n    boolean noFg =\n        appOpName.equals(\"RUN_IN_BACKGROUND\") || appOpName.equals(\"RUN_ANY_IN_BACKGROUND\");\n\n    int modeCount = AppOpsParser.INS.getAppOpModeCount();\n\n    for (int mode = 0; mode < modeCount; mode++) {\n      String modeName = AppOpsParser.INS.opModeToName(mode);\n      if (modeName == null || (noFg && Constants.APP_OP_MODE_FG.equals(modeName))) {\n        continue;\n      }\n\n      names.add(getLocalizedAppOpModeName(modeName));\n      modes.add(mode);\n    }\n\n    preCheckedIndex.set(modes.indexOf(appOpMode));\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/parser/SearchConstants.java",
    "content": "package com.mirfatif.permissionmanagerx.parser;\n\nimport static com.mirfatif.permissionmanagerx.util.ApiUtils.getString;\n\nimport com.mirfatif.permissionmanagerx.R;\n\npublic enum SearchConstants {\n  INS;\n\n  SearchConstants() {\n    recreate();\n  }\n\n  public String SEARCH_CRITICAL;\n  public String SEARCH_FRAMEWORK;\n  public String SEARCH_SYSTEM;\n  public String SEARCH_USER;\n  public String SEARCH_DISABLED;\n  public String SEARCH_GREEN;\n  public String SEARCH_ORANGE;\n  public String SEARCH_RED;\n\n  public String SEARCH_APP_OPS;\n  public String SEARCH_UID;\n  public String SEARCH_PRIVILEGED;\n  public String SEARCH_DEV;\n  public String SEARCH_FIXED;\n  public String SEARCH_TIME;\n  public String SEARCH_EXTRA;\n\n  public String SEARCH_PROT_UNKNOWN;\n  public String SEARCH_PROT_NORMAL;\n  public String SEARCH_PROT_DANGEROUS;\n  public String SEARCH_PROT_SIGNATURE;\n  public String SEARCH_PROT_INTERNAL;\n\n  public void recreate() {\n    SEARCH_CRITICAL = \":\" + getString(R.string.pkg_state_critical);\n    SEARCH_FRAMEWORK = \":\" + getString(R.string.pkg_state_framework);\n    SEARCH_SYSTEM = \":\" + getString(R.string.pkg_state_system);\n    SEARCH_USER = \":\" + getString(R.string.pkg_state_user);\n    SEARCH_DISABLED = \":\" + getString(R.string.pkg_state_disabled);\n    SEARCH_GREEN = \":\" + getString(R.string.search_str_green);\n    SEARCH_ORANGE = \":\" + getString(R.string.search_str_orange);\n    SEARCH_RED = \":\" + getString(R.string.search_str_red);\n\n    SEARCH_APP_OPS = \":\" + getString(R.string.prot_lvl_app_ops);\n    SEARCH_UID = \":\" + getString(R.string.search_str_uid);\n    SEARCH_PRIVILEGED = \":\" + getString(R.string.prot_lvl_privileged);\n    SEARCH_DEV = \":\" + getString(R.string.prot_lvl_development);\n    SEARCH_FIXED = \":\" + getString(R.string.prot_lvl_fixed);\n    SEARCH_TIME = \":\" + getString(R.string.search_str_time);\n    SEARCH_EXTRA = \":\" + getString(R.string.search_str_extra);\n\n    SEARCH_PROT_UNKNOWN = \":\" + getString(R.string.prot_lvl_unknown);\n    SEARCH_PROT_NORMAL = \":\" + getString(R.string.prot_lvl_normal);\n    SEARCH_PROT_DANGEROUS = \":\" + getString(R.string.prot_lvl_dangerous);\n    SEARCH_PROT_SIGNATURE = \":\" + getString(R.string.prot_lvl_signature);\n    SEARCH_PROT_INTERNAL = \":\" + getString(R.string.prot_lvl_internal);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/parser/permsdb/PermissionDao.java",
    "content": "package com.mirfatif.permissionmanagerx.parser.permsdb;\n\nimport androidx.room.Dao;\nimport androidx.room.Insert;\nimport androidx.room.OnConflictStrategy;\nimport androidx.room.Query;\nimport com.google.common.collect.Iterables;\nimport java.util.List;\n\n@Dao\npublic interface PermissionDao {\n\n  @Query(\"SELECT * FROM PermissionEntity\")\n  List<PermissionEntity> getAll();\n\n  @Query(\n      \"SELECT id FROM PermissionEntity \"\n          + \"WHERE pkgName IS :pkgName \"\n          + \"AND permName IS :permName \"\n          + \"AND isAppOps IS :isAppOp \"\n          + \"AND isPerUid IS :isPerUid \"\n          + \"AND userId IS :userId\")\n  int getId(String pkgName, String permName, boolean isAppOp, boolean isPerUid, int userId);\n\n  @Insert(onConflict = OnConflictStrategy.REPLACE)\n  void insertAll(PermissionEntity... entities);\n\n  @Query(\"DELETE FROM PermissionEntity WHERE pkgName IS :pkgName AND userId IS :userId\")\n  void deletePkg(String pkgName, int userId);\n\n  @Query(\n      \"DELETE FROM PermissionEntity \"\n          + \"WHERE pkgName IS :pkgName \"\n          + \"AND permName IS :permName \"\n          + \"AND isAppOps IS :isAppOp \"\n          + \"AND isPerUid IS :isPerUid \"\n          + \"AND userId IS :userId\")\n  void deletePerm(String pkgName, String permName, boolean isAppOp, boolean isPerUid, int userId);\n\n  @Query(\"DELETE FROM PermissionEntity\")\n  void deleteAll();\n\n  @Query(\"DELETE FROM PermissionEntity WHERE id IN (:ids)\")\n  void deletePerms(List<Integer> ids);\n\n  static void deletePerms(PermissionDao dao, List<Integer> ids) {\n    for (List<Integer> idList : Iterables.partition(ids, 999)) {\n      dao.deletePerms(idList);\n    }\n  }\n\n  @Query(\n      \"DELETE FROM PermissionEntity WHERE id NOT IN \"\n          + \"(SELECT MIN(id) FROM PermissionEntity \"\n          + \"GROUP BY pkgName, permName, isAppOps, isPerUid, userId)\")\n  void deleteDuplicates();\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/parser/permsdb/PermissionDatabase.java",
    "content": "package com.mirfatif.permissionmanagerx.parser.permsdb;\n\nimport androidx.room.Database;\nimport androidx.room.RoomDatabase;\n\n@Database(entities = PermissionEntity.class, version = 2, exportSchema = false)\npublic abstract class PermissionDatabase extends RoomDatabase {\n\n  public abstract PermissionDao permissionDao();\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/parser/permsdb/PermissionEntity.java",
    "content": "package com.mirfatif.permissionmanagerx.parser.permsdb;\n\nimport androidx.room.ColumnInfo;\nimport androidx.room.Entity;\nimport androidx.room.PrimaryKey;\n\n@Entity\npublic class PermissionEntity {\n\n  @PrimaryKey(autoGenerate = true)\n  public int id;\n\n  @ColumnInfo(name = \"pkgName\")\n  public String pkgName;\n\n  @ColumnInfo(name = \"permName\")\n  public String permName;\n\n  @ColumnInfo(name = \"state\")\n  public String state;\n\n  @ColumnInfo(name = \"isAppOps\")\n  public boolean isAppOps;\n\n  @ColumnInfo(name = \"isPerUid\")\n  public boolean isPerUid;\n\n  @ColumnInfo(name = \"userId\")\n  public int userId;\n\n  public PermissionEntity() {}\n\n  public PermissionEntity(\n      String pkgName, String permName, String state, boolean isAppOp, boolean isPerUid) {\n    this.pkgName = pkgName;\n    this.permName = permName;\n    this.state = state;\n    this.isAppOps = isAppOp;\n    this.isPerUid = isPerUid;\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/parser/permsdb/PermsDb.java",
    "content": "package com.mirfatif.permissionmanagerx.parser.permsdb;\n\nimport androidx.room.Room;\nimport androidx.room.migration.Migration;\nimport androidx.sqlite.db.SupportSQLiteDatabase;\nimport com.mirfatif.permissionmanagerx.app.App;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\nimport com.mirfatif.privtasks.util.bg.BgRunner;\nimport java.util.Collections;\nimport java.util.HashMap;\nimport java.util.List;\nimport java.util.Map;\n\npublic enum PermsDb {\n  INS;\n\n  private final PermissionDao mPermDb =\n      Room.databaseBuilder(App.getCxt(), PermissionDatabase.class, \"permissions.db\")\n          .addMigrations(new MigrationV1ToV2())\n          .build()\n          .permissionDao();\n\n  private static class MigrationV1ToV2 extends Migration {\n\n    public MigrationV1ToV2() {\n      super(1, 2);\n    }\n\n    public void migrate(SupportSQLiteDatabase database) {\n      database.execSQL(\n          \"ALTER TABLE PermissionEntity ADD COLUMN `isPerUid` INTEGER NOT NULL default 0\");\n      database.execSQL(\n          \"ALTER TABLE PermissionEntity ADD COLUMN `userId` INTEGER NOT NULL default 0\");\n    }\n  }\n\n  public PermissionDao getDb() {\n    return mPermDb;\n  }\n\n  private final Map<String, String> mRefs = Collections.synchronizedMap(new HashMap<>());\n\n  private boolean mRefsBuilt = false;\n\n  public boolean refsBuilt() {\n    return mRefsBuilt;\n  }\n\n  public boolean buildRefs() {\n    synchronized (mRefs) {\n      mRefs.clear();\n\n      String key;\n\n      List<PermissionEntity> entities;\n\n      try {\n        entities = mPermDb.getAll();\n      } catch (Exception e) { // InterruptedException\n        return false;\n      }\n\n      for (PermissionEntity entity : entities) {\n        key = createKey(entity.pkgName, entity.permName, entity.isAppOps, entity.isPerUid);\n\n        mRefs.put(key, entity.state);\n      }\n\n      mRefsBuilt = true;\n    }\n\n    BgRunner.execute(mPermDb::deleteDuplicates);\n\n    return true;\n  }\n\n  public static String createKey(\n      String pkgName, String permName, boolean isAppOp, boolean isPerUid) {\n    return pkgName + \"_\" + permName + \"_\" + isAppOp + \"_\" + isPerUid + \"_0\";\n  }\n\n  public void updateRefs(\n      String pkgName, String permName, String state, boolean isAppOp, boolean isPerUid) {\n    String key = createKey(pkgName, permName, isAppOp, isPerUid);\n    mRefs.remove(key);\n    if (state != null) {\n      mRefs.put(key, state);\n    }\n  }\n\n  public String getRef(String pkgName, String permName, boolean isAppOp, boolean isPerUid) {\n    isPerUid = isPerUid && MySettings.INS.useUniqueRefForAppOpUidMode();\n\n    String ref = mRefs.get(createKey(pkgName, permName, isAppOp, isPerUid));\n\n    if (ref == null && isPerUid) {\n      ref = mRefs.get(createKey(pkgName, permName, isAppOp, false));\n    }\n\n    return ref;\n  }\n\n  public void updateRefsDb(PermissionEntity... entities) {\n    for (PermissionEntity entity : entities) {\n      int id =\n          mPermDb.getId(\n              entity.pkgName, entity.permName, entity.isAppOps, entity.isPerUid, entity.userId);\n      if (id > 0) {\n        entity.id = id;\n      }\n    }\n\n    mPermDb.insertAll(entities);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/pkg/PackageActivity.java",
    "content": "package com.mirfatif.permissionmanagerx.pkg;\n\nimport static com.mirfatif.permissionmanagerx.util.ApiUtils.getString;\n\nimport android.app.Activity;\nimport android.content.Intent;\nimport android.os.Build.VERSION;\nimport android.os.Build.VERSION_CODES;\nimport android.os.SystemClock;\nimport android.text.TextUtils;\nimport android.view.Menu;\nimport android.view.MenuItem;\nimport android.view.View;\nimport androidx.activity.OnBackPressedCallback;\nimport androidx.appcompat.app.ActionBar;\nimport androidx.appcompat.app.AlertDialog;\nimport androidx.appcompat.app.AlertDialog.Builder;\nimport androidx.appcompat.widget.SearchView;\nimport androidx.recyclerview.widget.DividerItemDecoration;\nimport androidx.recyclerview.widget.LinearLayoutManager;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.app.App;\nimport com.mirfatif.permissionmanagerx.base.AlertDialogFragment;\nimport com.mirfatif.permissionmanagerx.databinding.ActivityPackageBinding;\nimport com.mirfatif.permissionmanagerx.fwk.FilterSettingsActivityM;\nimport com.mirfatif.permissionmanagerx.fwk.MainActivityM;\nimport com.mirfatif.permissionmanagerx.fwk.PackageActivityM;\nimport com.mirfatif.permissionmanagerx.main.MainActivity;\nimport com.mirfatif.permissionmanagerx.parser.AppOpsParser;\nimport com.mirfatif.permissionmanagerx.parser.Package;\nimport com.mirfatif.permissionmanagerx.parser.PackageParser;\nimport com.mirfatif.permissionmanagerx.parser.Permission;\nimport com.mirfatif.permissionmanagerx.parser.permsdb.PermissionEntity;\nimport com.mirfatif.permissionmanagerx.parser.permsdb.PermsDb;\nimport com.mirfatif.permissionmanagerx.pkg.PermissionAdapter.PermAdapterCallback;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\nimport com.mirfatif.permissionmanagerx.privs.DaemonHandler;\nimport com.mirfatif.permissionmanagerx.privs.DaemonIface;\nimport com.mirfatif.permissionmanagerx.util.ApiUtils;\nimport com.mirfatif.permissionmanagerx.util.StringUtils;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\nimport com.mirfatif.permissionmanagerx.util.UserUtils;\nimport com.mirfatif.permissionmanagerx.util.bg.LiveBgTask;\nimport com.mirfatif.permissionmanagerx.util.bg.LiveSchedTask;\nimport com.mirfatif.permissionmanagerx.util.bg.LiveSingleParamTask;\nimport com.mirfatif.permissionmanagerx.util.bg.LiveTasksQueueTyped;\nimport com.mirfatif.permissionmanagerx.util.bg.LiveUiTask;\nimport com.mirfatif.privtasks.util.bg.BgRunner;\nimport java.util.ArrayList;\nimport java.util.Collections;\nimport java.util.Comparator;\nimport java.util.List;\nimport java.util.Objects;\nimport java.util.concurrent.TimeUnit;\nimport java.util.stream.Collectors;\n\npublic class PackageActivity extends OnBackPressedCallback implements PermAdapterCallback {\n\n  private static final String TAG = \"PackageActivity\";\n\n  private static final String CLASS = PackageActivity.class.getName();\n  private static final String EXTRA_PKG_POSITION = CLASS + \".extra.PKG_POSITION\";\n  private static final String EXTRA_PERM_FILTER = CLASS + \".extra.PERM_FILTER\";\n\n  public final PackageActivityM mA;\n\n  private final LiveSchedTask mRefreshStopper;\n  private final LiveUiTask mPostPkgUpdateTask;\n  private final LiveUiTask mPostPermListUpdateTask;\n  private final LiveBgTask mPermListSortTask;\n\n  private String mPermFilter;\n  private boolean mFilterPerms = true;\n\n  public PackageActivity(PackageActivityM activity) {\n    super(true);\n    mA = activity;\n    mRefreshStopper =\n        new LiveSchedTask(\n            mA,\n            () -> mB.refreshLayout.setRefreshing(false),\n            500,\n            TimeUnit.MILLISECONDS,\n            true,\n            TAG + \"-RefreshStopper\");\n    mPostPkgUpdateTask = new LiveUiTask(mA, this::postPkgUpdate);\n    mPostPermListUpdateTask = new LiveUiTask(mA, this::postPermListUpdate);\n    mSearchExecutor =\n        new LiveSingleParamTask<>(mA, this::handleSearchQuery, TAG + \"-SearchExecutor\");\n    mPermListSortTask = new LiveBgTask(mA, this::sortPermList);\n  }\n\n  private Package mPkg;\n  private final List<Permission> mSortedPermList = Collections.synchronizedList(new ArrayList<>());\n  private PermissionAdapter mAdapter;\n  private ActivityPackageBinding mB;\n\n  public void onCreated() {\n    int pos = mA.getIntent().getIntExtra(EXTRA_PKG_POSITION, -1);\n    if (pos == -1 || (mPkg = PackageParser.INS.getPkg(pos)) == null) {\n      UiUtils.showToast(R.string.something_went_wrong);\n      mA.finishAfterTransition();\n      return;\n    }\n\n    mPkg.setPkgRemoved(false);\n\n    mB = ActivityPackageBinding.inflate(mA.getLayoutInflater());\n    mA.setContentView(mB);\n\n    ActionBar actionBar = mA.getSupportActionBar();\n    if (actionBar != null) {\n      actionBar.setTitle(mPkg.getLabel());\n    }\n\n    mAdapter = new PermissionAdapter(mA, this, mA);\n\n    mB.recyclerV.setAdapter(mAdapter);\n\n    LinearLayoutManager layoutManager =\n        new LinearLayoutManager(mA, LinearLayoutManager.VERTICAL, false);\n    mB.recyclerV.setLayoutManager(layoutManager);\n\n    mB.recyclerV.addItemDecoration(new DividerItemDecoration(mA, LinearLayoutManager.VERTICAL));\n\n    mPermFilter = mA.getIntent().getStringExtra(EXTRA_PERM_FILTER);\n\n    mPermListSortTask.execute();\n\n    mB.refreshLayout.setOnRefreshListener(() -> BgRunner.execute(this::updatePkg));\n\n    mA.getOnBackPressedDispatcher().addCallback(mA, this);\n  }\n\n  public boolean onCreateOptionsMenu(Menu menu) {\n    mA.getMenuInflater().inflate(R.menu.package_menu, menu);\n    if (VERSION.SDK_INT >= VERSION_CODES.P) {\n      menu.setGroupDividerEnabled(true);\n    }\n\n    menu.findItem(R.id.action_reset_app_ops).setVisible(AppOpsParser.INS.hasAppOps());\n    menu.findItem(R.id.action_show_all_perms).setChecked(!mFilterPerms);\n\n    MenuItem searchMenuItem = menu.findItem(R.id.action_search);\n    mSearchView = (SearchView) searchMenuItem.getActionView();\n    Objects.requireNonNull(mSearchView).setMaxWidth(Integer.MAX_VALUE);\n\n    mSearchView.setOnQueryTextListener(\n        new SearchView.OnQueryTextListener() {\n          public boolean onQueryTextSubmit(String query) {\n            submitPermList();\n            return true;\n          }\n\n          public boolean onQueryTextChange(String newText) {\n            submitPermList();\n            return true;\n          }\n        });\n\n    mSearchView.setOnQueryTextFocusChangeListener(\n        (v, hasFocus) -> {\n          if (!hasFocus && TextUtils.isEmpty(mSearchView.getQuery())) {\n            collapseSearchView();\n          }\n        });\n\n    mSearchView.setQueryHint(getString(R.string.search_menu_item));\n\n    menu.findItem(R.id.action_show_all_perms).setVisible(!MySettings.INS.isDeepSearching());\n\n    return true;\n  }\n\n  public boolean onPrepareOptionsMenu(Menu menu) {\n    boolean havePerms = !mSortedPermList.isEmpty();\n    menu.findItem(R.id.action_search).setVisible(havePerms);\n    menu.findItem(R.id.action_reset_app_ops).setVisible(havePerms);\n    menu.findItem(R.id.action_set_all_references).setVisible(havePerms);\n    menu.findItem(R.id.action_clear_references).setVisible(havePerms);\n    return true;\n  }\n\n  public boolean onOptionsItemSelected(MenuItem item) {\n    int itemId = item.getItemId();\n\n    if (itemId == R.id.action_reset_app_ops && isDaemonAlive()) {\n      AlertDialogFragment.show(mA, null, TAG_RESET_APP_OPS_CONFIRM);\n      return true;\n    }\n\n    if (itemId == R.id.action_set_all_references) {\n      AlertDialogFragment.show(mA, null, TAG_SET_REF_CONFIRM);\n      return true;\n    }\n\n    if (itemId == R.id.action_clear_references) {\n      AlertDialogFragment.show(mA, null, TAG_CLEAR_REF_CONFIRM);\n      return true;\n    }\n\n    if (itemId == R.id.action_show_all_perms) {\n      item.setChecked(!item.isChecked());\n      mFilterPerms = !item.isChecked();\n      BgRunner.execute(this::updatePkg);\n      return true;\n    }\n\n    return false;\n  }\n\n  public void onResume() {\n    BgRunner.execute(this::updatePkg);\n  }\n\n  public void handleOnBackPressed() {\n    if (mSearchView != null && !TextUtils.isEmpty(mSearchView.getQuery())) {\n      collapseSearchView();\n    } else {\n      mA.finishAfterTransition();\n    }\n  }\n\n  private static final String TAG_GRANT_ROOT_OR_ADB = CLASS + \".GRANT_ROOT_OR_ADB\";\n  private static final String TAG_RESET_APP_OPS_CONFIRM = CLASS + \".RESET_APP_OPS_CONFIRM\";\n  private static final String TAG_SET_REF_CONFIRM = CLASS + \".SET_REF_CONFIRM\";\n  private static final String TAG_CLEAR_REF_CONFIRM = CLASS + \".CLEAR_REF_CONFIRM\";\n\n  public AlertDialog createDialog(String tag) {\n    if (TAG_GRANT_ROOT_OR_ADB.equals(tag)) {\n      return new Builder(mA)\n          .setPositiveButton(\n              android.R.string.ok,\n              (d, which) -> {\n                mA.startActivity(\n                    new Intent(App.getCxt(), MainActivityM.class)\n                        .setAction(MainActivity.ACTION_SHOW_DRAWER)\n                        .setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT));\n                mA.finishAfterTransition();\n              })\n          .setNegativeButton(android.R.string.cancel, null)\n          .setTitle(R.string.privileges_title)\n          .setMessage(R.string.grant_root_or_adb_to_change_perms)\n          .create();\n    }\n\n    if (TAG_RESET_APP_OPS_CONFIRM.equals(tag)) {\n      return new Builder(mA)\n          .setPositiveButton(R.string.yes, (d, w) -> BgRunner.execute(this::resetAppOps))\n          .setNegativeButton(R.string.no, null)\n          .setTitle(mPkg.getLabel())\n          .setMessage(R.string.reset_app_ops_confirmation)\n          .create();\n    }\n\n    if (TAG_SET_REF_CONFIRM.equals(tag)) {\n      return new Builder(mA)\n          .setPositiveButton(R.string.yes, (d, w) -> BgRunner.execute(this::setAllReferences))\n          .setNegativeButton(R.string.no, null)\n          .setTitle(mPkg.getLabel())\n          .setMessage(R.string.set_references_confirmation)\n          .create();\n    }\n\n    if (TAG_CLEAR_REF_CONFIRM.equals(tag)) {\n      return new Builder(mA)\n          .setPositiveButton(R.string.yes, (d, w) -> BgRunner.execute(this::clearReferences))\n          .setNegativeButton(R.string.no, null)\n          .setTitle(mPkg.getLabel())\n          .setMessage(R.string.clear_references_confirmation)\n          .create();\n    }\n\n    return null;\n  }\n\n  public void onPermClick(Permission perm, int yLocation) {\n    new PermDetailDialog(this).show(perm, yLocation);\n  }\n\n  public void onPermLongClick(Permission perm) {\n    PermLongPressDialogFrag.show(perm, mPkg, mA.getSupportFragmentManager());\n  }\n\n  public void onPermSwitchToggle(Permission perm) {\n    if (perm.isAppOp()) {\n      onAppOpModeSelect(perm, Permission.getAppOpMode(!perm.isGranted()));\n    } else {\n      onManifestPermStateChanged(perm);\n    }\n  }\n\n  void updatePkg() {\n    if (!mPkg.isRemoved()) {\n      PackageParser.INS.updatePackage(mPkg, mFilterPerms);\n    }\n\n    if (!mPkg.isRemoved()) {\n      sortPermList();\n    }\n\n    mPostPkgUpdateTask.post(true);\n  }\n\n  private void postPkgUpdate() {\n    if (mPkg.isRemoved()) {\n      mA.finishAfterTransition();\n    }\n  }\n\n  private void sortPermList() {\n    mSortedPermList.clear();\n    mSortedPermList.addAll(mPkg.getPermList());\n    if (mFilterPerms && mPermFilter != null) {\n      synchronized (mSortedPermList) {\n        mSortedPermList.removeIf(perm -> !perm.getName().equals(mPermFilter));\n      }\n    }\n    mSortedPermList.sort(Comparator.comparingInt(Permission::getGroupId));\n    mPostPermListUpdateTask.post(true);\n  }\n\n  private void postPermListUpdate() {\n    submitPermList();\n    checkEmptyPermissionsList();\n  }\n\n  private void checkEmptyPermissionsList() {\n    if (mSortedPermList.isEmpty()) {\n      String message;\n      if (mPkg.getTotalPermCount() != 0) {\n        int cnt = mPkg.getTotalPermCount();\n        message = ApiUtils.getQtyString(R.plurals.count_permissions_filtered_out, cnt, cnt);\n        mB.settingsButton.setOnClickListener(\n            v -> mA.startActivity(new Intent(App.getCxt(), FilterSettingsActivityM.class)));\n        mB.settingsButton.setVisibility(View.VISIBLE);\n      } else {\n        message = getString(R.string.requested_no_permissions);\n        mB.settingsButton.setVisibility(View.GONE);\n      }\n      mB.noPermsView.setText(message);\n      mB.noPermsView.setVisibility(View.VISIBLE);\n      mB.refreshLayout.setVisibility(View.GONE);\n    } else {\n      mB.refreshLayout.setVisibility(View.VISIBLE);\n      mB.noPermsView.setVisibility(View.GONE);\n      mB.settingsButton.setVisibility(View.GONE);\n    }\n    mA.invalidateOptionsMenu();\n  }\n\n  private SearchView mSearchView;\n\n  private void collapseSearchView() {\n    if (mSearchView != null) {\n      mSearchView.onActionViewCollapsed();\n      mSearchView.setQuery(null, false);\n    }\n    submitPermList();\n  }\n\n  private final LiveSingleParamTask<String> mSearchExecutor;\n\n  private void submitPermList() {\n    CharSequence queryText = mSearchView == null ? null : mSearchView.getQuery();\n    if (queryText == null || TextUtils.isEmpty(queryText)) {\n      submitList(mSortedPermList);\n    } else {\n      mB.refreshLayout.setRefreshing(true);\n      mSearchExecutor.cancelAndSubmit(queryText.toString(), true);\n    }\n  }\n\n  private void handleSearchQuery(String queryText) {\n    synchronized (mSortedPermList) {\n      List<Permission> permList =\n          mSortedPermList.parallelStream()\n              .filter(perm -> perm.contains(queryText, false))\n              .collect(Collectors.toList());\n\n      if (!Thread.interrupted()) {\n        submitList(permList);\n      }\n    }\n  }\n\n  private void submitList(List<Permission> permList) {\n    mAdapter.submitList(new ArrayList<>(permList));\n    mRefreshStopper.cancelAndSchedule();\n  }\n\n  private boolean isDaemonAlive() {\n    if (DaemonHandler.INS.isDaemonAlive()) {\n      return true;\n    }\n    AlertDialogFragment.show(mA, null, TAG_GRANT_ROOT_OR_ADB);\n    return false;\n  }\n\n  private String createDangPermChangeWarn() {\n    if (MySettings.INS.warnDangerousPermChanges()) {\n      if (mPkg.isFrameworkApp()) {\n        return getString(R.string.change_perms_warning, getString(R.string.framework));\n      } else if (mPkg.isSystemApp()) {\n        return getString(R.string.change_perms_warning, getString(R.string.system));\n      }\n    }\n    return null;\n  }\n\n  private void setAllReferences() {\n    List<PermissionEntity> entities = new ArrayList<>();\n    buildRefsFromCurrentPermStates(mPkg, mSortedPermList, entities);\n\n    PermsDb.INS.updateRefsDb(entities.toArray(new PermissionEntity[0]));\n    for (PermissionEntity e : entities) {\n      PermsDb.INS.updateRefs(e.pkgName, e.permName, e.state, e.isAppOps, e.isPerUid);\n    }\n\n    updatePkg();\n  }\n\n  public static void buildRefsFromCurrentPermStates(\n      Package pkg, List<Permission> permList, List<PermissionEntity> entities) {\n    for (Permission perm : permList) {\n      if (!Boolean.TRUE.equals(perm.isReferenced()) && perm.isChangeable()) {\n        entities.add(\n            new PermissionEntity(\n                pkg.getName(),\n                perm.getName(),\n                perm.createRefStringForDb(),\n                perm.isAppOp(),\n                MySettings.INS.useUniqueRefForAppOpUidMode() && perm.isPerUid()));\n      }\n    }\n  }\n\n  private void clearReferences() {\n    PermsDb.INS.getDb().deletePkg(mPkg.getName(), 0);\n\n    synchronized (mSortedPermList) {\n      mSortedPermList.forEach(\n          perm ->\n              PermsDb.INS.updateRefs(\n                  mPkg.getName(),\n                  perm.getName(),\n                  null,\n                  perm.isAppOp(),\n                  MySettings.INS.useUniqueRefForAppOpUidMode() && perm.isPerUid()));\n    }\n\n    updatePkg();\n  }\n\n  void onAppOpModeSelect(Permission appOp, int mode) {\n    if (isDaemonAlive()) {\n      new LiveTasksQueueTyped<>(mA, () -> getAffectedPkgCount(appOp))\n          .onUiWith(count -> onAppOpModeSelect(appOp, mode, count))\n          .start();\n    }\n  }\n\n  private Integer getAffectedPkgCount(Permission appOp) {\n    if (!appOp.isPerUid()) {\n      return 0;\n    }\n\n    String[] pkgs = UserUtils.getPackagesForUid(mPkg.getUid());\n    return pkgs == null ? null : pkgs.length;\n  }\n\n  private void onAppOpModeSelect(Permission appOp, int mode, Integer affectedPkgCount) {\n    if (affectedPkgCount == null) {\n      return;\n    }\n\n    String warn = createDangPermChangeWarn();\n\n    if (warn == null && (!appOp.isPerUid() || affectedPkgCount <= 1)) {\n      BgRunner.execute(() -> setAppOpMode(appOp, mode));\n      return;\n    }\n\n    StringBuilder msg = new StringBuilder();\n    if (affectedPkgCount > 1) {\n      int count = affectedPkgCount - 1;\n      msg.append(ApiUtils.getQtyString(R.plurals.uid_mode_app_ops_warning, count, count));\n      if (warn == null) {\n        msg.append(\"\\n\").append(getString(R.string._continue));\n      }\n    }\n\n    if (warn != null) {\n      if (msg.length() != 0) {\n        msg.append(\"\\n\");\n      }\n      msg.append(warn);\n    }\n\n    Builder builder =\n        new Builder(mA)\n            .setTitle(R.string.warning)\n            .setMessage(StringUtils.breakParas(msg.toString()))\n            .setPositiveButton(\n                R.string.yes, (d, w) -> BgRunner.execute(() -> setAppOpMode(appOp, mode)))\n            .setNegativeButton(R.string.no, null);\n\n    if (affectedPkgCount <= 1) {\n      builder.setNeutralButton(\n          R.string.do_not_remind,\n          (d, w) -> {\n            BgRunner.execute(() -> setAppOpMode(appOp, mode));\n            MySettings.INS.disableWarnDangerousPermChanges();\n          });\n    }\n\n    AlertDialogFragment.show(mA, builder.create(), \"PERM_CHANGE_WARNING\");\n  }\n\n  private void setAppOpMode(Permission appOp, int mode) {\n    if (!AppOpsParser.INS.isValidAppOpMode(mode)) {\n      UiUtils.showToast(R.string.something_went_wrong);\n      return;\n    }\n\n    appOp.setAppOpMode(mPkg, mode);\n\n    updatePkg();\n    if (mPkg.isRemoved()) {\n      return;\n    }\n\n    SystemClock.sleep(1000);\n    updatePkg();\n\n    synchronized (mSortedPermList) {\n      for (Permission perm : mSortedPermList) {\n        if (perm.isSamePerm(appOp)) {\n          if (perm.getAppOpMode() == appOp.getAppOpMode()) {\n            UiUtils.showToast(R.string.app_op_mode_not_chaged_toast);\n          }\n          break;\n        }\n      }\n    }\n  }\n\n  private void resetAppOps() {\n    DaemonIface.INS.resetAppOps(UserUtils.getUserId(mPkg.getUid()), mPkg.getName());\n    updatePkg();\n  }\n\n  void onManifestPermStateChanged(Permission perm) {\n    if (!isDaemonAlive()) {\n      return;\n    }\n\n    String warn = createDangPermChangeWarn();\n\n    if (warn == null) {\n      BgRunner.execute(() -> setPermission(perm));\n      return;\n    }\n\n    AlertDialog dialog =\n        new Builder(mA)\n            .setPositiveButton(\n                R.string.yes, (d, which) -> BgRunner.execute(() -> setPermission(perm)))\n            .setNegativeButton(R.string.no, null)\n            .setNeutralButton(\n                R.string.do_not_remind,\n                (d, which) -> {\n                  MySettings.INS.disableWarnDangerousPermChanges();\n                  BgRunner.execute(() -> setPermission(perm));\n                })\n            .setTitle(R.string.warning)\n            .setMessage(StringUtils.breakParas(warn))\n            .create();\n\n    AlertDialogFragment.show(mA, dialog, \"PERM_CHANGE_WARNING\");\n  }\n\n  private void setPermission(Permission perm) {\n    perm.toggleState(mPkg);\n    updatePkg();\n  }\n\n  public static void start(Activity activity, Package pkg, String permFilter) {\n    Intent intent = new Intent(App.getCxt(), PackageActivityM.class);\n    intent.putExtra(EXTRA_PKG_POSITION, PackageParser.INS.getPkgPosition(pkg));\n    if (permFilter != null) {\n      intent.putExtra(EXTRA_PERM_FILTER, permFilter);\n    }\n    activity.startActivity(intent);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/pkg/PermDetailDialog.java",
    "content": "package com.mirfatif.permissionmanagerx.pkg;\n\nimport android.view.Gravity;\nimport android.view.View;\nimport android.view.Window;\nimport android.view.WindowManager;\nimport androidx.appcompat.app.AlertDialog;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.base.AlertDialogFragment;\nimport com.mirfatif.permissionmanagerx.databinding.PermDetailsDialogBinding;\nimport com.mirfatif.permissionmanagerx.fwk.MyLinearLayout;\nimport com.mirfatif.permissionmanagerx.parser.Permission;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\nimport java.util.ArrayList;\nimport java.util.List;\nimport java.util.concurrent.atomic.AtomicInteger;\n\nclass PermDetailDialog {\n\n  private final PackageActivity mA;\n\n  PermDetailDialog(PackageActivity act) {\n    mA = act;\n  }\n\n  private int mPreCheckedIndex, mCheckedIndex;\n  private final List<Integer> mAppOpModes = new ArrayList<>();\n\n  void show(Permission perm, int yLocation) {\n    PermDetailsDialogBinding b = PermDetailsDialogBinding.inflate(mA.mA.getLayoutInflater());\n\n    CharSequence name = perm.getName();\n    b.permNameV.setText(name);\n    b.permNameV.setSelected(true);\n\n    if (!name.equals(perm.getName())) {\n      b.permNameSubV.setText(perm.getName());\n      b.permNameSubV.setSelected(true);\n      b.permNameSubV.setVisibility(View.VISIBLE);\n    }\n\n    if (perm.isAppOp() && perm.hasDependsOnPerm()) {\n      b.dependsPermNameV.setText(perm.getDependsOnName());\n      b.dependsPermNameV.setSelected(true);\n      b.dependsPermNameCont.setVisibility(View.VISIBLE);\n    }\n\n    b.protLevelV.setText(perm.getLocalizedProtLevelString());\n\n    List<CharSequence> permList = new ArrayList<>();\n    AtomicInteger preCheckedIndex = new AtomicInteger();\n\n    if (perm.isChangeable()) {\n      if (perm.isAppOp()) {\n        Permission.getLocalizedAppOpModeNames(\n            permList, mAppOpModes, preCheckedIndex, perm.getAppOpMode(), perm.getName());\n      } else {\n        Permission.getLocalizedPermStateNames(\n            permList, new ArrayList<>(), preCheckedIndex, perm.isGranted());\n      }\n    }\n\n    mCheckedIndex = mPreCheckedIndex = preCheckedIndex.get();\n\n    AlertDialog.Builder builder = new AlertDialog.Builder(mA.mA).setCustomTitle(b.getRoot());\n\n    if (!permList.isEmpty()) {\n      builder\n          .setPositiveButton(R.string.ok_button, (d, w) -> setPerm(perm))\n          .setNegativeButton(R.string.cancel_button, null)\n          .setSingleChoiceItems(\n              permList.toArray(new CharSequence[0]),\n              mPreCheckedIndex,\n              (d, which) -> mCheckedIndex = which);\n    } else {\n      MyLinearLayout v = b.getRoot();\n      v.setPadding(v.getPaddingLeft(), v.getPaddingTop(), v.getPaddingRight(), UiUtils.dpToPx(20));\n    }\n\n    AlertDialog dialog = builder.create();\n\n    Window dialogWindow = dialog.getWindow();\n    if (dialogWindow != null) {\n      WindowManager.LayoutParams layoutParams = dialogWindow.getAttributes();\n      layoutParams.gravity = Gravity.TOP;\n      layoutParams.y = yLocation;\n    }\n\n    AlertDialogFragment.show(mA.mA, dialog, \"PERM_DETAILS\");\n  }\n\n  private void setPerm(Permission perm) {\n    if (mPreCheckedIndex == mCheckedIndex) {\n      return;\n    }\n    if (!perm.isAppOp()) {\n      mA.onManifestPermStateChanged(perm);\n    } else {\n      mA.onAppOpModeSelect(perm, mAppOpModes.get(mCheckedIndex));\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/pkg/PermLongPressDialogFrag.java",
    "content": "package com.mirfatif.permissionmanagerx.pkg;\n\nimport android.app.Dialog;\nimport android.content.Context;\nimport android.os.Bundle;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport androidx.fragment.app.FragmentManager;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.base.BottomSheetDialogFrag;\nimport com.mirfatif.permissionmanagerx.databinding.PermLongPressDialogBinding;\nimport com.mirfatif.permissionmanagerx.fwk.PackageActivityM;\nimport com.mirfatif.permissionmanagerx.parser.Package;\nimport com.mirfatif.permissionmanagerx.parser.PackageParser;\nimport com.mirfatif.permissionmanagerx.parser.Permission;\nimport com.mirfatif.permissionmanagerx.parser.permsdb.PermissionEntity;\nimport com.mirfatif.permissionmanagerx.parser.permsdb.PermsDb;\nimport com.mirfatif.permissionmanagerx.prefs.ExcFiltersData;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\nimport com.mirfatif.permissionmanagerx.util.StringUtils;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\nimport com.mirfatif.privtasks.util.bg.BgRunner;\n\npublic class PermLongPressDialogFrag extends BottomSheetDialogFrag {\n\n  private final Permission mPerm;\n  private final Package mPkg;\n\n  PermLongPressDialogFrag(Permission perm, Package pkg) {\n    mPerm = perm;\n    mPkg = pkg;\n  }\n\n  public PermLongPressDialogFrag() {\n    this(null, null);\n  }\n\n  private PackageActivityM mA;\n\n  public void onAttach(Context context) {\n    super.onAttach(context);\n    mA = (PackageActivityM) getActivity();\n  }\n\n  public View onCreateView(\n      LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {\n\n    if (mPerm == null || mPkg == null) {\n      return null;\n    }\n\n    PermLongPressDialogBinding b = PermLongPressDialogBinding.inflate(mA.getLayoutInflater());\n\n    CharSequence label = mPerm.getName();\n\n    b.permLabelV.setText(label);\n    b.permLabelV.setSelected(true);\n\n    if (!label.equals(mPerm.getName())) {\n      b.permNameV.setText(mPerm.getName());\n      b.permNameV.setSelected(true);\n      b.permNameV.setVisibility(View.VISIBLE);\n    }\n\n    if (ExcFiltersData.INS.canBeExcluded(mPerm)) {\n      b.excludePerm.setOnClickListener(\n          v -> {\n            dismissAllowingStateLoss();\n            BgRunner.execute(this::excludePerm);\n          });\n    } else {\n      b.excludePerm.setEnabled(false);\n    }\n\n    if (mPerm.isChangeable()) {\n      boolean isReferenced = Boolean.TRUE.equals(mPerm.isReferenced());\n      String permState = mPerm.createRefStringForDb();\n\n      if (isReferenced) {\n        b.refButton.setText(R.string.clear_reference);\n      } else {\n        String permStateStr = mPerm.getLocalizedPermStateName();\n        if (permStateStr != null) {\n          b.refButton.setText(\n              StringUtils.htmlToString(getString(R.string.set_perm_state_reference, permStateStr)));\n        } else {\n          UiUtils.showToast(R.string.something_went_wrong);\n        }\n      }\n\n      b.refButton.setOnClickListener(\n          v -> {\n            dismissAllowingStateLoss();\n            BgRunner.execute(() -> setOrClearRef(isReferenced, permState));\n          });\n    } else {\n      b.refButton.setText(R.string.set_reference);\n      b.refButton.setEnabled(false);\n    }\n\n    return b.getRoot();\n  }\n\n  public Dialog onCreateDialog(Bundle savedInstanceState) {\n    if (mPerm == null) {\n      dismissAllowingStateLoss();\n    }\n    return super.onCreateDialog(savedInstanceState);\n  }\n\n  private void excludePerm() {\n    MySettings.INS.addPermToExcludedPerms(mPerm.getName());\n    mA.mA.updatePkg();\n\n    PackageParser.INS.updatePkgList();\n  }\n\n  private void setOrClearRef(boolean isReferenced, String permState) {\n    if (isReferenced) {\n      boolean isPerUid = MySettings.INS.useUniqueRefForAppOpUidMode() && mPerm.isPerUid();\n      PermsDb.INS.getDb().deletePerm(mPkg.getName(), mPerm.getName(), mPerm.isAppOp(), isPerUid, 0);\n\n      PermsDb.INS.updateRefs(mPkg.getName(), mPerm.getName(), null, mPerm.isAppOp(), isPerUid);\n\n      mA.mA.updatePkg();\n    } else {\n      setRef(mPkg, mPerm, permState);\n      mA.mA.updatePkg();\n    }\n  }\n\n  static void setRef(Package pkg, Permission perm, String state) {\n    boolean isPerUid = MySettings.INS.useUniqueRefForAppOpUidMode() && perm.isPerUid();\n    PermissionEntity entity =\n        new PermissionEntity(pkg.getName(), perm.getName(), state, perm.isAppOp(), isPerUid);\n\n    PermsDb.INS.updateRefsDb(entity);\n\n    PermsDb.INS.updateRefs(pkg.getName(), perm.getName(), state, perm.isAppOp(), isPerUid);\n  }\n\n  public static void show(Permission perm, Package pkg, FragmentManager fm) {\n    if (!ExcFiltersData.INS.canBeExcluded(perm) && !perm.isChangeable()) {\n      UiUtils.showToast(R.string.no_action_available);\n    } else {\n      new PermLongPressDialogFrag(perm, pkg).show(fm, \"PERM_OPTIONS\");\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/pkg/PermissionAdapter.java",
    "content": "package com.mirfatif.permissionmanagerx.pkg;\n\nimport static com.mirfatif.permissionmanagerx.util.ApiUtils.getString;\n\nimport android.app.AppOpsManager;\nimport android.content.Context;\nimport android.graphics.Color;\nimport android.text.style.TextAppearanceSpan;\nimport android.util.TypedValue;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.View.OnClickListener;\nimport android.view.View.OnLongClickListener;\nimport android.view.ViewGroup;\nimport android.widget.TextView;\nimport androidx.core.graphics.ColorUtils;\nimport androidx.lifecycle.LifecycleOwner;\nimport androidx.recyclerview.widget.DiffUtil;\nimport androidx.recyclerview.widget.RecyclerView;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.base.MyListAdapter;\nimport com.mirfatif.permissionmanagerx.databinding.RvItemPermBinding;\nimport com.mirfatif.permissionmanagerx.main.PackageAdapter;\nimport com.mirfatif.permissionmanagerx.parser.Permission;\nimport com.mirfatif.permissionmanagerx.pkg.PermissionAdapter.ItemViewHolder;\nimport com.mirfatif.permissionmanagerx.util.StringUtils;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\n\npublic class PermissionAdapter extends MyListAdapter<Permission, ItemViewHolder> {\n\n  private static final String TAG = \"PermissionAdapter\";\n\n  private final PermAdapterCallback mCallback;\n\n  private final Integer mRedTextColor;\n  private final TextAppearanceSpan mRedTextSpan;\n  private final float mTextSize;\n\n  public PermissionAdapter(Context context, PermAdapterCallback callback, LifecycleOwner owner) {\n    super(new DiffUtilItemCallBack(), owner, TAG);\n    mCallback = callback;\n\n    TextView tv = new TextView(context);\n    mRedTextColor = ColorUtils.blendARGB(tv.getCurrentTextColor(), Color.RED, 0.75f);\n    mRedTextSpan = UiUtils.getTextHighlightSpan(mRedTextColor);\n    mTextSize = tv.getTextSize();\n  }\n\n  public ItemViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {\n    LayoutInflater inflater = LayoutInflater.from(parent.getContext());\n    RvItemPermBinding b = RvItemPermBinding.inflate(inflater, parent, false);\n    return new ItemViewHolder(b);\n  }\n\n  public void onBindViewHolder(ItemViewHolder holder, int position) {\n    holder.bind(position);\n  }\n\n  class ItemViewHolder extends RecyclerView.ViewHolder\n      implements OnClickListener, OnLongClickListener {\n\n    private final RvItemPermBinding mB;\n\n    public ItemViewHolder(RvItemPermBinding binding) {\n      super(binding.getRoot());\n      mB = binding;\n\n      binding.getRoot().setOnClickListener(this);\n      binding.getRoot().setOnLongClickListener(this);\n\n      mB.appOpModeV.setTextSize(TypedValue.COMPLEX_UNIT_PX, mTextSize - mTextSize * 10 / 100);\n      mB.appOpModeSubV.setTextSize(TypedValue.COMPLEX_UNIT_PX, mTextSize - mTextSize * 20 / 100);\n    }\n\n    public void bind(int pos) {\n      Permission perm;\n      if (pos == RecyclerView.NO_POSITION || (perm = getItem(pos)) == null) {\n        return;\n      }\n\n      mB.flag.setVisibility(perm.isAppOp() ? View.INVISIBLE : View.VISIBLE);\n\n      mB.appOpsRefStateV.setVisibility(View.GONE);\n      if (perm.isReferenced() == null) {\n        mB.refIndicationV.setBackgroundColor(PackageAdapter.ORANGE);\n      } else if (Boolean.FALSE.equals(perm.isReferenced())) {\n        mB.refIndicationV.setBackgroundColor(Color.RED);\n        if (perm.isAppOp()) {\n          String state = Permission.getLocalizedAppOpModeName(perm.getReference());\n          mB.appOpsRefStateV.setText(\n              StringUtils.htmlToString(getString(R.string.should_be, state)));\n          mB.appOpsRefStateV.setVisibility(View.VISIBLE);\n        }\n      } else {\n        mB.refIndicationV.setBackgroundColor(Color.GREEN);\n      }\n\n      mB.iconV.setImageResource(perm.getIconResId());\n\n      mB.permNameV.setText(perm.getPermNameString());\n      mB.appOpsTimeV.setVisibility(View.GONE);\n\n      if (perm.isCritical() && perm.isChangeable()) {\n        mB.protLevelV.setText(\n            StringUtils.getHighlightString(\n                perm.getLocalizedProtLevelString(),\n                mRedTextSpan,\n                true,\n                getString(R.string.prot_lvl_fixed),\n                getString(R.string.prot_lvl_privileged)));\n      } else {\n        mB.protLevelV.setText(perm.getLocalizedProtLevelString());\n      }\n\n      mB.permStateSwitch.setChecked(perm.isGranted());\n      mB.permStateSwitch.setEnabled(perm.isChangeable());\n      if (perm.isChangeable()) {\n        mB.permStateSwitch.setOnClickListener(\n            v -> {\n              mB.permStateSwitch.setChecked(perm.isGranted());\n              mCallback.onPermSwitchToggle(perm);\n            });\n      } else {\n        mB.permStateSwitch.setOnClickListener(null);\n      }\n\n      if (perm.isAppOp()) {\n        if (perm.hasDependsOnPerm()) {\n          mB.permStateCont.setVisibility(View.GONE);\n        } else {\n          mB.permStateCont.setVisibility(View.VISIBLE);\n\n          int mode = perm.getAppOpMode();\n\n          if (mode != AppOpsManager.MODE_ALLOWED && mode != AppOpsManager.MODE_IGNORED) {\n            mB.appOpModeV.setVisibility(View.VISIBLE);\n            mB.appOpModeV.setText(perm.getLocalizedPermStateName());\n          } else {\n            mB.appOpModeV.setVisibility(View.GONE);\n          }\n\n          if (perm.hasUnknownOpMode()) {\n            mB.appOpModeSubV.setVisibility(View.VISIBLE);\n            mB.appOpModeSubV.setText(R.string.app_op_mode_unknown);\n          } else if (!perm.isAppOpModeSet()) {\n            mB.appOpModeSubV.setVisibility(View.VISIBLE);\n            mB.appOpModeSubV.setText(R.string.app_op_mode_not_set);\n          } else {\n            mB.appOpModeSubV.setVisibility(View.GONE);\n          }\n        }\n\n        String time = perm.getAppOpAccessTime();\n        if (time != null) {\n          mB.appOpsTimeV.setText(time);\n          mB.appOpsTimeV.setTextColor(mRedTextColor);\n          mB.appOpsTimeV.setVisibility(View.VISIBLE);\n        }\n      } else {\n        if (!perm.hasProviderPkg()) {\n          mB.permStateCont.setVisibility(View.GONE);\n        } else {\n          mB.permStateCont.setVisibility(View.VISIBLE);\n          mB.appOpModeV.setVisibility(View.GONE);\n          mB.appOpModeSubV.setVisibility(View.GONE);\n        }\n      }\n    }\n\n    public void onClick(View v) {\n      int pos = getBindingAdapterPosition();\n      Permission perm;\n      if (pos != RecyclerView.NO_POSITION && (perm = getItem(pos)) != null) {\n        int[] location = new int[2];\n        v.getLocationInWindow(location);\n        mCallback.onPermClick(perm, location[1] - 2 * v.getHeight());\n      }\n    }\n\n    public boolean onLongClick(View v) {\n      int pos = getBindingAdapterPosition();\n      Permission perm;\n      if (pos != RecyclerView.NO_POSITION && (perm = getItem(pos)) != null) {\n        mCallback.onPermLongClick(perm);\n      }\n      return true;\n    }\n  }\n\n  private static class DiffUtilItemCallBack extends DiffUtil.ItemCallback<Permission> {\n\n    public boolean areItemsTheSame(Permission oldItem, Permission newItem) {\n      return oldItem.getName().equals(newItem.getName());\n    }\n\n    public boolean areContentsTheSame(Permission oldItem, Permission newItem) {\n      return oldItem.areContentsTheSame(newItem);\n    }\n  }\n\n  public interface PermAdapterCallback {\n\n    void onPermClick(Permission perm, int yLocation);\n\n    void onPermLongClick(Permission perm);\n\n    void onPermSwitchToggle(Permission perm);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/prefs/AppUpdate.java",
    "content": "package com.mirfatif.permissionmanagerx.prefs;\n\nimport static com.mirfatif.permissionmanagerx.util.ApiUtils.getString;\n\nimport android.app.NotificationChannel;\nimport android.app.NotificationManager;\nimport android.app.PendingIntent;\nimport android.content.Intent;\nimport android.net.Uri;\nimport android.os.Build.VERSION;\nimport android.os.Build.VERSION_CODES;\nimport androidx.annotation.Nullable;\nimport androidx.core.app.NotificationCompat;\nimport androidx.core.app.NotificationCompat.Builder;\nimport androidx.core.app.NotificationManagerCompat;\nimport com.mirfatif.permissionmanagerx.BuildConfig;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.app.App;\nimport com.mirfatif.permissionmanagerx.util.ApiUtils;\nimport com.mirfatif.permissionmanagerx.util.NotifUtils;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\nimport com.mirfatif.privtasks.util.MyLog;\nimport java.io.BufferedReader;\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.io.InputStreamReader;\nimport java.net.HttpURLConnection;\nimport java.net.URL;\nimport org.json.JSONArray;\nimport org.json.JSONException;\n\npublic class AppUpdate {\n\n  private static final String TAG = \"AppUpdate\";\n\n  private static final String URL =\n      \"https://api.github.com/repos/mirfatif/PermissionManagerX/releases\";\n  private static final String NAME_FIELD = \"name\";\n  private static final String FOSS_SUFFIX = \"-foss\";\n\n  private AppUpdate() {}\n\n  public static AppUpdateResult check(boolean notify) {\n    if (notify && !MySettings.INS.shouldCheckForUpdates()) {\n      return null;\n    }\n\n    boolean checkFailed = false;\n\n    try {\n      String oldVerStr = BuildConfig.VERSION_NAME;\n      int oldVer = getVersion(oldVerStr);\n\n      String newVerStr = getLatestFossVersion();\n      int newVer = getVersion(newVerStr);\n\n      boolean oldIsBeta = oldVerStr.contains(\"-beta\");\n      boolean newIsBeta = newVerStr.contains(\"-beta\");\n\n      if (newVer > oldVer + 1\n          || (newVer > oldVer && (!newIsBeta || (newIsBeta && oldIsBeta)))\n          || (newVer == oldVer\n              && ((oldIsBeta && !newIsBeta)\n                  || (oldIsBeta\n                      && newIsBeta\n                      && getBetaSubVersion(newVerStr) > getBetaSubVersion(oldVerStr))))) {\n        MyLog.i(TAG, \"check\", \"New update is available: \" + oldVerStr + \" -> \" + newVerStr);\n      } else if (newVer > oldVer && !oldIsBeta && newIsBeta) {\n        MyLog.i(TAG, \"check\", \"New update is available: \" + oldVerStr + \" -> \" + newVerStr);\n        if (notify) {\n          return null;\n        }\n      } else {\n        MyLog.i(TAG, \"check\", \"App is up-to-date: \" + oldVerStr + \" -> \" + newVerStr);\n        return null;\n      }\n\n      if (notify && ApiUtils.hasNotifPerm()) {\n        showNotification(newVerStr);\n      }\n\n      return new AppUpdateResult(false, newVerStr);\n    } catch (IOException | JSONException | NumberFormatException e) {\n      MyLog.e(TAG, \"check\", e.toString());\n      checkFailed = true;\n      return new AppUpdateResult(true, null);\n    } finally {\n      if (notify && !checkFailed) {\n        MySettings.INS.setCheckForUpdatesTs(System.currentTimeMillis());\n      }\n    }\n  }\n\n  private static int getVersion(String version) throws NumberFormatException {\n    return Integer.parseInt(version.substring(1, 5).replace(\".\", \"\"));\n  }\n\n  private static int getBetaSubVersion(String version) throws NumberFormatException {\n    version = version.replaceFirst(\".*-beta\", \"\");\n    for (int i = 0; i < version.length(); i++) {\n      char c = version.charAt(i);\n      if (c < '0' || c > '9') {\n        version = version.substring(0, i);\n        break;\n      }\n    }\n    return Integer.parseInt(version);\n  }\n\n  private static String getLatestFossVersion() throws IOException, JSONException {\n    HttpURLConnection connection = null;\n    InputStream inputStream = null;\n    try {\n      connection = (HttpURLConnection) new URL(URL).openConnection();\n      connection.setConnectTimeout(60000);\n      connection.setReadTimeout(60000);\n      connection.setUseCaches(false);\n\n      int status = connection.getResponseCode();\n      if (status != HttpURLConnection.HTTP_OK) {\n        throw new IOException(\n            \"Response code: \"\n                + connection.getResponseCode()\n                + \", msg: \"\n                + connection.getResponseMessage());\n      }\n\n      inputStream = connection.getInputStream();\n      BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));\n      StringBuilder builder = new StringBuilder();\n      String line;\n      while ((line = reader.readLine()) != null) {\n        builder.append(line);\n      }\n\n      var json = new JSONArray(builder.toString());\n      String name;\n      for (int i = 0; i < json.length(); i++) {\n        name = json.getJSONObject(i).getString(NAME_FIELD);\n        if (name.endsWith(FOSS_SUFFIX)) {\n          return name;\n        }\n      }\n      throw new JSONException(\"No foss release found\");\n    } finally {\n      try {\n        if (inputStream != null) {\n          inputStream.close();\n        }\n      } catch (IOException ignored) {\n      }\n      if (connection != null) {\n        connection.disconnect();\n      }\n    }\n  }\n\n  private static void showNotification(String version) {\n    final String CHANNEL_ID = \"channel_app_update\";\n    final String CHANNEL_NAME = getString(R.string.channel_app_update);\n    final int UNIQUE_ID = ApiUtils.getInt(R.integer.channel_app_update);\n\n    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(getString(R.string.source_url)));\n    PendingIntent pi =\n        PendingIntent.getActivity(App.getCxt(), UNIQUE_ID, intent, NotifUtils.PI_FLAGS);\n\n    NotificationManagerCompat mNotificationManager = NotificationManagerCompat.from(App.getCxt());\n\n    NotificationChannel channel = mNotificationManager.getNotificationChannel(CHANNEL_ID);\n    if (channel == null && VERSION.SDK_INT >= VERSION_CODES.O) {\n      channel =\n          new NotificationChannel(CHANNEL_ID, CHANNEL_NAME, NotificationManager.IMPORTANCE_HIGH);\n      mNotificationManager.createNotificationChannel(channel);\n    }\n\n    Builder notificationBuilder = new Builder(App.getCxt(), CHANNEL_ID);\n    notificationBuilder\n        .setSmallIcon(R.drawable.notification_icon)\n        .setColor(UiUtils.getAccentColor())\n        .setContentTitle(getString(R.string.new_version_available))\n        .setContentText(getString(R.string.tap_to_download) + \" \" + version)\n        .setContentIntent(pi)\n        .setDefaults(NotificationCompat.DEFAULT_LIGHTS)\n        .setPriority(NotificationCompat.PRIORITY_HIGH)\n        .setAutoCancel(true)\n        .addAction(0, getString(R.string.download), pi);\n\n    NotifUtils.notify(UNIQUE_ID, notificationBuilder.build());\n  }\n\n  public static class AppUpdateResult {\n\n    public final boolean failed;\n    @Nullable public final String version;\n\n    private AppUpdateResult(boolean failed, @Nullable String version) {\n      this.failed = failed;\n      this.version = version;\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/prefs/ExcFiltersData.java",
    "content": "package com.mirfatif.permissionmanagerx.prefs;\n\nimport static com.mirfatif.permissionmanagerx.util.ApiUtils.getString;\n\nimport android.content.SharedPreferences;\nimport android.content.pm.PackageManager;\nimport android.text.SpannableString;\nimport android.text.Spanned;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.app.App;\nimport com.mirfatif.permissionmanagerx.parser.AppOpsParser;\nimport com.mirfatif.permissionmanagerx.parser.Package;\nimport com.mirfatif.permissionmanagerx.parser.Permission;\nimport com.mirfatif.permissionmanagerx.util.ApiUtils;\nimport com.mirfatif.permissionmanagerx.util.SmallDimMarginSpan;\nimport com.mirfatif.privtasks.util.MyLog;\nimport com.mirfatif.privtasks.util.bg.BgRunner;\nimport java.lang.reflect.Field;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Collections;\nimport java.util.Comparator;\nimport java.util.HashSet;\nimport java.util.LinkedHashSet;\nimport java.util.List;\nimport java.util.Set;\n\npublic enum ExcFiltersData {\n  INS;\n\n  private static final String TAG = \"ExcFiltersData\";\n\n  private final List<String> mCriticalApps =\n      Arrays.asList(App.getRes().getStringArray(R.array.critical_apps));\n\n  public boolean isCriticalApp(String packageName) {\n    return mCriticalApps.contains(packageName);\n  }\n\n  private Set<String> mExcludedApps;\n  private CharSequence[] mExcludedAppsLabels;\n\n  public CharSequence[] getExcludedAppsLabels() {\n    populateExcludedAppsList(false, false);\n    return mExcludedAppsLabels;\n  }\n\n  public Set<String> getExcludedApps() {\n    populateExcludedAppsList(false, false);\n    return mExcludedApps;\n  }\n\n  public int getExcludedAppsCount() {\n    return getExcludedApps().size();\n  }\n\n  public boolean isPkgExcluded(String packageName) {\n    return MySettings.INS.manuallyExcludeApps() && getExcludedApps().contains(packageName);\n  }\n\n  public boolean canBeExcluded(Package pkg) {\n    return MySettings.INS.getExcFiltersEnabled() && !getExcludedApps().contains(pkg.getName());\n  }\n\n  private final Object EXCLUDED_APPS_LOCK = new Object();\n\n  private void populateExcludedAppsList(boolean force, boolean loadDefaults) {\n    synchronized (EXCLUDED_APPS_LOCK) {\n      if (!force && mExcludedAppsLabels != null) {\n        return;\n      }\n\n      Set<String> savedExcApps = MySettings.INS.getSetPref(R.string.pref_filter_excluded_apps_key);\n      Set<String> excApps = savedExcApps;\n      if (savedExcApps == null || loadDefaults) {\n        String[] defExcApps = App.getRes().getStringArray(R.array.excluded_apps);\n        excApps = new HashSet<>(Arrays.asList(defExcApps));\n      }\n\n      List<Pkg> excAppsTmpList = new ArrayList<>();\n\n      SpannableString ss;\n\n      for (String pkgName : excApps) {\n        String pkgLabel;\n        try {\n          int flags = PackageManager.MATCH_UNINSTALLED_PACKAGES;\n          pkgLabel = ApiUtils.getAppInfo(pkgName, flags).loadLabel(App.getPm()).toString();\n        } catch (PackageManager.NameNotFoundException e) {\n          continue;\n        }\n\n        if (pkgLabel.equals(pkgName)) {\n          ss = new SpannableString(pkgLabel);\n        } else {\n          ss = new SpannableString(pkgLabel + \"\\n\" + pkgName);\n          ss.setSpan(\n              new SmallDimMarginSpan(),\n              pkgLabel.length(),\n              ss.length(),\n              Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);\n        }\n\n        excAppsTmpList.add(new Pkg(ss, pkgName));\n      }\n\n      excAppsTmpList.sort(Comparator.comparing(o -> o.label.toString().toUpperCase()));\n\n      CharSequence[] excAppsLabels = new CharSequence[excAppsTmpList.size()];\n      mExcludedApps = Collections.synchronizedSet(new LinkedHashSet<>());\n\n      for (int i = 0; i < excAppsTmpList.size(); i++) {\n        excAppsLabels[i] = excAppsTmpList.get(i).label;\n        mExcludedApps.add(excAppsTmpList.get(i).name);\n      }\n\n      mExcludedAppsLabels = excAppsLabels;\n\n      if (savedExcApps == null || !savedExcApps.equals(mExcludedApps)) {\n        MySettings.INS.saveExcludedList(R.string.pref_filter_excluded_apps_key, mExcludedApps);\n      }\n    }\n  }\n\n  private static class Pkg {\n\n    private final SpannableString label;\n    private final String name;\n\n    Pkg(SpannableString label, String name) {\n      this.label = label;\n      this.name = name;\n    }\n  }\n\n  private Set<String> mExcludedPerms;\n\n  public Set<String> getExcludedPerms() {\n    populateExcludedPermsList(false);\n    return mExcludedPerms;\n  }\n\n  public int getExcludedPermsCount() {\n    return getExcludedPerms().size();\n  }\n\n  public boolean isPermExcluded(String permissionName) {\n    return MySettings.INS.manuallyExcludePerms() && getExcludedPerms().contains(permissionName);\n  }\n\n  public boolean canBeExcluded(Permission perm) {\n    return MySettings.INS.getExcFiltersEnabled()\n        && !perm.isExtraAppOp()\n        && !getExcludedPerms().contains(perm.getName());\n  }\n\n  private final Object EXCLUDED_PERMS_LOCK = new Object();\n\n  private void populateExcludedPermsList(boolean force) {\n    synchronized (EXCLUDED_PERMS_LOCK) {\n      if (!force && mExcludedPerms != null) {\n        return;\n      }\n\n      Set<String> excludedPerms =\n          MySettings.INS.getSetPref(R.string.pref_filter_excluded_perms_key);\n      if (excludedPerms == null) {\n        excludedPerms = new HashSet<>();\n      }\n\n      List<String> excludedPermsList = new ArrayList<>(excludedPerms);\n      excludedPermsList.sort(Comparator.comparing(String::toUpperCase));\n\n      mExcludedPerms = Collections.synchronizedSet(new LinkedHashSet<>(excludedPermsList));\n    }\n  }\n\n  private Set<String> mExtraAppOps;\n\n  public Set<String> getExtraAppOps() {\n    populateExtraAppOpsList(false, false);\n    return mExtraAppOps;\n  }\n\n  public int getExtraAppOpsCount() {\n    return getExtraAppOps().size();\n  }\n\n  public boolean isExtraAppOp(String opName) {\n    return MySettings.INS.showExtraAppOps() && getExtraAppOps().contains(opName);\n  }\n\n  private final Object EXTRA_APP_OPS_LOCK = new Object();\n\n  public void populateExtraAppOpsList(boolean force, boolean loadDefaults) {\n    synchronized (EXTRA_APP_OPS_LOCK) {\n      if (!force && mExtraAppOps != null) {\n        return;\n      }\n\n      Set<String> savedExtraAppOps =\n          MySettings.INS.getSetPref(R.string.pref_filter_extra_appops_key);\n\n      Set<String> extraAppOps;\n\n      if (savedExtraAppOps == null || loadDefaults) {\n        String[] defaultExtraAppOps =\n            App.getCxt().getResources().getStringArray(R.array.extra_app_ops);\n        extraAppOps = new HashSet<>(Arrays.asList(defaultExtraAppOps));\n      } else {\n        extraAppOps = savedExtraAppOps;\n      }\n\n      List<String> appOpsList = AppOpsParser.INS.getAppOpsNames();\n\n      if (!appOpsList.isEmpty()) {\n        extraAppOps.removeIf(appOp -> !appOpsList.contains(appOp));\n      }\n\n      mExtraAppOps = Collections.synchronizedSet(extraAppOps);\n\n      if (savedExtraAppOps == null || !savedExtraAppOps.equals(mExtraAppOps)) {\n        MySettings.INS.saveExcludedList(\n            R.string.pref_filter_extra_appops_key, new HashSet<>(mExtraAppOps));\n      }\n    }\n  }\n\n  public void updateList(String key) {\n    if (key.equals(getString(R.string.pref_filter_excluded_apps_key))) {\n      populateExcludedAppsList(true, false);\n    } else if (key.equals(getString(R.string.pref_filter_excluded_perms_key))) {\n      populateExcludedPermsList(true);\n    } else if (key.equals(getString(R.string.pref_filter_extra_appops_key))) {\n      populateExtraAppOpsList(true, false);\n    }\n  }\n\n  public void populateLists(boolean force) {\n    BgRunner.execute(() -> populateExcludedAppsList(force, false));\n    BgRunner.execute(() -> populateExcludedPermsList(force));\n    BgRunner.execute(() -> populateExtraAppOpsList(force, false));\n  }\n\n  public void resetExcFilters() {\n    SharedPreferences.Editor prefEditor = MySettings.getDefPrefs().edit();\n    int count = 0;\n\n    int resId;\n    String name;\n\n    for (Field field : R.string.class.getDeclaredFields()) {\n      name = field.getName();\n\n      try {\n        resId = R.string.class.getDeclaredField(name).getInt(null);\n      } catch (NoSuchFieldException | IllegalAccessException e) {\n        continue;\n      }\n\n      String str = App.getRes().getString(resId);\n\n      if (str.startsWith(\"pref_filter_\") && name.equals(str + \"_key\")) {\n        prefEditor.remove(str);\n        count++;\n      }\n    }\n\n    prefEditor.apply();\n    MyLog.i(TAG, \"resetExcFilters\", count + \" preferences removed\");\n\n    populateExcludedAppsList(true, true);\n    populateExtraAppOpsList(true, true);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/prefs/MySettings.java",
    "content": "package com.mirfatif.permissionmanagerx.prefs;\n\nimport static com.mirfatif.permissionmanagerx.util.ApiUtils.getString;\n\nimport android.content.Context;\nimport android.content.SharedPreferences;\nimport android.content.SharedPreferences.Editor;\nimport android.os.Build;\nimport android.text.TextUtils;\nimport android.text.format.DateUtils;\nimport androidx.preference.PreferenceManager;\nimport com.mirfatif.permissionmanagerx.BuildConfig;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.app.App;\nimport com.mirfatif.permissionmanagerx.util.ApiUtils;\nimport com.mirfatif.permissionmanagerx.util.bg.LiveEvent;\nimport java.util.HashSet;\nimport java.util.Set;\nimport java.util.concurrent.TimeUnit;\n\npublic enum MySettings {\n  INS;\n\n  private boolean mDebug;\n\n  public boolean isDebug() {\n    return mDebug;\n  }\n\n  public void setDebugLog(boolean debugLog) {\n    mDebug = debugLog;\n  }\n\n  public static SharedPreferences getDefPrefs() {\n    return PreferenceManager.getDefaultSharedPreferences(App.getCxt());\n  }\n\n  public static SharedPreferences getNoBackupPrefs() {\n    return App.getCxt()\n        .getSharedPreferences(\n            App.getCxt().getPackageName() + \"_no_backup_prefs\", Context.MODE_PRIVATE);\n  }\n\n  public boolean getBoolPref(int key, int def) {\n    return getBoolPref(key, App.getRes().getBoolean(def));\n  }\n\n  public boolean getBoolPref(int key, boolean def) {\n    String prefKey = getString(key);\n    if (prefKey.endsWith(\"_enc\")) {\n      return getNoBackupPrefs().getBoolean(prefKey, def);\n    } else {\n      return getDefPrefs().getBoolean(prefKey, def);\n    }\n  }\n\n  public int getIntPref(int key, int def) {\n    return getIntegerPref(key, App.getCxt().getResources().getInteger(def));\n  }\n\n  public int getIntegerPref(int key, int defValue) {\n    String prefKey = getString(key);\n    if (prefKey.endsWith(\"_enc\")) {\n      return getNoBackupPrefs().getInt(prefKey, defValue);\n    } else {\n      return getDefPrefs().getInt(prefKey, defValue);\n    }\n  }\n\n  private long getLongPref(int key) {\n    String prefKey = getString(key);\n    if (prefKey.endsWith(\"_enc\")) {\n      return getNoBackupPrefs().getLong(prefKey, 0);\n    } else {\n      return getDefPrefs().getLong(prefKey, 0);\n    }\n  }\n\n  public String getStringPref(int key, int def) {\n    return getStringPref(key, def == 0 ? null : getString(def));\n  }\n\n  public String getStringPref(int key, String def) {\n    String prefKey = getString(key);\n    if (prefKey.endsWith(\"_enc\")) {\n      return getNoBackupPrefs().getString(prefKey, def);\n    } else {\n      return getDefPrefs().getString(prefKey, def);\n    }\n  }\n\n  public Set<String> getSetPref(int key) {\n    return getDefPrefs().getStringSet(getString(key), null);\n  }\n\n  public void savePref(int key, boolean val) {\n    String prefKey = getString(key);\n    if (prefKey.endsWith(\"_enc\")) {\n      getNoBackupPrefs().edit().putBoolean(prefKey, val).apply();\n    } else {\n      getDefPrefs().edit().putBoolean(prefKey, val).apply();\n    }\n  }\n\n  public void savePref(int key, int val) {\n    String prefKey = getString(key);\n    if (prefKey.endsWith(\"_enc\")) {\n      getNoBackupPrefs().edit().putInt(prefKey, val).apply();\n    } else {\n      getDefPrefs().edit().putInt(prefKey, val).apply();\n    }\n  }\n\n  private void savePref(int key, long val) {\n    String prefKey = getString(key);\n    if (prefKey.endsWith(\"_enc\")) {\n      getNoBackupPrefs().edit().putLong(prefKey, val).apply();\n    } else {\n      getDefPrefs().edit().putLong(prefKey, val).apply();\n    }\n  }\n\n  public String getDarkThemeMode() {\n    try {\n      return getStringPref(\n          R.string.pref_settings_dark_theme_key, R.string.pref_settings_dark_theme_default);\n    } catch (ClassCastException e) {\n      getDefPrefs().edit().remove(getString(R.string.pref_settings_dark_theme_key)).apply();\n      return getDarkThemeMode();\n    }\n  }\n\n  public boolean shouldRemindMissingPrivileges() {\n    return getBoolPref(\n        R.string.pref_settings_privileges_reminder_key,\n        R.bool.pref_settings_privileges_reminder_default);\n  }\n\n  public void setPrivReminderOff() {\n    savePref(R.string.pref_settings_privileges_reminder_key, false);\n  }\n\n  public String getLocale() {\n    return getStringPref(R.string.pref_settings_locale_key, R.string.pref_settings_locale_default);\n  }\n\n  public boolean shouldCheckForUpdates() {\n    if (!getBoolPref(\n        R.string.pref_settings_check_for_updates_key,\n        R.bool.pref_settings_check_for_updates_default)) {\n      return false;\n    }\n    long lastTS = getLongPref(R.string.pref_settings_check_for_updates_ts_enc_key);\n    return (System.currentTimeMillis() - lastTS) >= TimeUnit.DAYS.toMillis(1);\n  }\n\n  public void setCheckForUpdatesTs(long timeStamp) {\n    savePref(R.string.pref_settings_check_for_updates_ts_enc_key, timeStamp);\n  }\n\n  public boolean getShowUnsupportedSdkWarning() {\n    int warnedSdk = getIntegerPref(R.string.pref_main_warned_unsupported_sdk_enc_key, 0);\n    return Build.VERSION.SDK_INT > warnedSdk\n        && Build.VERSION.SDK_INT > ApiUtils.getMyAppInfo().targetSdkVersion;\n  }\n\n  public void onUnsupportedSdkWarningShown() {\n    savePref(R.string.pref_main_warned_unsupported_sdk_enc_key, Build.VERSION.SDK_INT);\n  }\n\n  public void plusAppLaunchCount() {\n    int appLaunchCountId = R.string.pref_main_app_launch_count_enc_key;\n    int count = getIntPref(appLaunchCountId, R.integer.pref_main_app_launch_count_enc_default);\n    savePref(appLaunchCountId, count + 1);\n  }\n\n  private boolean mMayAskForFeedback = false;\n\n  public void setMayAskForFeedback(boolean askForFeedback) {\n    mMayAskForFeedback = askForFeedback;\n  }\n\n  public boolean shouldAskForFeedback() {\n    if (!mMayAskForFeedback) {\n      return false;\n    }\n\n    long lastTS = getLongPref(R.string.pref_main_ask_for_feedback_ts_enc_key);\n\n    if (lastTS == 0) {\n      setAskForFeedbackTs(false);\n      savePref(R.string.pref_main_feedback_app_version_enc_key, BuildConfig.VERSION_CODE);\n      return false;\n    }\n\n    if (getIntegerPref(R.string.pref_main_feedback_app_version_enc_key, 0)\n        < BuildConfig.VERSION_CODE) {\n      setAskForFeedbackTs(false);\n      savePref(R.string.pref_main_feedback_app_version_enc_key, BuildConfig.VERSION_CODE);\n      return false;\n    }\n\n    if (getIntPref(\n            R.string.pref_main_app_launch_count_enc_key,\n            R.integer.pref_main_app_launch_count_enc_default)\n        < 10) {\n      return false;\n    }\n\n    return System.currentTimeMillis() >= lastTS;\n  }\n\n  public void setAskForFeedbackTs(boolean longTs) {\n    savePref(R.string.pref_main_app_launch_count_enc_key, 0);\n    savePref(\n        R.string.pref_main_ask_for_feedback_ts_enc_key,\n        System.currentTimeMillis() + (DateUtils.WEEK_IN_MILLIS * (longTs ? 24 : 2)));\n  }\n\n  public boolean shouldGrantAppPrivs() {\n    long lastUpdate = ApiUtils.getMyPkgInfo().lastUpdateTime;\n    long lastCheck = getLongPref(R.string.pref_privs_app_privs_check_ts_enc_key);\n    boolean updated = lastUpdate >= lastCheck;\n    if (updated) {\n      savePref(R.string.pref_privs_app_privs_check_ts_enc_key, System.currentTimeMillis());\n    }\n    return updated;\n  }\n\n  public boolean shouldAskForNotifPerm() {\n    long lastTS = getLongPref(R.string.pref_main_ask_for_notif_perm_ts_enc_key);\n    return lastTS == 0 || (System.currentTimeMillis() - lastTS) >= TimeUnit.DAYS.toMillis(30);\n  }\n\n  public void setAskForNotifPermTs() {\n    savePref(R.string.pref_main_ask_for_notif_perm_ts_enc_key, System.currentTimeMillis());\n  }\n\n  public boolean shouldAskToSendCrashReport() {\n    int crashCount =\n        getIntPref(\n            R.string.pref_main_crash_report_count_enc_key,\n            R.integer.pref_main_crash_report_count_enc_default);\n    long lastTS = getLongPref(R.string.pref_main_crash_report_ts_enc_key);\n    long currTime = System.currentTimeMillis();\n\n    Editor prefEditor = getNoBackupPrefs().edit();\n    try {\n      if (crashCount >= 2 || (currTime - lastTS) >= TimeUnit.DAYS.toMillis(1)) {\n        prefEditor.putLong(getString(R.string.pref_main_crash_report_ts_enc_key), currTime);\n        prefEditor.putInt(getString(R.string.pref_main_crash_report_count_enc_key), 1);\n        return true;\n      }\n      prefEditor.putInt(getString(R.string.pref_main_crash_report_count_enc_key), crashCount + 1);\n    } finally {\n      prefEditor.commit();\n    }\n\n    return false;\n  }\n\n  public boolean shouldClearWebViewCache() {\n    long lastUpdate = ApiUtils.getMyPkgInfo().lastUpdateTime;\n    long lastCheck = getLongPref(R.string.pref_help_web_view_clear_cache_ts_enc_key);\n    boolean updated = lastUpdate >= lastCheck;\n    savePref(R.string.pref_help_web_view_clear_cache_ts_enc_key, System.currentTimeMillis());\n    return updated;\n  }\n\n  public int getHelpFontSize() {\n    return getIntPref(R.string.pref_help_font_size_key, R.integer.pref_help_font_size_default);\n  }\n\n  public void setHelpFontSize(int size) {\n    savePref(R.string.pref_help_font_size_key, size);\n  }\n\n  public boolean warnDangerousPkgChanges() {\n    return getBoolPref(\n        R.string.pref_main_warn_dang_change_enc_key, R.bool.pref_main_warn_dang_change_enc_default);\n  }\n\n  public void disableWarnDangerousPkgChanges() {\n    savePref(R.string.pref_main_warn_dang_change_enc_key, false);\n  }\n\n  public boolean warnDangerousPermChanges() {\n    return getBoolPref(\n        R.string.pref_package_warn_dang_change_enc_key,\n        R.bool.pref_package_warn_dang_change_enc_default);\n  }\n\n  public void disableWarnDangerousPermChanges() {\n    savePref(R.string.pref_package_warn_dang_change_enc_key, false);\n  }\n\n  public boolean isRootEnabled() {\n    return getBoolPref(\n        R.string.pref_privs_root_enabled_enc_key, R.bool.pref_privs_root_enabled_enc_default);\n  }\n\n  public void setRootEnabled(boolean granted) {\n    savePref(R.string.pref_privs_root_enabled_enc_key, granted);\n    drawerPrefChanged();\n  }\n\n  public boolean isAdbEnabled() {\n    return getBoolPref(\n        R.string.pref_privs_adb_enabled_enc_key, R.bool.pref_privs_adb_enabled_enc_default);\n  }\n\n  public void setAdbEnabled(boolean connected) {\n    savePref(R.string.pref_privs_adb_enabled_enc_key, connected);\n    drawerPrefChanged();\n  }\n\n  public int getRootDaemonPort() {\n    return getIntPref(\n        R.string.pref_privs_root_daemon_port_enc_key,\n        R.integer.pref_privs_root_daemon_port_enc_default);\n  }\n\n  public void saveRootDaemonPort(int port) {\n    savePref(R.string.pref_privs_root_daemon_port_enc_key, port);\n  }\n\n  public int getAdbDaemonPort() {\n    return getIntPref(\n        R.string.pref_privs_adb_daemon_port_enc_key,\n        R.integer.pref_privs_adb_daemon_port_enc_default);\n  }\n\n  public void saveAdbDaemonPort(int port) {\n    savePref(R.string.pref_privs_adb_daemon_port_enc_key, port);\n  }\n\n  public int getAdbPort() {\n    return getIntPref(R.string.pref_privs_adb_port_key, R.integer.pref_privs_adb_port_default);\n  }\n\n  public void saveAdbPort(int port) {\n    if (port == 0) {\n      getDefPrefs().edit().remove(getString(R.string.pref_privs_adb_port_key)).apply();\n    } else {\n      savePref(R.string.pref_privs_adb_port_key, port);\n    }\n  }\n\n  private String mAdbHost = \"127.0.0.1\";\n\n  public void setAdbHost(String host) {\n    mAdbHost = host;\n  }\n\n  public String getAdbHost() {\n    return mAdbHost;\n  }\n\n  public int getDaemonUid() {\n    return Integer.parseInt(\n        getStringPref(\n            R.string.pref_adv_settings_daemon_uid_key,\n            R.string.pref_adv_settings_daemon_uid_default));\n  }\n\n  public String getDaemonContext() {\n    String cxt =\n        getStringPref(\n            R.string.pref_adv_settings_daemon_context_key,\n            R.string.pref_adv_settings_daemon_context_default);\n    return getString(R.string.pref_adv_settings_daemon_context_default).equals(cxt) ? null : cxt;\n  }\n\n  public boolean shouldDaemonExitOnAppDeath() {\n    return getBoolPref(\n        R.string.pref_adv_settings_exit_on_app_death_key,\n        R.bool.pref_adv_settings_exit_on_app_death_default);\n  }\n\n  public int getDaemonPort() {\n    return getIntPref(\n        R.string.pref_privs_daemon_port_enc_key, R.integer.pref_privs_daemon_port_enc_default);\n  }\n\n  public void saveDaemonPort(int port) {\n    savePref(R.string.pref_privs_daemon_port_enc_key, port);\n  }\n\n  public boolean shouldRestartDaemon() {\n    return ApiUtils.getMyPkgInfo().lastUpdateTime\n        > getLongPref(R.string.pref_privs_daemon_start_ts_enc_key);\n  }\n\n  public void setDaemonStartTs(long ts) {\n    savePref(R.string.pref_privs_daemon_start_ts_enc_key, ts);\n  }\n\n  public String getSuExePath() {\n    String path = getStringPref(R.string.pref_adv_settings_su_exe_path_key, 0);\n    return TextUtils.isEmpty(path) ? \"su\" : path;\n  }\n\n  public boolean useUniqueRefForAppOpUidMode() {\n    return getBoolPref(\n        R.string.pref_adv_settings_unique_ref_app_op_uid_mode_key,\n        R.bool.pref_adv_settings_unique_ref_app_op_uid_mode_default);\n  }\n\n  public boolean shouldFixPermDb() {\n    return getBoolPref(R.string.pref_tmp_fix_perm_db_enc_key, true);\n  }\n\n  public void setFixPermDb(boolean fixPermDb) {\n    savePref(R.string.pref_tmp_fix_perm_db_enc_key, fixPermDb);\n  }\n\n  private volatile String mQueryText;\n\n  public String getQueryText() {\n    return mQueryText;\n  }\n\n  public void setQueryText(String queryText) {\n    mQueryText = queryText;\n  }\n\n  public boolean isSearching() {\n    return !TextUtils.isEmpty(mQueryText);\n  }\n\n  public boolean isDeepSearching() {\n    return isSearching() && isDeepSearchEnabled();\n  }\n\n  public boolean isDeepSearchEnabled() {\n    return getBoolPref(R.string.pref_main_deep_search_key, R.bool.pref_main_deep_search_default);\n  }\n\n  public boolean isCaseSensitiveSearch() {\n    return getBoolPref(\n        R.string.pref_main_case_sensitive_search_key,\n        R.bool.pref_main_case_sensitive_search_default);\n  }\n\n  public boolean isSpecialSearch() {\n    return getBoolPref(\n        R.string.pref_settings_special_search_key, R.bool.pref_settings_special_search_default);\n  }\n\n  public boolean getExcFiltersEnabled() {\n    return getBoolPref(\n        R.string.pref_filter_master_switch_key, R.bool.pref_filter_master_switch_default);\n  }\n\n  public void setExcFiltersEnabled(boolean enabled) {\n    savePref(R.string.pref_filter_master_switch_key, enabled);\n  }\n\n  public void saveExcludedList(int key, Set<String> set) {\n    getDefPrefs().edit().putStringSet(getString(key), set).apply();\n    ExcFiltersData.INS.updateList(getString(key));\n  }\n\n  public boolean manuallyExcludeApps() {\n    return getExcFiltersEnabled()\n        && getBoolPref(\n            R.string.pref_filter_manually_exclude_apps_key,\n            R.bool.pref_filter_manually_exclude_apps_default);\n  }\n\n  public boolean excludeNoIconApps() {\n    return getExcFiltersEnabled()\n        && getBoolPref(\n            R.string.pref_filter_exclude_no_icon_apps_key,\n            R.bool.pref_filter_exclude_no_icon_apps_default);\n  }\n\n  public boolean excludeUserApps() {\n    return getExcFiltersEnabled()\n        && getBoolPref(\n            R.string.pref_filter_exclude_user_apps_key,\n            R.bool.pref_filter_exclude_user_apps_default);\n  }\n\n  public boolean excludeSystemApps() {\n    return getExcFiltersEnabled()\n        && getBoolPref(\n            R.string.pref_filter_exclude_system_apps_key,\n            R.bool.pref_filter_exclude_system_apps_default);\n  }\n\n  public boolean excludeFrameworkApps() {\n    return getExcFiltersEnabled()\n        && getBoolPref(\n            R.string.pref_filter_exclude_framework_apps_key,\n            R.bool.pref_filter_exclude_framework_apps_default);\n  }\n\n  public boolean excludeDisabledApps() {\n    return getExcFiltersEnabled()\n        && getBoolPref(\n            R.string.pref_filter_exclude_disabled_apps_key,\n            R.bool.pref_filter_exclude_disabled_apps_default);\n  }\n\n  public boolean excludeNoPermsApps() {\n    return getExcFiltersEnabled()\n        && getBoolPref(\n            R.string.pref_filter_exclude_no_perms_apps_key,\n            R.bool.pref_filter_exclude_no_perms_apps_default);\n  }\n\n  public void clearExcludedAppsList() {\n    saveExcludedList(R.string.pref_filter_excluded_apps_key, new HashSet<>());\n  }\n\n  public void addPkgToExcludedApps(String pkgName) {\n    Set<String> excludedApps = getSetPref(R.string.pref_filter_excluded_apps_key);\n    if (excludedApps == null) {\n      excludedApps = new HashSet<>();\n    } else {\n      excludedApps = new HashSet<>(excludedApps);\n    }\n    excludedApps.add(pkgName);\n    saveExcludedList(R.string.pref_filter_excluded_apps_key, excludedApps);\n  }\n\n  public boolean excludeInvalidPerms() {\n    return getExcFiltersEnabled()\n        && getBoolPref(\n            R.string.pref_filter_exclude_invalid_perms_key,\n            R.bool.pref_filter_exclude_invalid_perms_default);\n  }\n\n  public boolean excludeNotChangeablePerms() {\n    return getExcFiltersEnabled()\n        && getBoolPref(\n            R.string.pref_filter_exclude_not_changeable_perms_key,\n            R.bool.pref_filter_exclude_not_changeable_perms_default);\n  }\n\n  public boolean excludeNotGrantedPerms() {\n    return getExcFiltersEnabled()\n        && getBoolPref(\n            R.string.pref_filter_exclude_not_granted_perms_key,\n            R.bool.pref_filter_exclude_not_granted_perms_default);\n  }\n\n  public boolean manuallyExcludePerms() {\n    return getExcFiltersEnabled()\n        && getBoolPref(\n            R.string.pref_filter_manually_exclude_perms_key,\n            R.bool.pref_filter_manually_exclude_perms_default);\n  }\n\n  public boolean excludeNormalPerms() {\n    return getExcFiltersEnabled()\n        && getBoolPref(\n            R.string.pref_filter_exclude_normal_perms_key,\n            R.bool.pref_filter_exclude_normal_perms_default);\n  }\n\n  public boolean excludeDangerousPerms() {\n    return getExcFiltersEnabled()\n        && getBoolPref(\n            R.string.pref_filter_exclude_dangerous_perms_key,\n            R.bool.pref_filter_exclude_dangerous_perms_default);\n  }\n\n  public boolean excludeSignaturePerms() {\n    return getExcFiltersEnabled()\n        && getBoolPref(\n            R.string.pref_filter_exclude_signature_perms_key,\n            R.bool.pref_filter_exclude_signature_perms_default);\n  }\n\n  public boolean excludePrivilegedPerms() {\n    return getExcFiltersEnabled()\n        && getBoolPref(\n            R.string.pref_filter_exclude_privileged_perms_key,\n            R.bool.pref_filter_exclude_privileged_perms_default);\n  }\n\n  public void clearExcludedPermsList() {\n    saveExcludedList(R.string.pref_filter_excluded_perms_key, new HashSet<>());\n  }\n\n  public void addPermToExcludedPerms(String permName) {\n    Set<String> excludedPerms = getSetPref(R.string.pref_filter_excluded_perms_key);\n    if (excludedPerms == null) {\n      excludedPerms = new HashSet<>();\n    } else {\n      excludedPerms = new HashSet<>(excludedPerms);\n    }\n    excludedPerms.add(permName);\n    saveExcludedList(R.string.pref_filter_excluded_perms_key, excludedPerms);\n  }\n\n  public boolean excludeAppOpsPerms() {\n    return getExcFiltersEnabled()\n        && getBoolPref(\n            R.string.pref_filter_exclude_appops_perms_key,\n            R.bool.pref_filter_exclude_appops_perms_default);\n  }\n\n  public boolean excludeNotSetAppOps() {\n    return getExcFiltersEnabled()\n        && getBoolPref(\n            R.string.pref_filter_exclude_not_set_appops_key,\n            R.bool.pref_filter_exclude_not_set_appops_default);\n  }\n\n  public boolean showExtraAppOps() {\n    return getExcFiltersEnabled()\n        && getBoolPref(\n            R.string.pref_filter_show_extra_app_ops_key,\n            R.bool.pref_filter_show_extra_app_ops_default);\n  }\n\n  public void clearExtraAppOpsList() {\n    saveExcludedList(R.string.pref_filter_extra_appops_key, new HashSet<>());\n  }\n\n  public static final int PREF_DRAWER_CHANGED = 0;\n  public static final int PREF_UI_CHANGED = 1;\n\n  public final LiveEvent<Integer> mPrefsWatcher = new LiveEvent<>(true);\n\n  private void drawerPrefChanged() {\n    mPrefsWatcher.postValue(PREF_DRAWER_CHANGED, true);\n  }\n\n  public void recreateMainActivity() {\n    mPrefsWatcher.postValue(PREF_UI_CHANGED, true);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/prefs/fwk/CustomPrefDialogFrag.java",
    "content": "package com.mirfatif.permissionmanagerx.prefs.fwk;\n\nimport android.os.Bundle;\nimport androidx.fragment.app.DialogFragment;\nimport androidx.fragment.app.Fragment;\nimport androidx.fragment.app.FragmentManager;\nimport androidx.preference.EditTextPreference;\nimport androidx.preference.ListPreference;\nimport androidx.preference.MultiSelectListPreference;\nimport androidx.preference.Preference;\nimport com.mirfatif.permissionmanagerx.util.ApiUtils;\n\npublic class CustomPrefDialogFrag {\n\n  private CustomPrefDialogFrag() {}\n\n  private static final String TAG_EDIT_TEXT_DIALOG =\n      EditTextPrefDialogFrag.class.getName() + \".EDIT_TEXT_DIALOG\";\n\n  private static final String TAG_LIST_DIALOG =\n      EditTextPrefDialogFrag.class.getName() + \".LIST_DIALOG\";\n\n  private static final String TAG_MULTI_LIST_DIALOG =\n      EditTextPrefDialogFrag.class.getName() + \".MULTI_LIST_DIALOG\";\n\n  public static boolean showPrefDialogFrag(Preference preference, Fragment fragment) {\n    DialogFragment frag;\n    String ARG_KEY, TAG;\n\n    if (preference instanceof EditTextPreference) {\n      EditTextPrefDialogFrag newFrag = new EditTextPrefDialogFrag();\n      frag = newFrag;\n      ARG_KEY = newFrag.getArgKey();\n      TAG = TAG_EDIT_TEXT_DIALOG;\n\n    } else if (preference instanceof ListPreference) {\n      ListPrefDialogFrag newFrag = new ListPrefDialogFrag();\n      frag = newFrag;\n      ARG_KEY = newFrag.getArgKey();\n      TAG = TAG_LIST_DIALOG;\n\n    } else if (preference instanceof MultiSelectListPreference) {\n      MultiSelectListPrefDialogFrag newFrag = new MultiSelectListPrefDialogFrag();\n      frag = newFrag;\n      ARG_KEY = newFrag.getArgKey();\n      TAG = TAG_MULTI_LIST_DIALOG;\n\n    } else {\n      return false;\n    }\n\n    FragmentManager fm = fragment.getParentFragmentManager();\n\n    if (fm.findFragmentByTag(TAG) != null) {\n      return true;\n    }\n\n    Bundle args = new Bundle();\n    args.putString(ARG_KEY, preference.getKey());\n\n    frag.setArguments(args);\n    ApiUtils.setTargetFragment(frag, fragment);\n    frag.show(fm, TAG);\n\n    return true;\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/prefs/fwk/EditTextPrefDialogFrag.java",
    "content": "package com.mirfatif.permissionmanagerx.prefs.fwk;\n\nimport android.app.Activity;\nimport android.app.Dialog;\nimport android.content.Context;\nimport android.os.Bundle;\nimport androidx.preference.EditTextPreferenceDialogFragmentCompat;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\n\npublic class EditTextPrefDialogFrag extends EditTextPreferenceDialogFragmentCompat {\n\n  private Activity mA;\n\n  public void onAttach(Context context) {\n    super.onAttach(context);\n    mA = getActivity();\n  }\n\n  public Dialog onCreateDialog(Bundle savedInstanceState) {\n    Dialog dialog = super.onCreateDialog(savedInstanceState);\n    UiUtils.onCreateDialog(dialog, mA);\n    return dialog;\n  }\n\n  String getArgKey() {\n    return ARG_KEY;\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/prefs/fwk/ListPrefDialogFrag.java",
    "content": "package com.mirfatif.permissionmanagerx.prefs.fwk;\n\nimport android.app.Dialog;\nimport android.content.Context;\nimport android.os.Bundle;\nimport androidx.fragment.app.FragmentActivity;\nimport androidx.preference.ListPreferenceDialogFragmentCompat;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\n\npublic class ListPrefDialogFrag extends ListPreferenceDialogFragmentCompat {\n\n  private FragmentActivity mA;\n\n  public void onAttach(Context context) {\n    super.onAttach(context);\n    mA = getActivity();\n  }\n\n  public Dialog onCreateDialog(Bundle savedInstanceState) {\n    Dialog dialog = super.onCreateDialog(savedInstanceState);\n    UiUtils.onCreateDialog(dialog, mA);\n    return dialog;\n  }\n\n  String getArgKey() {\n    return ARG_KEY;\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/prefs/fwk/MultiSelectListPrefDialogFrag.java",
    "content": "package com.mirfatif.permissionmanagerx.prefs.fwk;\n\nimport android.app.Dialog;\nimport android.content.Context;\nimport android.os.Bundle;\nimport androidx.fragment.app.FragmentActivity;\nimport androidx.preference.MultiSelectListPreferenceDialogFragmentCompat;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\n\npublic class MultiSelectListPrefDialogFrag extends MultiSelectListPreferenceDialogFragmentCompat {\n\n  private FragmentActivity mA;\n\n  public void onAttach(Context context) {\n    super.onAttach(context);\n    mA = getActivity();\n  }\n\n  public Dialog onCreateDialog(Bundle savedInstanceState) {\n    Dialog dialog = super.onCreateDialog(savedInstanceState);\n    UiUtils.onCreateDialog(dialog, mA);\n    return dialog;\n  }\n\n  String getArgKey() {\n    return ARG_KEY;\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/prefs/settings/AdvSettingsActivity.java",
    "content": "package com.mirfatif.permissionmanagerx.prefs.settings;\n\nimport android.net.Uri;\nimport android.os.Bundle;\nimport androidx.appcompat.app.ActionBar;\nimport androidx.appcompat.app.AlertDialog;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.backup.BackupFileSelector;\nimport com.mirfatif.permissionmanagerx.backup.BackupRestore;\nimport com.mirfatif.permissionmanagerx.base.AlertDialogFragment;\nimport com.mirfatif.permissionmanagerx.databinding.ActivityFragmentContainerBinding;\nimport com.mirfatif.permissionmanagerx.databinding.ProgressDialogBinding;\nimport com.mirfatif.permissionmanagerx.fwk.AdvSettingsActivityM;\nimport com.mirfatif.permissionmanagerx.parser.Package;\nimport com.mirfatif.permissionmanagerx.parser.PackageParser;\nimport com.mirfatif.permissionmanagerx.parser.Permission;\nimport com.mirfatif.permissionmanagerx.parser.permsdb.PermissionDao;\nimport com.mirfatif.permissionmanagerx.parser.permsdb.PermissionEntity;\nimport com.mirfatif.permissionmanagerx.parser.permsdb.PermsDb;\nimport com.mirfatif.permissionmanagerx.util.ApiUtils;\nimport com.mirfatif.permissionmanagerx.util.StringUtils;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\nimport com.mirfatif.permissionmanagerx.util.bg.LiveTasksQueueTyped;\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class AdvSettingsActivity {\n\n  private final AdvSettingsActivityM mA;\n\n  public AdvSettingsActivity(AdvSettingsActivityM activity) {\n    mA = activity;\n  }\n\n  private BackupFileSelector mCleanupLauncher, mResetLauncher;\n\n  public void onCreate(Bundle savedInstanceState) {\n    mA.setContentView(ActivityFragmentContainerBinding.inflate(mA.getLayoutInflater()));\n\n    ActionBar actionBar = mA.getSupportActionBar();\n    if (actionBar != null) {\n      actionBar.setTitle(R.string.advanced_settings_menu_item);\n    }\n\n    if (savedInstanceState == null) {\n      mA.getSupportFragmentManager()\n          .beginTransaction()\n          .replace(R.id.fragment_container, new AdvSettingsFrag())\n          .commit();\n    }\n\n    mCleanupLauncher = new BackupFileSelector(mA, true, uri -> startPermDbReset(true, uri));\n    mResetLauncher = new BackupFileSelector(mA, true, uri -> startPermDbReset(false, uri));\n  }\n\n  void showPermDbResetDialog() {\n    AlertDialog.Builder builder =\n        new AlertDialog.Builder(mA)\n            .setTitle(R.string.reset_perm_db_dialog_title)\n            .setMessage(StringUtils.htmlToString(R.string.reset_perm_db_dialog_detail))\n            .setPositiveButton(\n                R.string.reset_perm_db_dialog_cleanup_button, (d, w) -> mCleanupLauncher.launch())\n            .setNegativeButton(\n                R.string.reset_perm_db_dialog_reset_button, (d, w) -> mResetLauncher.launch());\n\n    AlertDialogFragment.show(mA, builder.create(), \"RESET_PERM_DB\");\n  }\n\n  private void startPermDbReset(boolean cleanup, Uri uri) {\n    if (uri == null) {\n      return;\n    }\n\n    ProgressDialogBinding b = ProgressDialogBinding.inflate(mA.getLayoutInflater());\n    b.progText.setText(R.string.backup_in_progress);\n\n    AlertDialog dialog =\n        new AlertDialog.Builder(mA)\n            .setTitle(R.string.reset_perm_db_dialog_title)\n            .setPositiveButton(android.R.string.cancel, null)\n            .setView(b.getRoot())\n            .create();\n\n    AlertDialogFragment frag = AlertDialogFragment.show(mA, dialog, \"RESET_PERM_DB\");\n\n    new LiveTasksQueueTyped<>(frag, () -> BackupRestore.INS.backupNoThrow(uri, false, false))\n        .onUiWith(result -> handleBackupResult(result, b, frag, cleanup))\n        .start();\n  }\n\n  private void handleBackupResult(\n      BackupRestore.Result result,\n      ProgressDialogBinding b,\n      AlertDialogFragment frag,\n      boolean cleanup) {\n    if (result == null) {\n      UiUtils.showToast(R.string.reset_perm_db_backup_failed_toast);\n      return;\n    }\n\n    if (!cleanup) {\n      b.progText.setText(R.string.reset_perm_db_optimizing_perm_db);\n\n      new LiveTasksQueueTyped<>(\n              frag,\n              () -> {\n                int count = PermsDb.INS.getDb().getAll().size();\n                PermsDb.INS.getDb().deleteAll();\n                PermsDb.INS.buildRefs();\n                return count;\n              })\n          .onUiWith(removed -> onResetCompleted(frag, removed))\n          .start();\n    } else {\n      b.progText.setText(R.string.reset_perm_db_building_app_list);\n\n      new LiveTasksQueueTyped<>(frag, () -> PackageParser.INS.updatePkgListWithResult(false))\n          .onUiWith(pkgList -> handlePkgList(pkgList, b, frag))\n          .start();\n    }\n  }\n\n  private void handlePkgList(\n      List<Package> pkgList, ProgressDialogBinding b, AlertDialogFragment frag) {\n    if (pkgList == null) {\n      UiUtils.showToast(R.string.reset_perm_db_pkg_list_failed_toast);\n      return;\n    }\n\n    b.progText.setText(R.string.reset_perm_db_optimizing_perm_db);\n\n    new LiveTasksQueueTyped<>(frag, () -> doPermDbCleanup(pkgList))\n        .onUiWith(removed -> onResetCompleted(frag, removed))\n        .start();\n  }\n\n  public static int doPermDbCleanup(List<Package> pkgList) {\n    List<String> perms = new ArrayList<>();\n\n    for (Package pkg : pkgList) {\n      for (Permission perm : pkg.getFullPermsList()) {\n        perms.add(\n            PermsDb.createKey(pkg.getName(), perm.getName(), perm.isAppOp(), perm.isPerUid())\n                + \"_\"\n                + perm.createRefStringForDb());\n      }\n    }\n\n    List<Integer> ids = new ArrayList<>();\n\n    for (PermissionEntity entity : PermsDb.INS.getDb().getAll()) {\n      if (!perms.contains(\n          PermsDb.createKey(entity.pkgName, entity.permName, entity.isAppOps, entity.isPerUid)\n              + \"_\"\n              + entity.state)) {\n        ids.add(entity.id);\n      }\n    }\n\n    PermissionDao.deletePerms(PermsDb.INS.getDb(), ids);\n\n    PermsDb.INS.buildRefs();\n\n    return ids.size();\n  }\n\n  private void onResetCompleted(AlertDialogFragment frag, int removed) {\n    frag.dismissAllowingStateLoss();\n    UiUtils.showToast(\n        ApiUtils.getQtyString(R.plurals.reset_perm_db_removed_count_toast, removed, removed));\n    PackageParser.INS.updatePkgList();\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/prefs/settings/AdvSettingsFrag.java",
    "content": "package com.mirfatif.permissionmanagerx.prefs.settings;\n\nimport android.content.Context;\nimport android.content.SharedPreferences;\nimport android.content.SharedPreferences.OnSharedPreferenceChangeListener;\nimport android.os.Bundle;\nimport android.text.Editable;\nimport android.text.TextUtils;\nimport android.text.TextWatcher;\nimport android.widget.EditText;\nimport androidx.preference.EditTextPreference;\nimport androidx.preference.ListPreference;\nimport androidx.preference.Preference;\nimport androidx.preference.PreferenceFragmentCompat;\nimport androidx.preference.SwitchPreferenceCompat;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.fwk.AdvSettingsActivityM;\nimport com.mirfatif.permissionmanagerx.parser.PackageParser;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\nimport com.mirfatif.permissionmanagerx.prefs.fwk.CustomPrefDialogFrag;\nimport com.mirfatif.permissionmanagerx.privs.DaemonHandler;\nimport com.mirfatif.permissionmanagerx.privs.DaemonIface;\nimport com.mirfatif.permissionmanagerx.privs.DaemonStarter;\nimport com.mirfatif.permissionmanagerx.privs.NativeDaemon;\nimport com.mirfatif.permissionmanagerx.util.ApiUtils;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\nimport com.mirfatif.privtasks.util.bg.BgRunner;\nimport java.io.File;\nimport java.util.Objects;\n\npublic class AdvSettingsFrag extends PreferenceFragmentCompat\n    implements OnSharedPreferenceChangeListener {\n\n  private AdvSettingsActivityM mA;\n\n  public void onAttach(Context context) {\n    super.onAttach(context);\n    mA = (AdvSettingsActivityM) getActivity();\n  }\n\n  public void onPause() {\n    super.onPause();\n    MySettings.getDefPrefs().unregisterOnSharedPreferenceChangeListener(this);\n  }\n\n  public void onResume() {\n    super.onResume();\n    MySettings.getDefPrefs().registerOnSharedPreferenceChangeListener(this);\n  }\n\n  private <T extends Preference> T findPref(int keyResId) {\n    return findPreference(ApiUtils.getString(keyResId));\n  }\n\n  private SwitchPreferenceCompat mAllowCriticalPref, mPerUidPermRefPref, mSecUserPermRefPref;\n  private ListPreference mDaemonUidPref, mDaemonContextPref;\n  private EditTextPreference mSuPathPref;\n\n  private boolean mAllowCriticalValue, mPerUidPermRefValue, mSecUserPermRefValue;\n  private String mDaemonUidValue, mDaemonContextValue, mSuPathValue;\n\n  public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {\n    setPreferencesFromResource(R.xml.adv_settings_prefs, rootKey);\n\n    mAllowCriticalPref = findPref(R.string.pref_adv_settings_allow_critical_changes_key);\n    mAllowCriticalValue = mAllowCriticalPref.isChecked();\n\n    mPerUidPermRefPref = findPref(R.string.pref_adv_settings_unique_ref_app_op_uid_mode_key);\n    mPerUidPermRefValue = mPerUidPermRefPref.isChecked();\n\n    mSecUserPermRefPref = findPref(R.string.pref_adv_settings_unique_ref_sec_users_key);\n    mSecUserPermRefValue = mSecUserPermRefPref.isChecked();\n\n    Preference pref = findPref(R.string.pref_adv_settings_reset_perm_db_key);\n    pref.setVisible(true);\n    pref.setEnabled(DaemonHandler.INS.isDaemonAlive());\n    pref.setOnPreferenceClickListener(\n        p -> {\n          mA.mA.showPermDbResetDialog();\n          return true;\n        });\n\n    mDaemonUidPref = findPref(R.string.pref_adv_settings_daemon_uid_key);\n    mDaemonUidValue = mDaemonUidPref.getValue();\n\n    mDaemonContextPref = findPref(R.string.pref_adv_settings_daemon_context_key);\n    mDaemonContextValue = mDaemonContextPref.getValue();\n\n    mSuPathPref = findPref(R.string.pref_adv_settings_su_exe_path_key);\n    mSuPathValue = mSuPathPref.getText();\n    mSuPathPref.setOnBindEditTextListener(\n        editText -> {\n          editText.setHint(R.string.su_exe_path_hint);\n          editText.addTextChangedListener(new SuPathWatcher(editText));\n        });\n\n    updateUi();\n  }\n\n  private void updateUi() {\n    mDaemonUidPref.setTitle(\n        ApiUtils.getString(\n            R.string.pref_adv_settings_daemon_uid_title2, mDaemonUidPref.getEntry()));\n    mDaemonContextPref.setTitle(\n        ApiUtils.getString(\n            R.string.pref_adv_settings_daemon_context_title2, mDaemonContextPref.getEntry()));\n    String suPath = mSuPathPref.getText();\n    mSuPathPref.setSummary(\n        TextUtils.isEmpty(suPath) ? ApiUtils.getString(R.string.su_exe_path_hint) : suPath);\n  }\n\n  public void onDisplayPreferenceDialog(Preference preference) {\n    if (!CustomPrefDialogFrag.showPrefDialogFrag(preference, this)) {\n      super.onDisplayPreferenceDialog(preference);\n    }\n  }\n\n  private static boolean isNotExecutableFile(CharSequence path) {\n    File file = new File(path.toString());\n    return !file.isFile() || !file.canExecute();\n  }\n\n  private static class SuPathWatcher implements TextWatcher {\n\n    private final EditText mSuPathEditText;\n\n    private SuPathWatcher(EditText editText) {\n      mSuPathEditText = editText;\n    }\n\n    public void beforeTextChanged(CharSequence s, int start, int count, int after) {}\n\n    public void onTextChanged(CharSequence s, int start, int before, int count) {\n      if (mSuPathEditText != null && !TextUtils.isEmpty(s) && isNotExecutableFile(s)) {\n        mSuPathEditText.setError(ApiUtils.getString(R.string.bad_path_toast), null);\n      }\n    }\n\n    public void afterTextChanged(Editable s) {}\n  }\n\n  public void onDestroy() {\n    if (!Objects.equals(mDaemonUidValue, mDaemonUidPref.getValue())\n        || !Objects.equals(mDaemonContextValue, mDaemonContextPref.getValue())\n        || !Objects.equals(mSuPathValue, mSuPathPref.getText())) {\n      DaemonStarter.INS.startPrivDaemon(true, false, true, true);\n    } else if (mAllowCriticalValue != mAllowCriticalPref.isChecked()\n        || mPerUidPermRefValue != mPerUidPermRefPref.isChecked()\n        || mSecUserPermRefValue != mSecUserPermRefPref.isChecked()) {\n      PackageParser.INS.updatePkgList();\n    }\n    super.onDestroy();\n  }\n\n  public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {\n    if (Objects.requireNonNull(key)\n        .equals(ApiUtils.getString(R.string.pref_adv_settings_exit_on_app_death_key))) {\n      if (DaemonHandler.INS.isDaemonAlive()) {\n        BgRunner.execute(\n            () -> {\n              NativeDaemon.INS_A.setExitOnAppDeath();\n              NativeDaemon.INS_R.setExitOnAppDeath();\n              DaemonIface.INS.setExitOnAppDeath();\n            });\n      }\n    } else if (key.equals(ApiUtils.getString(R.string.pref_adv_settings_su_exe_path_key))) {\n      String su = mSuPathPref.getText();\n      if (!TextUtils.isEmpty(su) && isNotExecutableFile(Objects.requireNonNull(su))) {\n        mSuPathPref.setText(mSuPathValue);\n        UiUtils.showToast(R.string.bad_path_toast);\n      }\n    }\n    updateUi();\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/prefs/settings/FilterSettingsActivity.java",
    "content": "package com.mirfatif.permissionmanagerx.prefs.settings;\n\nimport android.os.Build.VERSION;\nimport android.os.Build.VERSION_CODES;\nimport android.os.Bundle;\nimport android.view.Menu;\nimport android.view.MenuItem;\nimport android.view.View;\nimport androidx.appcompat.app.ActionBar;\nimport androidx.appcompat.app.AlertDialog;\nimport androidx.appcompat.app.AlertDialog.Builder;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.base.AlertDialogFragment;\nimport com.mirfatif.permissionmanagerx.databinding.ActivityFragmentContainerBinding;\nimport com.mirfatif.permissionmanagerx.fwk.FilterSettingsActivityM;\nimport com.mirfatif.permissionmanagerx.parser.PackageParser;\nimport com.mirfatif.permissionmanagerx.prefs.ExcFiltersData;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\nimport com.mirfatif.privtasks.util.bg.BgRunner;\n\npublic class FilterSettingsActivity {\n\n  public final FilterSettingsActivityM mA;\n\n  public FilterSettingsActivity(FilterSettingsActivityM activity) {\n    mA = activity;\n  }\n\n  private ActivityFragmentContainerBinding mB;\n  private FilterSettingsFragment mFilterSettingsFrag;\n\n  public void onCreated(Bundle savedInstanceState) {\n    mB = ActivityFragmentContainerBinding.inflate(mA.getLayoutInflater());\n    mA.setContentView(mB);\n\n    ActionBar actionBar = mA.getSupportActionBar();\n    if (actionBar != null) {\n      actionBar.setTitle(R.string.filter_menu_item);\n    }\n\n    mB.excFiltersMasterSwitch.setVisibility(View.VISIBLE);\n\n    if (MySettings.INS.getExcFiltersEnabled()) {\n      mB.excFiltersMasterSwitch.setChecked(true);\n      addFrag(savedInstanceState);\n    }\n\n    mB.excFiltersMasterSwitch.setOnClickListener(\n        v -> {\n          if (mB.excFiltersMasterSwitch.isChecked()) {\n            MySettings.INS.setExcFiltersEnabled(true);\n            addFrag(savedInstanceState);\n          } else {\n            removeFrag();\n            MySettings.INS.setExcFiltersEnabled(false);\n          }\n          PackageParser.INS.updatePkgList();\n        });\n  }\n\n  private void addFrag(Bundle savedInstanceState) {\n    if (savedInstanceState == null) {\n      if (mFilterSettingsFrag == null) {\n        mFilterSettingsFrag = new FilterSettingsFragment();\n      }\n      mA.getSupportFragmentManager()\n          .beginTransaction()\n          .replace(R.id.fragment_container, mFilterSettingsFrag)\n          .commitNow();\n    }\n  }\n\n  private void removeFrag() {\n    if (mFilterSettingsFrag != null) {\n      mA.getSupportFragmentManager().beginTransaction().remove(mFilterSettingsFrag).commitNow();\n    }\n  }\n\n  public boolean onCreateOptionsMenu(Menu menu) {\n    mA.getMenuInflater().inflate(R.menu.filter_settings, menu);\n    if (VERSION.SDK_INT >= VERSION_CODES.P) {\n      menu.setGroupDividerEnabled(true);\n    }\n    menu.findItem(R.id.action_clear_excluded_apps)\n        .setEnabled(ExcFiltersData.INS.getExcludedAppsCount() != 0);\n    menu.findItem(R.id.action_clear_excluded_perms)\n        .setEnabled(ExcFiltersData.INS.getExcludedPermsCount() != 0);\n    menu.findItem(R.id.action_clear_extra_app_ops)\n        .setEnabled(ExcFiltersData.INS.getExtraAppOpsCount() != 0);\n    return true;\n  }\n\n  public boolean onPrepareOptionsMenu(Menu menu) {\n    boolean filtersEnabled = MySettings.INS.getExcFiltersEnabled();\n    menu.findItem(R.id.action_reset_defaults).setVisible(filtersEnabled);\n    menu.findItem(R.id.action_clear_excluded_apps).setVisible(filtersEnabled);\n    menu.findItem(R.id.action_clear_excluded_perms).setVisible(filtersEnabled);\n    menu.findItem(R.id.action_clear_extra_app_ops).setVisible(filtersEnabled);\n    return true;\n  }\n\n  public boolean onOptionsItemSelected(MenuItem item) {\n    if (item.getItemId() == R.id.action_reset_defaults) {\n      AlertDialogFragment.show(mA, null, TAG_RESET_FILTER_SETTINGS);\n      return true;\n    }\n\n    if (item.getItemId() == R.id.action_clear_excluded_apps) {\n      AlertDialogFragment.show(mA, null, TAG_CLEAR_EXCLUDED_APPS);\n      return true;\n    }\n\n    if (item.getItemId() == R.id.action_clear_excluded_perms) {\n      AlertDialogFragment.show(mA, null, TAG_CLEAR_EXCLUDED_PERMS);\n      return true;\n    }\n\n    if (item.getItemId() == R.id.action_clear_extra_app_ops) {\n      AlertDialogFragment.show(mA, null, TAG_CLEAR_EXTRA_APP_OPS);\n      return true;\n    }\n\n    return false;\n  }\n\n  private static final String CLASS = FilterSettingsActivity.class.getName();\n  private static final String TAG_RESET_FILTER_SETTINGS = CLASS + \".RESET_FILTER_SETTINGS\";\n  private static final String TAG_CLEAR_EXCLUDED_APPS = CLASS + \".CLEAR_EXCLUDED_APPS\";\n  private static final String TAG_CLEAR_EXCLUDED_PERMS = CLASS + \".CLEAR_EXCLUDED_PERMS\";\n  private static final String TAG_CLEAR_EXTRA_APP_OPS = CLASS + \".CLEAR_EXTRA_APP_OPS\";\n\n  public AlertDialog createDialog(String tag) {\n    if (TAG_RESET_FILTER_SETTINGS.equals(tag)) {\n      return new Builder(mA)\n          .setPositiveButton(\n              R.string.yes, (d, w) -> BgRunner.execute(ExcFiltersData.INS::resetExcFilters))\n          .setNegativeButton(R.string.no, null)\n          .setTitle(R.string.filter_settings)\n          .setMessage(R.string.filter_settings_reset_confirmation)\n          .create();\n    }\n\n    if (TAG_CLEAR_EXCLUDED_APPS.equals(tag)) {\n      return new Builder(mA)\n          .setPositiveButton(R.string.yes, (d, w) -> MySettings.INS.clearExcludedAppsList())\n          .setNegativeButton(R.string.no, null)\n          .setTitle(R.string.filter_settings)\n          .setMessage(R.string.filter_settings_clear_apps_confirmation)\n          .create();\n    }\n\n    if (TAG_CLEAR_EXCLUDED_PERMS.equals(tag)) {\n      return new Builder(mA)\n          .setPositiveButton(R.string.yes, (d, w) -> MySettings.INS.clearExcludedPermsList())\n          .setNegativeButton(R.string.no, null)\n          .setTitle(R.string.filter_settings)\n          .setMessage(R.string.filter_settings_clear_perms_confirmation)\n          .create();\n    }\n\n    if (TAG_CLEAR_EXTRA_APP_OPS.equals(tag)) {\n      return new Builder(mA)\n          .setPositiveButton(R.string.yes, (d, w) -> MySettings.INS.clearExtraAppOpsList())\n          .setNegativeButton(R.string.no, null)\n          .setTitle(R.string.filter_settings)\n          .setMessage(R.string.filter_settings_clear_app_ops_confirmation)\n          .create();\n    }\n\n    return null;\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/prefs/settings/FilterSettingsFragment.java",
    "content": "package com.mirfatif.permissionmanagerx.prefs.settings;\n\nimport android.content.Context;\nimport android.content.SharedPreferences;\nimport android.content.SharedPreferences.OnSharedPreferenceChangeListener;\nimport android.graphics.Color;\nimport android.os.Bundle;\nimport android.text.SpannableString;\nimport android.text.Spanned;\nimport android.text.TextPaint;\nimport android.text.style.MetricAffectingSpan;\nimport androidx.core.util.Pair;\nimport androidx.preference.CheckBoxPreference;\nimport androidx.preference.MultiSelectListPreference;\nimport androidx.preference.Preference;\nimport androidx.preference.PreferenceFragmentCompat;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.fwk.FilterSettingsActivityM;\nimport com.mirfatif.permissionmanagerx.parser.AppOpsParser;\nimport com.mirfatif.permissionmanagerx.parser.PackageParser;\nimport com.mirfatif.permissionmanagerx.prefs.ExcFiltersData;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\nimport com.mirfatif.permissionmanagerx.prefs.fwk.CustomPrefDialogFrag;\nimport com.mirfatif.permissionmanagerx.util.ApiUtils;\nimport com.mirfatif.permissionmanagerx.util.bg.LiveTasksQueueTyped;\nimport com.mirfatif.privtasks.Constants;\nimport java.util.Comparator;\nimport java.util.Set;\n\npublic class FilterSettingsFragment extends PreferenceFragmentCompat\n    implements OnSharedPreferenceChangeListener {\n\n  private FilterSettingsActivityM mA;\n\n  CheckBoxPreference excludeNoIconAppsView;\n  CheckBoxPreference excludeUserAppsView;\n  CheckBoxPreference excludeSystemAppsView;\n  CheckBoxPreference excludeFrameworkAppsView;\n  CheckBoxPreference excludeDisabledAppsView;\n  CheckBoxPreference excludeNoPermsAppsView;\n  CheckBoxPreference manuallyExcludeAppsView;\n  private MultiSelectListPreference excludedAppsListView;\n\n  CheckBoxPreference excludeNotChangeablePermsView;\n  CheckBoxPreference excludeNotGrantedPermsView;\n  CheckBoxPreference manuallyExcludePermsView;\n  private MultiSelectListPreference excludedPermsListView;\n\n  CheckBoxPreference excludeInvalidPermsView;\n  CheckBoxPreference excludeNormalPermsView;\n  CheckBoxPreference excludeDangerousPermsView;\n  CheckBoxPreference excludeSignaturePermsView;\n  CheckBoxPreference excludePrivilegedPermsView;\n\n  CheckBoxPreference excludeAppOpsPermsView;\n  CheckBoxPreference excludeNotSetAppOpsView;\n  CheckBoxPreference showExtraAppOpsView;\n  private MultiSelectListPreference extraAppOpsListView;\n\n  public void onAttach(Context context) {\n    super.onAttach(context);\n    mA = (FilterSettingsActivityM) getActivity();\n  }\n\n  public void onPause() {\n    MySettings.getDefPrefs().unregisterOnSharedPreferenceChangeListener(this);\n    super.onPause();\n  }\n\n  public void onResume() {\n    super.onResume();\n    MySettings.getDefPrefs().registerOnSharedPreferenceChangeListener(this);\n  }\n\n  public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {\n    setPreferencesFromResource(R.xml.filter_settings_preferences, rootKey);\n\n    excludeNoIconAppsView =\n        findPreference(getString(R.string.pref_filter_exclude_no_icon_apps_key));\n    excludeUserAppsView = findPreference(getString(R.string.pref_filter_exclude_user_apps_key));\n    excludeSystemAppsView = findPreference(getString(R.string.pref_filter_exclude_system_apps_key));\n    excludeFrameworkAppsView =\n        findPreference(getString(R.string.pref_filter_exclude_framework_apps_key));\n    excludeDisabledAppsView =\n        findPreference(getString(R.string.pref_filter_exclude_disabled_apps_key));\n    excludeNoPermsAppsView =\n        findPreference(getString(R.string.pref_filter_exclude_no_perms_apps_key));\n    manuallyExcludeAppsView =\n        findPreference(getString(R.string.pref_filter_manually_exclude_apps_key));\n    excludedAppsListView = findPreference(getString(R.string.pref_filter_excluded_apps_key));\n\n    excludeNotChangeablePermsView =\n        findPreference(getString(R.string.pref_filter_exclude_not_changeable_perms_key));\n    excludeNotGrantedPermsView =\n        findPreference(getString(R.string.pref_filter_exclude_not_granted_perms_key));\n    manuallyExcludePermsView =\n        findPreference(getString(R.string.pref_filter_manually_exclude_perms_key));\n    excludedPermsListView = findPreference(getString(R.string.pref_filter_excluded_perms_key));\n\n    excludeInvalidPermsView =\n        findPreference(getString(R.string.pref_filter_exclude_invalid_perms_key));\n    excludeNormalPermsView =\n        findPreference(getString(R.string.pref_filter_exclude_normal_perms_key));\n    excludeDangerousPermsView =\n        findPreference(getString(R.string.pref_filter_exclude_dangerous_perms_key));\n    excludeSignaturePermsView =\n        findPreference(getString(R.string.pref_filter_exclude_signature_perms_key));\n    excludePrivilegedPermsView =\n        findPreference(getString(R.string.pref_filter_exclude_privileged_perms_key));\n\n    excludeAppOpsPermsView =\n        findPreference(getString(R.string.pref_filter_exclude_appops_perms_key));\n    excludeNotSetAppOpsView =\n        findPreference(getString(R.string.pref_filter_exclude_not_set_appops_key));\n    showExtraAppOpsView = findPreference(getString(R.string.pref_filter_show_extra_app_ops_key));\n    extraAppOpsListView = findPreference(getString(R.string.pref_filter_extra_appops_key));\n\n    updateViews();\n\n    setHasOptionsMenu(true);\n  }\n\n  private void updateViews() {\n    if (excludeUserAppsView == null) {\n      return;\n    }\n\n    excludeNoIconAppsView.setChecked(MySettings.INS.excludeNoIconApps());\n    excludeUserAppsView.setChecked(MySettings.INS.excludeUserApps());\n    excludeSystemAppsView.setChecked(MySettings.INS.excludeSystemApps());\n    excludeFrameworkAppsView.setChecked(MySettings.INS.excludeFrameworkApps());\n    excludeDisabledAppsView.setChecked(MySettings.INS.excludeDisabledApps());\n    excludeNoPermsAppsView.setChecked(MySettings.INS.excludeNoPermsApps());\n    manuallyExcludeAppsView.setChecked(MySettings.INS.manuallyExcludeApps());\n\n    excludeNotChangeablePermsView.setChecked(MySettings.INS.excludeNotChangeablePerms());\n    excludeNotGrantedPermsView.setChecked(MySettings.INS.excludeNotGrantedPerms());\n    manuallyExcludePermsView.setChecked(MySettings.INS.manuallyExcludePerms());\n\n    excludeInvalidPermsView.setChecked(MySettings.INS.excludeInvalidPerms());\n    excludeNormalPermsView.setChecked(MySettings.INS.excludeNormalPerms());\n    excludeDangerousPermsView.setChecked(MySettings.INS.excludeDangerousPerms());\n    excludeSignaturePermsView.setChecked(MySettings.INS.excludeSignaturePerms());\n    excludePrivilegedPermsView.setChecked(MySettings.INS.excludePrivilegedPerms());\n\n    excludeAppOpsPermsView.setChecked(MySettings.INS.excludeAppOpsPerms());\n    excludeNotSetAppOpsView.setChecked(MySettings.INS.excludeNotSetAppOps());\n    showExtraAppOpsView.setChecked(MySettings.INS.showExtraAppOps());\n\n    if (excludeUserAppsView.isChecked()) {\n      if (excludeSystemAppsView.isChecked()) {\n        excludeSystemAppsView.setChecked(false);\n      }\n      excludeSystemAppsView.setEnabled(false);\n    } else {\n      excludeSystemAppsView.setEnabled(true);\n    }\n\n    if (excludeSystemAppsView.isChecked()) {\n      if (!excludeFrameworkAppsView.isChecked()) {\n        excludeFrameworkAppsView.setChecked(true);\n      }\n      excludeFrameworkAppsView.setEnabled(false);\n      if (excludeUserAppsView.isChecked()) {\n        excludeUserAppsView.setChecked(false);\n      }\n      excludeUserAppsView.setEnabled(false);\n    } else {\n      excludeFrameworkAppsView.setEnabled(true);\n      excludeUserAppsView.setEnabled(true);\n    }\n\n    boolean showAppOps = !excludeAppOpsPermsView.isChecked();\n    excludeNotSetAppOpsView.setVisible(showAppOps);\n    showExtraAppOpsView.setVisible(showAppOps);\n    extraAppOpsListView.setVisible(showAppOps);\n\n    updateExcludedAppsView(\n        ExcFiltersData.INS.getExcludedApps(), ExcFiltersData.INS.getExcludedAppsLabels());\n\n    Set<String> excPerms = ExcFiltersData.INS.getExcludedPerms();\n\n    new LiveTasksQueueTyped<>(this, () -> excPerms.toArray(CharSequence[]::new))\n        .onUiWith(excPermsLabels -> updateExcludedPermsView(excPermsLabels, excPerms))\n        .start();\n\n    new LiveTasksQueueTyped<>(this, this::buildAppOpsNamesList)\n        .onUiWith(\n            appOps ->\n                updateExtraAppOpsView(\n                    appOps.first, appOps.second, ExcFiltersData.INS.getExtraAppOps()))\n        .start();\n  }\n\n  private Pair<String[], CharSequence[]> buildAppOpsNamesList() {\n    String[] appOps =\n        AppOpsParser.INS.getAppOpsNames().stream()\n            .sorted(Comparator.comparing(String::toUpperCase))\n            .toArray(String[]::new);\n\n    CharSequence[] labels = new CharSequence[appOps.length];\n    String extraAppOp;\n    SpannableString string;\n\n    for (int i = 0; i < labels.length; i++) {\n      extraAppOp = appOps[i];\n      if (Constants.UNKNOWN_OP.equals(extraAppOp)) {\n        string = new SpannableString(extraAppOp);\n        string.setSpan(new RedTextSpan(), 0, string.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);\n        labels[i] = string;\n      } else {\n        labels[i] = extraAppOp;\n      }\n    }\n\n    return new Pair<>(appOps, labels);\n  }\n\n  private static class RedTextSpan extends MetricAffectingSpan {\n\n    public void updateDrawState(TextPaint tp) {\n      tp.setColor(Color.RED);\n    }\n\n    public void updateMeasureState(TextPaint textPaint) {\n      updateDrawState(textPaint);\n    }\n  }\n\n  private void updateExcludedAppsView(\n      Set<String> excludedAppsSet, CharSequence[] excludedAppsLabels) {\n    CharSequence[] excludedApps = excludedAppsSet.toArray(new String[0]);\n    int appCount = excludedAppsSet.size();\n\n    excludedAppsListView.setEntries(excludedAppsLabels);\n    excludedAppsListView.setEntryValues(excludedApps);\n    excludedAppsListView.setValues(excludedAppsSet);\n\n    if (appCount == 0) {\n      excludedAppsListView.setSummary(R.string.excluded_apps_summary);\n    } else {\n      String message = excludedApps[0].toString();\n      int count = appCount - 1;\n      if (count > 0) {\n        message = ApiUtils.getQtyString(R.plurals.and_others_count, count, message, count);\n      }\n      excludedAppsListView.setSummary(message);\n    }\n    excludedAppsListView.setEnabled(manuallyExcludeAppsView.isChecked() && appCount != 0);\n  }\n\n  private void updateExcludedPermsView(\n      CharSequence[] excludedPermsLabels, Set<String> excludedPermsSet) {\n    CharSequence[] excludedPerms = excludedPermsSet.toArray(new String[0]);\n    int permCount = excludedPermsSet.size();\n\n    excludedPermsListView.setEntries(excludedPermsLabels);\n    excludedPermsListView.setEntryValues(excludedPerms);\n    excludedPermsListView.setValues(excludedPermsSet);\n\n    if (permCount == 0) {\n      excludedPermsListView.setSummary(R.string.excluded_perms_summary);\n    } else {\n      String message = excludedPerms[0].toString();\n      int count = permCount - 1;\n      if (count > 0) {\n        message = ApiUtils.getQtyString(R.plurals.and_others_count, count, message, count);\n      }\n      excludedPermsListView.setSummary(message);\n    }\n    excludedPermsListView.setEnabled(manuallyExcludePermsView.isChecked() && permCount != 0);\n  }\n\n  private void updateExtraAppOpsView(\n      String[] appOps, CharSequence[] appOpsLabels, Set<String> extraAppOps) {\n    int appOpsCount = appOpsLabels.length;\n\n    if (appOpsCount != 0) {\n      extraAppOpsListView.setEntries(appOpsLabels);\n      extraAppOpsListView.setEntryValues(appOps);\n      extraAppOpsListView.setValues(extraAppOps);\n    }\n\n    int extraAppOpsCount = extraAppOps.size();\n\n    String message;\n    if (extraAppOpsCount == 0 || appOpsCount == 0) {\n      message = getString(R.string.extra_app_ops_summary);\n      if (appOpsCount != 0) {\n        message += \" \" + getString(R.string.extra_app_ops_summary_count, appOpsCount);\n      }\n    } else {\n      message = (String) extraAppOps.toArray()[0];\n      extraAppOpsCount--;\n      if (extraAppOpsCount > 0) {\n        message =\n            ApiUtils.getQtyString(\n                R.plurals.and_others_count, extraAppOpsCount, message, extraAppOpsCount);\n      }\n    }\n    extraAppOpsListView.setSummary(message);\n    extraAppOpsListView.setEnabled(showExtraAppOpsView.isChecked() && appOpsCount != 0);\n  }\n\n  public void onDisplayPreferenceDialog(Preference preference) {\n    if (!CustomPrefDialogFrag.showPrefDialogFrag(preference, this)) {\n      super.onDisplayPreferenceDialog(preference);\n    }\n  }\n\n  public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {\n    ExcFiltersData.INS.updateList(key);\n\n    updateViews();\n\n    mA.invalidateOptionsMenu();\n\n    PackageParser.INS.updatePkgList();\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/prefs/settings/SearchSettingsFrag.java",
    "content": "package com.mirfatif.permissionmanagerx.prefs.settings;\n\nimport static com.mirfatif.permissionmanagerx.util.ApiUtils.getString;\n\nimport android.content.Context;\nimport android.content.SharedPreferences;\nimport android.content.SharedPreferences.OnSharedPreferenceChangeListener;\nimport android.os.Bundle;\nimport androidx.preference.Preference;\nimport androidx.preference.PreferenceFragmentCompat;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.fwk.MainActivityM;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\nimport java.util.Objects;\n\npublic class SearchSettingsFrag extends PreferenceFragmentCompat\n    implements OnSharedPreferenceChangeListener {\n\n  private MainActivityM mA;\n\n  public void onAttach(Context context) {\n    super.onAttach(context);\n    mA = (MainActivityM) getActivity();\n  }\n\n  public void onPause() {\n    MySettings.getDefPrefs().unregisterOnSharedPreferenceChangeListener(this);\n    super.onPause();\n  }\n\n  public void onResume() {\n    super.onResume();\n    MySettings.getDefPrefs().registerOnSharedPreferenceChangeListener(this);\n  }\n\n  public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {\n    setPreferencesFromResource(R.xml.settings_prefs_search, rootKey);\n    Preference pref =\n        findPreference(getString(R.string.pref_settings_search_suggestions_count_key));\n    Objects.requireNonNull(pref)\n        .setTitle(getString(R.string.pref_settings_search_suggestions_count_title2, 0));\n  }\n\n  public void onDisplayPreferenceDialog(Preference preference) {\n    super.onDisplayPreferenceDialog(preference);\n  }\n\n  public void onSaveInstanceState(Bundle outState) {}\n\n  public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {\n    if (getString(R.string.pref_main_deep_search_key).equals(key)\n        || getString(R.string.pref_main_case_sensitive_search_key).equals(key)\n        || getString(R.string.pref_settings_special_search_key).equals(key)) {\n      mA.mA.handleSearchQuery(false);\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/prefs/settings/SettingsActivity.java",
    "content": "package com.mirfatif.permissionmanagerx.prefs.settings;\n\nimport static com.mirfatif.permissionmanagerx.util.ApiUtils.getString;\n\nimport android.content.Intent;\nimport android.os.Bundle;\nimport androidx.activity.OnBackPressedCallback;\nimport androidx.appcompat.app.ActionBar;\nimport androidx.fragment.app.Fragment;\nimport androidx.fragment.app.FragmentManager;\nimport androidx.preference.Preference;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.databinding.ActivityFragmentContainerBinding;\nimport com.mirfatif.permissionmanagerx.fwk.SettingsActivityM;\nimport java.util.Objects;\n\npublic class SettingsActivity extends OnBackPressedCallback {\n\n  public final SettingsActivityM mA;\n\n  public SettingsActivity(SettingsActivityM activity) {\n    super(true);\n    mA = activity;\n  }\n\n  private static final String CLASS = SettingsActivity.class.getName();\n  public static final String EXTRA_NO_PARENT = CLASS + \".extra.NO_PARENT\";\n  private static final String SAVED_STATE_TITLE = CLASS + \".TITLE\";\n\n  public void onCreated(Bundle savedInstanceState) {\n    mA.setContentView(ActivityFragmentContainerBinding.inflate(mA.getLayoutInflater()));\n\n    String title = null;\n\n    if (savedInstanceState == null) {\n      mA.getSupportFragmentManager()\n          .beginTransaction()\n          .replace(R.id.fragment_container, new SettingsFrag())\n          .commit();\n    } else {\n      title = savedInstanceState.getString(SAVED_STATE_TITLE);\n    }\n\n    super.setEnabled(false);\n\n    ActionBar actionBar = mA.getSupportActionBar();\n    if (actionBar != null) {\n      actionBar.setTitle(title != null ? title : getString(R.string.settings_menu_item));\n\n      Intent intent = mA.getIntent();\n      if (intent != null && intent.getBooleanExtra(EXTRA_NO_PARENT, false)) {\n        actionBar.setDisplayHomeAsUpEnabled(false);\n      }\n    }\n  }\n\n  public void handleOnBackPressed() {\n    mA.finishAfterTransition();\n  }\n\n  public void onSaveInstanceState(Bundle outState) {\n    ActionBar actionBar = mA.getSupportActionBar();\n    if (actionBar != null) {\n      CharSequence title = actionBar.getTitle();\n      if (title != null) {\n        outState.putString(SAVED_STATE_TITLE, title.toString());\n      }\n    }\n  }\n\n  public boolean onPreferenceStartFragment(Preference pref) {\n    FragmentManager fm = mA.getSupportFragmentManager();\n\n    Fragment fragment =\n        fm.getFragmentFactory()\n            .instantiate(mA.getClassLoader(), Objects.requireNonNull(pref.getFragment()));\n\n    fragment.setArguments(pref.getExtras());\n\n    fm.beginTransaction().replace(R.id.fragment_container, fragment).addToBackStack(null).commit();\n\n    setActionBarTitle(Objects.requireNonNull(pref.getTitle()).toString());\n\n    return true;\n  }\n\n  void setActionBarTitle(String title) {\n    ActionBar actionBar = mA.getSupportActionBar();\n\n    if (actionBar != null) {\n      actionBar.setTitle(title);\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/prefs/settings/SettingsFrag.java",
    "content": "package com.mirfatif.permissionmanagerx.prefs.settings;\n\nimport android.os.Bundle;\nimport androidx.preference.Preference;\nimport androidx.preference.PreferenceFragmentCompat;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.fwk.SettingsActivityM;\n\npublic class SettingsFrag extends PreferenceFragmentCompat {\n\n  private SettingsActivityM mA;\n\n  public void onStart() {\n    super.onStart();\n    mA = (SettingsActivityM) getActivity();\n  }\n\n  public void onResume() {\n    super.onResume();\n    mA.mA.setActionBarTitle(getString(R.string.settings_menu_item));\n  }\n\n  private <T extends Preference> T findPref(int key) {\n    return findPreference(getString(key));\n  }\n\n  public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {\n    setPreferencesFromResource(R.xml.settings_prefs, rootKey);\n\n    findPref(R.string.pref_settings_general_cat_key)\n        .setFragment(SettingsFragGeneral.class.getName());\n    findPref(R.string.pref_settings_theming_cat_key).setFragment(SettingsFragTheme.class.getName());\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/prefs/settings/SettingsFragGeneral.java",
    "content": "package com.mirfatif.permissionmanagerx.prefs.settings;\n\nimport android.content.Context;\nimport android.content.SharedPreferences;\nimport android.content.SharedPreferences.OnSharedPreferenceChangeListener;\nimport android.os.Bundle;\nimport androidx.fragment.app.FragmentActivity;\nimport androidx.preference.ListPreference.SimpleSummaryProvider;\nimport androidx.preference.Preference;\nimport androidx.preference.PreferenceFragmentCompat;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.app.App;\nimport com.mirfatif.permissionmanagerx.parser.PackageParser;\nimport com.mirfatif.permissionmanagerx.parser.SearchConstants;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\nimport com.mirfatif.permissionmanagerx.prefs.fwk.CustomPrefDialogFrag;\nimport com.mirfatif.permissionmanagerx.util.ApiUtils;\nimport java.util.Objects;\n\npublic class SettingsFragGeneral extends PreferenceFragmentCompat\n    implements OnSharedPreferenceChangeListener {\n\n  private FragmentActivity mA;\n\n  public void onAttach(Context context) {\n    super.onAttach(context);\n    mA = getActivity();\n  }\n\n  public void onPause() {\n    MySettings.getDefPrefs().unregisterOnSharedPreferenceChangeListener(this);\n    super.onPause();\n  }\n\n  public void onResume() {\n    super.onResume();\n    MySettings.getDefPrefs().registerOnSharedPreferenceChangeListener(this);\n  }\n\n  public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {\n    setPreferencesFromResource(R.xml.settings_prefs_general, rootKey);\n    Preference pref = findPreference(ApiUtils.getString(R.string.pref_settings_locale_key));\n    if (pref != null) {\n      pref.setSummaryProvider(SimpleSummaryProvider.getInstance());\n    }\n  }\n\n  public void onDisplayPreferenceDialog(Preference preference) {\n    if (!CustomPrefDialogFrag.showPrefDialogFrag(preference, this)) {\n      super.onDisplayPreferenceDialog(preference);\n    }\n  }\n\n  public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {\n    if (Objects.requireNonNull(key).equals(ApiUtils.getString(R.string.pref_settings_locale_key))) {\n      App.setLocale();\n      SearchConstants.INS.recreate();\n      mA.recreate();\n      MySettings.INS.recreateMainActivity();\n      PackageParser.INS.updatePkgList();\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/prefs/settings/SettingsFragTheme.java",
    "content": "package com.mirfatif.permissionmanagerx.prefs.settings;\n\nimport android.content.Context;\nimport android.content.SharedPreferences;\nimport android.content.SharedPreferences.OnSharedPreferenceChangeListener;\nimport android.os.Bundle;\nimport androidx.fragment.app.FragmentActivity;\nimport androidx.preference.ListPreference.SimpleSummaryProvider;\nimport androidx.preference.Preference;\nimport androidx.preference.PreferenceFragmentCompat;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\nimport com.mirfatif.permissionmanagerx.prefs.fwk.CustomPrefDialogFrag;\nimport java.util.Objects;\n\npublic class SettingsFragTheme extends PreferenceFragmentCompat\n    implements OnSharedPreferenceChangeListener {\n\n  private FragmentActivity mA;\n\n  public void onAttach(Context context) {\n    super.onAttach(context);\n    mA = getActivity();\n  }\n\n  public void onPause() {\n    super.onPause();\n    MySettings.getDefPrefs().unregisterOnSharedPreferenceChangeListener(this);\n  }\n\n  public void onResume() {\n    super.onResume();\n    MySettings.getDefPrefs().registerOnSharedPreferenceChangeListener(this);\n  }\n\n  public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {\n    setPreferencesFromResource(R.xml.settings_prefs_theming, rootKey);\n    Preference pref = findPreference(getString(R.string.pref_settings_theme_color_key));\n    if (pref != null) {\n      pref.setEnabled(false);\n      pref.setSummaryProvider(SimpleSummaryProvider.getInstance());\n    }\n  }\n\n  public void onDisplayPreferenceDialog(Preference preference) {\n    if (!CustomPrefDialogFrag.showPrefDialogFrag(preference, this)) {\n      super.onDisplayPreferenceDialog(preference);\n    }\n  }\n\n  public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {\n    if (Objects.requireNonNull(key).equals(getString(R.string.pref_settings_theme_color_key))\n        || key.equals(getString(R.string.pref_settings_dark_theme_key))) {\n      mA.recreate();\n      MySettings.INS.recreateMainActivity();\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/privs/AdbConnManager.java",
    "content": "package com.mirfatif.permissionmanagerx.privs;\n\nimport android.os.Build;\nimport android.sun.misc.BASE64Encoder;\nimport android.sun.security.provider.X509Factory;\nimport android.sun.security.x509.AlgorithmId;\nimport android.sun.security.x509.CertificateAlgorithmId;\nimport android.sun.security.x509.CertificateExtensions;\nimport android.sun.security.x509.CertificateIssuerName;\nimport android.sun.security.x509.CertificateSerialNumber;\nimport android.sun.security.x509.CertificateSubjectName;\nimport android.sun.security.x509.CertificateValidity;\nimport android.sun.security.x509.CertificateVersion;\nimport android.sun.security.x509.CertificateX509Key;\nimport android.sun.security.x509.KeyIdentifier;\nimport android.sun.security.x509.PrivateKeyUsageExtension;\nimport android.sun.security.x509.SubjectKeyIdentifierExtension;\nimport android.sun.security.x509.X500Name;\nimport android.sun.security.x509.X509CertImpl;\nimport android.sun.security.x509.X509CertInfo;\nimport com.mirfatif.err.AdbException;\nimport com.mirfatif.permissionmanagerx.BuildConfig;\nimport com.mirfatif.permissionmanagerx.app.App;\nimport io.github.muntashirakon.adb.AbsAdbConnectionManager;\nimport java.io.File;\nimport java.io.FileInputStream;\nimport java.io.FileOutputStream;\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.io.OutputStream;\nimport java.nio.charset.StandardCharsets;\nimport java.security.InvalidKeyException;\nimport java.security.KeyFactory;\nimport java.security.KeyPair;\nimport java.security.KeyPairGenerator;\nimport java.security.NoSuchAlgorithmException;\nimport java.security.NoSuchProviderException;\nimport java.security.PrivateKey;\nimport java.security.PublicKey;\nimport java.security.SecureRandom;\nimport java.security.SignatureException;\nimport java.security.cert.Certificate;\nimport java.security.cert.CertificateEncodingException;\nimport java.security.cert.CertificateException;\nimport java.security.cert.CertificateFactory;\nimport java.security.spec.EncodedKeySpec;\nimport java.security.spec.InvalidKeySpecException;\nimport java.security.spec.PKCS8EncodedKeySpec;\nimport java.util.Date;\nimport java.util.Random;\n\npublic class AdbConnManager extends AbsAdbConnectionManager {\n\n  private PrivateKey mPrivateKey;\n  private Certificate mCertificate;\n\n  public AdbConnManager() throws AdbException {\n    try {\n      init();\n    } catch (NoSuchAlgorithmException\n        | SignatureException\n        | NoSuchProviderException\n        | InvalidKeyException\n        | InvalidKeySpecException\n        | CertificateException\n        | IOException e) {\n      throw new AdbException(e);\n    }\n  }\n\n  private void init()\n      throws NoSuchAlgorithmException,\n          IOException,\n          CertificateException,\n          InvalidKeySpecException,\n          InvalidKeyException,\n          NoSuchProviderException,\n          SignatureException {\n    setApi(Build.VERSION.SDK_INT);\n\n    mPrivateKey = readPrivateKeyFromFile();\n    mCertificate = readCertificateFromFile();\n\n    if (mPrivateKey == null || mCertificate == null) {\n      int keySize = 2048;\n      KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance(\"RSA\");\n      keyPairGenerator.initialize(keySize, SecureRandom.getInstance(\"SHA1PRNG\"));\n      KeyPair generateKeyPair = keyPairGenerator.generateKeyPair();\n      PublicKey publicKey = generateKeyPair.getPublic();\n      mPrivateKey = generateKeyPair.getPrivate();\n\n      String subject = \"CN=\" + BuildConfig.APPLICATION_ID;\n      String algorithmName = \"SHA512withRSA\";\n      long expiryDate = System.currentTimeMillis() + 86400000;\n      CertificateExtensions certificateExtensions = new CertificateExtensions();\n      certificateExtensions.set(\n          \"SubjectKeyIdentifier\",\n          new SubjectKeyIdentifierExtension(new KeyIdentifier(publicKey).getIdentifier()));\n      X500Name x500Name = new X500Name(subject);\n      Date notBefore = new Date();\n      Date notAfter = new Date(expiryDate);\n      certificateExtensions.set(\n          \"PrivateKeyUsage\", new PrivateKeyUsageExtension(notBefore, notAfter));\n      CertificateValidity certificateValidity = new CertificateValidity(notBefore, notAfter);\n      X509CertInfo x509CertInfo = new X509CertInfo();\n      x509CertInfo.set(\"version\", new CertificateVersion(2));\n      x509CertInfo.set(\n          \"serialNumber\", new CertificateSerialNumber(new Random().nextInt() & Integer.MAX_VALUE));\n      x509CertInfo.set(\"algorithmID\", new CertificateAlgorithmId(AlgorithmId.get(algorithmName)));\n      x509CertInfo.set(\"subject\", new CertificateSubjectName(x500Name));\n      x509CertInfo.set(\"key\", new CertificateX509Key(publicKey));\n      x509CertInfo.set(\"validity\", certificateValidity);\n      x509CertInfo.set(\"issuer\", new CertificateIssuerName(x500Name));\n      x509CertInfo.set(\"extensions\", certificateExtensions);\n      X509CertImpl x509CertImpl = new X509CertImpl(x509CertInfo);\n      x509CertImpl.sign(mPrivateKey, algorithmName);\n      mCertificate = x509CertImpl;\n\n      writePrivateKeyToFile(mPrivateKey);\n      writeCertificateToFile(mCertificate);\n    }\n  }\n\n  protected PrivateKey getPrivateKey() {\n    return mPrivateKey;\n  }\n\n  protected Certificate getCertificate() {\n    return mCertificate;\n  }\n\n  protected String getDeviceName() {\n    return BuildConfig.APPLICATION_ID;\n  }\n\n  private static final String CERT_FILE = \"cert.pem\";\n\n  private static Certificate readCertificateFromFile() throws IOException, CertificateException {\n    File certFile = getFile(CERT_FILE);\n    if (!certFile.exists()) return null;\n    try (InputStream cert = new FileInputStream(certFile)) {\n      return CertificateFactory.getInstance(\"X.509\").generateCertificate(cert);\n    }\n  }\n\n  private static void writeCertificateToFile(Certificate certificate)\n      throws CertificateEncodingException, IOException {\n    File certFile = getFile(CERT_FILE);\n    BASE64Encoder encoder = new BASE64Encoder();\n\n    try (OutputStream os = new FileOutputStream(certFile)) {\n      os.write(X509Factory.BEGIN_CERT.getBytes(StandardCharsets.UTF_8));\n      os.write('\\n');\n      encoder.encode(certificate.getEncoded(), os);\n      os.write('\\n');\n      os.write(X509Factory.END_CERT.getBytes(StandardCharsets.UTF_8));\n    }\n  }\n\n  private static final String KEY_FILE = \"private.key\";\n\n  private static PrivateKey readPrivateKeyFromFile()\n      throws IOException, NoSuchAlgorithmException, InvalidKeySpecException {\n    File keyFile = getFile(KEY_FILE);\n    if (!keyFile.exists()) {\n      return null;\n    }\n\n    int size = (int) keyFile.length();\n    byte[] privKeyBytes = new byte[size];\n    try (InputStream is = new FileInputStream(keyFile)) {\n      if (is.read(privKeyBytes) != size) {\n        throw new IOException(\"Failed to read private key file\");\n      }\n    }\n\n    KeyFactory keyFactory = KeyFactory.getInstance(\"RSA\");\n    EncodedKeySpec privateKeySpec = new PKCS8EncodedKeySpec(privKeyBytes);\n    return keyFactory.generatePrivate(privateKeySpec);\n  }\n\n  private static void writePrivateKeyToFile(PrivateKey privateKey) throws IOException {\n    File privateKeyFile = getFile(KEY_FILE);\n    try (OutputStream os = new FileOutputStream(privateKeyFile)) {\n      os.write(privateKey.getEncoded());\n    }\n  }\n\n  private static File getFile(String file) throws IOException {\n    File adbDir = new File(App.getCxt().getFilesDir(), \"adb\");\n    if (!adbDir.exists() && !adbDir.mkdirs()) {\n      throw new IOException(\"Could not create directory: \" + adbDir);\n    }\n    return new File(adbDir, file);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/privs/DaemonHandler.java",
    "content": "package com.mirfatif.permissionmanagerx.privs;\n\nimport static com.mirfatif.permissionmanagerx.BuildConfig.APPLICATION_ID;\nimport static com.mirfatif.permissionmanagerx.privs.NativeDaemon.INS_A;\nimport static com.mirfatif.permissionmanagerx.privs.NativeDaemon.INS_R;\nimport static com.mirfatif.permissionmanagerx.privs.NativeDaemon.NATIVE_DAEMON_RESTART_WAIT;\nimport static java.lang.System.currentTimeMillis;\n\nimport android.content.Intent;\nimport android.os.Bundle;\nimport android.os.IBinder;\nimport android.os.RemoteException;\nimport android.os.SystemClock;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\nimport com.mirfatif.permissionmanagerx.svc.LogcatSvc;\nimport com.mirfatif.permissionmanagerx.util.ApiUtils;\nimport com.mirfatif.permissionmanagerx.util.AppLifecycle;\nimport com.mirfatif.permissionmanagerx.util.LogUtils;\nimport com.mirfatif.permissionmanagerx.util.StdErrLogServer;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\nimport com.mirfatif.privtasks.Constants;\nimport com.mirfatif.privtasks.PrivTasksError;\nimport com.mirfatif.privtasks.bind.DaemonState;\nimport com.mirfatif.privtasks.bind.IPrivTasksCallback;\nimport com.mirfatif.privtasks.iface.IPrivTasks;\nimport com.mirfatif.privtasks.util.MyLog;\nimport com.mirfatif.privtasks.util.bg.NotifyWaiter;\nimport com.mirfatif.privtasks.util.bg.RateLimiter;\nimport com.mirfatif.privtasks.util.bg.ThreadUtils;\nimport java.io.File;\nimport java.io.IOException;\nimport java.io.PrintWriter;\nimport java.net.Inet4Address;\nimport java.net.Socket;\nimport java.util.NoSuchElementException;\nimport java.util.UUID;\nimport java.util.concurrent.ExecutionException;\nimport java.util.concurrent.TimeUnit;\nimport java.util.concurrent.atomic.AtomicBoolean;\nimport java.util.concurrent.atomic.AtomicReference;\n\npublic enum DaemonHandler {\n  INS;\n\n  private static final String TAG = \"DaemonHandler\";\n\n  private Boolean mPreferRoot;\n\n  private boolean startDaemon() {\n    return startDaemon(mPreferRoot);\n  }\n\n  private final AtomicBoolean START_DAEMON_LOCK = new AtomicBoolean();\n\n  public boolean startDaemon(Boolean preferRoot) {\n    synchronized (START_DAEMON_LOCK) {\n      if (isDaemonAlive()) {\n        MyLog.w(TAG, \"startDaemon\", \"Daemon already running\");\n        return true;\n      } else {\n        return startDaemonInternal(preferRoot != Boolean.FALSE);\n      }\n    }\n  }\n\n  private boolean startDaemonInternal(boolean preferRoot) {\n    boolean hasRoot = false, hasAdb = false;\n\n    if (!preferRoot) {\n      hasAdb = NativeDaemon.getAdb();\n    }\n\n    if (!hasAdb) {\n      hasRoot = NativeDaemon.getRoot();\n    }\n\n    if (preferRoot && !hasRoot) {\n      hasAdb = NativeDaemon.getAdb();\n    }\n\n    if (!hasRoot && !hasAdb) {\n      MyLog.e(TAG, \"startDaemon\", \"Cannot start privileged daemon without root or ADB shell\");\n      return false;\n    }\n\n    mPreferRoot = (preferRoot || !hasAdb) && hasRoot;\n\n    var daemon = mPreferRoot ? INS_R : INS_A;\n    daemon.runDaemon(CODE_WORD);\n\n    if (waitForHello()) {\n      MySettings.INS.setDaemonStartTs(currentTimeMillis());\n      return true;\n    } else {\n      return false;\n    }\n  }\n\n  private static final String CODE_WORD = UUID.randomUUID().toString();\n\n  private boolean connectToDaemon() {\n    synchronized (START_DAEMON_LOCK) {\n      if (isDaemonAlive()) {\n        return true;\n      }\n\n      if (MySettings.INS.shouldRestartDaemon()) {\n        savePort(0);\n        return false;\n      }\n\n      if (MySettings.INS.shouldDaemonExitOnAppDeath()) {\n        return false;\n      }\n\n      boolean res = false;\n\n      int port = MySettings.INS.getDaemonPort();\n      if (port == 0) {\n        return false;\n      }\n\n      try (Socket socket = new Socket(Inet4Address.getByAddress(new byte[] {127, 0, 0, 1}), port)) {\n        socket.setTcpNoDelay(true);\n        PrintWriter writer = new PrintWriter(socket.getOutputStream());\n        writer.println(Constants.CMD_CODE_WORD + \": \" + CODE_WORD);\n        writer.close();\n        res = true;\n      } catch (IOException ignored) {\n      }\n\n      if (res) {\n        res = waitForHello();\n      } else {\n        savePort(0);\n      }\n\n      return res;\n    }\n  }\n\n  private void savePort(int port) {\n    MySettings.INS.saveDaemonPort(port);\n  }\n\n  private final AtomicReference<DaemonState> DAEMON_LIVE_STATE = new AtomicReference<>();\n\n  public void onBinderReceived(Intent intent) {\n    ThreadUtils.assertNotMainThread();\n\n    String codeWord = intent.getStringExtra(Constants.EXTRA_CODE_WORD);\n    Bundle bundle;\n    IBinder iBinder;\n    if (!CODE_WORD.equals(codeWord)\n        || (bundle = intent.getBundleExtra(Constants.EXTRA_BINDER)) == null\n        || (iBinder = bundle.getBinder(Constants.EXTRA_BINDER)) == null) {\n      onGreetingsEnd();\n      MyLog.e(TAG, \"onBinderReceived\", \"Bad intent received\");\n      return;\n    }\n\n    IPrivTasks privTasks = IPrivTasks.Stub.asInterface(iBinder);\n\n    synchronized (DAEMON_LIVE_STATE) {\n      daemonStopped();\n    }\n\n    String jniLib =\n        new File(ApiUtils.getMyAppInfo().nativeLibraryDir, \"libpmxd.so\").getAbsolutePath();\n\n    try (StdErrLogServer server = new StdErrLogServer(TAG, null)) {\n      privTasks.sendStdErr(server.getLocalPort(), jniLib);\n      server.waitForConn();\n      privTasks.hello(new IPrivTasksCb(privTasks), LogUtils.createCrashLogFile().getAbsolutePath());\n    } catch (RemoteException | IOException | InterruptedException | ExecutionException e) {\n      MyLog.e(TAG, \"onBinderReceived\", e);\n      onGreetingsEnd();\n    }\n  }\n\n  private void onHelloReceived(DaemonState state) {\n    try {\n      state.deathRecipient = DaemonHandler.this::onDaemonDied;\n      state.privTasks.asBinder().linkToDeath(state.deathRecipient, 0);\n\n      DAEMON_LIVE_STATE.set(state);\n      savePort(state.port);\n\n      DaemonIface.INS.onDaemonStarted(state.privTasks);\n      if (AppLifecycle.isAppInFg()) {\n        LogcatSvc.sendDaemonCallback();\n      }\n      DaemonIface.INS.setExitOnAppDeath();\n    } catch (RemoteException e) {\n      MyLog.e(TAG, \"onHelloReceived\", e);\n\n      synchronized (DAEMON_LIVE_STATE) {\n        daemonStopped();\n      }\n    }\n\n    if (MySettings.INS.shouldGrantAppPrivs()) {\n      try {\n        state.privTasks.grantAppPrivileges(APPLICATION_ID, ApiUtils.getMyAppInfo().uid);\n      } catch (RemoteException e) {\n        MyLog.e(TAG, \"onHelloReceived\", e);\n        UiUtils.showToast(R.string.granting_permissions_failed_toast);\n      }\n    }\n\n    onGreetingsEnd();\n  }\n\n  private final NotifyWaiter mHelloWaiter = new NotifyWaiter(5, TimeUnit.SECONDS);\n\n  private boolean waitForHello() {\n    mHelloWaiter.waitForNotifyNoThrow();\n    return isDaemonAlive();\n  }\n\n  private void onGreetingsEnd() {\n    mHelloWaiter.notify(true);\n  }\n\n  private void daemonStopped() {\n    DaemonIface.INS.onDaemonStopped();\n    DAEMON_LIVE_STATE.set(null);\n    savePort(0);\n  }\n\n  private void onDaemonDied() {\n    boolean restart = false;\n    synchronized (DAEMON_LIVE_STATE) {\n      if (isDaemonAlive()) {\n        DaemonState state = DAEMON_LIVE_STATE.get();\n        MyLog.e(\n            TAG,\n            \"onDaemonDied\",\n            \"Privileged daemon (PID: \" + state.pid + \", UID: \" + state.uid + \") died\");\n        restart = true;\n      }\n      daemonStopped();\n    }\n\n    if (!restart) {\n      return;\n    }\n\n    UiUtils.showToast(R.string.priv_daemon_died_toast);\n\n    SystemClock.sleep(NATIVE_DAEMON_RESTART_WAIT * 2);\n\n    MyLog.i(TAG, \"onDaemonDied\", \"Restarting privileged daemon\");\n    if (startDaemon()) {\n      UiUtils.showToast(R.string.priv_daemon_restarted_toast);\n    }\n  }\n\n  public boolean stopDaemon() {\n    ThreadUtils.assertNotMainThread();\n\n    synchronized (DAEMON_LIVE_STATE) {\n      boolean alive = isDaemonAlive(false, true);\n      DaemonState state = DAEMON_LIVE_STATE.get();\n      daemonStopped();\n\n      if (state != null) {\n        try {\n          state.privTasks.asBinder().unlinkToDeath(state.deathRecipient, 0);\n        } catch (NoSuchElementException ignored) {\n        }\n\n        try {\n          state.privTasks.stopDaemon();\n        } catch (RemoteException ignored) {\n        }\n      }\n\n      return alive;\n    }\n  }\n\n  private class IPrivTasksCb extends IPrivTasksCallback.Stub {\n\n    private final IPrivTasks mPrivTasks;\n\n    public IPrivTasksCb(IPrivTasks privTasks) {\n      mPrivTasks = privTasks;\n    }\n\n    public void hello(DaemonState daemonState) {\n      daemonState.privTasks = mPrivTasks;\n      onHelloReceived(daemonState);\n    }\n\n    public void showError(int error) {\n      DaemonHandler.this.showError(error);\n    }\n\n    public void saveLog(String stackTrace) {\n      LogUtils.showCrashNotification(stackTrace, true);\n    }\n  }\n\n  public void showError(int error) {\n    switch (error) {\n      case PrivTasksError.OP_NUM_INCONSISTENCY,\n          PrivTasksError.OP_MODE_INCONSISTENCY,\n          PrivTasksError.APP_OPS_IMPL ->\n          UiUtils.showToast(R.string.daemon_err_bad_rom_toast);\n      default -> MyLog.e(TAG, \"\", \"Bad error code: \" + error);\n    }\n  }\n\n  public boolean isDaemonAlive() {\n    return isDaemonAlive(false, false);\n  }\n\n  private final RateLimiter mDaemonDeadLogLimiter = new RateLimiter(1, TimeUnit.SECONDS);\n\n  public boolean isDaemonAlive(boolean showToast, boolean tryConnect) {\n    boolean res = DAEMON_LIVE_STATE.get() != null;\n    if (!res && tryConnect) {\n      res = connectToDaemon();\n    }\n\n    if (!res) {\n      if (showToast) {\n        UiUtils.showToast(R.string.daemon_not_running_toast);\n      }\n\n      if (MySettings.INS.isDebug() || mDaemonDeadLogLimiter.can(true)) {\n        MyLog.w(TAG, null, \"Privileged daemon is not running\");\n      }\n    }\n\n    return res;\n  }\n\n  public Boolean isPreferRoot() {\n    if (!isDaemonAlive()) {\n      return null;\n    }\n    return mPreferRoot;\n  }\n\n  public Integer getUid() {\n    synchronized (DAEMON_LIVE_STATE) {\n      if (!isDaemonAlive()) {\n        return null;\n      }\n      return DAEMON_LIVE_STATE.get().uid;\n    }\n  }\n\n  public String getContext() {\n    synchronized (DAEMON_LIVE_STATE) {\n      if (!isDaemonAlive()) {\n        return null;\n      }\n      return DAEMON_LIVE_STATE.get().context;\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/privs/DaemonIface.java",
    "content": "package com.mirfatif.permissionmanagerx.privs;\n\nimport android.os.IBinder;\nimport android.os.RemoteException;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.app.App;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\nimport com.mirfatif.privtasks.bind.AppOpsLists;\nimport com.mirfatif.privtasks.bind.MyPackageOps;\nimport com.mirfatif.privtasks.bind.PermFixedFlags;\nimport com.mirfatif.privtasks.bind.PrivsStatus;\nimport com.mirfatif.privtasks.iface.IPrivTasks;\nimport com.mirfatif.privtasks.util.MyLog;\nimport com.mirfatif.privtasks.util.bg.RateLimitedTask;\nimport com.mirfatif.privtasks.util.bg.ThreadUtils;\nimport java.util.List;\nimport java.util.Objects;\nimport java.util.concurrent.TimeUnit;\n\npublic enum DaemonIface {\n  INS;\n\n  private static final String TAG = \"DaemonIface\";\n\n  private IPrivTasks mPrivTasks;\n\n  void onDaemonStarted(IPrivTasks privTasks) {\n    mPrivTasks = privTasks;\n  }\n\n  void onDaemonStopped() {\n    synchronized (this) {\n      mPrivTasks = null;\n    }\n  }\n\n  private boolean isDaemonAlive() {\n    return mPrivTasks != null && DaemonHandler.INS.isDaemonAlive(true, false);\n  }\n\n  public void setExitOnAppDeath() {\n    ThreadUtils.assertNotMainThread();\n\n    synchronized (this) {\n      if (isDaemonAlive()) {\n        try {\n          mPrivTasks.setExitOnAppDeath(MySettings.INS.shouldDaemonExitOnAppDeath());\n        } catch (RemoteException e) {\n          MyLog.e(TAG, \"setExitOnAppDeath\", e);\n          UiUtils.showToast(R.string.daemon_set_exit_on_app_death_failed_toast);\n        }\n      }\n    }\n  }\n\n  public PrivsStatus getPrivsStatus() {\n    ThreadUtils.assertNotMainThread();\n\n    synchronized (this) {\n      if (isDaemonAlive()) {\n        try {\n          return mPrivTasks.getPrivsStatus();\n        } catch (RemoteException e) {\n          MyLog.e(TAG, \"getPrivsStatus\", e);\n          UiUtils.showToast(R.string.daemon_get_priv_status_failed_toast);\n        }\n      }\n    }\n\n    return null;\n  }\n\n  public void setDebug(IBinder logCb) {\n    ThreadUtils.assertNotMainThread();\n\n    synchronized (this) {\n      if (isDaemonAlive()) {\n        try {\n          mPrivTasks.setDebug(logCb);\n        } catch (RemoteException e) {\n          MyLog.e(TAG, \"setDebug\", e);\n          UiUtils.showToast(R.string.daemon_set_debug_failed_toast);\n        }\n      }\n    }\n  }\n\n  public boolean dumpHeap() {\n    ThreadUtils.assertNotMainThread();\n\n    synchronized (this) {\n      if (isDaemonAlive()) {\n        try {\n          mPrivTasks.dumpHeap(\n              Objects.requireNonNull(App.getCxt().getExternalCacheDir()).getAbsolutePath());\n          return true;\n        } catch (RemoteException e) {\n          MyLog.e(TAG, \"dumpHeap\", e);\n          UiUtils.showToast(R.string.daemon_dump_heap_failed_toast);\n        }\n      }\n    }\n\n    return false;\n  }\n\n  public AppOpsLists getAppOpsLists() {\n    ThreadUtils.assertNotMainThread();\n\n    synchronized (this) {\n      if (isDaemonAlive()) {\n        try {\n          return mPrivTasks.getAppOpsLists();\n        } catch (RemoteException e) {\n          MyLog.e(TAG, \"getAppOpsLists\", e);\n          UiUtils.showToast(R.string.daemon_get_app_ops_lists_failed_toast);\n        }\n      }\n    }\n\n    return null;\n  }\n\n  public PermFixedFlags getPermFixedFlags() {\n    ThreadUtils.assertNotMainThread();\n\n    synchronized (this) {\n      if (isDaemonAlive()) {\n        try {\n          return mPrivTasks.getPermFixedFlags();\n        } catch (RemoteException e) {\n          MyLog.e(TAG, \"getPermFixedFlags\", e);\n          UiUtils.showToast(R.string.daemon_get_perm_fixed_flags_failed_toast);\n        }\n      }\n    }\n\n    return null;\n  }\n\n  public String[] getPackagesForUid(int uid) {\n    ThreadUtils.assertNotMainThread();\n\n    synchronized (this) {\n      if (isDaemonAlive()) {\n        try {\n          return mPrivTasks.getPackagesForUid(uid);\n        } catch (RemoteException e) {\n          MyLog.e(TAG, \"getPackagesForUid\", e);\n          UiUtils.showToast(R.string.daemon_get_pkgs_for_uid_failed_toast);\n        }\n      }\n    }\n\n    return null;\n  }\n\n  private final RateLimitedTask mGetOpsForPkgToaster =\n      new RateLimitedTask(\n          10, TimeUnit.SECONDS, () -> UiUtils.showToast(R.string.daemon_get_pkg_ops_failed_toast));\n\n  public List<MyPackageOps> getOpsForPkg(int uid, String pkgName, int[] ops) {\n    ThreadUtils.assertNotMainThread();\n\n    synchronized (this) {\n      if (isDaemonAlive()) {\n        try {\n          return mPrivTasks.getOpsForPackage(uid, pkgName, ops);\n        } catch (RemoteException e) {\n          MyLog.e(TAG, \"getOpsForPkg\", e);\n          mGetOpsForPkgToaster.run();\n        }\n      }\n    }\n\n    return null;\n  }\n\n  private final RateLimitedTask mGetPermFlagsToaster =\n      new RateLimitedTask(\n          10,\n          TimeUnit.SECONDS,\n          () -> UiUtils.showToast(R.string.daemon_get_perm_flags_failed_toast));\n\n  public Integer getPermFlags(String permName, String pkgName, int userId) {\n    ThreadUtils.assertNotMainThread();\n\n    synchronized (this) {\n      if (isDaemonAlive()) {\n        try {\n          return mPrivTasks.getPermFlags(permName, pkgName, userId);\n        } catch (RemoteException e) {\n          MyLog.e(TAG, \"getPermFlags\", e);\n          mGetPermFlagsToaster.run();\n        }\n      }\n    }\n\n    return null;\n  }\n\n  public void setPermState(boolean grant, String pkgName, String permName, int userId) {\n    ThreadUtils.assertNotMainThread();\n\n    synchronized (this) {\n      if (isDaemonAlive()) {\n        try {\n          mPrivTasks.setPermState(grant, pkgName, permName, userId);\n        } catch (RemoteException e) {\n          MyLog.e(TAG, \"setPermState\", e);\n          if (grant) {\n            UiUtils.showToast(R.string.daemon_grant_perm_failed_toast);\n          } else {\n            UiUtils.showToast(R.string.daemon_revoke_perm_failed_toast);\n          }\n        }\n      }\n    }\n  }\n\n  public void setAppOpMode(int uid, String pkgName, int op, int mode) {\n    ThreadUtils.assertNotMainThread();\n\n    synchronized (this) {\n      if (isDaemonAlive()) {\n        try {\n          mPrivTasks.setAppOpMode(uid, pkgName, op, mode);\n        } catch (RemoteException e) {\n          MyLog.e(TAG, \"setAppOpMode\", e);\n          UiUtils.showToast(R.string.daemon_set_app_ops_mode_failed_toast);\n        }\n      }\n    }\n  }\n\n  public void resetAppOps(int userId, String pkgName) {\n    ThreadUtils.assertNotMainThread();\n\n    synchronized (this) {\n      if (isDaemonAlive()) {\n        try {\n          mPrivTasks.resetAppOps(userId, pkgName);\n        } catch (RemoteException e) {\n          MyLog.e(TAG, \"resetAppOps\", e);\n          UiUtils.showToast(R.string.daemon_reset_app_ops_failed_toast);\n        }\n      }\n    }\n  }\n\n  public void setPkgState(boolean enable, String pkgName, int userId) {\n    ThreadUtils.assertNotMainThread();\n\n    synchronized (this) {\n      if (isDaemonAlive()) {\n        try {\n          mPrivTasks.setPkgState(enable, pkgName, userId);\n        } catch (RemoteException e) {\n          MyLog.e(TAG, \"setPkgState\", e);\n          if (enable) {\n            UiUtils.showToast(R.string.daemon_enable_pkg_failed_toast);\n          } else {\n            UiUtils.showToast(R.string.daemon_disable_pkg_failed_toast);\n          }\n        }\n      }\n    }\n  }\n\n  public void openAppInfo(String pkgName, int userId) {\n    ThreadUtils.assertNotMainThread();\n\n    synchronized (this) {\n      if (isDaemonAlive()) {\n        try {\n          mPrivTasks.openAppInfo(pkgName, userId);\n        } catch (RemoteException e) {\n          MyLog.e(TAG, \"openAppInfo\", e);\n          UiUtils.showToast(R.string.daemon_open_app_info_failed_toast);\n        }\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/privs/DaemonStarter.java",
    "content": "package com.mirfatif.permissionmanagerx.privs;\n\nimport static com.mirfatif.permissionmanagerx.util.ApiUtils.getString;\n\nimport android.os.SystemClock;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.parser.PackageParser;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\nimport com.mirfatif.permissionmanagerx.util.bg.LiveEvent;\nimport com.mirfatif.privtasks.util.MyLog;\nimport com.mirfatif.privtasks.util.bg.BgRunner;\nimport com.mirfatif.privtasks.util.bg.ThreadUtils;\n\npublic enum DaemonStarter {\n  INS;\n\n  private static final String TAG = \"DaemonStarter\";\n\n  public void startPrivDaemon(\n      boolean restart, boolean isFirstRun, boolean preferRoot, boolean showNoPrivsDialog) {\n    if (ThreadUtils.isMainThread()) {\n      BgRunner.execute(() -> startDaemonLocked(restart, isFirstRun, preferRoot, showNoPrivsDialog));\n    } else {\n      startDaemonLocked(restart, isFirstRun, preferRoot, showNoPrivsDialog);\n    }\n  }\n\n  private synchronized void startDaemonLocked(\n      boolean restart, boolean isFirstRun, boolean preferRoot, boolean showNoPrivsDialog) {\n    boolean wasAlive = DaemonHandler.INS.isDaemonAlive();\n\n    mDaemonStartResult.postValue(\n        new DaemonStartResult(\n            connectOrStartDaemon(restart, wasAlive, preferRoot),\n            showNoPrivsDialog,\n            isFirstRun,\n            wasAlive));\n  }\n\n  public synchronized int startPrivDaemon(boolean restart, boolean preferRoot) {\n    return connectOrStartDaemon(restart, DaemonHandler.INS.isDaemonAlive(), preferRoot);\n  }\n\n  private synchronized int connectOrStartDaemon(\n      boolean restart, boolean wasAlive, boolean preferRoot) {\n    if (wasAlive && !restart) {\n      if (PackageParser.INS.getPkgList().isEmpty()) {\n        setProgress(R.string.prog_msg_checking_privs);\n      }\n      return DaemonStartStatus.STARTED;\n    }\n\n    long waitTill = System.currentTimeMillis();\n\n    if (wasAlive) {\n      setProgress(R.string.prog_msg_stopping_daemon);\n      if (DaemonHandler.INS.stopDaemon()) {\n        waitTill += 1000;\n      }\n    } else {\n      setProgress(R.string.prog_msg_connecting_to_daemon);\n      if (DaemonHandler.INS.isDaemonAlive(false, true)) {\n        return DaemonStartStatus.STARTED;\n      }\n    }\n\n    boolean hasPrivs = false;\n\n    if (MySettings.INS.isRootEnabled() || MySettings.INS.isAdbEnabled()) {\n      if (preferRoot) {\n        setProgress(R.string.prog_msg_checking_root_access);\n        hasPrivs = NativeDaemon.getRoot();\n      }\n\n      if (!hasPrivs) {\n        setProgress(R.string.prog_msg_checking_adb_access);\n        hasPrivs = NativeDaemon.getAdb();\n      }\n\n      if (!hasPrivs && !preferRoot) {\n        setProgress(R.string.prog_msg_checking_root_access);\n        hasPrivs = NativeDaemon.getRoot();\n      }\n    }\n\n    if (!hasPrivs) {\n      MyLog.w(TAG, \"connectOrStartDaemon\", \"Root / ABD access unavailable\");\n      if (!PackageParser.INS.getPkgList().isEmpty()) {\n        mProgress.postValue(null);\n      }\n      return DaemonStartStatus.NO_PRIVS;\n    }\n\n    setProgress(R.string.prog_msg_starting_daemon);\n\n    long sleep = waitTill - System.currentTimeMillis();\n    if (sleep > 0) {\n      SystemClock.sleep(sleep);\n    }\n\n    return DaemonHandler.INS.startDaemon(preferRoot)\n        ? DaemonStartStatus.STARTED\n        : DaemonStartStatus.FAILED;\n  }\n\n  public void switchToRootOrAdbDaemon(boolean preferRoot) {\n    if (Boolean.valueOf(preferRoot).equals(DaemonHandler.INS.isPreferRoot())) {\n      MyLog.i(\n          TAG,\n          \"switchToRootOrAdbDaemon\",\n          (preferRoot ? \"root\" : \"adb\") + \" daemon already running\");\n      return;\n    }\n    startPrivDaemon(true, false, preferRoot, true);\n  }\n\n  public void stopDaemon(boolean preferRoot) {\n    boolean restart = true;\n\n    if (Boolean.valueOf(preferRoot).equals(DaemonHandler.INS.isPreferRoot())) {\n      MyLog.i(TAG, \"stopDaemon\", (preferRoot ? \"root\" : \"adb\") + \" daemon already running\");\n      restart = false;\n    }\n\n    startPrivDaemon(restart, false, false, false);\n  }\n\n  private final LiveEvent<String> mProgress = new LiveEvent<>(true);\n  private final LiveEvent<DaemonStartResult> mDaemonStartResult = new LiveEvent<>(true);\n\n  public LiveEvent<String> getLiveProg() {\n    return mProgress;\n  }\n\n  public LiveEvent<DaemonStartResult> getLiveStartResult() {\n    return mDaemonStartResult;\n  }\n\n  private void setProgress(int msg) {\n    mProgress.postValue(getString(msg));\n  }\n\n  public static class DaemonStartResult {\n    public final int daemonStarted;\n    public final boolean showNoPrivsDialog;\n    public final boolean isFirstRun;\n    public final boolean wasAlive;\n\n    private DaemonStartResult(\n        int started, boolean showNoPrivsDialog, boolean isFirstRun, boolean wasAlive) {\n      this.daemonStarted = started;\n      this.showNoPrivsDialog = showNoPrivsDialog;\n      this.isFirstRun = isFirstRun;\n      this.wasAlive = wasAlive;\n    }\n  }\n\n  public @interface DaemonStartStatus {\n    int NO_PRIVS = 0;\n    int STARTED = 1;\n    int FAILED = 2;\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/privs/NativeDaemon.java",
    "content": "package com.mirfatif.permissionmanagerx.privs;\n\nimport static com.mirfatif.permissionmanagerx.BuildConfig.APPLICATION_ID;\nimport static com.mirfatif.permissionmanagerx.BuildConfig.APP_ID;\nimport static java.lang.System.currentTimeMillis;\n\nimport android.os.SystemClock;\nimport com.mirfatif.err.AdbException;\nimport com.mirfatif.permissionmanagerx.BuildConfig;\nimport com.mirfatif.permissionmanagerx.app.App;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\nimport com.mirfatif.permissionmanagerx.util.ApiUtils;\nimport com.mirfatif.permissionmanagerx.util.StdErrLogServer;\nimport com.mirfatif.privtasks.util.MyLog;\nimport com.mirfatif.privtasks.util.Util;\nimport io.github.muntashirakon.adb.AdbPairingRequiredException;\nimport io.github.muntashirakon.adb.AdbStream;\nimport java.io.BufferedReader;\nimport java.io.File;\nimport java.io.IOException;\nimport java.io.InputStreamReader;\nimport java.io.OutputStream;\nimport java.io.PrintWriter;\nimport java.net.Inet4Address;\nimport java.net.Socket;\nimport java.util.concurrent.ExecutionException;\nimport java.util.concurrent.TimeUnit;\n\npublic enum NativeDaemon {\n  INS_R(false),\n  INS_A(true);\n\n  private static final String STATIC_TAG = \"NativeDaemon\";\n\n  private final boolean mAdb;\n  private final String DAEMON_COMMAND;\n  private final String TAG;\n\n  NativeDaemon(boolean isAdb) {\n    mAdb = isAdb;\n    String libDir = ApiUtils.getMyAppInfo().nativeLibraryDir;\n    String bin = new File(libDir, \"libpmxe.so\").getAbsolutePath();\n\n    String suffix = APPLICATION_ID.replace(APP_ID, \"\");\n    suffix = suffix.replaceFirst(\"^\\\\.\", \"\");\n    if (!suffix.isEmpty()) {\n      suffix += \"-\";\n    }\n\n    DAEMON_COMMAND = \"exec \" + bin + \" -D \" + suffix + (isAdb ? \"adb\" : \"root\");\n    TAG = isAdb ? \"AdbNativeDaemon\" : \"RootNativeDaemon\";\n  }\n\n  private final Object LOCK = new Object();\n\n  private void connectToCheckAlive() {\n    synchronized (LOCK) {\n      if (MySettings.INS.shouldRestartDaemon()) {\n        savePort(0);\n        return;\n      }\n\n      int port = mAdb ? MySettings.INS.getAdbDaemonPort() : MySettings.INS.getRootDaemonPort();\n      if (port <= 0) {\n        return;\n      }\n\n      connectToDaemon(port, false);\n\n      if (!isAlive(false)) {\n        savePort(0);\n      }\n    }\n  }\n\n  private void connectToDaemon(int port, boolean printException) {\n    Socket socket = null;\n    try {\n      try {\n        socket = new Socket(Inet4Address.getByAddress(new byte[] {127, 0, 0, 1}), port);\n      } catch (IOException e) {\n        if (printException) {\n          throw e;\n        } else {\n          MyLog.e(TAG, \"connectToDaemon\", e.toString());\n          return;\n        }\n      }\n\n      socket.setTcpNoDelay(true);\n\n      OutputStream os = socket.getOutputStream();\n      PrintWriter writer = new PrintWriter(os, true);\n\n      try (StdErrLogServer server = new StdErrLogServer(TAG, () -> daemonStopped(true))) {\n        writer.println(CMD_HELLO + server.getLocalPort());\n        BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));\n        socket.setSoTimeout(5000);\n        String resp = reader.readLine();\n        socket.setSoTimeout(0);\n\n        if (resp == null || !resp.startsWith(RESP_OK)) {\n          return;\n        }\n\n        server.waitForConn();\n\n        mState = new State(writer);\n      }\n    } catch (IOException | NumberFormatException | InterruptedException | ExecutionException e) {\n      MyLog.e(TAG, \"connectToDaemon\", e);\n    } finally {\n      if (!isAlive(false) && socket != null) {\n        try {\n          socket.close();\n        } catch (IOException ignored) {\n        }\n      }\n    }\n  }\n\n  private boolean startRootDaemon() {\n    synchronized (LOCK) {\n      if (isAlive(false)) {\n        MyLog.w(TAG, \"startRootDaemon\", \"Daemon already running\");\n        return true;\n      }\n\n      String su = MySettings.INS.getSuExePath();\n      Process proc = Util.runProc(TAG, \"startRootDaemon\", false, su);\n      if (proc == null) {\n        MySettings.INS.setRootEnabled(false);\n        return false;\n      }\n\n      MyLog.i(TAG, \"startRootDaemon\", \"Starting root native daemon\");\n\n      PrintWriter printer = new PrintWriter(proc.getOutputStream());\n      printer.println(DAEMON_COMMAND);\n      printer.close();\n\n      waitForPort(new BufferedReader(new InputStreamReader(proc.getInputStream())));\n\n      boolean rootEnabled = isAlive(false);\n      MySettings.INS.setRootEnabled(rootEnabled);\n      return rootEnabled;\n    }\n  }\n\n  private boolean startAdbDaemon(\n      boolean retryConnect, boolean printException, String host, int port) {\n    synchronized (LOCK) {\n      if (isAlive(false)) {\n        MyLog.w(TAG, \"startAdbDaemon\", \"Daemon already running\");\n        return true;\n      }\n\n      boolean err = false;\n      Exception exception = null;\n\n      long ts = currentTimeMillis() + 5000;\n      for (int i = 0; i <= 10; i++) {\n        err = false;\n        exception = null;\n\n        try (AdbConnManager connMgr = new AdbConnManager()) {\n          connMgr.setTimeout(10, TimeUnit.SECONDS);\n          boolean res;\n          if (i == 0) {\n            res = connMgr.autoConnect(App.getCxt(), 2500);\n          } else if (host == null || port <= 0) {\n            err = true;\n            break;\n          } else {\n            res = connMgr.connect(host, port);\n          }\n          if (res) {\n            try (AdbStream adbStream = connMgr.openStream(\"shell:\" + DAEMON_COMMAND)) {\n              waitForPort(new BufferedReader(new InputStreamReader(adbStream.openInputStream())));\n            } catch (IOException | InterruptedException e) {\n              MyLog.e(TAG, \"startAdbDaemon\", \"ADB stream failed\", e);\n            }\n            break;\n          } else {\n            err = true;\n          }\n\n        } catch (AdbException\n            | InterruptedException\n            | IOException\n            | AdbPairingRequiredException e) {\n          exception = e;\n        }\n\n        if (i == 0) {\n          continue;\n        }\n\n        if (!retryConnect || (ts - currentTimeMillis() <= 0)) {\n          break;\n        }\n\n        if (i < 10) {\n          SystemClock.sleep(500);\n          MyLog.i(TAG, \"startAdbDaemon\", \"Retrying \" + (i + 1));\n        }\n      }\n\n      if (exception != null) {\n        if (printException) {\n          MyLog.e(TAG, \"startAdbDaemon\", \"Adb connection failed\", exception);\n        } else {\n          MyLog.e(TAG, \"startAdbDaemon\", \"Adb connection failed: \" + exception);\n        }\n      } else if (err) {\n        MyLog.e(TAG, \"startAdbDaemon\", \"Adb connection failed\");\n      }\n\n      boolean adbEnabled = isAlive(false);\n      MySettings.INS.setAdbEnabled(adbEnabled);\n      return adbEnabled;\n    }\n  }\n\n  private void waitForPort(BufferedReader reader) {\n    try (reader) {\n      String resp = reader.readLine();\n\n      String[] respSplit;\n      int port;\n      if (resp == null\n          || !resp.startsWith(RESP_PORT)\n          || ((respSplit = resp.split(\" \")).length) != 2\n          || (port = Integer.parseInt(respSplit[1])) <= 0) {\n        return;\n      }\n\n      connectToDaemon(port, true);\n      if (isAlive(false)) {\n        savePort(port);\n        setExitOnAppDeathUnlocked();\n      }\n    } catch (IOException e) {\n      MyLog.e(TAG, \"waitForPort\", e);\n    }\n  }\n\n  public void stopDaemon() {\n    synchronized (LOCK) {\n      if (isAlive(true)) {\n        stopDaemonUnlocked();\n      }\n    }\n  }\n\n  private void stopDaemonUnlocked() {\n    sendCmd(CMD_EXIT);\n    daemonStopped(false);\n  }\n\n  private void daemonStopped(boolean holdLock) {\n    if (mState != null) {\n      if (holdLock) {\n        synchronized (LOCK) {\n          mState = null;\n          savePort(0);\n        }\n      } else {\n        mState = null;\n        savePort(0);\n      }\n    }\n  }\n\n  public static final int NATIVE_DAEMON_RESTART_WAIT = 5000;\n\n  private void savePort(int port) {\n    if (mAdb) {\n      MySettings.INS.saveAdbDaemonPort(port);\n    } else {\n      MySettings.INS.saveRootDaemonPort(port);\n    }\n  }\n\n  public void setExitOnAppDeath() {\n    synchronized (LOCK) {\n      if (isAlive(true, true)) {\n        setExitOnAppDeathUnlocked();\n      }\n    }\n  }\n\n  public void setExitOnAppDeathUnlocked() {\n    sendCmd(CMD_AUTO_EXIT + \" \" + MySettings.INS.shouldDaemonExitOnAppDeath());\n  }\n\n  private boolean isAlive(boolean tryConnect) {\n    return isAlive(tryConnect, false);\n  }\n\n  private boolean isAlive(boolean tryConnect, boolean forAutoExit) {\n    if (mState == null\n        && tryConnect\n        && (forAutoExit || !MySettings.INS.shouldDaemonExitOnAppDeath())) {\n      connectToCheckAlive();\n    }\n    return mState != null;\n  }\n\n  private static final String CMD_HELLO = \"hello \";\n  private static final String CMD_EXIT = \"exit\";\n  private static final String CMD_AUTO_EXIT = \"auto_exit\";\n  private static final String CMD_RUN = \"run \";\n  private static final String CMD_RUN_BG = \"run_bg \";\n  private static final String CMD_RUN_DMN = \"run_dmn \";\n\n  private static final String RESP_PORT = \"PORT:\";\n  private static final String RESP_OK = \"OK\";\n\n  public void run(String cmd, boolean background) {\n    sendCommand((background ? CMD_RUN_BG : CMD_RUN) + cmd);\n  }\n\n  public void runDaemon(String codeWord) {\n    var cp = ApiUtils.getMyAppInfo().sourceDir;\n    var guid = MySettings.INS.getDaemonUid();\n    var seLabel = MySettings.INS.getDaemonContext();\n    var appId = App.getCxt().getPackageName();\n    sendCommand(CMD_RUN_DMN + cp + \" \" + guid + \" \" + seLabel + \" \" + appId + \" \" + codeWord);\n  }\n\n  private void sendCommand(String cmd) {\n    sendCommandLocked(cmd);\n  }\n\n  private void sendCommandLocked(String cmd) {\n    synchronized (LOCK) {\n      if (!isAlive(false)) {\n        return;\n      }\n      sendCmd(cmd);\n    }\n  }\n\n  void sendCmd(String cmd) {\n    if (BuildConfig.DEBUG) {\n      MyLog.d(TAG, \"sendCmd\", \"Sending command: \" + cmd);\n    }\n    mState.mCmdWriter.println(cmd);\n  }\n\n  private State mState;\n\n  private static class State {\n\n    private final PrintWriter mCmdWriter;\n\n    private State(PrintWriter writer) {\n      mCmdWriter = writer;\n    }\n  }\n\n  public static boolean hasRoot(boolean tryConnect) {\n    return INS_R.isAlive(tryConnect);\n  }\n\n  public static boolean getRoot() {\n    return getRoot(true);\n  }\n\n  public static boolean getRoot(boolean ifEnabledOnly) {\n    return hasRoot(true)\n        || ((!ifEnabledOnly || MySettings.INS.isRootEnabled()) && INS_R.startRootDaemon());\n  }\n\n  public static boolean hasAdb(boolean tryConnect) {\n    return INS_A.isAlive(tryConnect);\n  }\n\n  public static boolean getAdb() {\n    return getAdb(true, false, false);\n  }\n\n  private static boolean getAdb(\n      boolean ifEnabledOnly, boolean retryConnect, boolean printException) {\n    return getAdb(\n        ifEnabledOnly,\n        retryConnect,\n        printException,\n        MySettings.INS.getAdbHost(),\n        MySettings.INS.getAdbPort());\n  }\n\n  public static boolean getAdb(\n      boolean ifEnabledOnly, boolean retryConnect, boolean printException, String host, int port) {\n    return hasAdb(true)\n        || ((!ifEnabledOnly || MySettings.INS.isAdbEnabled())\n            && INS_A.startAdbDaemon(retryConnect, printException, host, port));\n  }\n\n  public static boolean forceGetAdb(boolean retryConnect) {\n    if (getAdb(false, retryConnect, false)) {\n      return true;\n    }\n\n    if (!getRoot()) {\n      return false;\n    }\n\n    MyLog.i(STATIC_TAG, \"forceGetAdb\", \"Sending ADB switch commands\");\n    INS_R.run(\"settings put global adb_enabled 0\", false);\n    INS_R.run(\"stop adbd\", false);\n    INS_R.run(\"setprop service.adb.tcp.port \" + MySettings.INS.getAdbPort(), false);\n    SystemClock.sleep(2000);\n    INS_R.run(\"settings put global adb_enabled 1\", false);\n    INS_R.run(\"start adbd\", false);\n\n    return getAdb(false, true, true);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/profile/PermProfileBackupRestore.java",
    "content": "package com.mirfatif.permissionmanagerx.profile;\n\nimport java.io.IOException;\nimport java.io.InputStream;\nimport org.xmlpull.v1.XmlSerializer;\n\npublic class PermProfileBackupRestore {\n\n  public static int backup(XmlSerializer ignored) throws IOException {\n    return -1;\n  }\n\n  public static int restore(InputStream ignored) {\n    return -1;\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/svc/AdbConnectSvc.java",
    "content": "package com.mirfatif.permissionmanagerx.svc;\n\nimport static com.mirfatif.permissionmanagerx.util.ApiUtils.getInt;\n\nimport android.app.Service;\nimport android.content.Intent;\nimport com.mirfatif.err.AdbException;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.fwk.AdbConnectSvcM;\nimport com.mirfatif.permissionmanagerx.main.AdbConnectDialog;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\nimport com.mirfatif.permissionmanagerx.privs.AdbConnManager;\nimport com.mirfatif.permissionmanagerx.privs.DaemonHandler;\nimport com.mirfatif.permissionmanagerx.privs.DaemonStarter;\nimport com.mirfatif.permissionmanagerx.privs.NativeDaemon;\nimport com.mirfatif.permissionmanagerx.util.AppLifecycle;\nimport com.mirfatif.permissionmanagerx.util.NotifUtils;\nimport com.mirfatif.privtasks.util.MyLog;\nimport com.mirfatif.privtasks.util.bg.BgRunner;\nimport io.github.muntashirakon.adb.AdbPairingRequiredException;\nimport java.io.IOException;\nimport java.util.concurrent.TimeUnit;\n\npublic class AdbConnectSvc {\n\n  private static final String TAG = \"AdbConnectSvc\";\n\n  private final AdbConnectSvcM mS;\n\n  public AdbConnectSvc(AdbConnectSvcM svc) {\n    mS = svc;\n  }\n\n  private static final String EXTRA_HOST = \"com.mirfatif.pmx.extra.ADB_HOST\";\n  private static final String EXTRA_PORT = \"com.mirfatif.pmx.extra.ADB_PORT\";\n\n  public int onStartCommand(Intent intent) {\n    mS.startForeground(\n        getInt(R.integer.channel_adb_connection),\n        NotifUtils.createSilentFgNotif(\n            \"channel_adb_connection\",\n            R.string.channel_adb_connection,\n            R.string.adb_conn_notif_title,\n            R.string.adb_conn_notif_text));\n\n    if (intent != null) {\n      int port = intent.getIntExtra(EXTRA_PORT, AdbConnectDialog.MIN_PORT - 1);\n      if (port < AdbConnectDialog.MIN_PORT || port > AdbConnectDialog.MAX_PORT) {\n        MyLog.e(TAG, null, \"No or bad port received in intent\");\n      } else if (AppLifecycle.isAppVisible()) {\n        MyLog.e(TAG, null, \"App is in foreground\");\n      } else {\n        BgRunner.execute(() -> connToAdbAndStartDaemon(intent.getStringExtra(EXTRA_HOST), port));\n        return Service.START_NOT_STICKY;\n      }\n    }\n\n    mS.stopSelf();\n    return Service.START_NOT_STICKY;\n  }\n\n  private void connToAdbAndStartDaemon(String host, int port) {\n    if (DaemonHandler.INS.isDaemonAlive(false, true)) {\n      MyLog.w(TAG, null, \"Daemon is already running\");\n      mS.stopSelf();\n      return;\n    }\n\n    if (NativeDaemon.hasRoot(true) || NativeDaemon.hasAdb(true)) {\n      startDaemon();\n      return;\n    }\n\n    if (host == null) {\n      host = MySettings.INS.getAdbHost();\n    }\n\n    try (AdbConnManager connMgr = new AdbConnManager()) {\n      connMgr.setTimeout(10, TimeUnit.SECONDS);\n      if (!connMgr.connect(port)) {\n        MyLog.e(TAG, null, \"Adb connect to port \" + port + \" failed\");\n      } else {\n        MySettings.INS.saveAdbPort(port);\n\n        if (NativeDaemon.getAdb(false, false, true, host, port)) {\n          startDaemon();\n        }\n      }\n    } catch (AdbException | InterruptedException | IOException | AdbPairingRequiredException e) {\n      MyLog.e(TAG, null, e);\n    }\n\n    mS.stopSelf();\n  }\n\n  private void startDaemon() {\n    int res = DaemonStarter.INS.startPrivDaemon(false, false);\n\n    switch (res) {\n      case DaemonStarter.DaemonStartStatus.NO_PRIVS ->\n          MyLog.e(TAG, null, \"Failed to get privileges\");\n      case DaemonStarter.DaemonStartStatus.FAILED -> MyLog.e(TAG, null, \"Failed to start daemon\");\n      default -> MyLog.i(TAG, null, \"Daemon started\");\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/svc/DaemonRcvSvc.java",
    "content": "package com.mirfatif.permissionmanagerx.svc;\n\nimport static com.mirfatif.permissionmanagerx.util.ApiUtils.getInt;\n\nimport android.app.Service;\nimport android.content.Intent;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.fwk.DaemonRcvSvcM;\nimport com.mirfatif.permissionmanagerx.privs.DaemonHandler;\nimport com.mirfatif.permissionmanagerx.util.NotifUtils;\nimport com.mirfatif.privtasks.util.bg.BgRunner;\n\npublic class DaemonRcvSvc {\n\n  private final DaemonRcvSvcM mS;\n\n  public DaemonRcvSvc(DaemonRcvSvcM svc) {\n    mS = svc;\n  }\n\n  public int onStartCommand(Intent intent) {\n    BgRunner.execute(() -> DaemonHandler.INS.onBinderReceived(intent));\n\n    mS.startForeground(\n        getInt(R.integer.channel_daemon_connection),\n        NotifUtils.createSilentFgNotif(\n            \"channel_daemon_connection\",\n            R.string.channel_daemon_connection,\n            R.string.daemon_connection_title,\n            R.string.daemon_connection_text));\n\n    mS.stopSelf();\n\n    return Service.START_NOT_STICKY;\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/svc/LogcatSvc.java",
    "content": "package com.mirfatif.permissionmanagerx.svc;\n\nimport static com.mirfatif.permissionmanagerx.util.ApiUtils.getString;\n\nimport android.app.NotificationManager;\nimport android.app.PendingIntent;\nimport android.app.Service;\nimport android.content.Intent;\nimport android.net.Uri;\nimport android.os.Build.VERSION;\nimport android.os.Build.VERSION_CODES;\nimport android.os.CountDownTimer;\nimport androidx.core.app.NotificationCompat;\nimport androidx.core.app.NotificationCompat.Builder;\nimport androidx.core.app.NotificationManagerCompat;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.app.App;\nimport com.mirfatif.permissionmanagerx.fwk.LogcatSvcM;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\nimport com.mirfatif.permissionmanagerx.privs.DaemonHandler;\nimport com.mirfatif.permissionmanagerx.privs.DaemonIface;\nimport com.mirfatif.permissionmanagerx.util.ApiUtils;\nimport com.mirfatif.permissionmanagerx.util.LogUtils;\nimport com.mirfatif.permissionmanagerx.util.NotifUtils;\nimport com.mirfatif.permissionmanagerx.util.UiUtils;\nimport com.mirfatif.permissionmanagerx.util.bg.UiRunner;\nimport com.mirfatif.privtasks.bind.ILogCallback;\nimport com.mirfatif.privtasks.util.LogUtil;\nimport com.mirfatif.privtasks.util.MyLog;\nimport com.mirfatif.privtasks.util.bg.BgRunner;\nimport com.mirfatif.privtasks.util.bg.SingleParamTask;\nimport com.mirfatif.privtasks.util.bg.SingleTaskExecutor;\nimport java.io.BufferedWriter;\nimport java.io.FileNotFoundException;\nimport java.io.OutputStream;\nimport java.io.OutputStreamWriter;\nimport java.io.PrintWriter;\nimport java.util.Locale;\nimport java.util.concurrent.atomic.AtomicBoolean;\n\npublic class LogcatSvc {\n\n  private static final String TAG = \"LogcatSvc\";\n\n  private final LogcatSvcM mS;\n\n  public LogcatSvc(LogcatSvcM svc) {\n    mS = svc;\n  }\n\n  private static final String ACTION_STOP = LogcatSvc.class.getName() + \".A\";\n  private static final String ACTION_SEND_CALLBACK = LogcatSvc.class.getName() + \".B\";\n\n  public int onStartCommand(Intent intent) {\n    if (ACTION_STOP.equals(intent.getAction())) {\n      mS.stopSelf();\n      return Service.START_NOT_STICKY;\n    }\n\n    createSvcNotification();\n    mS.startForeground(UNIQUE_ID, mNotifBuilder.build());\n\n    if (ACTION_SEND_CALLBACK.equals(intent.getAction())) {\n      sendDmnCallback();\n    } else {\n      Uri logFile = intent.getData();\n      if (logFile != null) {\n        BgRunner.execute(() -> startLogging(logFile));\n      }\n    }\n\n    return Service.START_NOT_STICKY;\n  }\n\n  public void onDestroy() {\n    synchronized (LIVE) {\n      LIVE.set(false);\n    }\n\n    if (mLogExecutor != null) {\n      mLogExecutor.cancel(true);\n    }\n\n    if (DaemonHandler.INS.isDaemonAlive()) {\n      BgRunner.execute(() -> DaemonIface.INS.setDebug(null));\n    }\n\n    mCallback.mSvc = null;\n\n    mNotifMgr.cancel(UNIQUE_ID);\n\n    mTimer.cancel();\n\n    var logWriter = mLogWriter;\n    if (logWriter != null) {\n      logWriter.close();\n    }\n\n    MySettings.INS.setDebugLog(false);\n  }\n\n  private final NotificationManagerCompat mNotifMgr = NotificationManagerCompat.from(App.getCxt());\n  private Builder mNotifBuilder;\n\n  private static final int UNIQUE_ID = ApiUtils.getInt(R.integer.channel_logcat_collection);\n\n  private void createSvcNotification() {\n    if (mNotifBuilder != null) {\n      return;\n    }\n\n    final String CHANNEL_ID = \"channel_logcat_collection\";\n    final String CHANNEL_NAME = getString(R.string.channel_logcat_collection);\n\n    NotifUtils.createNotifChannel(CHANNEL_ID, CHANNEL_NAME, NotificationManager.IMPORTANCE_HIGH);\n\n    Intent i = new Intent(App.getCxt(), LogcatSvcM.class).setAction(ACTION_STOP);\n    PendingIntent pi = PendingIntent.getService(App.getCxt(), UNIQUE_ID, i, NotifUtils.PI_FLAGS);\n\n    mNotifBuilder = new Builder(App.getCxt(), CHANNEL_ID);\n    mNotifBuilder\n        .setDefaults(NotificationCompat.DEFAULT_LIGHTS)\n        .setPriority(NotificationCompat.PRIORITY_HIGH)\n        .setOnlyAlertOnce(true)\n        .setSmallIcon(R.drawable.notification_icon)\n        .setContentTitle(getString(R.string.logging_title))\n        .setColor(UiUtils.getAccentColor())\n        .setStyle(\n            new NotificationCompat.BigTextStyle().bigText(getString(R.string.logging_warning_msg)))\n        .addAction(0, getString(R.string.stop_button), pi)\n        .setOngoing(true);\n  }\n\n  private final AtomicBoolean LIVE = new AtomicBoolean(false);\n\n  private void startLogging(Uri logFile) {\n    synchronized (LIVE) {\n      if (LIVE.get()) {\n        return;\n      }\n      LIVE.set(true);\n\n      try {\n        OutputStream os = App.getCxt().getContentResolver().openOutputStream(logFile, \"rw\");\n        mLogWriter = new PrintWriter(new BufferedWriter(new OutputStreamWriter(os)));\n      } catch (FileNotFoundException e) {\n        MyLog.e(TAG, \"startLogging\", e);\n        onFailed();\n        return;\n      }\n\n      MySettings.INS.setDebugLog(true);\n\n      writeToLogFile(LogUtils.getDeviceInfo());\n      writeToLogFile(LogUtils.getAppState());\n      writeToLogFile(\"=====================================\");\n\n      mLogExecutor = LogUtil.readLogcat(this::writeToLogFile);\n      if (mLogExecutor == null) {\n        onFailed();\n        return;\n      }\n\n      UiRunner.post(mTimer::start);\n    }\n\n    sendDmnCallback();\n  }\n\n  private final LogCallback mCallback = new LogCallback(this);\n\n  private void sendDmnCallback() {\n    if (DaemonHandler.INS.isDaemonAlive()) {\n      BgRunner.execute(() -> DaemonIface.INS.setDebug(mCallback));\n    }\n  }\n\n  private void onFailed() {\n    UiUtils.showToast(R.string.logging_failed_toast);\n    mS.stopSelf();\n  }\n\n  private final CountDownTimer mTimer = new Timer();\n\n  private class Timer extends CountDownTimer {\n\n    private Timer() {\n      super(TIMEOUT_SEC * 1000, 1000);\n    }\n\n    private final SingleParamTask<Integer> mNotifUpdater =\n        new SingleParamTask<>(this::setNotificationProgress, TAG + \"-NotifTickUpdater\");\n\n    public void onTick(long millisUntilFinished) {\n      mNotifUpdater.submitIfIdle((int) (millisUntilFinished / 1000));\n    }\n\n    public void onFinish() {\n      mS.stopSelf();\n    }\n\n    private static final int TIMEOUT_SEC = 5 * 60;\n\n    private void setNotificationProgress(int now) {\n      int min = now / 60;\n      String text = String.format(Locale.getDefault(), \"%02d:%02d\", min, now - min * 60);\n      mNotifBuilder.setProgress(TIMEOUT_SEC, now, false);\n      mNotifBuilder.setContentText(text);\n\n      synchronized (LIVE) {\n        if (LIVE.get()) {\n          NotifUtils.notify(UNIQUE_ID, mNotifBuilder.build());\n        }\n      }\n    }\n  }\n\n  private static class LogCallback extends ILogCallback.Stub {\n\n    private LogcatSvc mSvc;\n\n    private LogCallback(LogcatSvc svc) {\n      mSvc = svc;\n    }\n\n    public boolean writeToLogFile(String line) {\n      LogcatSvc svc = mSvc;\n      return svc != null && svc.writeToLogFile(line);\n    }\n  }\n\n  private SingleTaskExecutor mLogExecutor;\n  private PrintWriter mLogWriter;\n\n  private boolean writeToLogFile(String line) {\n    synchronized (LIVE) {\n      if (mLogWriter != null && line != null && LIVE.get()) {\n        mLogWriter.println(line);\n        return true;\n      }\n    }\n    mS.stopSelf();\n    return false;\n  }\n\n  public static void start(Uri logFile) {\n    sendIntent(new Intent(App.getCxt(), LogcatSvcM.class).setData(logFile));\n  }\n\n  public static void stopSvc() {\n    App.getCxt().stopService(new Intent(App.getCxt(), LogcatSvcM.class));\n  }\n\n  public static void sendDaemonCallback() {\n    if (MySettings.INS.isDebug()) {\n      sendIntent(new Intent(App.getCxt(), LogcatSvcM.class).setAction(ACTION_SEND_CALLBACK));\n    }\n  }\n\n  private static void sendIntent(Intent intent) {\n    if (VERSION.SDK_INT >= VERSION_CODES.O) {\n      App.getCxt().startForegroundService(intent);\n    } else {\n      App.getCxt().startService(intent);\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/util/ApiUtils.java",
    "content": "package com.mirfatif.permissionmanagerx.util;\n\nimport android.Manifest;\nimport android.app.Activity;\nimport android.content.ActivityNotFoundException;\nimport android.content.Intent;\nimport android.content.pm.ApplicationInfo;\nimport android.content.pm.PackageInfo;\nimport android.content.pm.PackageManager;\nimport android.content.pm.ResolveInfo;\nimport android.net.Uri;\nimport android.os.Build;\nimport androidx.browser.customtabs.CustomTabColorSchemeParams;\nimport androidx.browser.customtabs.CustomTabsIntent;\nimport androidx.browser.customtabs.CustomTabsService;\nimport androidx.fragment.app.Fragment;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.app.App;\nimport com.mirfatif.privtasks.Constants;\nimport java.util.List;\n\npublic class ApiUtils {\n\n  private ApiUtils() {}\n\n  public static String getString(int resId, Object... args) {\n    return App.getCxt().getString(resId, args);\n  }\n\n  public static String getQtyString(int resId, int qty, Object... args) {\n    return App.getCxt().getResources().getQuantityString(resId, qty, args);\n  }\n\n  public static int getInt(int resId) {\n    return App.getCxt().getResources().getInteger(resId);\n  }\n\n  public static void sendMail(Activity activity, String body) {\n    sendMail(activity, getString(R.string.app_name), body);\n  }\n\n  public static boolean sendMail(Activity activity, String subject, String body) {\n    Intent emailIntent = new Intent(Intent.ACTION_SENDTO).setData(Uri.parse(\"mailto:\"));\n    emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[] {getString(R.string.email_address)});\n    emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject);\n    if (body != null) {\n      emailIntent.putExtra(Intent.EXTRA_TEXT, body);\n    }\n    try {\n      activity.startActivity(emailIntent);\n      return true;\n    } catch (ActivityNotFoundException e) {\n      UiUtils.showToast(R.string.no_email_app_installed);\n      return false;\n    }\n  }\n\n  public static boolean openWebUrl(Activity activity, String url) {\n    Intent intent = new Intent(CustomTabsService.ACTION_CUSTOM_TABS_CONNECTION);\n    ResolveInfo customTabSvc = resolveService(intent, PackageManager.MATCH_ALL);\n\n    if (customTabSvc == null) {\n      try {\n        activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));\n        return true;\n      } catch (ActivityNotFoundException e) {\n        UiUtils.showToast(R.string.no_browser_installed);\n        return false;\n      }\n    }\n\n    CustomTabColorSchemeParams colorSchemeParams =\n        new CustomTabColorSchemeParams.Builder()\n            .setToolbarColor(UiUtils.getColor(activity, R.attr.accentTrans10Color))\n            .build();\n\n    CustomTabsIntent customTabsIntent =\n        new CustomTabsIntent.Builder()\n            .setShareState(CustomTabsIntent.SHARE_STATE_ON)\n            .setDefaultColorSchemeParams(colorSchemeParams)\n            .build();\n\n    customTabsIntent.launchUrl(activity, Uri.parse(url));\n\n    return true;\n  }\n\n  public static ApplicationInfo getMyAppInfo() {\n    try {\n      return getAppInfo(App.getCxt().getPackageName(), 0);\n    } catch (PackageManager.NameNotFoundException e) {\n      throw new RuntimeException(e);\n    }\n  }\n\n  public static ApplicationInfo getAppInfo(String pkg, int flags)\n      throws PackageManager.NameNotFoundException {\n    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) {\n      return App.getPm().getApplicationInfo(pkg, flags);\n    } else {\n      return App.getPm().getApplicationInfo(pkg, PackageManager.ApplicationInfoFlags.of(flags));\n    }\n  }\n\n  public static PackageInfo getMyPkgInfo() {\n    return getMyPkgInfo(0);\n  }\n\n  public static PackageInfo getMyPkgInfo(int flags) {\n    try {\n      return getPkgInfo(App.getCxt().getPackageName(), flags);\n    } catch (PackageManager.NameNotFoundException e) {\n      throw new RuntimeException(e);\n    }\n  }\n\n  public static PackageInfo getPkgInfo(String pkg, int flags)\n      throws PackageManager.NameNotFoundException {\n    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) {\n      return App.getPm().getPackageInfo(pkg, flags);\n    } else {\n      return App.getPm().getPackageInfo(pkg, PackageManager.PackageInfoFlags.of(flags));\n    }\n  }\n\n  public static List<PackageInfo> getInstalledPackages(int flags) {\n    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) {\n      return App.getPm().getInstalledPackages(flags);\n    } else {\n      return App.getPm().getInstalledPackages(PackageManager.PackageInfoFlags.of(flags));\n    }\n  }\n\n  public static ResolveInfo resolveActivity(Intent intent, int flags) {\n    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) {\n      return App.getPm().resolveActivity(intent, flags);\n    } else {\n      return App.getPm().resolveActivity(intent, PackageManager.ResolveInfoFlags.of(flags));\n    }\n  }\n\n  public static ResolveInfo resolveService(Intent intent, int flags) {\n    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) {\n      return App.getPm().resolveService(intent, flags);\n    } else {\n      return App.getPm().resolveService(intent, PackageManager.ResolveInfoFlags.of(flags));\n    }\n  }\n\n  public static void setTargetFragment(Fragment source, Fragment target) {\n    source.setTargetFragment(target, 0);\n  }\n\n  public static boolean hasAppOpsPerm() {\n    return hasPerm(Constants.PERM_GET_APP_OPS_STATS);\n  }\n\n  public static boolean hasNotifPerm() {\n    return Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU\n        || hasPerm(Manifest.permission.POST_NOTIFICATIONS);\n  }\n\n  public static boolean hasPerm(String perm) {\n    return App.getCxt().checkSelfPermission(perm) == PackageManager.PERMISSION_GRANTED;\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/util/AppLifecycle.java",
    "content": "package com.mirfatif.permissionmanagerx.util;\n\nimport android.app.Activity;\nimport android.app.Application;\nimport android.os.Bundle;\nimport com.mirfatif.privtasks.util.bg.SingleSchedTaskExecutor;\nimport java.util.concurrent.TimeUnit;\n\npublic class AppLifecycle {\n\n  private static final String TAG = \"AppLifecycle\";\n\n  private AppLifecycle() {}\n\n  private static int sAlive, sVisible;\n\n  public static boolean isAppInFg() {\n    return sAlive > 0;\n  }\n\n  public static boolean isAppVisible() {\n    return sVisible > 0;\n  }\n\n  public static void init(Application app) {\n    app.registerActivityLifecycleCallbacks(new Callbacks());\n  }\n\n  private static class Callbacks implements Application.ActivityLifecycleCallbacks {\n\n    private final SingleSchedTaskExecutor mLiveRemover =\n        new SingleSchedTaskExecutor(() -> sAlive--, TAG + \"-LiveRemover\");\n\n    private final SingleSchedTaskExecutor mVisibleRemover =\n        new SingleSchedTaskExecutor(() -> sVisible--, TAG + \"-VisibleRemover\");\n\n    public void onActivityCreated(Activity activity, Bundle savedInstanceState) {\n      sAlive++;\n    }\n\n    public void onActivityStarted(Activity activity) {\n      sVisible++;\n    }\n\n    public void onActivityResumed(Activity activity) {}\n\n    public void onActivityPaused(Activity activity) {}\n\n    public void onActivityStopped(Activity activity) {\n      mVisibleRemover.schedule(1, TimeUnit.SECONDS);\n    }\n\n    public void onActivitySaveInstanceState(Activity activity, Bundle outState) {}\n\n    public void onActivityDestroyed(Activity activity) {\n      mLiveRemover.schedule(1, TimeUnit.SECONDS);\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/util/LocaleUtils.java",
    "content": "package com.mirfatif.permissionmanagerx.util;\n\nimport android.content.Context;\nimport android.content.res.Configuration;\nimport android.content.res.Resources;\nimport android.text.TextUtils;\nimport android.util.DisplayMetrics;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\nimport java.text.NumberFormat;\nimport java.util.Locale;\n\npublic class LocaleUtils {\n\n  private LocaleUtils() {}\n\n  public static Context setLocale(Context context) {\n    Locale locale = getLocale();\n    Locale.setDefault(locale);\n    sNumFmt = NumberFormat.getIntegerInstance(Locale.getDefault());\n    Configuration config = setLocale(context.getResources().getConfiguration(), locale);\n    updateConfiguration(context.getResources(), config, context.getResources().getDisplayMetrics());\n    return context;\n  }\n\n  private static void updateConfiguration(Resources res, Configuration config, DisplayMetrics dm) {\n    res.updateConfiguration(config, dm);\n  }\n\n  public static Configuration setLocale(Configuration config) {\n    return setLocale(config, getLocale());\n  }\n\n  private static Configuration setLocale(Configuration config, Locale locale) {\n    config = new Configuration(config);\n    config.setLocale(locale);\n    return config;\n  }\n\n  private static Locale getLocale() {\n    String lang = MySettings.INS.getLocale();\n    if (TextUtils.isEmpty(lang)) {\n      return Resources.getSystem().getConfiguration().getLocales().get(0);\n    } else {\n      return new Locale(lang);\n    }\n  }\n\n  private static NumberFormat sNumFmt = NumberFormat.getIntegerInstance(Locale.getDefault());\n\n  public static String toLocalizedNum(long num) {\n    return sNumFmt.format(num);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/util/LogUtils.java",
    "content": "package com.mirfatif.permissionmanagerx.util;\n\nimport static com.mirfatif.permissionmanagerx.util.ApiUtils.getString;\n\nimport android.app.NotificationManager;\nimport android.app.PendingIntent;\nimport android.content.Intent;\nimport android.content.pm.PackageInfo;\nimport android.content.pm.PackageManager;\nimport android.content.pm.Signature;\nimport android.os.Build;\nimport androidx.core.app.NotificationCompat;\nimport com.mirfatif.permissionmanagerx.BuildConfig;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.app.App;\nimport com.mirfatif.permissionmanagerx.fwk.CrashReportActivityM;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\nimport com.mirfatif.permissionmanagerx.privs.DaemonHandler;\nimport com.mirfatif.permissionmanagerx.privs.NativeDaemon;\nimport com.mirfatif.privtasks.util.LogUtil;\nimport com.mirfatif.privtasks.util.MyLog;\nimport java.io.ByteArrayInputStream;\nimport java.io.File;\nimport java.io.FileWriter;\nimport java.io.IOException;\nimport java.io.PrintWriter;\nimport java.security.MessageDigest;\nimport java.security.cert.CertificateFactory;\nimport java.util.concurrent.TimeUnit;\n\npublic class LogUtils {\n\n  private static final String TAG = \"LogUtils\";\n\n  private LogUtils() {}\n\n  public static File getCrashLogFile() {\n    String file = \"PMXCrash-\" + BuildConfig.VERSION_CODE + \"-\" + Build.VERSION.SDK_INT + \".log\";\n    var filesDir = App.getCxt().getExternalFilesDir(null);\n    if (filesDir == null) {\n      filesDir = App.getCxt().getExternalFilesDir(null);\n    }\n    return new File(filesDir, file);\n  }\n\n  public static final int CRASH_FILE_HEADER_LINES = 8;\n\n  public static File createCrashLogFile() {\n    File logFile = getCrashLogFile();\n    if (!logFile.exists()\n        || logFile.length() > 512 * 1024\n        || logFile.lastModified() < System.currentTimeMillis() - TimeUnit.DAYS.toMillis(90)) {\n      try {\n        PrintWriter writer = new PrintWriter(new FileWriter(logFile, false));\n        writer.println(\"=================================\");\n        writer.println(getDeviceInfo());\n        writer.close();\n      } catch (IOException ignored) {\n      }\n    }\n\n    return logFile;\n  }\n\n  public static void showCrashNotification(String stackTrace, boolean isDaemon) {\n    MySettings.INS.setAskForFeedbackTs(false);\n\n    File logFile = createCrashLogFile();\n    try {\n      LogUtil.writeCrashLog(logFile, getAppState(), stackTrace, isDaemon);\n    } catch (IOException e) {\n      MyLog.e(TAG, \"showCrashNotification\", e);\n    }\n\n    if (!MySettings.INS.shouldAskToSendCrashReport() || !ApiUtils.hasNotifPerm()) {\n      return;\n    }\n\n    final String CHANNEL_ID = \"channel_crash_report\";\n    final String CHANNEL_NAME = getString(R.string.channel_crash_report);\n    final int UNIQUE_ID = ApiUtils.getInt(R.integer.channel_crash_report);\n\n    var isOfficialRelease = isOfficialRelease();\n    var msg =\n        getString(\n            isOfficialRelease ? R.string.ask_to_report_crash_small : R.string.inform_report_crash);\n    var bigMsg = isOfficialRelease ? getString(R.string.ask_to_report_crash) : msg;\n\n    NotificationCompat.Builder builder =\n        new NotificationCompat.Builder(App.getCxt(), CHANNEL_ID)\n            .setSmallIcon(R.drawable.notification_icon)\n            .setContentTitle(getString(R.string.crash_report))\n            .setContentText(msg)\n            .setStyle(new NotificationCompat.BigTextStyle().bigText(bigMsg))\n            .setColor(UiUtils.getAccentColor())\n            .setDefaults(NotificationCompat.DEFAULT_LIGHTS)\n            .setPriority(NotificationCompat.PRIORITY_HIGH)\n            .setAutoCancel(true);\n\n    if (isOfficialRelease) {\n      PendingIntent pi =\n          PendingIntent.getActivity(\n              App.getCxt(),\n              UNIQUE_ID,\n              new Intent(App.getCxt(), CrashReportActivityM.class),\n              NotifUtils.PI_FLAGS);\n\n      builder.setContentIntent(pi).addAction(0, getString(R.string.send_report), pi);\n    }\n\n    NotifUtils.createNotifChannel(CHANNEL_ID, CHANNEL_NAME, NotificationManager.IMPORTANCE_HIGH);\n    NotifUtils.notify(UNIQUE_ID, builder.build());\n  }\n\n  public static String getDeviceInfo() {\n    return \"Version: \"\n        + BuildConfig.VERSION_NAME\n        + \"\\nSDK: \"\n        + Build.VERSION.SDK_INT\n        + \"\\nBuild: \"\n        + Build.TYPE\n        + \"\\nDevice: \"\n        + Build.DEVICE\n        + \"\\nManufacturer: \"\n        + Build.MANUFACTURER\n        + \"\\nModel: \"\n        + Build.MODEL\n        + \"\\nProduct: \"\n        + Build.PRODUCT;\n  }\n\n  public static String getAppState() {\n    return \"Root: \"\n        + NativeDaemon.hasRoot(false)\n        + \"\\nADB: \"\n        + NativeDaemon.hasAdb(false)\n        + \"\\nUID: \"\n        + DaemonHandler.INS.getUid()\n        + \"\\nContext: \"\n        + DaemonHandler.INS.getContext();\n  }\n\n  private static final String CERT_FINGERPRINT =\n      \"89:B9:ED:EE:D8:E4:52:32:25:9D:12:D7:97:7C:FB:C5:E6:67:15:39:A1:FF:54:BB:FB:4F:88:CD:3E:90:0C:55\";\n\n  // apksigner verify --print-certs app-release.apk\n  public static boolean isOfficialRelease() {\n    int flags =\n        (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P)\n            ? PackageManager.GET_SIGNING_CERTIFICATES\n            : PackageManager.GET_SIGNATURES;\n    PackageInfo info;\n    try {\n      info = App.getPm().getPackageInfo(App.getCxt().getPackageName(), flags);\n    } catch (PackageManager.NameNotFoundException e) {\n      MyLog.e(TAG, \"isOfficialRelease\", e);\n      return false;\n    }\n\n    Signature[] signatures;\n    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {\n      if (info.signingInfo != null) {\n        signatures = info.signingInfo.getApkContentsSigners();\n      } else {\n        MyLog.e(TAG, \"isOfficialRelease\", \"App signingInfo not found\");\n        return false;\n      }\n    } else {\n      signatures = info.signatures;\n    }\n\n    if (signatures == null || signatures.length == 0) {\n      MyLog.e(TAG, \"isOfficialRelease\", \"APK signatures not found\");\n      return false;\n    }\n\n    try {\n      CertificateFactory cf = CertificateFactory.getInstance(\"X.509\");\n      MessageDigest md = MessageDigest.getInstance(\"SHA-256\");\n      for (Signature sig : signatures) {\n        var cert = cf.generateCertificate(new ByteArrayInputStream(sig.toByteArray()));\n        byte[] digest = md.digest(cert.getEncoded());\n        StringBuilder sb = new StringBuilder();\n        for (byte b : digest) {\n          sb.append(String.format(\"%02X\", b));\n        }\n        if (sb.toString().equalsIgnoreCase(CERT_FINGERPRINT.replace(\":\", \"\"))) {\n          return true;\n        }\n      }\n    } catch (Exception e) {\n      MyLog.e(TAG, \"isOfficialRelease\", e);\n      return false;\n    }\n    return false;\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/util/NotifUtils.java",
    "content": "package com.mirfatif.permissionmanagerx.util;\n\nimport static android.app.PendingIntent.FLAG_IMMUTABLE;\nimport static android.app.PendingIntent.FLAG_UPDATE_CURRENT;\nimport static com.mirfatif.permissionmanagerx.util.ApiUtils.getString;\nimport static com.mirfatif.permissionmanagerx.util.ApiUtils.hasNotifPerm;\n\nimport android.Manifest;\nimport android.app.Notification;\nimport android.app.NotificationChannel;\nimport android.app.NotificationManager;\nimport android.os.Build;\nimport androidx.activity.result.ActivityResultLauncher;\nimport androidx.appcompat.app.AlertDialog;\nimport androidx.core.app.ActivityCompat;\nimport androidx.core.app.NotificationCompat;\nimport androidx.core.app.NotificationManagerCompat;\nimport androidx.fragment.app.FragmentActivity;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.app.App;\nimport com.mirfatif.permissionmanagerx.base.AlertDialogFragment;\nimport com.mirfatif.permissionmanagerx.prefs.MySettings;\n\npublic class NotifUtils {\n\n  public static final int PI_FLAGS = FLAG_UPDATE_CURRENT | FLAG_IMMUTABLE;\n  private static final String NOTIFICATION_PERM_DIALOG_TAG = \"NOTIFICATION_PERM_DIALOG_TAG\";\n\n  private NotifUtils() {}\n\n  public static void askForNotifPerm(\n      FragmentActivity activity, ActivityResultLauncher<String> reqPermLauncher) {\n    if (!ApiUtils.hasNotifPerm()) {\n      String perm = Manifest.permission.POST_NOTIFICATIONS;\n\n      if (!ActivityCompat.shouldShowRequestPermissionRationale(activity, perm)) {\n        UiUtils.showToast(R.string.notif_perm_missing_toast);\n        reqPermLauncher.launch(perm);\n      } else {\n        AlertDialog.Builder builder =\n            new AlertDialog.Builder(activity)\n                .setTitle(R.string.notif_perm_dialog_title)\n                .setMessage(StringUtils.htmlToString(R.string.notif_perm_dialog_text))\n                .setPositiveButton(R.string.ok_button, (d, w) -> reqPermLauncher.launch(perm))\n                .setNegativeButton(R.string.cancel_button, null);\n\n        AlertDialogFragment.show(activity, builder.create(), NOTIFICATION_PERM_DIALOG_TAG);\n      }\n    }\n\n    MySettings.INS.setAskForNotifPermTs();\n  }\n\n  public static void createNotifChannel(String id, String name, int importance) {\n    NotificationManagerCompat nm = NotificationManagerCompat.from(App.getCxt());\n    NotificationChannel channel = nm.getNotificationChannel(id);\n    if (channel == null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {\n      channel = new NotificationChannel(id, name, importance);\n      nm.createNotificationChannel(channel);\n    }\n  }\n\n  public static Notification createSilentFgNotif(\n      String channelId, int channelName, int title, int text) {\n    NotifUtils.createNotifChannel(\n        channelId, getString(channelName), NotificationManager.IMPORTANCE_NONE);\n\n    NotificationCompat.Builder builder = new NotificationCompat.Builder(App.getCxt(), channelId);\n    builder\n        .setPriority(NotificationCompat.PRIORITY_MIN)\n        .setSilent(true)\n        .setContentTitle(getString(title))\n        .setContentText(getString(text))\n        .setSmallIcon(R.drawable.notification_icon)\n        .setColor(UiUtils.getAccentColor());\n\n    return builder.build();\n  }\n\n  public static void notify(int id, Notification notif) {\n    if (hasNotifPerm()) {\n      NotificationManagerCompat.from(App.getCxt()).notify(id, notif);\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/util/SmallDimMarginSpan.java",
    "content": "package com.mirfatif.permissionmanagerx.util;\n\nimport android.graphics.Canvas;\nimport android.graphics.Paint;\nimport android.text.style.ReplacementSpan;\n\npublic class SmallDimMarginSpan extends ReplacementSpan {\n\n  public int getSize(Paint paint, CharSequence text, int start, int end, Paint.FontMetricsInt fm) {\n    if (fm != null) {\n      fm.ascent = fm.ascent - fm.bottom / 4;\n      fm.bottom *= 2;\n    }\n    return Math.round(paint.measureText(text, start, end));\n  }\n\n  public void draw(\n      Canvas canvas,\n      CharSequence text,\n      int start,\n      int end,\n      float x,\n      int top,\n      int y,\n      int bottom,\n      Paint paint) {\n    paint.setTextSize(paint.getTextSize() * 4 / 5);\n    paint.setAlpha(170);\n    canvas.drawText(text, start, end, x, y, paint);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/util/StdErrLogServer.java",
    "content": "package com.mirfatif.permissionmanagerx.util;\n\nimport com.mirfatif.privtasks.util.MyLog;\nimport com.mirfatif.privtasks.util.bg.BgRunner;\nimport java.io.BufferedReader;\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.io.InputStreamReader;\nimport java.net.Inet4Address;\nimport java.net.ServerSocket;\nimport java.net.Socket;\nimport java.util.concurrent.Callable;\nimport java.util.concurrent.ExecutionException;\nimport java.util.concurrent.Future;\n\npublic class StdErrLogServer extends ServerSocket {\n\n  private static final String TAG = \"StdErrLogServer\";\n\n  private final Future<?> mConnection;\n  private final String mTag;\n  private final StreamClosedCallback mCallback;\n\n  public StdErrLogServer(String tag, StreamClosedCallback callback) throws IOException {\n    super(0, 0, Inet4Address.getByAddress(new byte[] {127, 0, 0, 1}));\n    setSoTimeout(5000);\n\n    mConnection = BgRunner.submit(new ConnWaiter());\n\n    mTag = tag;\n    mCallback = callback;\n  }\n\n  private class ConnWaiter implements Callable<Void> {\n\n    public Void call() throws Exception {\n      Socket client = accept();\n      client.setTcpNoDelay(true);\n      InputStream is = client.getInputStream();\n      BgRunner.execute(() -> readStdErr(is));\n      close();\n      return null;\n    }\n  }\n\n  public void waitForConn() throws ExecutionException, InterruptedException {\n    mConnection.get();\n  }\n\n  private void readStdErr(InputStream errStream) {\n    BufferedReader reader = new BufferedReader(new InputStreamReader(errStream));\n    String line;\n    try {\n      while ((line = reader.readLine()) != null) {\n        MyLog.e(mTag, null, \"STDERR: \" + line);\n      }\n    } catch (IOException e) {\n      MyLog.e(TAG, \"readStdErr\", e);\n    }\n    if (mCallback != null) {\n      mCallback.onClose();\n    }\n  }\n\n  public interface StreamClosedCallback {\n\n    void onClose();\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/util/StringUtils.java",
    "content": "package com.mirfatif.permissionmanagerx.util;\n\nimport static android.text.Spanned.SPAN_EXCLUSIVE_EXCLUSIVE;\nimport static android.text.style.DynamicDrawableSpan.ALIGN_BASELINE;\nimport static com.mirfatif.permissionmanagerx.util.ApiUtils.getString;\n\nimport android.graphics.drawable.Drawable;\nimport android.os.Parcel;\nimport android.text.Html;\nimport android.text.Spannable;\nimport android.text.SpannableString;\nimport android.text.SpannableStringBuilder;\nimport android.text.Spanned;\nimport android.text.style.BulletSpan;\nimport android.text.style.ImageSpan;\nimport android.text.style.RelativeSizeSpan;\nimport android.text.style.TextAppearanceSpan;\nimport android.text.style.URLSpan;\nimport androidx.core.content.res.ResourcesCompat;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.app.App;\nimport java.util.regex.Matcher;\nimport java.util.regex.Pattern;\n\npublic class StringUtils {\n\n  private StringUtils() {}\n\n  public static Spanned htmlToString(int resId) {\n    return htmlToString(getString(resId));\n  }\n\n  public static Spanned htmlToString(String str) {\n    Spanned spanned = Html.fromHtml(str, Html.FROM_HTML_MODE_COMPACT);\n\n    if (str.isEmpty()) {\n      return spanned;\n    }\n\n    SpannableStringBuilder string = new SpannableStringBuilder(spanned);\n\n    Parcel parcel = Parcel.obtain();\n    parcel.writeInt(UiUtils.dpToPx(4));\n    parcel.writeInt(0);\n    parcel.writeInt(0);\n    parcel.writeInt(UiUtils.dpToPx(2));\n\n    for (BulletSpan span : string.getSpans(0, string.length(), BulletSpan.class)) {\n      int start = string.getSpanStart(span);\n      int end = string.getSpanEnd(span);\n      string.removeSpan(span);\n      parcel.setDataPosition(0);\n      string.setSpan(new BulletSpan(parcel), start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);\n    }\n\n    parcel.recycle();\n\n    Drawable d = ResourcesCompat.getDrawable(App.getRes(), R.drawable.link, null);\n    if (d != null) {\n      d.setTint(UiUtils.getAccentColor());\n      d.setBounds(0, 0, UiUtils.dpToPx(12), UiUtils.dpToPx(12));\n\n      for (URLSpan span : string.getSpans(0, string.length(), URLSpan.class)) {\n        int start = string.getSpanStart(span);\n        int end = string.getSpanEnd(span);\n        if (!string.toString().substring(start, end).equals(\"LINK\")) {\n          continue;\n        }\n        string.setSpan(new ImageSpan(d, ALIGN_BASELINE), start, end, SPAN_EXCLUSIVE_EXCLUSIVE);\n      }\n    }\n\n    return breakParas(string);\n  }\n\n  public static SpannableStringBuilder breakParas(String string) {\n    return breakParas(new SpannableStringBuilder(string));\n  }\n\n  public static SpannableStringBuilder breakParas(SpannableStringBuilder string) {\n    int len = string.length();\n\n    if (len == 0) {\n      return string;\n    }\n\n    while ((len = string.length()) > 0 && string.charAt(len - 1) == '\\n') {\n      string.delete(len - 1, len);\n    }\n\n    Matcher matcher = Pattern.compile(\"\\n\").matcher(string);\n    int from = 0;\n    while (matcher.find(from)) {\n      string.replace(matcher.start(), matcher.end(), \"\\n\\n\");\n      from = matcher.end() + 1;\n\n      string.setSpan(\n          new RelativeSizeSpan(0.25f),\n          matcher.start() + 1,\n          matcher.end() + 1,\n          Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);\n\n      matcher = Pattern.compile(\"\\n\").matcher(string);\n    }\n\n    return string;\n  }\n\n  public static SpannableString getHighlightString(\n      String text, TextAppearanceSpan highlightSpan, boolean isCaseSensitive, String... prominent) {\n\n    if (text == null || highlightSpan == null || prominent == null) {\n      return null;\n    }\n\n    SpannableString spannable = new SpannableString(text);\n\n    Parcel parcel = Parcel.obtain();\n    highlightSpan.writeToParcel(parcel, 0);\n\n    for (String prom : prominent) {\n      if (prom == null || prom.length() == 0) {\n        continue;\n      }\n      int startPos;\n      if (isCaseSensitive) {\n        startPos = text.indexOf(prom);\n      } else {\n        startPos = text.toUpperCase().indexOf(prom.toUpperCase());\n      }\n      if (startPos < 0) {\n        continue;\n      }\n      int endPos = startPos + prom.length();\n      parcel.setDataPosition(0);\n      spannable.setSpan(\n          new TextAppearanceSpan(parcel), startPos, endPos, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);\n    }\n    parcel.recycle();\n    return spannable;\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/util/UiUtils.java",
    "content": "package com.mirfatif.permissionmanagerx.util;\n\nimport android.animation.LayoutTransition;\nimport android.app.Activity;\nimport android.app.Dialog;\nimport android.content.DialogInterface;\nimport android.content.res.ColorStateList;\nimport android.content.res.Configuration;\nimport android.content.res.Resources;\nimport android.graphics.Color;\nimport android.graphics.Typeface;\nimport android.text.style.TextAppearanceSpan;\nimport android.util.TypedValue;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.view.Window;\nimport android.widget.Button;\nimport android.widget.Toast;\nimport androidx.annotation.Nullable;\nimport androidx.appcompat.app.AlertDialog;\nimport androidx.core.graphics.ColorUtils;\nimport androidx.fragment.app.FragmentActivity;\nimport com.google.android.material.color.MaterialColors;\nimport com.google.android.material.snackbar.Snackbar;\nimport com.mirfatif.permissionmanagerx.R;\nimport com.mirfatif.permissionmanagerx.app.App;\nimport com.mirfatif.permissionmanagerx.base.DialogBg;\nimport com.mirfatif.permissionmanagerx.util.bg.UiRunner;\nimport com.mirfatif.privtasks.util.bg.ThreadUtils;\n\npublic class UiUtils {\n\n  private UiUtils() {}\n\n  public static boolean isNightMode(Activity activity) {\n    int uiMode = activity.getResources().getConfiguration().uiMode;\n    return (uiMode & Configuration.UI_MODE_NIGHT_MASK) == Configuration.UI_MODE_NIGHT_YES;\n  }\n\n  public static int dpToPx(float dp) {\n    return (int)\n        TypedValue.applyDimension(\n            TypedValue.COMPLEX_UNIT_DIP, dp, Resources.getSystem().getDisplayMetrics());\n  }\n\n  public static String colorIntToRGB(int color, boolean retainAlpha) {\n    if (retainAlpha) {\n      return String.format(\"#%08X\", color);\n    } else {\n      return String.format(\"#%06X\", 0xFFFFFF & color);\n    }\n  }\n\n  public static int getColor(Activity activity, int colorAttrResId) {\n    return MaterialColors.getColor(activity, colorAttrResId, Color.TRANSPARENT);\n  }\n\n  public static int getBgColor(Activity activity) {\n    return getColor(activity, android.R.attr.windowBackground);\n  }\n\n  public static int getSharpBgColor(Activity activity) {\n    return ColorUtils.blendARGB(\n        getBgColor(activity), isNightMode(activity) ? Color.BLACK : Color.WHITE, 0.05f);\n  }\n\n  public static int getDimBgColor(Activity activity) {\n    return ColorUtils.blendARGB(\n        getBgColor(activity), isNightMode(activity) ? Color.WHITE : Color.BLACK, 0.05f);\n  }\n\n  public static int getAccentColor() {\n    return App.getCxt().getColor(R.color.green);\n  }\n\n  public static void onCreateLayout(ViewGroup view) {\n    LayoutTransition transition = new LayoutTransition();\n    transition.enableTransitionType(LayoutTransition.CHANGING);\n    view.setLayoutTransition(transition);\n  }\n\n  public static void onCreateDialog(Dialog dialog, Activity activity) {\n    Window window = dialog.getWindow();\n    if (window == null) {\n      return;\n    }\n\n    window.setBackgroundDrawable(new DialogBg(activity, true));\n\n    window.setWindowAnimations(android.R.style.Animation_Dialog);\n  }\n\n  public static AlertDialog removeButtonPadding(AlertDialog dialog) {\n    dialog.setOnShowListener(\n        d -> {\n          Button b = dialog.getButton(DialogInterface.BUTTON_NEUTRAL);\n          int padding = dpToPx(4);\n          b.setPadding(b.getPaddingLeft(), padding, padding, padding);\n        });\n    return dialog;\n  }\n\n  public static TextAppearanceSpan getTextHighlightSpan(int colorInt) {\n    return new TextAppearanceSpan(\n        null,\n        Typeface.NORMAL,\n        -1,\n        new ColorStateList(new int[][] {new int[] {}}, new int[] {colorInt}),\n        null);\n  }\n\n  public static void showToast(String msg) {\n    if (msg != null) {\n      UiRunner.post(() -> Toast.makeText(App.getCxt(), msg, Toast.LENGTH_LONG).show());\n    }\n  }\n\n  public static void showToast(int resId, Object... args) {\n    if (resId != 0) {\n      showToast(ApiUtils.getString(resId, args));\n    }\n  }\n\n  public static void showSnackBar(\n      FragmentActivity activity, View parent, @Nullable View anchor, String text, int seconds) {\n    if (!ThreadUtils.isMainThread()) {\n      UiRunner.post(activity, () -> showSnackBar(activity, parent, anchor, text, seconds));\n      return;\n    }\n    var sb = createSnackBar(activity, parent, anchor, text, seconds);\n    sb.show();\n  }\n\n  public static Snackbar createSnackBar(\n      Activity activity, View parent, @Nullable View anchor, String text, int seconds) {\n    Snackbar snackBar = Snackbar.make(parent, text, seconds * 1000);\n    snackBar.setAnchorView(anchor);\n    snackBar.setTextColor(activity.getColor(R.color.sharpText));\n    snackBar.getView().setBackgroundColor(getSharpBgColor(activity));\n    return snackBar;\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/util/UserUtils.java",
    "content": "package com.mirfatif.permissionmanagerx.util;\n\nimport android.os.Build;\nimport com.mirfatif.permissionmanagerx.app.App;\nimport com.mirfatif.permissionmanagerx.privs.DaemonIface;\n\npublic class UserUtils {\n\n  private UserUtils() {}\n\n  public static int getUserId(int uid) {\n    return uid / 100000;\n  }\n\n  public static int getUserId() {\n    return getUserId(android.os.Process.myUid());\n  }\n\n  public static String[] getPackagesForUid(int uid) {\n    if (getUserId(uid) == 0 || Build.VERSION.SDK_INT < Build.VERSION_CODES.S) {\n      return App.getPm().getPackagesForUid(uid);\n    } else {\n      return DaemonIface.INS.getPackagesForUid(uid);\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/util/Utils.java",
    "content": "package com.mirfatif.permissionmanagerx.util;\n\nimport android.os.Build;\nimport com.mirfatif.privtasks.util.MyLog;\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.io.OutputStream;\n\npublic class Utils {\n\n  private Utils() {}\n\n  public static boolean copyStream(String tag, InputStream input, OutputStream output) {\n    byte[] buffer = new byte[8192];\n    int len;\n\n    try {\n      while ((len = input.read(buffer)) != -1) {\n        output.write(buffer, 0, len);\n      }\n      return true;\n    } catch (IOException e) {\n      MyLog.e(tag, \"copyStream\", e);\n      return false;\n    }\n  }\n\n  public static String getAndroidVersionInt() {\n    return switch (Build.VERSION.SDK_INT) {\n      case 24 -> \"7\";\n      case 25 -> \"7.1\";\n      case 26 -> \"8\";\n      case 27 -> \"8.1\";\n      case 28 -> \"9\";\n      case 29 -> \"10\";\n      case 30 -> \"11\";\n      case 31 -> \"12\";\n      case 32 -> \"12.1\";\n      case 33 -> \"13\";\n      case 34 -> \"14\";\n      default -> \"???\";\n    };\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/util/bg/LiveBgTask.java",
    "content": "package com.mirfatif.permissionmanagerx.util.bg;\n\nimport androidx.lifecycle.LifecycleOwner;\nimport com.mirfatif.permissionmanagerx.fwk.LifecycleWatcher;\nimport com.mirfatif.privtasks.util.bg.BgRunner;\n\npublic class LiveBgTask {\n\n  private Runnable mTask;\n\n  public LiveBgTask(LifecycleOwner owner, Runnable task) {\n    mTask = task;\n    LifecycleWatcher.addOnDestroyed(owner, () -> mTask = null);\n  }\n\n  public void execute() {\n    Runnable task = mTask;\n    if (task != null) {\n      BgRunner.execute(task);\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/util/bg/LiveEvent.java",
    "content": "package com.mirfatif.permissionmanagerx.util.bg;\n\nimport androidx.lifecycle.LifecycleOwner;\nimport androidx.lifecycle.MutableLiveData;\nimport androidx.lifecycle.Observer;\nimport java.util.Collections;\nimport java.util.HashMap;\nimport java.util.HashSet;\nimport java.util.LinkedHashSet;\nimport java.util.Map;\nimport java.util.Set;\n\npublic class LiveEvent<T> extends MutableLiveData<T> {\n\n  private final boolean mOneshot;\n\n  public LiveEvent(boolean oneshot) {\n    mOneshot = oneshot;\n  }\n\n  private final Map<Integer, ObserverWrapper<? super T>> mObservers =\n      Collections.synchronizedMap(new HashMap<>());\n\n  public void observe(LifecycleOwner owner, Observer<? super T> observer) {\n    if (isNewObserver(observer)) {\n      ObserverWrapper<T> wrapper = new ObserverWrapper<>(observer, mOneshot);\n      mObservers.put(observer.hashCode(), wrapper);\n      super.observe(owner, wrapper);\n    }\n  }\n\n  public void observeForever(Observer<? super T> observer) {\n    if (isNewObserver(observer)) {\n      ObserverWrapper<T> wrapper = new ObserverWrapper<>(observer, mOneshot);\n      mObservers.put(observer.hashCode(), wrapper);\n      super.observeForever(wrapper);\n    }\n  }\n\n  private boolean isNewObserver(Observer<? super T> observer) {\n    return !mObservers.containsKey(observer.hashCode());\n  }\n\n  public void removeObserver(Observer<? super T> observer) {\n    for (Map.Entry<Integer, ObserverWrapper<? super T>> entry :\n        new HashSet<>(mObservers.entrySet())) {\n      ObserverWrapper<? super T> wrapper = entry.getValue();\n      if (wrapper == observer || wrapper.observer == observer) {\n        mObservers.remove(entry.getKey());\n        super.removeObserver(wrapper);\n      }\n    }\n  }\n\n  public void setValue(T value) {\n    setValue(value, false);\n  }\n\n  public void setValue(T value, boolean mustSend) {\n    for (ObserverWrapper<? super T> wrapper : new HashSet<>(mObservers.values())) {\n      if (mustSend) {\n        wrapper.addMustValue(value);\n      } else {\n        wrapper.setPending();\n      }\n    }\n    super.setValue(value);\n  }\n\n  public void postValue(T value, boolean mustSend) {\n    if (mustSend) {\n      new HashSet<>(mObservers.values()).forEach(wrapper -> wrapper.addMustValue(value));\n    }\n    super.postValue(value);\n  }\n\n  private static class ObserverWrapper<T> implements Observer<T> {\n\n    private final boolean oneshot;\n    private final Observer<? super T> observer;\n\n    private ObserverWrapper(Observer<? super T> observer, boolean oneshot) {\n      this.observer = observer;\n      this.oneshot = oneshot;\n    }\n\n    private boolean pending = false;\n\n    private void setPending() {\n      synchronized (this) {\n        pending = true;\n      }\n    }\n\n    private final Set<T> mustValues = Collections.synchronizedSet(new LinkedHashSet<>());\n\n    private void addMustValue(T value) {\n      synchronized (this) {\n        pending = true;\n        mustValues.add(value);\n      }\n    }\n\n    public void onChanged(T t) {\n      synchronized (this) {\n        if (!oneshot || pending) {\n          pending = false;\n\n          if (!mustValues.isEmpty()) {\n            mustValues.remove(t);\n            mustValues.forEach(observer::onChanged);\n          }\n\n          observer.onChanged(t);\n        }\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/util/bg/LiveMinDelayParamTask.java",
    "content": "package com.mirfatif.permissionmanagerx.util.bg;\n\nimport androidx.lifecycle.LifecycleOwner;\nimport com.mirfatif.permissionmanagerx.fwk.LifecycleWatcher;\nimport com.mirfatif.privtasks.util.bg.BgRunner;\nimport com.mirfatif.privtasks.util.bg.MinDelayTaskExecutor;\nimport com.mirfatif.privtasks.util.bg.RunnableWithParam;\nimport java.util.concurrent.TimeUnit;\nimport java.util.concurrent.atomic.AtomicReference;\n\npublic class LiveMinDelayParamTask<T> {\n\n  private final MinDelayTaskExecutor mE;\n\n  public LiveMinDelayParamTask(\n      LifecycleOwner owner,\n      RunnableWithParam<T> task,\n      long delay,\n      TimeUnit unit,\n      boolean onUi,\n      String threadName) {\n    LifecycleWatcher.addOnDestroyed(owner, () -> BgRunner.execute(this::shutdownNow));\n    mE =\n        new MinDelayTaskExecutor(\n            onUi\n                ? () -> LiveUiWaitTask.post(() -> runWithParam(task)).waitForMe()\n                : () -> runWithParam(task),\n            delay,\n            unit,\n            threadName);\n  }\n\n  public void cancelAndRunOrSchedule(T param) {\n    cancelAndRunOrSchedule(param, false);\n  }\n\n  public void cancelAndRunNow(T param) {\n    cancelAndRunOrSchedule(param, true);\n  }\n\n  private final AtomicReference<T> mParam = new AtomicReference<>();\n\n  private void cancelAndRunOrSchedule(T param, boolean runNow) {\n    synchronized (this) {\n      if (!mE.isAlive()) {\n        return;\n      }\n\n      mParam.set(param);\n\n      if (runNow) {\n        mE.cancelAndRunNow();\n      } else {\n        mE.runOrSchedule(true);\n      }\n    }\n  }\n\n  public void shutdownNow() {\n    synchronized (this) {\n      mParam.set(null);\n      mE.shutdownNow();\n    }\n  }\n\n  private void runWithParam(RunnableWithParam<T> task) {\n    T param = mParam.getAndSet(null);\n    if (param != null) {\n      task.run(param);\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/util/bg/LiveSchedParamTask.java",
    "content": "package com.mirfatif.permissionmanagerx.util.bg;\n\nimport androidx.lifecycle.LifecycleOwner;\nimport com.mirfatif.privtasks.util.bg.RunnableWithParam;\nimport java.util.concurrent.TimeUnit;\nimport java.util.concurrent.atomic.AtomicReference;\n\npublic class LiveSchedParamTask<T> {\n\n  private final LiveSchedTask mTask;\n\n  public LiveSchedParamTask(\n      LifecycleOwner owner,\n      RunnableWithParam<T> task,\n      long delay,\n      TimeUnit unit,\n      boolean onUi,\n      String threadName) {\n    mTask = new LiveSchedTask(owner, () -> runWithParam(task), delay, unit, onUi, threadName);\n  }\n\n  private void runWithParam(RunnableWithParam<T> task) {\n    T param;\n    synchronized (mParam) {\n      param = mParam.getAndSet(null);\n    }\n    if (param != null && !Thread.interrupted()) {\n      task.run(param);\n    }\n  }\n\n  private final AtomicReference<T> mParam = new AtomicReference<>();\n\n  public void cancelAndSchedule(T param) {\n    if (mTask.isAlive()) {\n      synchronized (mParam) {\n        mParam.set(param);\n        mTask.cancelAndSchedule();\n      }\n    }\n  }\n\n  public void cancel() {\n    if (mTask.isAlive()) {\n      synchronized (mParam) {\n        mParam.set(null);\n        mTask.cancel();\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/util/bg/LiveSchedTask.java",
    "content": "package com.mirfatif.permissionmanagerx.util.bg;\n\nimport androidx.lifecycle.LifecycleOwner;\nimport com.mirfatif.permissionmanagerx.fwk.LifecycleWatcher;\nimport com.mirfatif.privtasks.util.bg.BgRunner;\nimport com.mirfatif.privtasks.util.bg.SingleSchedTaskExecutor;\nimport java.util.concurrent.TimeUnit;\n\npublic class LiveSchedTask {\n\n  private final SingleSchedTaskExecutor mE;\n  private final long mDelayMillis;\n  private final boolean mUi;\n\n  public LiveSchedTask(\n      LifecycleOwner owner,\n      Runnable task,\n      long delay,\n      TimeUnit unit,\n      boolean onUi,\n      String threadName) {\n    this(owner, task, delay, unit, onUi, false, threadName);\n  }\n\n  private LiveSchedTask(\n      LifecycleOwner owner,\n      Runnable task,\n      long delay,\n      TimeUnit unit,\n      boolean onUi,\n      boolean oneShot,\n      String threadName) {\n    Task callback = new Task(oneShot ? () -> runAndShutdown(task) : task);\n\n    mE = new SingleSchedTaskExecutor(callback, threadName);\n    mDelayMillis = unit.toMillis(delay);\n    mUi = onUi;\n\n    LifecycleWatcher.addOnDestroyed(owner, callback);\n\n    if (oneShot) {\n      mE.schedule(mDelayMillis, TimeUnit.MILLISECONDS);\n    }\n  }\n\n  public void cancelAndSchedule() {\n    mE.cancelAndSchedule(true, mDelayMillis, TimeUnit.MILLISECONDS);\n  }\n\n  public void cancel() {\n    mE.cancel(true);\n  }\n\n  private void runAndShutdown(Runnable task) {\n    task.run();\n    shutdownNow();\n  }\n\n  public boolean isAlive() {\n    return mE.isAlive();\n  }\n\n  public void shutdownNow() {\n    mE.shutdownNow();\n  }\n\n  private class Task implements Runnable, LifecycleWatcher.LifecycleCallback {\n\n    private Runnable mTask;\n\n    private Task(Runnable task) {\n      mTask = task;\n    }\n\n    public void run() {\n      Runnable task = mTask;\n      if (task != null) {\n        if (mUi) {\n          LiveUiWaitTask.post(task).waitForMe();\n        } else {\n          task.run();\n        }\n      }\n    }\n\n    public void onDestroyed() {\n      mTask = null;\n      BgRunner.execute(LiveSchedTask.this::shutdownNow);\n    }\n  }\n\n  public static void schedule(\n      LifecycleOwner owner,\n      Runnable task,\n      long delay,\n      TimeUnit unit,\n      boolean onUi,\n      String threadName) {\n    new LiveSchedTask(owner, task, delay, unit, onUi, true, threadName);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/util/bg/LiveSingleParamTask.java",
    "content": "package com.mirfatif.permissionmanagerx.util.bg;\n\nimport androidx.lifecycle.LifecycleOwner;\nimport com.mirfatif.permissionmanagerx.fwk.LifecycleWatcher;\nimport com.mirfatif.privtasks.util.bg.BgRunner;\nimport com.mirfatif.privtasks.util.bg.RunnableWithParam;\nimport com.mirfatif.privtasks.util.bg.SingleParamTask;\n\npublic class LiveSingleParamTask<T> extends SingleParamTask<T> {\n\n  public LiveSingleParamTask(LifecycleOwner owner, RunnableWithParam<T> task, String threadName) {\n    super(task, threadName);\n    LifecycleWatcher.addOnDestroyed(owner, () -> BgRunner.execute(this::shutdownNow));\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/util/bg/LiveTasksQueue.java",
    "content": "package com.mirfatif.permissionmanagerx.util.bg;\n\nimport android.os.SystemClock;\nimport androidx.lifecycle.LifecycleOwner;\nimport com.mirfatif.permissionmanagerx.fwk.LifecycleWatcher;\nimport com.mirfatif.privtasks.util.bg.BgRunner;\nimport com.mirfatif.privtasks.util.bg.ThreadUtils;\nimport java.util.concurrent.ConcurrentLinkedQueue;\n\npublic class LiveTasksQueue {\n\n  protected LiveTasksQueue(LifecycleOwner owner, Object task) {\n    addTask(task);\n    LifecycleWatcher.addOnDestroyed(owner, () -> BgRunner.execute(this::onDestroyed));\n  }\n\n  public LiveTasksQueue(LifecycleOwner owner, BgTask task) {\n    this(owner, (Object) task);\n  }\n\n  public LiveTasksQueue(LifecycleOwner owner, long msDelay) {\n    this(owner, () -> SystemClock.sleep(msDelay));\n  }\n\n  protected void onDestroyed() {\n    synchronized (mTasks) {\n      mTasks.clear();\n      mAlive = false;\n    }\n  }\n\n  protected boolean isAlive() {\n    return mAlive;\n  }\n\n  public LiveTasksQueue onUi(FgTask task) {\n    addTask(task);\n    return this;\n  }\n\n  public LiveTasksQueue delay(long msDelay) {\n    addTask((BgTask) () -> SystemClock.sleep(msDelay));\n    return this;\n  }\n\n  private final ConcurrentLinkedQueue<Object> mTasks = new ConcurrentLinkedQueue<>();\n\n  protected void addTask(Object task) {\n    assertNotRunning();\n\n    synchronized (mTasks) {\n      if (mAlive) {\n        mTasks.add(task);\n      }\n    }\n  }\n\n  private void assertNotRunning() {\n    synchronized (mTasks) {\n      if (mRunning) {\n        throw new RuntimeException(\"Cannot add task after calling start()\");\n      }\n    }\n  }\n\n  private boolean mAlive = true, mRunning = false;\n\n  public void start() {\n    start(false);\n  }\n\n  public void start(boolean blockedIfInBg) {\n    if (!blockedIfInBg || ThreadUtils.isMainThread()) {\n      BgRunner.execute(this::startBlocked);\n    } else {\n      startBlocked();\n    }\n  }\n\n  public void startBlocked() {\n    if (ThreadUtils.isMainThread()) {\n      throw new RuntimeException(\"startBlocked() called on main thread\");\n    }\n\n    synchronized (mTasks) {\n      if (mRunning) {\n        throw new RuntimeException(\"Already started\");\n      }\n      mRunning = true;\n    }\n\n    if (mAlive) {\n      run();\n    }\n  }\n\n  private void run() {\n    Object task;\n    while (true) {\n      synchronized (mTasks) {\n        task = mTasks.poll();\n      }\n      if (task == null) {\n        break;\n      }\n      run(task);\n    }\n  }\n\n  protected void run(Object task) {\n    if (task instanceof FgTask) {\n      LiveUiWaitTask.post((Runnable) task).waitForMe();\n    } else {\n      ((BgTask) task).run();\n    }\n  }\n\n  public interface BgTask extends Runnable {}\n\n  public interface FgTask extends Runnable {}\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/util/bg/LiveTasksQueueTyped.java",
    "content": "package com.mirfatif.permissionmanagerx.util.bg;\n\nimport androidx.lifecycle.LifecycleOwner;\n\npublic class LiveTasksQueueTyped<T> extends LiveTasksQueue {\n\n  public LiveTasksQueueTyped(LifecycleOwner owner, BgTaskForResult<T> task) {\n    super(owner, task);\n  }\n\n  protected void onDestroyed() {\n    super.onDestroyed();\n    mResult = null;\n  }\n\n  public LiveTasksQueueTyped<T> onUi(FgTask task) {\n    super.onUi(task);\n    return this;\n  }\n\n  public LiveTasksQueueTyped<T> onUiWith(FgTaskWithResult<T> task) {\n    addTask(task);\n    return this;\n  }\n\n  public LiveTasksQueueTyped<T> inBgWithFor(BgTaskWithForResult<T> task) {\n    addTask(task);\n    return this;\n  }\n\n  public LiveTasksQueueTyped<T> delay(long msDelay) {\n    super.delay(msDelay);\n    return this;\n  }\n\n  private volatile T mResult;\n\n  protected void run(Object task) {\n    T result = mResult;\n\n    if (task instanceof BgTaskForResult) {\n      if (isAlive()) {\n        mResult = ((BgTaskForResult<T>) task).run();\n      }\n    } else if (task instanceof BgTaskWithResult) {\n      if (isAlive()) {\n        ((BgTaskWithResult<T>) task).run(result);\n      }\n    } else if (task instanceof BgTaskWithForResult) {\n      if (isAlive()) {\n        mResult = ((BgTaskWithForResult<T>) task).run(result);\n      }\n    } else if (task instanceof FgTaskForResult) {\n      if (isAlive()) {\n        LiveUiWaitTask.post(() -> mResult = ((FgTaskForResult<T>) task).run()).waitForMe();\n      }\n    } else if (task instanceof FgTaskWithResult) {\n      if (isAlive()) {\n        LiveUiWaitTask.post(() -> ((FgTaskWithResult<T>) task).run(result)).waitForMe();\n      }\n    } else if (task instanceof FgTaskWithForResult) {\n      if (isAlive()) {\n        LiveUiWaitTask.post(\n                () -> {\n                  T res = mResult;\n                  mResult = ((FgTaskWithForResult<T>) task).run(res);\n                })\n            .waitForMe();\n      }\n    } else {\n      super.run(task);\n    }\n  }\n\n  public interface BgTaskForResult<E> {\n\n    E run();\n  }\n\n  public interface BgTaskWithResult<E> {\n\n    void run(E result);\n  }\n\n  public interface BgTaskWithForResult<E> {\n\n    E run(E result);\n  }\n\n  public interface FgTaskForResult<E> {\n\n    E run();\n  }\n\n  public interface FgTaskWithResult<E> {\n\n    void run(E result);\n  }\n\n  public interface FgTaskWithForResult<E> {\n\n    E run(E result);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/util/bg/LiveUiParamTask.java",
    "content": "package com.mirfatif.permissionmanagerx.util.bg;\n\nimport androidx.lifecycle.LifecycleOwner;\nimport com.mirfatif.permissionmanagerx.fwk.LifecycleWatcher;\nimport com.mirfatif.privtasks.util.bg.RunnableWithParam;\nimport java.util.concurrent.atomic.AtomicReference;\n\npublic class LiveUiParamTask<T> {\n\n  private final AtomicReference<T> mParam = new AtomicReference<>();\n  private Runnable mTask;\n\n  public LiveUiParamTask(LifecycleOwner owner, RunnableWithParam<T> task) {\n    mTask = () -> runWithParam(task);\n    LifecycleWatcher.addOnDestroyed(owner, this::stop);\n  }\n\n  private void runWithParam(RunnableWithParam<T> task) {\n    task.run(mParam.get());\n  }\n\n  public void post(T param, boolean waitForCompletion) {\n    Runnable task = mTask;\n\n    if (task == null) {\n      return;\n    }\n\n    mParam.set(param);\n\n    if (waitForCompletion) {\n      LiveUiWaitTask.post(task).waitForMe();\n    } else {\n      UiRunner.post(task);\n    }\n  }\n\n  public void stop() {\n    mTask = null;\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/util/bg/LiveUiTask.java",
    "content": "package com.mirfatif.permissionmanagerx.util.bg;\n\nimport androidx.lifecycle.LifecycleOwner;\nimport com.mirfatif.permissionmanagerx.fwk.LifecycleWatcher;\n\npublic class LiveUiTask {\n\n  private Runnable mTask;\n\n  public LiveUiTask(LifecycleOwner owner, Runnable task) {\n    mTask = task;\n    LifecycleWatcher.addOnDestroyed(owner, () -> mTask = null);\n  }\n\n  public void post() {\n    post(false);\n  }\n\n  public void post(boolean waitForCompletion) {\n    Runnable task = mTask;\n    if (task == null) {\n      return;\n    }\n\n    if (waitForCompletion) {\n      LiveUiWaitTask.post(task).waitForMe();\n    } else {\n      UiRunner.post(task);\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/util/bg/LiveUiWaitTask.java",
    "content": "package com.mirfatif.permissionmanagerx.util.bg;\n\nimport androidx.lifecycle.LifecycleOwner;\nimport com.mirfatif.permissionmanagerx.fwk.LifecycleWatcher;\nimport com.mirfatif.privtasks.util.bg.NotifyWaiter;\nimport com.mirfatif.privtasks.util.bg.ThreadUtils;\n\npublic class LiveUiWaitTask {\n\n  private LiveUiWaitTask(LifecycleOwner owner, Runnable task) {\n    LiveWaitTask liveWaitTask = new LiveWaitTask(task);\n    if (owner != null) {\n      LifecycleWatcher.addOnDestroyed(owner, liveWaitTask);\n    }\n    UiRunner.post(liveWaitTask);\n  }\n\n  public static LiveUiWaitTask post(Runnable task) {\n    return new LiveUiWaitTask(null, task);\n  }\n\n  private final NotifyWaiter mCompletionWaiter = new NotifyWaiter();\n\n  public void waitForMe() {\n    if (ThreadUtils.isMainThread()) {\n      throw new RuntimeException(\"waitForMe() called on main thread\");\n    }\n    mCompletionWaiter.waitForNotifyNoThrow();\n  }\n\n  private class LiveWaitTask implements Runnable, LifecycleWatcher.LifecycleCallback {\n\n    private Runnable mTask;\n\n    private LiveWaitTask(Runnable task) {\n      mTask = task;\n    }\n\n    public void run() {\n      Runnable task = mTask;\n      if (task != null) {\n        task.run();\n      }\n      mCompletionWaiter.notify(true);\n    }\n\n    public void onDestroyed() {\n      mTask = null;\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/mirfatif/permissionmanagerx/util/bg/UiRunner.java",
    "content": "package com.mirfatif.permissionmanagerx.util.bg;\n\nimport android.os.Handler;\nimport android.os.Looper;\nimport androidx.lifecycle.LifecycleOwner;\nimport com.mirfatif.privtasks.util.bg.ThreadUtils;\n\npublic class UiRunner {\n\n  private static final Handler MAIN_HANDLER = new Handler(Looper.getMainLooper());\n\n  public static void post(Runnable task) {\n    if (ThreadUtils.isMainThread()) {\n      task.run();\n    } else {\n      MAIN_HANDLER.post(task);\n    }\n  }\n\n  public static void post(LifecycleOwner owner, Runnable task) {\n    new LiveUiTask(owner, task).post();\n  }\n}\n"
  },
  {
    "path": "app/src/main/res/anim/shake.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<set xmlns:android=\"http://schemas.android.com/apk/res/android\">\n  <translate\n    android:duration=\"100\"\n    android:fromXDelta=\"-1%\"\n    android:repeatCount=\"2\"\n    android:repeatMode=\"reverse\"\n    android:toXDelta=\"1%\" />\n</set>\n"
  },
  {
    "path": "app/src/main/res/color/active_disabled.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n  <item android:color=\"?attr/accentColor\" android:state_enabled=\"true\" />\n  <item android:color=\"?attr/colorControlNormal\" />\n</selector>\n"
  },
  {
    "path": "app/src/main/res/color/slim_switch.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n  <item android:color=\"@color/colorControlNormalDisabled\" android:state_enabled=\"false\" />\n  <item android:color=\"?attr/colorControlActivated\" android:state_checked=\"true\" />\n  <item android:color=\"@color/colorControlNormal\" />\n</selector>\n"
  },
  {
    "path": "app/src/main/res/drawable/accessibility.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M12,2c1.1,0 2,0.9 2,2s-0.9,2 -2,2 -2,-0.9 -2,-2 0.9,-2 2,-2zM21,9h-6v13h-2v-6h-2v6L9,22L9,9L3,9L3,7h18v2z\" />\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/advanced_settings.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\"\n  android:tint=\"?attr/colorControlNormal\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M6.21,13.97l1.2,2.07c0.08,0.13 0.23,0.18 0.37,0.13l1.49,-0.6c0.31,0.24 0.64,0.44 1.01,0.59l0.22,1.59c0.03,0.14 0.15,0.25 0.3,0.25h2.4c0.15,0 0.27,-0.11 0.3,-0.26l0.22,-1.59c0.36,-0.15 0.7,-0.35 1.01,-0.59l1.49,0.6c0.14,0.05 0.29,0 0.37,-0.13l1.2,-2.07c0.08,-0.13 0.04,-0.29 -0.07,-0.39l-1.27,-0.99c0.03,-0.19 0.04,-0.39 0.04,-0.58 0,-0.2 -0.02,-0.39 -0.04,-0.59l1.27,-0.99c0.11,-0.09 0.15,-0.26 0.07,-0.39l-1.2,-2.07c-0.08,-0.13 -0.23,-0.18 -0.37,-0.13l-1.49,0.6c-0.31,-0.24 -0.64,-0.44 -1.01,-0.59l-0.22,-1.59c-0.03,-0.14 -0.15,-0.25 -0.3,-0.25h-2.4c-0.15,0 -0.27,0.11 -0.3,0.26l-0.22,1.59c-0.36,0.15 -0.71,0.34 -1.01,0.58l-1.49,-0.6c-0.14,-0.05 -0.29,0 -0.37,0.13l-1.2,2.07c-0.08,0.13 -0.04,0.29 0.07,0.39l1.27,0.99c-0.03,0.2 -0.05,0.39 -0.05,0.59 0,0.2 0.02,0.39 0.04,0.59l-1.27,0.99c-0.11,0.1 -0.14,0.26 -0.06,0.39zM12,10.29c0.94,0 1.71,0.77 1.71,1.71s-0.77,1.71 -1.71,1.71 -1.71,-0.77 -1.71,-1.71 0.77,-1.71 1.71,-1.71zM19,3L5,3c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.11,0 2,-0.9 2,-2L21,5c0,-1.1 -0.89,-2 -2,-2zM19,19L5,19L5,5h14v14z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/arrow_right.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:autoMirrored=\"true\"\n  android:tint=\"?attr/accentColor\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M8.59,16.59L13.17,12 8.59,7.41 10,6l6,6 -6,6 -1.41,-1.41z\" />\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/backup_restore.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\"\n  android:tint=\"?attr/colorControlNormal\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M14,12c0,-1.1 -0.9,-2 -2,-2s-2,0.9 -2,2 0.9,2 2,2 2,-0.9 2,-2zM12,3c-4.97,0 -9,4.03 -9,9L0,12l4,4 4,-4L5,12c0,-3.87 3.13,-7 7,-7s7,3.13 7,7 -3.13,7 -7,7c-1.51,0 -2.91,-0.49 -4.06,-1.3l-1.42,1.44C8.04,20.3 9.94,21 12,21c4.97,0 9,-4.03 9,-9s-4.03,-9 -9,-9z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/check_circle.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8zM16.59,7.58L10,14.17l-2.59,-2.58L6,13l4,4 8,-8z\" />\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/circle_progress_bar.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shape xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:innerRadiusRatio=\"2.5\"\n  android:shape=\"ring\"\n  android:thickness=\"5dp\"\n  android:useLevel=\"true\">\n  <gradient\n    android:endColor=\"@android:color/transparent\"\n    android:startColor=\"?attr/accentTrans75Color\" />\n</shape>\n"
  },
  {
    "path": "app/src/main/res/drawable/color.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:height=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  android:viewportHeight=\"24\"\n  android:viewportWidth=\"24\"\n  android:width=\"24dp\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M16.56,8.94L7.62,0L6.21,1.41l2.38,2.38L3.44,8.94c-0.59,0.59 -0.59,1.54 0,2.12l5.5,5.5C9.23,16.85 9.62,17 10,17s0.77,-0.15 1.06,-0.44l5.5,-5.5C17.15,10.48 17.15,9.53 16.56,8.94zM5.21,10L10,5.21L14.79,10H5.21zM19,11.5c0,0 -2,2.17 -2,3.5c0,1.1 0.9,2 2,2s2,-0.9 2,-2C21,13.67 19,11.5 19,11.5zM2,20h20v4H2V20z\" />\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/crash_report_text_bg.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shape xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:shape=\"rectangle\">\n  <stroke\n    android:width=\"2dp\"\n    android:color=\"?attr/accentTrans10Color\" />\n  <corners android:radius=\"4dp\" />\n</shape>\n"
  },
  {
    "path": "app/src/main/res/drawable/cross_red.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:height=\"24dp\"\n  android:viewportHeight=\"24\"\n  android:viewportWidth=\"24\"\n  android:width=\"24dp\">\n  <path\n    android:fillColor=\"@android:color/holo_red_dark\"\n    android:pathData=\"M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12 19,6.41z\" />\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/danger.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  android:viewportWidth=\"512\"\n  android:viewportHeight=\"512\">\n  <group\n    android:scaleX=\"0.8\"\n    android:scaleY=\"0.8\"\n    android:translateX=\"50\"\n    android:translateY=\"50\">\n    <path\n      android:fillColor=\"@android:color/white\"\n      android:pathData=\"M245,26.2c-9.2,1.3 -23,6.1 -31.2,10.9 -8.3,4.9 -19.4,15.1 -25.3,23.4 -2.4,3.3 -43.9,71.9 -92.2,152.5 -58.1,96.8 -88.8,148.9 -90.6,153.7 -6.3,17.2 -7.4,38.3 -2.8,55.6 7.9,30.1 32,54 62.1,62l8.5,2.2 182.5,-0 182.5,-0 8.5,-2.2c50.3,-13.2 77.5,-67 59.3,-117.2 -1.9,-5.3 -28.4,-50.5 -90.4,-153.8 -48.3,-80.4 -89.2,-148.4 -91,-151 -6.8,-10 -18.1,-20.3 -29.1,-26.6 -6.5,-3.8 -20.9,-8.4 -30.1,-9.6 -8.9,-1.2 -11.6,-1.2 -20.7,0.1zM267.3,86.8c2.4,1.1 5.9,3.5 7.8,5.4 3.3,3.3 175.5,289.2 178.5,296.3 0.8,1.9 1.4,6.6 1.4,10.8 0,9.1 -3,15.8 -9.7,21.7 -8.6,7.5 5.3,7 -189.3,7 -194.6,-0 -180.7,0.5 -189.3,-7 -6.7,-5.9 -9.7,-12.6 -9.7,-21.7 0,-4.2 0.6,-8.9 1.4,-10.8 1.8,-4.1 172.8,-289.5 176.4,-294.3 2.8,-3.6 9.6,-8 14.5,-9.3 4.7,-1.2 12.9,-0.3 18,1.9z\" />\n    <path\n      android:fillColor=\"@android:color/white\"\n      android:pathData=\"M248.3,154.8c-7.1,2.5 -11.3,6 -14.8,12.3l-3,5.4 0,58c0,57.9 0,58 2.2,62.1 5.1,9.6 12.9,14.4 23.3,14.4 10.4,-0 18.2,-4.8 23.3,-14.4 2.2,-4.1 2.2,-4.5 2.5,-59.9 0.2,-36.5 -0.1,-57.1 -0.8,-59.6 -3.8,-14.3 -19.4,-23 -32.7,-18.3z\" />\n    <path\n      android:fillColor=\"@android:color/white\"\n      android:pathData=\"M245.5,334.9c-2.2,1 -5.5,3.3 -7.3,5.1 -10.7,10.6 -10.6,26.1 0.1,36.5 5.6,5.4 10.5,7.5 17.7,7.5 7.2,-0 12.1,-2.1 17.7,-7.5 10.7,-10.4 10.8,-25.9 0.1,-36.5 -1.8,-1.8 -5.1,-4.1 -7.3,-5.1 -5.4,-2.5 -15.6,-2.5 -21,-0z\" />\n  </group>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/dark_mode.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:height=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  android:viewportHeight=\"24\"\n  android:viewportWidth=\"24\"\n  android:width=\"24dp\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M9.37,5.51C9.19,6.15 9.1,6.82 9.1,7.5c0,4.08 3.32,7.4 7.4,7.4c0.68,0 1.35,-0.09 1.99,-0.27C17.45,17.19 14.93,19 12,19c-3.86,0 -7,-3.14 -7,-7C5,9.07 6.81,6.55 9.37,5.51zM12,3c-4.97,0 -9,4.03 -9,9s4.03,9 9,9s9,-4.03 9,-9c0,-0.46 -0.04,-0.92 -0.1,-1.36c-0.98,1.37 -2.58,2.26 -4.4,2.26c-2.98,0 -5.4,-2.42 -5.4,-5.4c0,-1.81 0.89,-3.42 2.26,-4.4C12.92,3.04 12.46,3 12,3L12,3z\" />\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/database.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  android:viewportWidth=\"384\"\n  android:viewportHeight=\"384\">\n  <group\n    android:pivotX=\"192\"\n    android:pivotY=\"192\"\n    android:scaleX=\"0.9\"\n    android:scaleY=\"0.9\">\n    <path\n      android:fillColor=\"@android:color/white\"\n      android:pathData=\"m167.057,23.872c-41.398,2.587 -78.643,12.256 -98.389,25.534 -6.537,4.358 -13.277,11.643 -15.933,17.227l-2.111,4.494 -0.204,118.476c-0.136,88.993 0,119.429 0.613,122.221 2.383,11.167 12.597,21.312 29.483,29.347 48.82,23.15 145.916,26.283 205.63,6.673 26.691,-8.784 42.692,-20.767 46.437,-34.794 1.362,-5.243 1.43,-236.747 0,-241.922 -1.362,-5.311 -3.473,-8.784 -8.239,-13.89 -17.022,-18.044 -56.582,-30.096 -109.283,-33.432 -12.801,-0.749 -34.93,-0.749 -48.003,0.068zM227.656,46.545c22.946,2.451 38.879,5.72 55.084,11.303 17.159,5.924 29.006,13.958 29.006,19.746 0,4.153 -6.741,10.009 -17.363,14.98 -41.262,19.474 -122.697,23.491 -179.892,8.92 -23.423,-5.992 -42.42,-16.682 -42.42,-23.899 0,-7.217 18.997,-17.908 42.42,-23.899 14.775,-3.745 34.862,-6.877 52.633,-8.103 12.324,-0.817 49.024,-0.272 60.531,0.953zM94.541,118.107c52.293,18.112 138.221,18.52 191.604,0.953 5.651,-1.838 13.686,-5.039 17.908,-7.013l7.694,-3.745l0,23.695 0,23.627l-1.702,2.247c-2.519,3.541 -8.171,7.422 -15.661,10.962 -41.33,19.474 -122.697,23.491 -179.892,8.92 -18.997,-4.834 -35.679,-13.005 -40.717,-19.882l-1.702,-2.247l0,-23.627 0,-23.695l7.694,3.677c4.153,1.975 10.826,4.766 14.775,6.128zM94.541,194.367c52.293,18.112 138.221,18.52 191.604,0.953 5.651,-1.838 13.686,-5.039 17.908,-7.013l7.694,-3.745l0,23.695 0,23.627l-1.702,2.247c-8.035,10.962 -37.517,21.38 -73.196,25.874 -41.262,5.243 -87.291,2.928 -122.357,-5.992 -18.997,-4.834 -35.679,-13.005 -40.717,-19.882l-1.702,-2.247l0,-23.627 0,-23.695l7.694,3.677c4.153,1.975 10.826,4.766 14.775,6.128zM94.541,270.628c52.293,18.112 138.221,18.52 191.604,0.953 5.651,-1.838 13.686,-5.039 17.908,-7.013l7.694,-3.745l0,23.695 0,23.627l-1.702,2.247c-8.035,10.962 -37.653,21.448 -73.196,25.874 -41.671,5.175 -87.223,2.996 -122.357,-5.992 -18.997,-4.834 -35.679,-13.005 -40.717,-19.882l-1.702,-2.247l0,-23.627 0,-23.695l7.694,3.677c4.153,1.975 10.826,4.766 14.775,6.128z\"\n      android:strokeWidth=\"1.5\"\n      android:strokeColor=\"@android:color/white\" />\n    <path\n      android:fillColor=\"@android:color/white\"\n      android:pathData=\"m89.435,133.019c-6.877,2.996 -8.511,12.12 -3.132,17.499 7.626,7.694 20.154,0.817 18.18,-9.941 -1.226,-6.4 -8.92,-10.282 -15.048,-7.558z\"\n      android:strokeWidth=\"1.5\"\n      android:strokeColor=\"@android:color/white\" />\n    <path\n      android:fillColor=\"@android:color/white\"\n      android:pathData=\"m89.435,209.279c-6.877,2.996 -8.511,12.12 -3.132,17.499 4.426,4.426 10.69,4.426 15.116,-0 8.443,-8.443 -1.021,-22.265 -11.984,-17.499z\"\n      android:strokeWidth=\"1.5\"\n      android:strokeColor=\"@android:color/white\" />\n    <path\n      android:fillColor=\"@android:color/white\"\n      android:pathData=\"m89.435,285.539c-6.877,2.996 -8.511,12.12 -3.132,17.499 4.426,4.426 10.69,4.426 15.116,-0 8.443,-8.443 -1.021,-22.265 -11.984,-17.499z\"\n      android:strokeWidth=\"1.5\"\n      android:strokeColor=\"@android:color/white\" />\n  </group>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/donate.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\"\n  android:tint=\"?attr/colorControlNormal\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M16.5,3c-1.74,0 -3.41,0.81 -4.5,2.09C10.91,3.81 9.24,3 7.5,3 4.42,3 2,5.42 2,8.5c0,3.78 3.4,6.86 8.55,11.54L12,21.35l1.45,-1.32C18.6,15.36 22,12.28 22,8.5 22,5.42 19.58,3 16.5,3zM12.1,18.55l-0.1,0.1 -0.1,-0.1C7.14,14.24 4,11.39 4,8.5 4,6.5 5.5,5 7.5,5c1.54,0 3.04,0.99 3.57,2.36h1.87C13.46,5.99 14.96,5 16.5,5c2,0 3.5,1.5 3.5,3.5 0,2.89 -3.14,5.74 -7.9,10.05z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/email.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\"\n  android:tint=\"?attr/colorControlNormal\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M22,6c0,-1.1 -0.9,-2 -2,-2L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6zM20,6l-8,5 -8,-5h16zM20,18L4,18L4,8l8,5 8,-5v10z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/exit.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:autoMirrored=\"true\"\n  android:tint=\"?attr/colorControlNormal\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M10.09,15.59L11.5,17l5,-5 -5,-5 -1.41,1.41L12.67,11H3v2h9.67l-2.58,2.59zM19,3H5c-1.11,0 -2,0.9 -2,2v4h2V5h14v14H5v-4H3v4c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2V5c0,-1.1 -0.9,-2 -2,-2z\" />\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/filter.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\"\n  android:tint=\"?attr/colorControlNormal\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M10,18h4v-2h-4v2zM3,6v2h18L21,6L3,6zM6,13h12v-2L6,11v2z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/g_accounts.xml",
    "content": "<vector android:height=\"24dp\"\n  android:viewportHeight=\"512\"\n  android:viewportWidth=\"512\"\n  android:width=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  xmlns:android=\"http://schemas.android.com/apk/res/android\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M235.1,17.1c-19.4,1.7 -43.4,7 -61,13.5 -13.9,5.1 -38.1,17.3 -49.5,24.9 -45.3,30.3 -78.5,73.3 -95.9,124.5 -13.2,38.7 -15.8,86 -7,126.5 15.5,71.4 63.5,132.8 128.8,164.5 22.7,11.1 39.8,16.7 63.7,21 30.7,5.5 63,4.8 93.8,-2 92.2,-20.5 164.4,-94.2 182.9,-186.5 3.6,-18.2 4.4,-26.8 4.5,-47.5 0,-21.2 -1.2,-33.2 -5.5,-52.5 -17.3,-78.6 -75.4,-144.6 -152,-172.9 -31.3,-11.5 -69,-16.5 -102.8,-13.5zM288,42.5c80.2,12.3 147.5,68.7 172.5,145 25.3,76.8 7.1,158.4 -48.6,218 -20.8,22.2 -54.1,43.6 -83.8,53.9 -25.2,8.8 -44.5,12 -72.1,12 -35.4,0.1 -64.1,-6.5 -95.5,-21.9 -63.7,-31.3 -107.1,-91 -118.2,-162.5 -2.4,-15.8 -2.4,-47.3 0.1,-62.5 7.7,-47.8 27.9,-87.8 61.1,-121 17.8,-17.8 36,-30.8 58,-41.5 24.3,-11.8 47.8,-18.2 78,-21.4 8,-0.8 38.3,0.4 48.5,1.9z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M242.8,94c-15.3,2.8 -25.6,7.8 -34.8,17 -11.7,11.7 -15.5,22.9 -16.6,48.2 -0.3,8.8 -1,15.8 -1.6,15.8 -2.2,-0 -4.8,8.6 -4.8,16 0,13 3.9,23.5 13.3,35.9 3.2,4.1 5.7,8 5.7,8.7 0,0.6 2.1,5.4 4.7,10.5 8,16.1 22.4,28.4 37.3,31.8 24,5.5 48.4,-9.8 60,-37.5 1.7,-4.2 5.5,-10.7 8.3,-14.3 8.7,-11.4 12.7,-22.4 12.7,-35.1 0,-7.4 -2.6,-16 -4.8,-16 -0.5,-0 -1.2,-6.4 -1.4,-14.3 -0.6,-16.6 -2.8,-25 -8.1,-31.2 -1.9,-2.2 -3.8,-5.6 -4.2,-7.5 -1,-5.1 -5.4,-12.8 -9,-15.7 -4,-3.5 -15.4,-8.6 -23.5,-10.7 -7.6,-2 -26.4,-2.9 -33.2,-1.6z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M183.5,267.8c-32.5,13.6 -38.4,17 -49,27.7 -10.4,10.4 -15.3,18.8 -21,35.7 -3.3,9.9 -6.5,26.3 -6.5,33.4 0,4 1.9,5.5 10.5,8.7 29.9,11.2 75.2,16.7 138.2,16.7 46.4,-0 79.6,-2.6 109.3,-8.6 15.1,-3 36.2,-9.9 38.6,-12.5 1.5,-1.7 1.6,-2.8 0.5,-12.5 -3,-26.2 -13.5,-49.2 -29,-63.6 -8.6,-8 -19.5,-13.8 -48.3,-25.7l-19.6,-8.2 -8.9,8.9c-13.7,13.8 -25.7,19.4 -41.8,19.6 -16.6,0.1 -31.8,-7.2 -44.5,-21.2 -3.6,-4 -6.7,-7.2 -7,-7.2 -0.3,-0 -9.9,4 -21.5,8.8z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/g_audio.xml",
    "content": "<vector android:height=\"24dp\"\n  android:viewportHeight=\"512\"\n  android:viewportWidth=\"512\"\n  android:width=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  xmlns:android=\"http://schemas.android.com/apk/res/android\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M396.7,44.4c-4.8,1.7 -7.1,3.8 -9.1,8.1 -3.8,7.9 -1,15.3 8.4,22.5 15.2,11.8 37,37.5 49.3,58.2 38.5,64.7 45.6,150.6 18,219.3 -13.7,34.2 -38.4,65.8 -65.4,83.6 -11.6,7.7 -14.7,15.4 -9.6,24.3 4.6,8.2 14.3,10.4 23,5.3 20.9,-12.3 48,-40.3 64.4,-66.8 36.9,-59.3 46.4,-143 24.7,-218.8 -12.3,-43.3 -35.3,-82.2 -67.3,-114.1 -20.8,-20.8 -27.7,-24.8 -36.4,-21.6z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M253.1,54.2c-2.3,1.3 -38.6,31 -80.6,66l-76.5,63.8 -37.6,-0c-26.7,-0 -38.9,0.4 -41.8,1.2 -5.5,1.6 -13.8,9.9 -15.4,15.4 -1.7,5.9 -1.7,104.9 0,110.8 1.6,5.5 9.9,13.8 15.4,15.4 2.9,0.8 15.1,1.2 41.7,1.2l37.7,-0 75.7,63.1c41.7,34.7 77.5,64.2 79.5,65.6 4.9,3.3 11,4.1 14.4,1.9 1.4,-1 3.4,-3.6 4.5,-5.9 1.8,-4.1 1.9,-9.9 1.9,-196.7 0,-185.9 -0.1,-192.6 -1.9,-196.6 -3.4,-7.6 -9.2,-9.3 -17,-5.2zM239.8,330.9l-0.3,75 -62.9,-52.4c-34.6,-28.9 -65,-53.5 -67.5,-54.7 -4.5,-2.2 -5.4,-2.3 -40.9,-2.6l-36.2,-0.3 0,-39.9 0,-39.9 36.3,-0.3 36.2,-0.3 5,-2.7c2.8,-1.4 33.2,-26 67.5,-54.7l62.5,-52 0.3,74.9c0.1,41.3 0.1,108.7 0,149.9z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M336.5,123.4c-6.8,3 -10.5,10.6 -9,18.3 0.7,3.9 1.9,5.2 15.8,17.6 14.6,13 28.8,35 35.5,55.3 4.4,13.1 6.3,23.9 6.9,39.9 1.7,43.9 -15.9,82.1 -48.1,104 -8.4,5.7 -10.1,8.4 -10.1,15.5 0,9.7 5.8,15.5 15.3,15.5 5.1,-0 6.4,-0.5 13.2,-4.9 4.1,-2.7 12.7,-10.2 19.1,-16.5 21.6,-21.5 33.7,-44.7 40.1,-76.3 3,-15.1 3.2,-46.8 0.4,-62.3 -6.6,-36 -23.7,-68.1 -49.3,-92.6 -14.3,-13.7 -21.9,-17.1 -29.8,-13.5z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/g_background.xml",
    "content": "<vector android:height=\"24dp\"\n  android:viewportHeight=\"200\"\n  android:viewportWidth=\"200\"\n  android:width=\"24dp\"\n  xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:tint=\"?attr/colorControlNormal\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M86.7,14c-29,5.3 -52.9,23.3 -65.2,49.1 -3.5,7.5 -7.5,21.1 -7.5,25.8 0,4 -1,4.7 -6.9,5.4 -2.9,0.4 -5.6,0.8 -5.8,1.1 -0.6,0.5 19.9,35.6 20.7,35.6 0.4,-0 19.8,-33.6 20.8,-36.2 0.2,-0.4 -2.4,-0.8 -5.7,-0.8 -7.1,-0 -7.2,-0.3 -4.6,-10.5 7.4,-28.5 31.3,-49.5 59.9,-52.4 19.8,-2 37,3.3 52.6,16 8.4,6.8 12.3,7.7 16.5,3.4 3.8,-3.8 3.3,-7.7 -1.7,-13.2 -8.1,-8.7 -21.8,-16.6 -36.5,-20.9 -9.7,-2.8 -27.8,-4 -36.6,-2.4z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M167.9,87.7c-5.7,9.7 -10.5,18.1 -10.7,18.5 -0.2,0.4 2.4,0.8 5.8,0.8l6.2,-0 -0.7,4.7c-0.4,2.6 -1.9,8.2 -3.5,12.4 -8.1,22.2 -27,38.6 -50.8,44 -6.9,1.5 -23.7,1.2 -30.7,-0.6 -11.3,-3 -28,-12.4 -33.4,-18.9 -1.4,-1.6 -6.5,-2.1 -9.6,-1 -1.9,0.8 -4.5,5.5 -4.5,8.3 0,4.8 13.7,16.2 27.1,22.6 12.8,6 21.4,7.8 37.4,7.8 12.2,-0 15.1,-0.3 22.8,-2.7 28.8,-8.7 49.7,-28.7 59.3,-56.8 1.2,-3.7 2.6,-8.9 2.9,-11.5 1.2,-8.5 0.9,-8.3 8,-8.3l6.4,-0 -10.1,-17.8c-5.5,-9.7 -10.3,-18.1 -10.7,-18.5 -0.4,-0.4 -5.5,7.2 -11.2,17z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/g_biometrics.xml",
    "content": "<vector android:height=\"24dp\"\n  android:viewportHeight=\"512\"\n  android:viewportWidth=\"512\"\n  android:width=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  xmlns:android=\"http://schemas.android.com/apk/res/android\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M202.8,1c-24.6,2.1 -34.5,4.8 -56.5,15.5 -15.8,7.7 -18.3,9.9 -18.3,15.7 0,4 3.6,8.6 7.5,9.7 4.4,1.2 7.1,0.3 21.1,-6.7 18.8,-9.5 28.6,-11.7 57.9,-13.3 13,-0.6 25.8,-0.6 40.5,0.1 35,1.7 50.1,4.5 78,14.6 18.2,6.6 21.9,6.9 26.2,2.7 2.3,-2.3 2.9,-3.9 3,-7.2 0.1,-7.5 -3.8,-9.8 -33.8,-19.7 -26,-8.5 -46.6,-11.4 -86.4,-11.9 -15.7,-0.2 -33.3,-0 -39.2,0.5z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M211,43.7c-48,4.9 -90.9,22.9 -119.4,50.2 -15.6,15 -19.6,23.4 -14.1,29.9 5.4,6.4 12.5,5 18.9,-3.7 4.4,-5.9 13.8,-14.9 22.8,-21.6 21.1,-15.7 50.7,-27.2 82.8,-32.2 15.8,-2.5 49.9,-2.4 66,-0 50.8,7.8 93.8,28.7 118.6,57.5 2.2,2.5 4,3.5 7.1,3.9 3.9,0.5 4.6,0.2 7.9,-3.1 3.4,-3.4 3.6,-4 3.1,-8.1 -0.9,-8.1 -13.9,-21.5 -33.5,-34.5 -30.1,-20 -66.5,-32.8 -106.8,-37.5 -11.6,-1.4 -43.4,-1.8 -53.4,-0.8z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M232.5,86c-58.4,4.2 -110.5,35.9 -141.7,86.3 -16.2,26 -25.7,57.8 -26.1,87.5l-0.2,11.3 3.3,3c4.5,4.1 9.9,4 14,-0.1 2.8,-2.7 3.1,-3.7 3.6,-11.7 2.4,-34.8 10.1,-58.6 27.3,-84.5 25,-37.6 63.9,-62.1 110.1,-69.4 13,-2 41.7,-1.5 55.7,1 28.8,5.2 53.3,18 73.1,38.1 10.2,10.4 17.6,20.4 32.2,43.4 22.5,35.4 31.7,45.8 46,52.2 6.9,3 10.8,2.5 14.9,-1.6 3.2,-3.2 3.5,-4 3,-7.6 -0.6,-4.9 -2.5,-7.1 -8,-9.7 -10.5,-5 -18.5,-14.1 -34.2,-39.2 -24.6,-39.4 -40.6,-57.9 -62.5,-72.6 -30.1,-20 -69.1,-29.4 -110.5,-26.4z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M232.5,128.6c-23,3.6 -36.5,7.6 -51.4,15.4 -39.1,20.6 -65.1,57 -72.7,101.8 -2.7,15.7 -1.5,37.6 3.1,56.7 4.4,18.7 5.7,29.7 4.4,39.9 -2.5,20.2 -13.1,34.2 -32.3,42.6 -8.1,3.6 -10.6,6.5 -10.6,12.5 0,5.2 4.4,9.5 9.7,9.5 8.4,-0.1 23.2,-8.2 33.7,-18.6 8.6,-8.5 14.6,-18.6 18,-30.6 4.8,-16.7 4.4,-33 -1.5,-57.3 -5.2,-21.7 -6.1,-34.2 -3.5,-51.5 3.7,-24.2 14.3,-45.4 31.9,-63.7 14.1,-14.6 31.7,-25.4 50.1,-30.8 12.3,-3.5 20,-4.6 34,-4.6 49.1,-0.1 93.8,31.2 110.2,77.4 1.5,4 4,8.7 5.8,10.6 9.4,10.1 69.1,58.9 73.5,60.1 6.3,1.7 13.1,-3.6 13.1,-10.2 0,-4.2 -4.1,-8.3 -25.1,-25.5 -11.3,-9.2 -26.2,-21.6 -33.1,-27.4 -11.8,-10.1 -12.6,-11 -14.8,-17 -16.2,-44.3 -58.1,-78.9 -105.7,-87.4 -8.9,-1.6 -31.3,-2.7 -36.8,-1.9z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M410.3,129.9c-6.6,4.1 -6.1,9.1 2.1,23.9 3.7,6.6 8.7,16.7 11.2,22.4 6.6,15.3 11.6,18.8 19.5,13.5 5.7,-3.8 6,-7.9 1.5,-19 -5.9,-14.5 -19.6,-38.6 -23.1,-40.8 -3.8,-2.4 -7.2,-2.4 -11.2,-0z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M229.1,172.1c-8.1,1.4 -22.8,6.6 -29.8,10.5 -26.7,14.9 -44.2,42.1 -48.4,75.2 -1.4,11.2 -0.5,21.7 3.6,42.7 6.2,31.1 7,38.3 7,60.5 0,19.8 -0.1,20.8 -2.8,28.5 -6.4,18.1 -14.6,25.8 -37.6,35.2 -5.8,2.4 -10.7,4.3 -10.8,4.3 -0.1,-0 -0.9,1.3 -1.8,3 -2.5,4.9 -1.9,8.8 1.9,12.6 4.1,4.1 6.4,4.3 16,0.8 33.6,-12 50.5,-31.2 55.6,-62.9 1.6,-9.9 1.3,-35.7 -0.6,-50.5 -0.8,-6.9 -3.4,-21.7 -5.6,-33 -3.7,-19.1 -3.9,-21.4 -3.5,-33.5 0.5,-14.9 2.4,-22.2 9,-35 5.3,-10.3 18.1,-23.5 28.2,-29.1 31,-17.1 70.5,-9.6 93.2,17.7 6,7.3 10.5,15.6 14.2,26.2 5.6,16 16.8,30.2 41.2,52.2 22.8,20.7 56.2,48.4 63.3,52.6 9.4,5.5 19.7,-5.2 13.8,-14.3 -0.9,-1.5 -8,-7.8 -15.7,-14 -40,-32.1 -67.4,-57.9 -77.1,-72.3 -1.8,-2.8 -4.4,-8.2 -5.7,-12 -10.8,-31.6 -35.7,-55.2 -67.3,-63.6 -9,-2.4 -31.3,-3.4 -40.3,-1.8z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M236.2,214.1c-18.6,3.2 -33,15.4 -40.7,34.4 -2.6,6.2 -2.9,8.2 -2.9,18 0,9.8 0.3,12 3.2,20.3 16.8,48.5 55.4,93.8 134.7,158.2 18,14.6 20.1,16 24.2,16 2.7,-0 4.4,-0.9 7,-3.5 3.2,-3.2 3.5,-3.9 3,-7.8 -0.7,-4.9 -1.3,-5.6 -23.2,-23.3 -30,-24.4 -60.1,-51.8 -76.2,-69.5 -23.3,-25.7 -39.8,-50.8 -47.7,-72.8 -4.2,-11.7 -4.8,-15.4 -3.5,-22.7 4.3,-24.7 33.5,-34.9 52.4,-18.3 4.3,3.8 7.8,9.6 10.4,17.2 8.4,24.4 33.7,55 76.4,92.4 15.2,13.3 41.2,34.7 46.9,38.5 5.8,4 10.1,3.7 14.5,-0.7 3.2,-3.2 3.5,-4 3,-7.6 -0.3,-2.2 -1.1,-4.7 -1.9,-5.6 -0.7,-0.9 -6.9,-6.1 -13.8,-11.7 -42.5,-34.1 -73,-63.1 -89.2,-85 -8.1,-10.8 -12.4,-18.4 -16.2,-28.7 -4.1,-10.9 -7.2,-16.2 -12.8,-21.8 -12.4,-12.6 -31.2,-18.9 -47.6,-16z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M238.5,259.3c-4.2,4.2 -4.5,7.5 -1.5,16.3 3.1,9.1 11.2,25 17.5,34.4 18.9,28.2 45.4,53.9 97,93.8 11.6,8.9 22.7,17.7 24.7,19.4 8.7,7.2 18.8,1.7 18,-9.8 -0.3,-3.2 -5.1,-7.5 -33.7,-29.8 -14.3,-11.2 -30.9,-24.6 -37,-29.8 -15.3,-13.3 -35.6,-34.4 -45.3,-47.4 -8.1,-10.7 -18,-28.7 -21.5,-39.1 -2.5,-7.4 -5.3,-10.3 -10.4,-11 -3.9,-0.5 -4.6,-0.2 -7.8,3z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M67.8,301.9c-3.2,2.8 -3.3,3.3 -3.2,9.8 0.1,4.9 1,9.3 3.3,15.6 7.6,21.1 11.7,26.1 19.8,24.1 4.8,-1.2 8.7,-6.5 8,-11 -0.3,-1.7 -2.4,-7.5 -4.7,-12.9 -2.3,-5.4 -4.7,-12.8 -5.3,-16.3 -0.8,-4.9 -1.7,-7.1 -3.9,-9.3 -4.1,-4 -9.5,-4 -14,-0z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M195.8,365.9c-3.8,3.4 -4,6.3 -1.8,19.8 3.3,19.8 -5.4,51.3 -19.3,69.8 -4.6,6.1 -10.3,10.9 -16.8,13.9 -5.8,2.7 -8.1,5.8 -8.1,10.7 0.1,5.8 4.3,10.2 9.9,10.2 10.9,-0 27.9,-13.9 38.2,-31.3 16,-26.9 22.7,-68.4 14.4,-89.1 -2.8,-7.2 -10.8,-9.1 -16.5,-4z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M244.2,429.5c-13.9,6.4 -24,25.4 -28.7,53.8 -2.2,13.6 -2.3,20.8 -0.2,24 2.3,3.6 8.6,5.4 12.6,3.7 4.3,-1.8 6,-5 7.1,-13.8 3,-23.9 9.1,-41.2 16.6,-47.1 3.2,-2.5 5.3,-2.6 12,-0.6 7.3,2.2 15.5,9.4 26.8,23.9 5.6,7.1 11.3,13.8 12.9,14.9 5.6,4.2 13.8,1.5 15.8,-5.3 1,-3.2 0.9,-4.3 -0.7,-7.3 -3.4,-6.4 -20.4,-27.5 -27,-33.5 -15,-13.9 -33.9,-18.9 -47.2,-12.7z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/g_bluetooth.xml",
    "content": "<vector android:height=\"24dp\"\n  android:viewportHeight=\"512\"\n  android:viewportWidth=\"512\"\n  android:width=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  xmlns:android=\"http://schemas.android.com/apk/res/android\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M206,105.5c0,58 -0.2,105.5 -0.4,105.5 -0.2,-0 -27.3,-17.2 -60.3,-38.1 -32.9,-21 -60.3,-38.3 -60.9,-38.6 -0.9,-0.3 -22.4,30.7 -22.4,32.4 0,0.5 29.7,20.6 66,44.7 36.3,24.2 66,44.2 66,44.6 0,0.4 -29.7,20.4 -66,44.6 -36.3,24.1 -66,44.2 -66,44.7 0,1.7 21.5,32.7 22.4,32.4 0.6,-0.3 28,-17.6 60.9,-38.6 33,-20.9 60.1,-38.1 60.3,-38.1 0.2,-0 0.5,47.4 0.6,105.3l0.3,105.3 121.5,-77.3c66.8,-42.5 121.6,-77.6 121.7,-78 0.1,-0.5 -36.9,-23 -82.2,-50.2 -45.4,-27.2 -82.5,-49.7 -82.5,-50.1 0,-0.4 37.1,-22.9 82.5,-50.1 45.3,-27.2 82.4,-49.7 82.5,-50 0,-0.3 -51.2,-33.1 -113.7,-72.9 -62.6,-39.8 -117.5,-74.8 -122,-77.7l-8.3,-5.3 0,105.5zM306.5,117.2c30,20.9 54.5,38.4 54.5,38.7 -0.1,0.7 -109.2,66.1 -110.3,66.1 -0.4,-0 -0.7,-32.2 -0.7,-71.5 0,-47.3 0.3,-71.5 1,-71.5 0.6,-0 25.5,17.2 55.5,38.2zM306.2,322.7c30.1,18.1 54.8,33.1 54.8,33.4 0,0.8 -108.8,76.9 -110,76.9 -0.7,-0 -1,-24.2 -1,-71.5 0,-39.3 0.3,-71.5 0.7,-71.5 0.4,-0 25.4,14.7 55.5,32.7z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/g_calendar.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\"\n  android:tint=\"?attr/colorControlNormal\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M20,3h-1L19,1h-2v2L7,3L7,1L5,1v2L4,3c-1.1,0 -2,0.9 -2,2v16c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,5c0,-1.1 -0.9,-2 -2,-2zM20,21L4,21L4,8h16v13z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/g_calllog.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\"\n  android:tint=\"?attr/colorControlNormal\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M20.01,15.38c-1.23,0 -2.42,-0.2 -3.53,-0.56 -0.35,-0.12 -0.74,-0.03 -1.01,0.24l-1.57,1.97c-2.83,-1.35 -5.48,-3.9 -6.89,-6.83l1.95,-1.66c0.27,-0.28 0.35,-0.67 0.24,-1.02 -0.37,-1.11 -0.56,-2.3 -0.56,-3.53 0,-0.54 -0.45,-0.99 -0.99,-0.99H4.19C3.65,3 3,3.24 3,3.99 3,13.28 10.73,21 20.01,21c0.71,0 0.99,-0.63 0.99,-1.18v-3.45c0,-0.54 -0.45,-0.99 -0.99,-0.99z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/g_camera.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\"\n  android:tint=\"?attr/colorControlNormal\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M14.12,4l1.83,2L20,6v12L4,18L4,6h4.05l1.83,-2h4.24M15,2L9,2L7.17,4L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2h-3.17L15,2zM12,9c1.65,0 3,1.35 3,3s-1.35,3 -3,3 -3,-1.35 -3,-3 1.35,-3 3,-3m0,-2c-2.76,0 -5,2.24 -5,5s2.24,5 5,5 5,-2.24 5,-5 -2.24,-5 -5,-5z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/g_clipboard.xml",
    "content": "<vector android:height=\"24dp\"\n  android:viewportHeight=\"512\"\n  android:viewportWidth=\"512\"\n  android:width=\"24dp\"\n  xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:tint=\"?attr/colorControlNormal\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M182.5,17.2c-18.7,3.6 -34.4,20 -37.6,39.6l-1.2,7.2 -17.1,-0c-15.8,-0 -17.5,0.2 -21.6,2.2 -3.3,1.7 -5.1,3.5 -6.7,6.8 -2.2,4.3 -2.3,5.4 -2.3,31 0,25.6 0.1,26.7 2.3,31 1.6,3.3 3.4,5.1 6.7,6.7l4.4,2.3 82.6,-0 82.6,-0 4.4,-2.3c3.3,-1.6 5.1,-3.4 6.8,-6.7 2.1,-4.3 2.2,-5.4 2.2,-31 0,-25.6 -0.1,-26.7 -2.2,-31 -1.7,-3.3 -3.5,-5.1 -6.8,-6.8 -4.1,-2 -5.8,-2.2 -21.6,-2.2l-17.1,-0 -1.2,-7.2c-3.3,-20.1 -18.9,-36.1 -38.5,-39.7 -6.9,-1.3 -11.1,-1.3 -18.1,0.1zM201.6,49c7.8,4.9 10.5,16.8 5.5,24.2 -4,5.7 -8.5,8.3 -15,8.3 -12.1,-0 -20.3,-10.6 -17.1,-22.3 1.3,-5 6.7,-10.7 11.3,-12.1 4.4,-1.4 11.3,-0.5 15.3,1.9z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M40.7,81.1c-9.2,2.2 -17.3,8.8 -21.6,17.9l-2.6,5.5 0,183.5 0,183.5 2.4,5.2c2.9,6.6 11.1,14.3 17.6,16.9 4.9,1.8 9.3,1.9 155.5,1.9 146.2,-0 150.6,-0.1 155.5,-1.9 6.5,-2.6 14.7,-10.3 17.6,-16.9l2.4,-5.2 0.3,-59 0.3,-59 -16.1,16 -16,16 0,29.7c0,25.6 -0.2,29.9 -1.6,31.2 -1.4,1.4 -15.6,1.6 -142,1.6 -95,-0 -141.2,-0.3 -142.5,-1 -1.9,-1.1 -1.9,-3.9 -1.9,-158.8 0,-121.4 0.3,-158.1 1.2,-159 0.8,-0.8 5.8,-1.2 16,-1.2l14.8,-0 0,-24 0,-24 -17.7,0.1c-9.8,0.1 -19.5,0.5 -21.6,1z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M304,103.9l0,24.1 14.8,-0c10.2,-0 15.2,0.4 16,1.2 0.9,0.9 1.2,12.7 1.2,46.7l0,45.6 16,-16 16.1,-16 -0.3,-42.5 -0.3,-42.5 -2.6,-5.5c-3.3,-7 -8.9,-12.6 -15.9,-15.9 -5.3,-2.5 -6.4,-2.6 -25.2,-2.9l-19.8,-0.4 0,24.1z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M449.6,145.4c-2.7,1 -8,5.5 -16.4,13.8l-12.4,12.3 23.9,23.2 23.8,23.2 11.8,-11.7c12.4,-12.3 14.1,-14.5 15.2,-20.3 1.4,-7.6 -0.7,-11.4 -14.3,-25.1 -6.9,-7 -14.1,-13.5 -16.1,-14.4 -4.9,-2.3 -10.9,-2.7 -15.5,-1z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M145.6,192.7c-8.9,9.3 -18.2,19 -20.6,21.6l-4.3,4.8 -13.2,-13.1c-8.5,-8.3 -13.9,-13 -15.3,-13 -1.1,-0 -4.4,2.2 -7.4,4.9 -4.8,4.4 -5.1,5 -4.1,7.2 0.6,1.3 8.3,12.8 17.2,25.5 17,24.4 18.9,26.3 24.9,24.9 1.6,-0.3 3.8,-1.6 4.9,-2.8 4.4,-4.9 48.3,-64.9 48.3,-66 0,-0.7 -0.4,-1.7 -0.8,-2.3 -1.4,-2.1 -10.4,-8.4 -11.9,-8.4 -0.8,-0 -8.8,7.5 -17.7,16.7z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M331.3,261.2l-75.2,75.3 -16.2,38.3c-14.9,35.2 -16.1,38.4 -14.6,39.9 1.4,1.5 4.8,0.2 40.5,-15.2l38.9,-16.7 75,-75.7 75.1,-75.7 -23.3,-22.4c-12.7,-12.3 -23.6,-22.5 -24.1,-22.7 -0.5,-0.2 -34.7,33.6 -76.1,74.9zM294.1,358.2c-0.5,5.5 -1.4,10.4 -1.8,10.9 -0.4,0.4 -7.2,3.7 -15,7.2l-14.1,6.5 -3,-3.2 -3,-3.1 6.5,-14.6 6.5,-14.7 12.2,-1.9 12.1,-1.9 0.3,2.3c0.2,1.3 -0.1,6.9 -0.7,12.5z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M193.2,209.2c-0.8,0.8 -1.2,5.6 -1.2,14.8 0,9.2 0.4,14 1.2,14.8 1.7,1.7 107.9,1.7 109.6,-0 0.8,-0.8 1.2,-5.6 1.2,-14.8 0,-9.2 -0.4,-14 -1.2,-14.8 -1.7,-1.7 -107.9,-1.7 -109.6,-0z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M145.6,272.7c-8.9,9.3 -18.2,19 -20.6,21.6l-4.3,4.8 -13.2,-13.1c-8.5,-8.3 -13.9,-13 -15.3,-13 -1.1,-0 -4.4,2.2 -7.4,4.9 -4.8,4.4 -5.1,5 -4.1,7.2 0.6,1.3 8.3,12.8 17.2,25.5 17,24.4 18.9,26.3 24.9,24.9 1.6,-0.3 3.8,-1.6 4.9,-2.8 4.4,-4.9 48.3,-64.9 48.3,-66 0,-0.7 -0.4,-1.7 -0.8,-2.3 -1.4,-2.1 -10.4,-8.4 -11.9,-8.4 -0.8,-0 -8.8,7.5 -17.7,16.7z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M193.2,289.2c-0.8,0.8 -1.2,5.6 -1.2,14.8 0,9.2 0.4,14 1.2,14.8 0.9,0.9 7.4,1.2 23.3,1.2l22,-0 16,-16 16,-16 -38.1,-0c-28.2,-0 -38.3,0.3 -39.2,1.2z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M145.6,352.7c-8.9,9.3 -18.2,19 -20.6,21.6l-4.3,4.8 -13.2,-13.1c-8.5,-8.3 -13.9,-13 -15.3,-13 -1.1,-0 -4.4,2.2 -7.4,4.9 -4.8,4.4 -5.1,5 -4.1,7.2 0.6,1.3 8.3,12.8 17.2,25.5 17,24.4 18.9,26.3 24.9,24.9 1.6,-0.3 3.8,-1.6 4.9,-2.8 4.4,-4.9 48.3,-64.9 48.3,-66 0,-0.7 -0.4,-1.7 -0.8,-2.3 -1.4,-2.1 -10.4,-8.4 -11.9,-8.4 -0.8,-0 -8.8,7.5 -17.7,16.7z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/g_contacts.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\"\n  android:tint=\"?attr/colorControlNormal\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M20,4L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM20,18L4,18L4,6h16v12zM4,0h16v2L4,2zM4,22h16v2L4,24zM12,12c1.38,0 2.5,-1.12 2.5,-2.5S13.38,7 12,7 9.5,8.12 9.5,9.5 10.62,12 12,12zM12,8.5c0.55,0 1,0.45 1,1s-0.45,1 -1,1 -1,-0.45 -1,-1 0.45,-1 1,-1zM17,15.99C17,13.9 13.69,13 12,13s-5,0.9 -5,2.99L7,17h10v-1.01zM8.81,15.5c0.61,-0.52 2.03,-1 3.19,-1 1.17,0 2.59,0.48 3.2,1L8.81,15.5z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/g_data.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\"\n  android:tint=\"?attr/colorControlNormal\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M13,2.05v3.03c3.39,0.49 6,3.39 6,6.92 0,0.9 -0.18,1.75 -0.48,2.54l2.6,1.53c0.56,-1.24 0.88,-2.62 0.88,-4.07 0,-5.18 -3.95,-9.45 -9,-9.95zM12,19c-3.87,0 -7,-3.13 -7,-7 0,-3.53 2.61,-6.43 6,-6.92V2.05c-5.06,0.5 -9,4.76 -9,9.95 0,5.52 4.47,10 9.99,10 3.31,0 6.24,-1.61 8.06,-4.09l-2.6,-1.53C16.17,17.98 14.21,19 12,19z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/g_display.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:height=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  android:viewportHeight=\"24\"\n  android:viewportWidth=\"24\"\n  android:width=\"24dp\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M7,14L5,14v5h5v-2L7,17v-3zM5,10h2L7,7h3L10,5L5,5v5zM17,17h-3v2h5v-5h-2v3zM14,5v2h3v3h2L19,5h-5z\" />\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/g_hardware.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:height=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  android:viewportHeight=\"512\"\n  android:viewportWidth=\"512\"\n  android:width=\"24dp\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M185.5,33.4c-3.7,1.7 -7,5.2 -8.4,8.9 -0.7,1.7 -1.1,12.7 -1.1,28.3l0,25.4 -18.8,-0c-20.9,-0 -26.6,1 -36.3,6.1 -7,3.8 -15.7,12.6 -19.3,19.7 -4.7,9.3 -5.6,15 -5.6,35.4l0,18.7 -26.9,0.3c-25.4,0.3 -27.1,0.4 -29.7,2.4 -5.3,3.9 -6.9,7.1 -6.9,13.4 0,6.3 1.6,9.5 6.9,13.4 2.6,2 4.3,2.1 29.7,2.4l26.9,0.3 0,15.9 0,15.9 -26.9,0.3c-25.4,0.3 -27.1,0.4 -29.7,2.4 -5.3,3.9 -6.9,7.1 -6.9,13.4 0,6.3 1.6,9.5 6.9,13.4 2.6,2 4.3,2.1 29.7,2.4l26.9,0.3 0,15.9 0,15.9 -26.9,0.3c-25.4,0.3 -27.1,0.4 -29.7,2.4 -5.3,3.9 -6.9,7.1 -6.9,13.4 0,6.3 1.6,9.5 6.9,13.4 2.6,2 4.3,2.1 29.7,2.4l26.9,0.3 0,18.7c0,20.4 0.9,26.1 5.6,35.4 3.6,7.1 12.3,15.9 19.3,19.7 9.7,5.1 15.4,6.1 36.3,6.1l18.7,-0 0.3,26.9c0.3,25.4 0.4,27.1 2.4,29.7 3.9,5.3 7.1,6.9 13.4,6.9 6.3,-0 9.5,-1.6 13.4,-6.9 2,-2.6 2.1,-4.3 2.4,-29.7l0.3,-26.9 15.9,-0 15.9,-0 0.3,26.9c0.3,25.4 0.4,27.1 2.4,29.7 3.9,5.3 7.1,6.9 13.4,6.9 6.3,-0 9.5,-1.6 13.4,-6.9 2,-2.6 2.1,-4.3 2.4,-29.7l0.3,-26.9 15.9,-0 15.9,-0 0.3,26.9c0.3,25.4 0.4,27.1 2.4,29.7 3.9,5.3 7.1,6.9 13.4,6.9 6.3,-0 9.5,-1.6 13.4,-6.9 2,-2.7 2.1,-3.9 2.1,-40.6 0,-36.7 -0.1,-37.9 -2.1,-40.6 -1.1,-1.5 -3.3,-3.7 -4.8,-4.8 -2.7,-2.1 -3.8,-2.1 -96.6,-2.6 -92.8,-0.5 -93.9,-0.5 -96.6,-2.6 -1.5,-1.1 -3.7,-3.3 -4.8,-4.8 -2.1,-2.7 -2.1,-3.1 -2.1,-120.6 0,-117.5 0,-117.9 2.1,-120.6 1.1,-1.5 3.3,-3.7 4.8,-4.8 2.7,-2.1 3.1,-2.1 120.6,-2.1 117.5,-0 117.9,-0 120.6,2.1 1.5,1.1 3.7,3.3 4.8,4.8 2.1,2.7 2.1,3.4 2.4,117.9 0.1,63.4 0,116.8 -0.4,118.7 -0.4,2.6 -2.3,5.1 -6.9,9.5 -6.9,6.7 -8.9,11 -7.5,17 2.6,11.5 14.8,16.2 25.1,9.7 5.9,-3.9 13.2,-11.8 16.3,-18.1 4.7,-9.1 5.6,-14.9 5.6,-35.3l0,-18.7 26.9,-0.3c25.4,-0.3 27.1,-0.4 29.7,-2.4 5.3,-3.9 6.9,-7.1 6.9,-13.4 0,-6.3 -1.6,-9.5 -6.9,-13.4 -2.6,-2 -4.3,-2.1 -29.7,-2.4l-26.9,-0.3 0,-15.9 0,-15.9 26.9,-0.3c25.4,-0.3 27.1,-0.4 29.7,-2.4 5.3,-3.9 6.9,-7.1 6.9,-13.4 0,-6.3 -1.6,-9.5 -6.9,-13.4 -2.6,-2 -4.3,-2.1 -29.7,-2.4l-26.9,-0.3 0,-15.9 0,-15.9 26.9,-0.3c25.4,-0.3 27.1,-0.4 29.7,-2.4 5.3,-3.9 6.9,-7.1 6.9,-13.4 0,-6.3 -1.6,-9.5 -6.9,-13.4 -2.6,-2 -4.3,-2.1 -29.7,-2.4l-26.9,-0.3 0,-18.7c0,-20.9 -1,-26.6 -6.1,-36.3 -3.8,-7 -12.6,-15.7 -19.7,-19.3 -9.3,-4.7 -15,-5.6 -35.4,-5.6l-18.7,-0 -0.3,-26.9c-0.3,-25.4 -0.4,-27.1 -2.4,-29.7 -3.9,-5.3 -7.1,-6.9 -13.4,-6.9 -6.3,-0 -9.5,1.6 -13.4,6.9 -2,2.6 -2.1,4.3 -2.4,29.7l-0.3,26.9 -15.9,-0 -15.9,-0 -0.3,-26.9c-0.3,-25.4 -0.4,-27.1 -2.4,-29.7 -3.9,-5.3 -7.1,-6.9 -13.4,-6.9 -6.3,-0 -9.5,1.6 -13.4,6.9 -2,2.6 -2.1,4.3 -2.4,29.7l-0.3,26.9 -15.9,-0 -15.9,-0 -0.3,-26.9c-0.3,-25.4 -0.4,-27.1 -2.4,-29.7 -1.1,-1.5 -3.2,-3.7 -4.6,-4.7 -3.4,-2.5 -11.3,-3.2 -15.3,-1.3z\" />\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M196.1,161.6c-16.9,4.5 -30.1,18 -34.6,35.1 -2.2,8.5 -2.2,110.1 0,118.6 4.5,17.3 17.8,30.7 35,35.2 8.8,2.2 110.2,2.2 119,-0 17.2,-4.5 30.5,-17.9 35,-35.2 2.2,-8.5 2.2,-110.1 0,-118.6 -4.5,-17.3 -17.8,-30.7 -35,-35.2 -8.5,-2.2 -111.2,-2.1 -119.4,0.1zM312.6,194.6c1.5,1.1 3.7,3.3 4.8,4.8 2.1,2.7 2.1,3.8 2.1,56.6 0,52.8 0,53.9 -2.1,56.6 -1.1,1.5 -3.3,3.7 -4.8,4.8 -2.7,2.1 -3.8,2.1 -56.6,2.1 -52.8,-0 -53.9,-0 -56.6,-2.1 -1.5,-1.1 -3.7,-3.3 -4.8,-4.8 -2,-2.7 -2.1,-4 -2.4,-53.9 -0.2,-28.2 0,-52.6 0.3,-54.4 0.7,-4 4.9,-9.1 9,-10.9 2.4,-1.1 13.4,-1.3 55.7,-1.1 51.4,0.2 52.7,0.2 55.4,2.3z\" />\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/g_home.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:height=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  android:viewportHeight=\"24\"\n  android:viewportWidth=\"24\"\n  android:width=\"24dp\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M12,5.69l5,4.5V18h-2v-6H9v6H7v-7.81l5,-4.5M12,3L2,12h3v8h6v-6h2v6h6v-8h3L12,3z\" />\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/g_location.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\"\n  android:tint=\"?attr/colorControlNormal\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M12,8c-2.21,0 -4,1.79 -4,4s1.79,4 4,4 4,-1.79 4,-4 -1.79,-4 -4,-4zM20.94,11c-0.46,-4.17 -3.77,-7.48 -7.94,-7.94L13,1h-2v2.06C6.83,3.52 3.52,6.83 3.06,11L1,11v2h2.06c0.46,4.17 3.77,7.48 7.94,7.94L11,23h2v-2.06c4.17,-0.46 7.48,-3.77 7.94,-7.94L23,13v-2h-2.06zM12,19c-3.87,0 -7,-3.13 -7,-7s3.13,-7 7,-7 7,3.13 7,7 -3.13,7 -7,7z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/g_log.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:height=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  android:viewportHeight=\"512\"\n  android:viewportWidth=\"512\"\n  android:width=\"24dp\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M117.7,32c-15.1,2.6 -27.2,15.4 -29.7,31.6 -0.7,4.7 -1,66.2 -0.8,196.9l0.3,190 2.3,5.8c1.3,3.2 3.8,7.7 5.6,10 3.9,5.1 12.5,11.1 18.6,12.9 3.6,1 31.3,1.3 142.5,1.3 129,-0 138.3,-0.1 143,-1.8 10.7,-3.7 20.9,-14.6 23.7,-25.2 1,-4 1.3,-35.6 1.3,-159l0,-154 -2.2,-5.6c-3.5,-8.5 -0.3,-4.7 -55.1,-64.9 -12.3,-13.5 -24.2,-26.2 -26.5,-28.3 -5.6,-5.1 -12,-8.3 -19.2,-9.6 -6.9,-1.3 -196.2,-1.3 -203.8,-0.1zM313.3,95.7c0.2,37.8 0.3,39.2 2.3,41.9 1.1,1.5 3.3,3.7 4.8,4.8 2.6,2 4.2,2.1 40.7,2.4l37.9,0.3 0,151.4 0,151.3 -2.6,3.1c-1.4,1.7 -4.2,3.5 -6.2,4.1 -5.1,1.4 -263.3,1.4 -268.4,-0 -2,-0.6 -4.8,-2.4 -6.2,-4.1l-2.6,-3.1 0,-191.8 0,-191.8 2.6,-3.1c1.4,-1.7 4,-3.5 5.7,-4 1.9,-0.5 42.6,-0.9 97.5,-0.8l94.4,0.2 0.1,39.2z\" />\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M236,338.2c-21.1,3.3 -34.4,24.1 -31,48.4 2.4,17.9 11,27.5 27,30.4 20.8,3.8 38.3,-7.2 44.6,-27.9 3.4,-11.2 0.9,-29.4 -5.2,-38.2 -6.9,-10 -20.9,-15 -35.4,-12.7zM250,355.5c6.4,3.3 9.3,9.9 9.3,21.5 0,5.8 -0.6,9.8 -1.7,12.5 -6.3,14.9 -25,16.5 -31.8,2.7 -1.9,-4 -2.3,-6.3 -2.3,-14.7 0,-9.1 0.3,-10.4 2.7,-14.6 5.2,-8.9 14.9,-11.9 23.8,-7.4z\" />\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M313.8,340.3c-17.2,5.9 -26.5,18 -27.6,36.1 -1.4,22.8 10,37.5 31.4,40.5 7.9,1.2 20.4,0.1 29.1,-2.4l5.3,-1.6 0,-18.9 0,-19 -8.5,-0 -8.4,-0 -0.3,12.7 -0.3,12.8 -3.7,0.9c-2.5,0.6 -5.6,0.5 -9.5,-0.4 -7,-1.5 -13.4,-7.2 -15.2,-13.5 -1.4,-5.2 -1.4,-13.8 0.1,-18.6 1.6,-5.4 6.9,-11.3 12,-13.4 5.4,-2.2 17.6,-2.2 24.7,-0.1 3.9,1.2 5.3,1.2 5.6,0.3 1,-2.8 3.3,-14.2 3,-14.6 -1.3,-1.2 -14.4,-3 -22,-3 -6.8,-0 -10.7,0.5 -15.7,2.2z\" />\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M160,377.5l0,38.5 20.5,-0 20.5,-0 0,-7.5 0,-7.5 -11.5,-0 -11.5,-0 0,-31 0,-31 -9,-0 -9,-0 0,38.5z\" />\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/g_mic.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\"\n  android:tint=\"?attr/colorControlNormal\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M12,14c1.66,0 2.99,-1.34 2.99,-3L15,5c0,-1.66 -1.34,-3 -3,-3S9,3.34 9,5v6c0,1.66 1.34,3 3,3zM17.3,11c0,3 -2.54,5.1 -5.3,5.1S6.7,14 6.7,11L5,11c0,3.41 2.72,6.23 6,6.72L11,21h2v-3.28c3.28,-0.48 6,-3.3 6,-6.72h-1.7z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/g_network.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:height=\"24dp\"\n  android:viewportHeight=\"350\"\n  android:viewportWidth=\"350\"\n  android:width=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M234.8,63.7l-0.3,10.6 -8.5,2.7c-17.7,5.5 -26.5,13 -44.2,37.2 -25.4,34.7 -26.9,36.1 -50.3,48.6 -12.1,6.4 -14.2,7.2 -19,7.2l-5.5,-0 0,-10.5 0,-10.5 -32,-0 -32,-0 0,32 0,32 32,-0 32,-0 0,-10.5 0,-10.5 5.5,-0c4.8,-0 6.9,0.8 19,7.2 23.4,12.5 24.9,13.9 50.3,48.6 17.7,24.2 26.5,31.7 44.2,37.2l8.5,2.7 0.3,10.6 0.3,10.7 31.9,-0 32,-0 0,-32 0,-32 -32,-0 -32,-0 0,10.5c0,6.8 -0.4,10.5 -1.1,10.5 -2.5,-0 -16.4,-5.2 -21.7,-8.2 -8.1,-4.5 -18.9,-16 -32.2,-34.4 -6.3,-8.8 -14.3,-19.4 -17.7,-23.7l-6.3,-7.7 39.5,-0 39.5,-0 0,10.5 0,10.5 32,-0 32,-0 0,-32 0,-32 -32,-0 -32,-0 0,10.5 0,10.5 -39.5,-0 -39.5,-0 6.3,-7.8c3.4,-4.2 11.4,-14.8 17.7,-23.6 13.3,-18.4 24.1,-29.9 32.2,-34.4 5.3,-3 19.2,-8.2 21.7,-8.2 0.7,-0 1.1,3.7 1.1,10.5l0,10.5 32,-0 32,-0 0,-32 0,-32 -32,-0 -31.9,-0 -0.3,10.7z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/g_notif.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:height=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  android:viewportHeight=\"24\"\n  android:viewportWidth=\"24\"\n  android:width=\"24dp\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M12,22c1.1,0 2,-0.9 2,-2h-4c0,1.1 0.9,2 2,2zM18,16v-5c0,-3.07 -1.63,-5.64 -4.5,-6.32L13.5,4c0,-0.83 -0.67,-1.5 -1.5,-1.5s-1.5,0.67 -1.5,1.5v0.68C7.64,5.36 6,7.92 6,11v5l-2,2v1h16v-1l-2,-2zM16,17L8,17v-6c0,-2.48 1.51,-4.5 4,-4.5s4,2.02 4,4.5v6z\" />\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/g_others.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\"\n  android:tint=\"?attr/colorControlNormal\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M6,19h12v2H6z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/g_package.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:height=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  android:viewportHeight=\"24\"\n  android:viewportWidth=\"24\"\n  android:width=\"24dp\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M4,8h4L8,4L4,4v4zM10,20h4v-4h-4v4zM4,20h4v-4L4,16v4zM4,14h4v-4L4,10v4zM10,14h4v-4h-4v4zM16,4v4h4L20,4h-4zM10,8h4L14,4h-4v4zM16,14h4v-4h-4v4zM16,20h4v-4h-4v4z\" />\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/g_phone.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\"\n  android:tint=\"?attr/colorControlNormal\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M17,1.01L7,1c-1.1,0 -2,0.9 -2,2v18c0,1.1 0.9,2 2,2h10c1.1,0 2,-0.9 2,-2V3c0,-1.1 -0.9,-1.99 -2,-1.99zM17,19H7V5h10v14z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/g_power.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:height=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  android:viewportHeight=\"24\"\n  android:viewportWidth=\"24\"\n  android:width=\"24dp\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M13,3h-2v10h2L13,3zM17.83,5.17l-1.42,1.42C17.99,7.86 19,9.81 19,12c0,3.87 -3.13,7 -7,7s-7,-3.13 -7,-7c0,-2.19 1.01,-4.14 2.58,-5.42L6.17,5.17C4.23,6.82 3,9.26 3,12c0,4.97 4.03,9 9,9s9,-4.03 9,-9c0,-2.74 -1.23,-5.18 -3.17,-6.83z\" />\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/g_sensors.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:height=\"24dp\"\n  android:viewportHeight=\"480\"\n  android:viewportWidth=\"480\"\n  android:width=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M212.5,41.6c-1.6,0.2 -7.1,1.1 -12.2,1.9 -62.2,10.1 -116.1,51.1 -143.3,108.9 -18.8,39.8 -23.2,86.8 -12,130.1 23.2,89.9 108.1,151.1 200.7,144.4 48.3,-3.4 91.5,-23.6 125.3,-58.5 15.9,-16.4 25.5,-30.1 35.6,-50.6 21.6,-44.2 25,-96.9 9.3,-144.3 -22.6,-68 -79.1,-116.6 -151.4,-130.2 -7.7,-1.4 -45.3,-2.7 -52,-1.7zM260.5,64.4c54.1,9.2 100,42.9 124.9,91.6 27.9,54.8 24.4,120.2 -9.1,172 -27.8,42.8 -73,70.8 -124.7,77.1 -13.6,1.6 -38.1,0.7 -52,-2.1 -67.3,-13.3 -119.8,-64.2 -135.2,-131 -11,-47.9 0.2,-100.8 29.5,-140 29.1,-39 70.6,-62.8 120.1,-69 10.1,-1.2 35.4,-0.4 46.5,1.4z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M221,89.1c-67.9,4.9 -124.1,58.2 -133.1,126.4 -1.5,11.5 -0.6,37.4 1.6,47.5 6.5,29.3 19.4,53.1 40,73.5 22.2,22.2 48.1,35.7 79,41.2 12.1,2.1 35.1,2.1 47.7,-0 60.6,-10.4 108.7,-58.5 119.4,-119.2 2.3,-13.3 2.3,-35.6 -0.1,-49 -5,-28.8 -18.1,-54.7 -38.4,-75.7 -31,-32.3 -71.5,-47.9 -116.1,-44.7zM251.7,111.5c38.8,6.3 72.2,30.3 90.4,64.9 9.5,18.2 13.9,36.2 13.9,57.6 0,35.1 -13,65.6 -38.3,89.8 -37.1,35.4 -92.2,44.2 -138.4,22.2 -36.1,-17.1 -60.5,-48.5 -69,-88.3 -2.4,-11.4 -2.4,-36.1 0.1,-47.5 8.3,-38.7 31.7,-69.6 66,-86.9 10.6,-5.3 23.3,-9.6 33.6,-11.3 4.1,-0.6 8.2,-1.3 9,-1.5 4.6,-0.9 24.8,-0.3 32.7,1z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M217.5,137.4c-21.8,3.5 -40,13.1 -55.6,29.2 -52.1,53.8 -25.5,144.9 47.3,162.4 45.3,10.9 91.4,-11.1 111.2,-53.1 7.2,-15.2 9,-23.7 9,-41.9 0,-13 -0.3,-16.9 -2.3,-24 -7.8,-29 -28,-53 -54.9,-65.2 -15.6,-7.1 -38.2,-10.1 -54.7,-7.4z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/g_settings.xml",
    "content": "<vector xmlns:tools=\"http://schemas.android.com/tools\"\n  android:height=\"24dp\"\n  android:viewportHeight=\"512\"\n  android:viewportWidth=\"512\"\n  android:width=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  xmlns:android=\"http://schemas.android.com/apk/res/android\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M189.2,32c-10.5,2.2 -20.6,10.2 -25.1,20 -2,4.3 -2.6,7.7 -3.1,15.8l-0.5,10.4 -11,4.4c-6,2.5 -12.2,5 -13.8,5.7 -2.6,1.1 -3,0.8 -9,-5 -8.8,-8.8 -15.6,-11.8 -26.7,-11.8 -13.5,-0 -17,2.1 -37.2,22.3 -20.4,20.4 -22.3,23.6 -22.3,37.7 0,11.3 2.4,17 11.5,26.8l6.3,6.9 -2.3,4.6c-1.3,2.6 -3.8,8.5 -5.6,13.2l-3.2,8.5 -9.8,0.6c-5.5,0.4 -11.5,1.2 -13.4,1.8 -5.7,1.8 -13.6,7.9 -17.5,13.5 -5.6,8.2 -6.5,13.1 -6.5,37.6 0,24.5 0.9,29.4 6.5,37.6 7.2,10.5 15.3,14.5 30.4,15.3l10.3,0.6 3.2,8.5c1.8,4.7 4.3,10.6 5.6,13.2l2.3,4.6 -6.1,6.8c-3.4,3.7 -7.4,9.2 -8.9,12.3 -2.4,4.9 -2.8,6.8 -2.8,14.6 0,14 2.4,18 22.7,38.2 18.6,18.4 23.3,21.4 34.8,22.1 11.3,0.7 19.2,-2.7 30.4,-12.8l5.7,-5.3 4.7,2.3c2.6,1.3 8.5,3.8 13.2,5.6l8.5,3.2 0.6,10.3c0.8,15.1 4.9,23.2 15.2,30.3 7.8,5.3 14.3,6.6 33.9,6.6l16.7,-0 -1.6,-4.3c-0.8,-2.3 -1.8,-8.9 -2,-14.9 -0.5,-9.6 -0.3,-11.6 2,-19.1 1.6,-4.8 4.3,-10.7 6.7,-14.2 2.3,-3.3 27.6,-29.5 56.2,-58.1l52.1,-52.2 6.9,-28.8c4.5,-18.8 7.8,-30.5 9.5,-33.6 3.1,-5.7 10.3,-12.8 16,-15.6 3.1,-1.7 43.6,-13.2 46,-13.2 1.2,-0 -4.2,-5.3 -7.7,-7.5 -5.5,-3.4 -10.7,-4.8 -21,-5.4l-9.4,-0.6 -1.9,-5c-0.9,-2.8 -3.4,-8.7 -5.4,-13.2l-3.6,-8.2 5.8,-6.3c12.8,-14 15.7,-29.4 8.2,-44.3 -1.1,-2.2 -9.5,-11.5 -18.6,-20.7 -13.3,-13.3 -17.9,-17.3 -22.4,-19.3 -7.1,-3.3 -14.9,-4.1 -22.7,-2.5 -7,1.5 -12.2,4.5 -20.3,11.9l-5.7,5.3 -9.3,-4c-5,-2.1 -11,-4.6 -13.2,-5.3l-4,-1.5 -0.6,-9.4c-0.3,-5.2 -1.1,-11.3 -1.9,-13.5 -3.1,-9.2 -9.5,-16.3 -19,-20.9l-6.5,-3.1 -23,-0.2c-12.6,-0.1 -24.9,0.2 -27.3,0.7zM237,153c4.7,1.1 13,4.3 18.5,7 46.4,22.7 66.2,78.4 44.5,124.7 -12.1,25.9 -34.8,44.9 -62.7,52.5 -11.3,3.1 -35.5,3.1 -46.5,-0 -36.5,-10.1 -62.4,-37.5 -70,-74.1 -3.7,-17.8 -1.4,-38.8 6.2,-56.2 12.7,-28.7 38.8,-49.4 70.5,-55.5 9.7,-1.9 28.6,-1.1 39.5,1.6z\"\n    tools:ignore=\"VectorPath\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M418.1,222.5c-28.1,7.7 -34.3,10.2 -38,15.4 -3,4.2 -3.5,5.6 -11.1,37.4l-7.1,29.2 -54.8,55c-50.5,50.7 -55,55.5 -57.5,61.3 -4.9,11.3 -4.5,24.3 1.1,35.5 3.2,6.5 13.7,16.8 20.4,20.1 7.7,3.7 16.7,5 24.9,3.6 13.4,-2.3 12.8,-1.8 72.5,-61.1l55,-54.6 26.5,-6.3c14.6,-3.4 28.6,-6.9 31.3,-7.7 5.6,-1.6 11.1,-6.2 13.7,-11.3 1,-2 5.1,-15.5 9.1,-30.1 8.5,-31.1 9.1,-36.6 4.6,-44.1 -2.8,-4.9 -5.2,-6.8 -8.3,-6.8 -1,-0 -8.5,6.7 -16.8,14.8 -8.3,8.2 -16.7,15.6 -18.8,16.5 -6.9,3.2 -17.1,1.6 -22.6,-3.6 -6.1,-5.6 -8.2,-16.8 -4.7,-23.9 1,-1.8 8.4,-10.1 16.6,-18.4 8.2,-8.3 14.9,-15.8 14.9,-16.8 0,-5.7 -7.6,-10.8 -17,-11.2 -5.6,-0.3 -10.3,0.7 -33.9,7.1zM376,351.8c1.2,1.4 2,4 2,6 0,3.4 -1.7,5.3 -26.8,30.4 -25.3,25.3 -27,26.8 -30.4,26.8 -5.3,-0 -9,-3.4 -9,-8.4 0,-3.7 1,-4.9 26.8,-30.7 14.7,-14.7 27.7,-27 28.8,-27.1 3.8,-0.6 6.6,0.4 8.6,3zM303.6,419.6c3,2 5.4,6.4 5.4,9.9 0,9.5 -11.7,15 -18.9,8.9 -5.7,-4.8 -5.8,-12.5 -0.1,-17.7 3.6,-3.2 9.6,-3.7 13.6,-1.1z\"\n    tools:ignore=\"VectorPath\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/g_sms.xml",
    "content": "<vector android:height=\"24dp\"\n  android:viewportHeight=\"512\"\n  android:viewportWidth=\"512\"\n  android:width=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  xmlns:android=\"http://schemas.android.com/apk/res/android\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M110.3,52c-12.6,1.9 -24.7,10.9 -30.6,23l-3.2,6.5 0,174.5 0,174.5 3.2,6.6c6.2,12.5 17.8,21 31.5,22.9 8.9,1.3 165.6,1.3 173.8,-0 12.2,-2 22.6,-8.9 28.8,-19.2 5.6,-9.5 6.2,-14.5 6.2,-60.1l0,-40.7 -11,-0 -11,-0 0,19 0,19 -100,-0 -100,-0 0,-140 0,-140 100,-0 100,-0 0,7 0,7 11,-0 11,-0 0,-10.8c0,-5.9 -0.7,-13.8 -1.5,-17.6 -3.5,-16.6 -16.5,-28.9 -33.5,-31.6 -7.6,-1.2 -166.5,-1.2 -174.7,-0zM206.5,395.9c15.2,7 18.2,26.5 5.5,37.3 -7.7,6.6 -17.7,7.3 -26.3,1.8 -12.8,-8.1 -13.8,-26.2 -2,-35.9 6.4,-5.3 15.5,-6.6 22.8,-3.2z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M207.8,135.1c-6.1,0.9 -15.6,5.3 -20,9.2 -5.2,4.8 -9.8,12 -11.8,18.5 -2,6.5 -2.1,8.8 -1.8,65.2l0.3,58.5 3.2,6.7c6.7,14.2 19,22.6 34.8,23.7l8.4,0.6 12.6,11.8 12.5,11.9 4.8,-4c2.6,-2.2 8.3,-7.7 12.7,-12.1l8,-8.1 65.2,-0c63.5,-0 65.4,-0.1 71.6,-2.1 12.1,-4 22.1,-14 25.8,-25.9 1.9,-6.3 2,-8.9 1.7,-65.6l-0.3,-58.9 -3.3,-6.7c-6,-12.3 -17.2,-20.6 -30.3,-22.8 -7.7,-1.2 -185.6,-1.2 -194.1,0.1zM345,186.5l0,11.5 -59.2,-0.2 -59.3,-0.3 -0.3,-11.3 -0.3,-11.2 59.6,-0 59.5,-0 0,11.5zM383.8,225.7l0.3,11.3 -79.1,-0 -79,-0 0,-10.8c0,-6 0.3,-11.2 0.7,-11.5 0.3,-0.4 35.8,-0.6 78.7,-0.5l78.1,0.3 0.3,11.2zM275,266l0,11 -24.5,-0 -24.5,-0 0,-11 0,-11 24.5,-0 24.5,-0 0,11zM352,266l0,11 -29.5,-0 -29.5,-0 0,-11 0,-11 29.5,-0 29.5,-0 0,11z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/g_storage.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\"\n  android:tint=\"?attr/colorControlNormal\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M18,4v16L6,20L6,8.83L10.83,4L18,4m0,-2h-8L4,8v12c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L20,4c0,-1.1 -0.9,-2 -2,-2zM9,7h2v4L9,11zM12,7h2v4h-2zM15,7h2v4h-2z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/g_vibration.xml",
    "content": "<vector android:height=\"24dp\"\n  android:viewportHeight=\"200\"\n  android:viewportWidth=\"200\"\n  android:width=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  xmlns:android=\"http://schemas.android.com/apk/res/android\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M63.2,11.6c-1.8,0.9 -4.3,3.1 -5.5,4.8l-2.2,3.1 -0.3,79.3c-0.3,87.8 -0.6,83.7 6.2,88.5 3.1,2.2 3.5,2.2 38.6,2.2 35.1,-0 35.5,-0 38.6,-2.2 6.7,-4.8 6.4,-0.8 6.4,-87.3 0,-86.5 0.3,-82.5 -6.4,-87.3 -3,-2.2 -3.7,-2.2 -37.6,-2.4 -30.3,-0.3 -34.9,-0.1 -37.8,1.3zM137,100l0,67 -37,-0 -37,-0 0,-67 0,-67 37,-0 37,-0 0,67z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M40,100l0,56 4,-0 4,-0 0,-56 0,-56 -4,-0 -4,-0 0,56z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M152,100l0,56 4,-0 4,-0 0,-56 0,-56 -4,-0 -4,-0 0,56z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M25,100l0,38.1 3.8,-0.3 3.7,-0.3 0,-37.5 0,-37.5 -3.7,-0.3 -3.8,-0.3 0,38.1z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M167.5,63.3c-0.3,0.6 -0.4,17.6 -0.3,37.7l0.3,36.5 3.8,0.3 3.7,0.3 0,-38 0,-38.1 -3.5,-0c-2,-0 -3.8,0.6 -4,1.3z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/g_wifi.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\"\n  android:tint=\"?attr/colorControlNormal\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M1,9l2,2c4.97,-4.97 13.03,-4.97 18,0l2,-2C16.93,2.93 7.08,2.93 1,9zM9,17l3,3 3,-3c-1.65,-1.66 -4.34,-1.66 -6,0zM5,13l2,2c2.76,-2.76 7.24,-2.76 10,0l2,-2C15.14,9.14 8.87,9.14 5,13z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/github_mark.xml",
    "content": "<vector xmlns:tools=\"http://schemas.android.com/tools\"\n  android:height=\"24dp\"\n  android:viewportHeight=\"120\"\n  android:viewportWidth=\"120\"\n  android:width=\"24dp\"\n  xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:tint=\"?attr/colorControlNormal\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M45.2,3c-10.9,2.9 -18.7,7.4 -27.2,16 -8.7,8.6 -13.1,16.3 -16,27.6 -3.6,14.1 -1.8,29.4 5.2,42.7 4.8,9.2 16.4,20.5 25.9,25.1 10.3,5.1 11.3,4.8 11.7,-3.5l0.3,-6.6 -5.9,-0c-7.5,-0 -11.6,-2.3 -14.7,-8.4 -1.3,-2.6 -3.8,-5.8 -5.5,-7.3 -3.6,-2.9 -3.1,-5.1 0.9,-4.1 3.2,0.8 5.1,2.3 4.7,3.8 -0.1,0.7 -0.1,0.8 0.2,0.4 0.5,-0.9 3.2,1.1 3.2,2.5 0,0.5 -0.4,0.6 -1,0.3 -0.5,-0.3 -1,-0.1 -1,0.5 0,0.7 0.6,1 1.4,0.7 0.8,-0.3 2.2,0.3 3.1,1.3 3.9,4.3 13.7,3.7 15.3,-0.8 0.6,-1.5 1.3,-3.4 1.7,-4.3 0.5,-1.3 -0.2,-1.8 -3.5,-2.3 -6,-0.9 -13.5,-5 -16.5,-9 -6,-7.9 -7.3,-21.3 -2.9,-30.6 1.9,-3.9 2.6,-6.9 2.5,-10.3 -0.2,-2.6 0,-6.1 0.4,-7.7 0.9,-4 4.3,-4 11.9,-0.1 5.5,2.8 5.9,2.8 13.2,1.8 5.3,-0.8 9.5,-0.8 14.8,-0 7.3,1 7.7,1 13.2,-1.8 7.6,-3.9 11,-3.9 11.9,0.1 0.4,1.6 0.6,5.1 0.4,7.7 -0.1,3.4 0.6,6.4 2.5,10.3 4.4,9.3 3.1,22.7 -2.9,30.6 -3.1,4.1 -10.8,8.2 -16.9,9l-4.5,0.7 1.7,2.5c1.3,2 1.8,5.7 2.2,15.1 0.6,15.1 0.6,15.1 11.9,9.5 9.5,-4.6 21.1,-15.9 25.9,-25.1 4.2,-8 7.2,-19.8 7.2,-28.3 0,-8.5 -3,-20.3 -7.2,-28.3 -4.2,-8.1 -16.4,-20.3 -24.5,-24.5 -13.2,-6.9 -29.1,-8.8 -43.1,-5.2z\"\n    tools:ignore=\"VectorPath\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M29,96c0,0.5 0.5,1 1,1 0.6,-0 1,-0.5 1,-1 0,-0.6 -0.4,-1 -1,-1 -0.5,-0 -1,0.4 -1,1z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M33,98c0,0.5 0.5,1 1,1 0.6,-0 1,-0.5 1,-1 0,-0.6 -0.4,-1 -1,-1 -0.5,-0 -1,0.4 -1,1z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M42.5,98c-0.3,0.5 0.1,1 1,1 0.9,-0 1.3,-0.5 1,-1 -0.3,-0.6 -0.8,-1 -1,-1 -0.2,-0 -0.7,0.4 -1,1z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M38,99c0,0.5 0.5,1 1,1 0.6,-0 1,-0.5 1,-1 0,-0.6 -0.4,-1 -1,-1 -0.5,-0 -1,0.4 -1,1z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/help.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\"\n  android:tint=\"?attr/colorControlNormal\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M11,18h2v-2h-2v2zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8zM12,6c-2.21,0 -4,1.79 -4,4h2c0,-1.1 0.9,-2 2,-2s2,0.9 2,2c0,2 -3,1.75 -3,5h2c0,-2.25 3,-2.5 3,-5 0,-2.21 -1.79,-4 -4,-4z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/hinge.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shape xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:shape=\"rectangle\">\n  <corners android:radius=\"6dp\" />\n  <solid android:color=\"?attr/colorControlNormal\" />\n</shape>\n"
  },
  {
    "path": "app/src/main/res/drawable/info.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\"\n  android:tint=\"?attr/colorControlNormal\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M11,7h2v2h-2zM11,11h2v6h-2zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/issues.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  xmlns:tools=\"http://schemas.android.com/tools\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\"\n  android:tint=\"?attr/colorControlNormal\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M20,8h-2.81c-0.45,-0.78 -1.07,-1.45 -1.82,-1.96L17,4.41 15.59,3l-2.17,2.17C12.96,5.06 12.49,5 12,5s-0.96,0.06 -1.41,0.17L8.41,3 7,4.41l1.62,1.63C7.88,6.55 7.26,7.22 6.81,8L4,8v2h2.09c-0.05,0.33 -0.09,0.66 -0.09,1v1L4,12v2h2v1c0,0.34 0.04,0.67 0.09,1L4,16v2h2.81c1.04,1.79 2.97,3 5.19,3s4.15,-1.21 5.19,-3L20,18v-2h-2.09c0.05,-0.33 0.09,-0.66 0.09,-1v-1h2v-2h-2v-1c0,-0.34 -0.04,-0.67 -0.09,-1L20,10L20,8zM16,12v3c0,0.22 -0.03,0.47 -0.07,0.7l-0.1,0.65 -0.37,0.65c-0.72,1.24 -2.04,2 -3.46,2s-2.74,-0.77 -3.46,-2l-0.37,-0.64 -0.1,-0.65C8.03,15.48 8,15.23 8,15v-4c0,-0.23 0.03,-0.48 0.07,-0.7l0.1,-0.65 0.37,-0.65c0.3,-0.52 0.72,-0.97 1.21,-1.31l0.57,-0.39 0.74,-0.18c0.31,-0.08 0.63,-0.12 0.94,-0.12 0.32,0 0.63,0.04 0.95,0.12l0.68,0.16 0.61,0.42c0.5,0.34 0.91,0.78 1.21,1.31l0.38,0.65 0.1,0.65c0.04,0.22 0.07,0.47 0.07,0.69v1zM10,14h4v2h-4zM10,10h4v2h-4z\"\n    tools:ignore=\"VectorPath\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/key.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M22,19h-6v-4h-2.68c-1.14,2.42 -3.6,4 -6.32,4 -3.86,0 -7,-3.14 -7,-7s3.14,-7 7,-7c2.72,0 5.17,1.58 6.32,4L24,9v6h-2v4zM18,17h2v-4h2v-2L11.94,11l-0.23,-0.67C11.01,8.34 9.11,7 7,7c-2.76,0 -5,2.24 -5,5s2.24,5 5,5c2.11,0 4.01,-1.34 4.71,-3.33l0.23,-0.67L18,13v4zM7,15c-1.65,0 -3,-1.35 -3,-3s1.35,-3 3,-3 3,1.35 3,3 -1.35,3 -3,3zM7,11c-0.55,0 -1,0.45 -1,1s0.45,1 1,1 1,-0.45 1,-1 -0.45,-1 -1,-1z\" />\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/label.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:autoMirrored=\"true\"\n  android:tint=\"?attr/colorControlNormal\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M17.63,5.84C17.27,5.33 16.67,5 16,5L5,5.01C3.9,5.01 3,5.9 3,7v10c0,1.1 0.9,1.99 2,1.99L16,19c0.67,0 1.27,-0.33 1.63,-0.84L22,12l-4.37,-6.16zM16,17H5V7h11l3.55,5L16,17z\" />\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/link.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:height=\"24dp\"\n  android:viewportHeight=\"384\"\n  android:viewportWidth=\"384\"\n  android:width=\"24dp\">\n  <path\n    android:fillColor=\"#FFFFFF\"\n    android:pathData=\"m39.221,0.946c-3.952,1.204 -10.137,7.565 -11.254,11.606 -1.289,4.728 -1.289,300.282 0,305.01 1.289,4.556 7.13,10.23 11.941,11.52 3.007,0.86 37.628,1.032 154.294,0.86l150.342,-0.258 3.608,-2.407c1.976,-1.289 4.639,-3.954 5.928,-5.932l2.405,-3.611 0.258,-59.747 0.258,-59.747 -2.32,-4.556c-5.412,-11.09 -18.814,-13.583 -28.178,-5.244 -6.615,5.76 -6.529,5.244 -6.529,58.457L319.973,293.146L191.968,293.146 63.963,293.146l0,-128.09 0,-128.09l46.219,-0c53.178,-0 52.663,0.086 58.418,-6.533 8.247,-9.37 5.842,-22.695 -5.069,-28.197l-4.553,-2.235 -58.418,0.086c-34.45,-0 -59.707,0.43 -61.339,0.86z\" />\n  <path\n    android:fillColor=\"#FFFFFF\"\n    android:pathData=\"m240.077,1.375c-6.701,2.923 -11.168,9.542 -11.168,16.678 0,7.565 3.265,13.067 9.88,16.592 3.265,1.805 4.725,1.891 29.123,2.149l25.773,0.258 -59.363,59.489c-47.852,47.969 -59.535,60.091 -60.394,62.842 -1.718,5.33 -0.773,12.809 2.234,17.021 4.811,6.791 14.519,9.542 22.508,6.276 2.234,-0.946 21.134,-19.343 62.199,-60.349l59.02,-59.059 0.258,25.79c0.258,24.415 0.344,25.876 2.148,29.143 0.945,1.891 2.749,4.298 3.866,5.33 6.873,6.448 19.244,5.846 25.773,-1.118 5.069,-5.416 4.983,-4.384 4.983,-58.113l0,-49.259l-2.062,-4.298c-2.32,-5.072 -3.952,-6.619 -9.106,-8.941 -3.78,-1.719 -5.412,-1.805 -53.264,-1.719 -42.182,-0 -49.828,0.172 -52.405,1.289z\" />\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/locale.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:height=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  android:viewportHeight=\"24\"\n  android:viewportWidth=\"24\"\n  android:width=\"24dp\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M11.99,2C6.47,2 2,6.48 2,12s4.47,10 9.99,10C17.52,22 22,17.52 22,12S17.52,2 11.99,2zM18.92,8h-2.95c-0.32,-1.25 -0.78,-2.45 -1.38,-3.56 1.84,0.63 3.37,1.91 4.33,3.56zM12,4.04c0.83,1.2 1.48,2.53 1.91,3.96h-3.82c0.43,-1.43 1.08,-2.76 1.91,-3.96zM4.26,14C4.1,13.36 4,12.69 4,12s0.1,-1.36 0.26,-2h3.38c-0.08,0.66 -0.14,1.32 -0.14,2 0,0.68 0.06,1.34 0.14,2L4.26,14zM5.08,16h2.95c0.32,1.25 0.78,2.45 1.38,3.56 -1.84,-0.63 -3.37,-1.9 -4.33,-3.56zM8.03,8L5.08,8c0.96,-1.66 2.49,-2.93 4.33,-3.56C8.81,5.55 8.35,6.75 8.03,8zM12,19.96c-0.83,-1.2 -1.48,-2.53 -1.91,-3.96h3.82c-0.43,1.43 -1.08,2.76 -1.91,3.96zM14.34,14L9.66,14c-0.09,-0.66 -0.16,-1.32 -0.16,-2 0,-0.68 0.07,-1.35 0.16,-2h4.68c0.09,0.65 0.16,1.32 0.16,2 0,0.68 -0.07,1.34 -0.16,2zM14.59,19.56c0.6,-1.11 1.06,-2.31 1.38,-3.56h2.95c-0.96,1.65 -2.49,2.93 -4.33,3.56zM16.36,14c0.08,-0.66 0.14,-1.32 0.14,-2 0,-0.68 -0.06,-1.34 -0.14,-2h3.38c0.16,0.64 0.26,1.31 0.26,2s-0.1,1.36 -0.26,2h-3.38z\" />\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/log.xml",
    "content": "<vector android:height=\"24dp\"\n  android:viewportHeight=\"512\"\n  android:viewportWidth=\"512\"\n  android:width=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  xmlns:android=\"http://schemas.android.com/apk/res/android\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M117.7,32c-15.1,2.6 -27.2,15.4 -29.7,31.6 -0.7,4.7 -1,66.2 -0.8,196.9l0.3,190 2.3,5.8c1.3,3.2 3.8,7.7 5.6,10 3.9,5.1 12.5,11.1 18.6,12.9 3.6,1 31.3,1.3 142.5,1.3 129,-0 138.3,-0.1 143,-1.8 10.7,-3.7 20.9,-14.6 23.7,-25.2 1,-4 1.3,-35.6 1.3,-159l0,-154 -2.2,-5.6c-3.5,-8.5 -0.3,-4.7 -55.1,-64.9 -12.3,-13.5 -24.2,-26.2 -26.5,-28.3 -5.6,-5.1 -12,-8.3 -19.2,-9.6 -6.9,-1.3 -196.2,-1.3 -203.8,-0.1zM313.3,95.7c0.2,37.8 0.3,39.2 2.3,41.9 1.1,1.5 3.3,3.7 4.8,4.8 2.6,2 4.2,2.1 40.7,2.4l37.9,0.3 0,151.4 0,151.3 -2.6,3.1c-1.4,1.7 -4.2,3.5 -6.2,4.1 -5.1,1.4 -263.3,1.4 -268.4,-0 -2,-0.6 -4.8,-2.4 -6.2,-4.1l-2.6,-3.1 0,-191.8 0,-191.8 2.6,-3.1c1.4,-1.7 4,-3.5 5.7,-4 1.9,-0.5 42.6,-0.9 97.5,-0.8l94.4,0.2 0.1,39.2z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M236,338.2c-21.1,3.3 -34.4,24.1 -31,48.4 2.4,17.9 11,27.5 27,30.4 20.8,3.8 38.3,-7.2 44.6,-27.9 3.4,-11.2 0.9,-29.4 -5.2,-38.2 -6.9,-10 -20.9,-15 -35.4,-12.7zM250,355.5c6.4,3.3 9.3,9.9 9.3,21.5 0,5.8 -0.6,9.8 -1.7,12.5 -6.3,14.9 -25,16.5 -31.8,2.7 -1.9,-4 -2.3,-6.3 -2.3,-14.7 0,-9.1 0.3,-10.4 2.7,-14.6 5.2,-8.9 14.9,-11.9 23.8,-7.4z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M313.8,340.3c-17.2,5.9 -26.5,18 -27.6,36.1 -1.4,22.8 10,37.5 31.4,40.5 7.9,1.2 20.4,0.1 29.1,-2.4l5.3,-1.6 0,-18.9 0,-19 -8.5,-0 -8.4,-0 -0.3,12.7 -0.3,12.8 -3.7,0.9c-2.5,0.6 -5.6,0.5 -9.5,-0.4 -7,-1.5 -13.4,-7.2 -15.2,-13.5 -1.4,-5.2 -1.4,-13.8 0.1,-18.6 1.6,-5.4 6.9,-11.3 12,-13.4 5.4,-2.2 17.6,-2.2 24.7,-0.1 3.9,1.2 5.3,1.2 5.6,0.3 1,-2.8 3.3,-14.2 3,-14.6 -1.3,-1.2 -14.4,-3 -22,-3 -6.8,-0 -10.7,0.5 -15.7,2.2z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M160,377.5l0,38.5 20.5,-0 20.5,-0 0,-7.5 0,-7.5 -11.5,-0 -11.5,-0 0,-31 0,-31 -9,-0 -9,-0 0,38.5z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/main_act_big_prog_bg.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<layer-list xmlns:android=\"http://schemas.android.com/apk/res/android\">\n  <item\n    android:width=\"8dp\"\n    android:gravity=\"start\">\n    <shape android:shape=\"rectangle\">\n      <gradient\n        android:angle=\"180\"\n        android:endColor=\"?attr/accentTrans50Color\"\n        android:startColor=\"?android:attr/windowBackground\" />\n      <corners android:radius=\"8dp\" />\n    </shape>\n  </item>\n\n  <item\n    android:width=\"8dp\"\n    android:gravity=\"end\">\n    <shape android:shape=\"rectangle\">\n      <gradient\n        android:endColor=\"?attr/accentTrans50Color\"\n        android:startColor=\"?android:attr/windowBackground\" />\n      <corners android:radius=\"8dp\" />\n    </shape>\n  </item>\n\n  <item\n    android:height=\"8dp\"\n    android:gravity=\"top\">\n    <shape android:shape=\"rectangle\">\n      <gradient\n        android:angle=\"90\"\n        android:endColor=\"?attr/accentTrans50Color\"\n        android:startColor=\"?android:attr/windowBackground\" />\n      <corners android:radius=\"8dp\" />\n    </shape>\n  </item>\n\n  <item\n    android:height=\"8dp\"\n    android:gravity=\"bottom\">\n    <shape android:shape=\"rectangle\">\n      <gradient\n        android:angle=\"270\"\n        android:endColor=\"?attr/accentTrans50Color\"\n        android:startColor=\"?android:attr/windowBackground\" />\n      <corners android:radius=\"8dp\" />\n    </shape>\n  </item>\n\n  <item>\n    <inset android:inset=\"8dp\">\n      <shape android:shape=\"rectangle\">\n        <solid android:color=\"?android:attr/windowBackground\" />\n      </shape>\n    </inset>\n  </item>\n</layer-list>\n"
  },
  {
    "path": "app/src/main/res/drawable/notification_icon.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  xmlns:tools=\"http://schemas.android.com/tools\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\"\n  android:tint=\"#FFFFFF\">\n  <group\n    android:scaleX=\"0.030441176\"\n    android:scaleY=\"0.030441176\"\n    android:translateX=\"-0.33882353\"\n    android:translateY=\"-2.9364705\">\n    <path\n      android:pathData=\"M361.6,156c-8.4,1 -11.9,3.9 -14.1,11.4 -1.5,5.1 -5.1,27.8 -8,49.6 -0.8,6.3 -2.2,15.9 -3.1,21.2 -2,11.3 -0.8,10.1 -21,21 -6.5,3.6 -16.1,9.3 -21.3,12.6 -5.1,3.4 -10,6.2 -10.9,6.2 -0.8,-0 -15.5,-5.6 -32.6,-12.4 -30.9,-12.4 -46.2,-17.6 -51.7,-17.6 -5.4,-0 -9.1,5 -28.2,37.8 -33.5,57.4 -45.7,80.3 -45.7,85.3 0,5.6 4.1,10.1 22.4,24.7 34.3,27.2 38.2,30.3 42.9,34.5l4.8,4.4 -1.3,7.1c-1,6.2 -1,7.4 0.2,8.6 0.8,0.7 8.7,3.2 17.5,5.4 23.5,6 44.9,12.2 72.9,21.3 13.6,4.4 25.1,7.8 25.4,7.4 0.3,-0.3 0.6,-9.4 0.7,-20.3 0.1,-21.9 1.1,-27.1 7.9,-43.9 7.3,-17.7 22.8,-37.6 38.4,-49.1 18.7,-13.9 43.3,-22.2 65.9,-22.2 21.6,-0 45.1,6.8 62.3,18.2 26.6,17.5 46.3,47 51,76.1 1.9,11.6 0.8,40 -2,49.5 -8.8,31.1 -32.8,59 -64.2,74.8 -3.7,1.9 -6.8,4 -6.8,4.7 0,0.8 5.5,6.3 12.2,12.3 6.7,6 26.1,24.5 43.1,41.1 17,16.7 31.5,30.3 32.2,30.3 0.7,-0 3.4,-1.6 6,-3.6 8,-6 6.3,-6.3 35.5,5.8 33.3,13.7 52.2,20.2 56.9,19.4 6.5,-1 6.7,-1.3 34.1,-47.6 27.9,-47.3 40,-69.9 40,-75 0,-7.2 -2,-9.2 -39.5,-38.8l-28.9,-22.9 -0.1,-27.4c-0.1,-15.1 -0.4,-28.6 -0.9,-30 -0.7,-2.4 0.3,-3.3 16.1,-15.4 22.5,-17.2 45,-35.5 49.3,-40 3.2,-3.3 3.5,-4.1 3.5,-9.4 0,-7.1 -1,-9.1 -26,-52.6 -19,-33 -25.7,-44.3 -34.7,-58.2 -6.9,-10.6 -10.2,-12.9 -17.5,-11.9 -2.5,0.3 -19.2,6.4 -37.1,13.5 -18,7.1 -34.9,13.6 -37.7,14.6l-5,1.7 -14,-8.6c-7.7,-4.8 -19.2,-11.3 -25.6,-14.6 -10.7,-5.5 -11.7,-6.2 -12.3,-9.2 -0.3,-1.8 -2.2,-15 -4.1,-29.3 -4.5,-32.4 -8.1,-52.3 -10.1,-55.3 -3.7,-5.7 -3.6,-5.7 -69.4,-5.8 -33.3,-0.1 -63.6,0.2 -67.4,0.6z\"\n      android:fillColor=\"#000000\"\n      tools:ignore=\"VectorPath\"/>\n    <path\n      android:pathData=\"M169.9,496.1c-0.9,1.7 -1.1,6.9 -0.6,19.9 0.3,9.6 0.2,18.5 -0.1,19.7 -0.4,1.3 -10.3,9.7 -24.2,20.4 -23.6,18.3 -38.8,30.8 -42.4,34.8 -3.5,3.9 -2.6,9.9 3.4,21.4 15.3,29.5 55.1,97.3 61,103.9 6.9,7.8 10.1,7.1 59.1,-12.3 17.9,-7.1 32.8,-12.9 33.1,-12.9 0.4,-0 6.1,3.5 12.7,7.9 6.7,4.3 18.1,10.9 25.5,14.7l13.4,6.8 3.1,23.1c6.3,45.3 9.6,62.1 12.8,65.7 3.9,4.4 5.6,4.6 55.3,5.3 53.6,0.7 84.5,-0.3 88.5,-2.9 5.4,-3.6 6.1,-6.3 14.5,-63.6 3.2,-21.3 4.3,-26.7 5.7,-27.8 1,-0.7 7.6,-4.3 14.6,-7.9 7,-3.6 14.7,-8.3 17,-10.4l4.2,-3.8 -18,-18.1c-20.9,-21.2 -48.8,-47.6 -60.9,-57.9l-8.4,-7.2 -11.9,2.3c-9.5,1.8 -15.1,2.2 -28.8,2.2 -15.1,-0.1 -18.1,-0.4 -27,-2.7 -38.2,-10.2 -69.8,-40.7 -81.2,-78.7l-2.8,-9.3 -6.5,-3c-15.4,-7 -89.1,-28.9 -105.2,-31.2 -4.2,-0.6 -4.7,-0.5 -5.9,1.6z\"\n      android:fillColor=\"#000000\"/>\n  </group>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/paid.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\"\n  android:tint=\"?attr/colorControlNormal\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M20,7h-4L16,5l-2,-2h-4L8,5v2L4,7c-1.1,0 -2,0.9 -2,2v5c0,0.75 0.4,1.38 1,1.73L3,19c0,1.11 0.89,2 2,2h14c1.11,0 2,-0.89 2,-2v-3.28c0.59,-0.35 1,-0.99 1,-1.72L22,9c0,-1.1 -0.9,-2 -2,-2zM10,5h4v2h-4L10,5zM4,9h16v5h-5v-3L9,11v3L4,14L4,9zM13,15h-2v-2h2v2zM19,19L5,19v-3h4v1h6v-1h4v3z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/perm_watcher.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:height=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  android:viewportHeight=\"384\"\n  android:viewportWidth=\"384\"\n  android:width=\"24dp\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M190.683,23.869C189.542,24.63 186.361,27.396 183.63,30.025 177.475,35.904 174.951,37.944 169.385,41.644 149.366,54.924 121.015,62.601 82.395,65.195 73.37,65.783 72.126,65.921 69.775,66.578 66.317,67.546 65.073,69.69 63.378,77.817 60.509,91.27 54.7,130.279 53.213,145.945 51.657,161.956 50.759,186.752 51.035,204.389 51.277,218.464 51.623,223.79 52.833,232.643 59.333,279.709 77.07,301.946 133.22,333.277 149.193,342.234 167.552,351.087 186.327,358.937l5.912,2.455 4.46,-1.833c2.455,-1.037 6.811,-2.94 9.646,-4.219 8.125,-3.7 37.133,-18.329 46.538,-23.447 29.285,-16.046 50.618,-33.199 61.82,-49.799 9.162,-13.625 15.317,-31.92 17.115,-51.078 1.66,-17.118 1.556,-58.168 -0.138,-79.367 -1.521,-18.502 -5.843,-48.242 -10.545,-71.931 -1.971,-10.098 -2.04,-10.271 -3.423,-11.516 -1.936,-1.695 -5.497,-2.282 -23.373,-3.7 -31.705,-2.559 -58.95,-10.651 -77.863,-23.066 -5.048,-3.32 -9.439,-6.951 -14.591,-12.138 -4.633,-4.669 -7.33,-6.813 -8.54,-6.813 -0.311,-0 -1.521,0.622 -2.662,1.383zM196.941,47.108c14.694,12.242 28.04,19.159 48.301,25.003 14.314,4.115 28.179,6.571 47.886,8.473 8.54,0.83 10.614,1.21 11.375,2.04 0.761,0.83 1.832,6.017 4.149,20.092 6.154,37.418 8.091,54.882 8.817,79.989 0.968,31.816 -2.213,58.859 -8.989,77.188C303.362,273.692 294.961,283.721 277.57,296.793 256.825,312.424 222.803,331.514 196.699,342.2l-4.806,1.971 -3.492,-1.487c-24.237,-10.236 -48.094,-22.928 -68.493,-36.45 -20.295,-13.453 -31.117,-23.274 -38.171,-34.686 -9.162,-14.767 -13.38,-33.822 -14.936,-67.678 -1.037,-22.928 2.455,-66.882 7.987,-100.635 1.003,-6.121 3.838,-21.337 4.011,-21.545 0.035,-0.069 3.7,-0.415 8.16,-0.761 36.269,-2.87 64.932,-10.167 84.466,-21.476 7.364,-4.254 14.383,-9.372 18.325,-13.418 1.314,-1.349 2.524,-2.455 2.662,-2.455 0.173,-0 2.178,1.591 4.529,3.527z\"\n    android:strokeColor=\"#000000\"\n    android:strokeWidth=\"10\" />\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"m184.39,143.005c-8.229,1.487 -27.591,10.721 -46.676,22.236 -16.803,10.098 -36.961,24.381 -39.381,27.804 -0.795,1.176 -1.072,3.112 -0.657,4.565 0.934,3.078 4.495,5.672 18.601,13.556 26.173,14.559 51.828,26.11 64.344,28.911 3.112,0.692 4.529,0.795 10.684,0.795 7.883,-0 10.165,-0.346 16.458,-2.455 5.359,-1.764 18.428,-7.089 25.032,-10.133 14.833,-6.882 44.429,-24.069 51.517,-29.914 2.662,-2.213 3.388,-4.876 2.109,-7.435 -1.141,-2.213 -4.702,-5.118 -13.519,-10.928 -28.801,-19.089 -60.541,-35.101 -73.644,-37.176 -3.146,-0.484 -11.755,-0.38 -14.867,0.173zM197.944,159.051c6.673,1.729 13.865,4.772 27.383,11.516 17.564,8.784 35.37,19.124 37.03,21.476 0.622,0.865 0.553,1.003 -1.66,2.628 -8.229,6.052 -37.272,21.164 -51.586,26.836 -13.692,5.395 -16.838,5.741 -26.796,2.905 -9.543,-2.732 -30.011,-11.516 -46.192,-19.85 -9.75,-5.014 -14.314,-7.885 -14.314,-9.026 0,-0.761 3.146,-3.216 9.681,-7.539 21.402,-14.213 35.681,-22.34 47.022,-26.767 9.093,-3.527 12.62,-3.942 19.431,-2.179z\"\n    android:strokeColor=\"#000000\"\n    android:strokeWidth=\"2\" />\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"m188.539,163.27c-3.665,0.45 -5.912,1.141 -9.854,3.078 -6.154,3.043 -10.338,7.297 -13.484,13.66 -2.005,4.012 -2.386,6.086 -2.144,12.104 0.207,5.533 0.934,8.611 2.904,12.346 3.63,6.916 11.548,13.107 19.466,15.182 4.011,1.037 9.716,1.037 13.657,-0 12.343,-3.32 21.678,-14.352 22.543,-26.663 0.795,-11.689 -6.777,-23.343 -17.944,-27.666 -4.979,-1.937 -10.269,-2.628 -15.144,-2.04zM195.247,179.005c3.803,0.968 7.503,3.735 9.024,6.709 2.559,5.014 1.245,11.516 -3.112,15.527 -2.593,2.352 -5.013,3.251 -8.851,3.285 -2.662,-0 -3.181,-0.104 -5.255,-1.107 -2.87,-1.418 -5.739,-4.461 -6.846,-7.228 -1.176,-2.94 -1.141,-7.539 0.035,-9.96 1.141,-2.317 3.285,-4.392 5.947,-5.741 4.356,-2.213 5.532,-2.386 9.059,-1.487z\" />\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/permission.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:height=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  android:viewportHeight=\"384\"\n  android:viewportWidth=\"384\"\n  android:width=\"24dp\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M73.376,54.824 L60.789,67.525 62.79,71.382C68.793,82.828 73.505,95.805 75.506,106.242 76.378,110.863 76.668,120.382 76.152,126.748 75.312,136.848 73.989,143.367 69.213,161.486 63.339,183.614 61.725,193.255 60.918,210.761 60.047,229.737 62.532,244.275 69.051,258.69 80.412,283.818 104.295,304.446 140.958,320.729 148.897,324.249 156.094,327.156 169.165,332.084 181.559,336.766 187.465,339.245 190.144,340.868l1.84,1.132 1.84,-1.071c2.679,-1.53 8.101,-3.795 20.752,-8.661 16.621,-6.397 24.367,-9.61 33.242,-13.834 52.704,-25.066 76.941,-58.733 75.36,-104.673 -0.645,-18.547 -2.324,-28.892 -8.391,-51.663 -4.777,-17.813 -6.164,-24.73 -6.971,-34.921 -0.516,-6.703 -0.226,-16.344 0.645,-20.935 2.033,-10.528 6.713,-23.352 12.716,-34.86l2.001,-3.856 -12.587,-12.701 -12.587,-12.701 -1.614,1.285c-13.329,10.804 -41.311,16.099 -67.614,12.855 -14.814,-1.836 -27.982,-6.611 -35.05,-12.732l-1.743,-1.53 -1.775,1.53C179.59,52.743 156.805,58.191 133.761,57.058 114.009,56.079 97.872,51.427 88.222,43.898l-2.259,-1.775zM202.924,141.531c5.938,12.487 10.941,22.863 11.135,23.108 0.258,0.337 6.519,0.949 26.336,2.602 14.297,1.163 26.336,2.173 26.755,2.234 0.613,0.061 -3.001,3.214 -18.848,16.405 -10.78,8.998 -19.655,16.527 -19.719,16.711 -0.097,0.214 1.936,11.691 4.518,25.525 2.614,13.834 4.712,25.189 4.712,25.25 0,0.061 -10.263,-5.907 -22.818,-13.314 -12.555,-7.376 -22.915,-13.436 -23.011,-13.436 -0.097,-0 -10.392,5.693 -22.915,12.671 -12.522,6.948 -22.785,12.61 -22.818,12.579 -0.065,-0.031 2.324,-10.773 5.261,-23.903 2.937,-13.099 5.422,-24.209 5.519,-24.638 0.161,-0.735 -1.388,-2.112 -19.59,-17.292 -15.976,-13.344 -19.623,-16.497 -19.009,-16.558 0.42,-0.061 12.458,-1.041 26.723,-2.234 14.265,-1.194 26.045,-2.204 26.142,-2.295 0.129,-0.061 4.777,-10.437 10.36,-23.077 5.583,-12.64 10.231,-22.985 10.328,-22.985 0.097,-0 5.002,10.192 10.941,22.648z\" />\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/privacy_policy.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:height=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  android:viewportHeight=\"24\"\n  android:viewportWidth=\"24\"\n  android:width=\"24dp\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M12,1L3,5v6c0,5.55 3.84,10.74 9,12c5.16,-1.26 9,-6.45 9,-12V5L12,1zM19,11c0,1.85 -0.51,3.65 -1.38,5.21l-1.45,-1.45c1.29,-1.94 1.07,-4.58 -0.64,-6.29c-1.95,-1.95 -5.12,-1.95 -7.07,0c-1.95,1.95 -1.95,5.12 0,7.07c1.71,1.71 4.35,1.92 6.29,0.64l1.72,1.72c-1.19,1.42 -2.73,2.51 -4.47,3.04C7.98,19.69 5,15.52 5,11V6.3l7,-3.11l7,3.11V11zM12,15c-1.66,0 -3,-1.34 -3,-3s1.34,-3 3,-3s3,1.34 3,3S13.66,15 12,15z\" />\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/report.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M12,5.99L19.53,19L4.47,19L12,5.99M12,2L1,21h22L12,2zM13,16h-2v2h2v-2zM13,10h-2v4h2v-4z\" />\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/root.xml",
    "content": "<vector xmlns:tools=\"http://schemas.android.com/tools\"\n  android:height=\"24dp\"\n  android:viewportHeight=\"512\"\n  android:viewportWidth=\"512\"\n  android:width=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  xmlns:android=\"http://schemas.android.com/apk/res/android\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M222.7,75.7c-0.2,0.5 -6.2,24.1 -13.2,52.5l-12.7,51.8 -45.4,-0 -45.4,-0 0,19 0,19 40.5,-0c22.3,-0 40.5,0.3 40.5,0.6 0,0.7 -18.4,73.6 -20,79.6l-1.1,3.8 -43.9,-0 -44,-0 0,19.5 0,19.5 39.4,-0 39.3,-0 -12.8,50.7c-7.1,28 -12.9,51.4 -12.9,52 0,1 4.7,1.3 20,1.3l19.9,-0 1,-3.8c0.6,-2 6,-23.7 12.1,-48.2 6.1,-24.5 11.5,-46.2 12.1,-48.3l1,-3.7 36.4,-0c28.5,-0 36.5,0.3 36.5,1.2 0,0.7 -5.6,24 -12.5,51.7 -6.9,27.7 -12.5,50.5 -12.5,50.7 0,0.2 9,0.4 20,0.4l19.9,-0 1,-3.8c0.6,-2 6,-23.7 12.1,-48.2 6.1,-24.5 11.5,-46.2 12.1,-48.3l1,-3.7 44.9,-0 45,-0 0,-19.5 0,-19.5 -40,-0 -40,-0 0.7,-2.8c0.4,-1.5 5,-20.3 10.3,-41.7l9.5,-39 44.3,-0.3 44.2,-0.2 0,-19 0,-19 -39,-0c-33,-0 -39,-0.2 -39,-1.4 0,-0.8 5.6,-24.1 12.5,-51.7 6.9,-27.7 12.5,-50.7 12.5,-51.1 0,-0.4 -9,-0.8 -20,-0.8l-19.9,-0 -1,3.7c-0.5,2.1 -6.4,25.4 -13.1,51.7 -6.6,26.3 -12.3,48.3 -12.6,48.7 -0.6,1 -71.7,1.3 -72.6,0.3 -0.3,-0.3 5.2,-23.3 12.3,-51.2 7.1,-27.9 12.9,-51.3 12.9,-52 0,-0.9 -4.6,-1.2 -19.9,-1.2 -11,-0 -20.2,0.3 -20.4,0.7zM300.6,220.2c-0.3,1.3 -4.9,20.2 -10.3,42l-9.7,39.8 -36.8,-0c-20.2,-0 -36.8,-0.2 -36.8,-0.4 0,-0.3 17.3,-69.1 20.1,-79.9l1,-3.7 36.6,-0 36.5,-0 -0.6,2.2z\"\n    tools:ignore=\"VectorPath\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/schedule.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:height=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  android:viewportHeight=\"24\"\n  android:viewportWidth=\"24\"\n  android:width=\"24dp\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M11.99,2C6.47,2 2,6.48 2,12s4.47,10 9.99,10C17.52,22 22,17.52 22,12S17.52,2 11.99,2zM12,20c-4.42,0 -8,-3.58 -8,-8s3.58,-8 8,-8 8,3.58 8,8 -3.58,8 -8,8z\" />\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M12.5,7H11v6l5.25,3.15 0.75,-1.23 -4.5,-2.67z\" />\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/search_settings.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:height=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  android:viewportHeight=\"512\"\n  android:viewportWidth=\"512\"\n  android:width=\"24dp\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M214.214,56.445C174.05,60.68 137.966,77.463 109.255,105.303 81.014,132.595 63.913,165.847 57.481,205.843 55.52,217.921 55.52,243.957 57.402,256.427 62.501,288.895 74.896,316.892 95.37,342.302 123.061,376.651 165.5,399.943 210.527,405.512c11.375,1.412 33.418,1.176 44.714,-0.471 23.063,-3.294 45.577,-11.136 64.953,-22.665l5.883,-3.451 33.967,34.115c18.748,18.743 35.849,35.291 37.967,36.624 11.61,7.529 24.867,8.391 37.105,2.353 19.925,-9.725 26.985,-35.134 15.061,-53.642 -1.255,-1.961 -17.807,-18.979 -36.712,-37.879l-34.437,-34.428 4.942,-8.627c10.669,-18.665 17.729,-39.526 21.18,-62.191 1.569,-10.587 1.804,-33.722 0.392,-44.702 -3.844,-31.134 -16.552,-62.191 -35.379,-86.58 -27.534,-35.605 -68.326,-59.603 -112.961,-66.347 -9.806,-1.49 -33.81,-2.117 -42.988,-1.176zM256.575,120.125 L256.81,134.32 262.301,136.202c3.059,1.02 8.629,3.294 12.394,5.098l6.903,3.294 10.198,-10.195 10.119,-10.117 17.65,17.645c9.727,9.725 17.572,17.881 17.493,18.194 -0.157,0.314 -4.55,5.098 -9.884,10.744l-9.57,10.195 3.059,6.117c1.726,3.372 4.079,9.019 5.334,12.548l2.196,6.509l14.355,-0 14.277,-0l0,25.096 0,25.096l-14.277,0.157 -14.199,0.235 -1.883,5.49c-1.02,2.98 -3.295,8.627 -5.099,12.391l-3.295,6.901 10.198,10.195 10.119,10.117 -18.042,18.038 -18.042,18.038 -10.276,-10.274 -10.276,-10.274 -6.982,3.529c-3.844,1.882 -9.57,4.313 -12.63,5.333l-5.727,1.804l0,14.352 0,14.352l-25.102,-0 -25.102,-0l-0.157,-14.273 -0.235,-14.195 -5.491,-1.882c-2.981,-1.02 -8.629,-3.294 -12.394,-5.098l-6.903,-3.294 -10.198,10.195 -10.119,10.117 -18.042,-18.038 -18.042,-18.038 10.276,-10.274 10.198,-10.274 -3.059,-6.196c-1.726,-3.372 -4.158,-9.097 -5.413,-12.626l-2.196,-6.509L120.159,256.427 105.803,256.427l0,-25.096 0,-25.096l14.277,-0.157 14.199,-0.235 1.883,-5.49c1.02,-3.059 3.295,-8.627 5.099,-12.391l3.295,-6.901 -10.198,-10.195 -10.119,-10.117 18.042,-18.038 18.042,-18.038 10.276,10.274 10.276,10.195 6.197,-3.059c3.373,-1.725 9.1,-4.156 12.63,-5.411l6.511,-2.196l0,-14.352 0,-14.273l25.102,-0 25.102,-0z\" />\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"m223.314,181.924c-18.827,3.372 -33.81,16.312 -39.615,34.036 -1.726,5.411 -2.04,7.764 -2.04,15.371 0,7.607 0.314,9.96 2.04,15.371 5.02,15.293 16.552,26.743 32.319,32.154 5.413,1.882 7.452,2.196 15.297,2.117 7.609,-0 10.041,-0.314 15.454,-2.117 15.532,-5.098 27.613,-17.489 32.476,-33.409 2.589,-8.235 2.589,-19.998 0,-28.233 -6.276,-20.626 -24.083,-34.585 -45.498,-35.683 -3.687,-0.157 -8.394,-0 -10.433,0.392z\" />\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/search_settings_bg.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<inset xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:insetBottom=\"12dp\"\n  android:insetLeft=\"8dp\"\n  android:insetRight=\"8dp\"\n  android:insetTop=\"12dp\">\n  <shape android:shape=\"rectangle\">\n    <corners android:radius=\"12dp\" />\n    <solid android:color=\"?android:attr/windowBackground\" />\n    <stroke\n      android:color=\"?attr/accentColor\"\n      android:width=\"1dp\" />\n  </shape>\n</inset>\n"
  },
  {
    "path": "app/src/main/res/drawable/settings.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  xmlns:tools=\"http://schemas.android.com/tools\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\"\n  android:tint=\"?attr/colorControlNormal\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M19.43,12.98c0.04,-0.32 0.07,-0.64 0.07,-0.98 0,-0.34 -0.03,-0.66 -0.07,-0.98l2.11,-1.65c0.19,-0.15 0.24,-0.42 0.12,-0.64l-2,-3.46c-0.09,-0.16 -0.26,-0.25 -0.44,-0.25 -0.06,0 -0.12,0.01 -0.17,0.03l-2.49,1c-0.52,-0.4 -1.08,-0.73 -1.69,-0.98l-0.38,-2.65C14.46,2.18 14.25,2 14,2h-4c-0.25,0 -0.46,0.18 -0.49,0.42l-0.38,2.65c-0.61,0.25 -1.17,0.59 -1.69,0.98l-2.49,-1c-0.06,-0.02 -0.12,-0.03 -0.18,-0.03 -0.17,0 -0.34,0.09 -0.43,0.25l-2,3.46c-0.13,0.22 -0.07,0.49 0.12,0.64l2.11,1.65c-0.04,0.32 -0.07,0.65 -0.07,0.98 0,0.33 0.03,0.66 0.07,0.98l-2.11,1.65c-0.19,0.15 -0.24,0.42 -0.12,0.64l2,3.46c0.09,0.16 0.26,0.25 0.44,0.25 0.06,0 0.12,-0.01 0.17,-0.03l2.49,-1c0.52,0.4 1.08,0.73 1.69,0.98l0.38,2.65c0.03,0.24 0.24,0.42 0.49,0.42h4c0.25,0 0.46,-0.18 0.49,-0.42l0.38,-2.65c0.61,-0.25 1.17,-0.59 1.69,-0.98l2.49,1c0.06,0.02 0.12,0.03 0.18,0.03 0.17,0 0.34,-0.09 0.43,-0.25l2,-3.46c0.12,-0.22 0.07,-0.49 -0.12,-0.64l-2.11,-1.65zM17.45,11.27c0.04,0.31 0.05,0.52 0.05,0.73 0,0.21 -0.02,0.43 -0.05,0.73l-0.14,1.13 0.89,0.7 1.08,0.84 -0.7,1.21 -1.27,-0.51 -1.04,-0.42 -0.9,0.68c-0.43,0.32 -0.84,0.56 -1.25,0.73l-1.06,0.43 -0.16,1.13 -0.2,1.35h-1.4l-0.19,-1.35 -0.16,-1.13 -1.06,-0.43c-0.43,-0.18 -0.83,-0.41 -1.23,-0.71l-0.91,-0.7 -1.06,0.43 -1.27,0.51 -0.7,-1.21 1.08,-0.84 0.89,-0.7 -0.14,-1.13c-0.03,-0.31 -0.05,-0.54 -0.05,-0.74s0.02,-0.43 0.05,-0.73l0.14,-1.13 -0.89,-0.7 -1.08,-0.84 0.7,-1.21 1.27,0.51 1.04,0.42 0.9,-0.68c0.43,-0.32 0.84,-0.56 1.25,-0.73l1.06,-0.43 0.16,-1.13 0.2,-1.35h1.39l0.19,1.35 0.16,1.13 1.06,0.43c0.43,0.18 0.83,0.41 1.23,0.71l0.91,0.7 1.06,-0.43 1.27,-0.51 0.7,1.21 -1.07,0.85 -0.89,0.7 0.14,1.13zM12,8c-2.21,0 -4,1.79 -4,4s1.79,4 4,4 4,-1.79 4,-4 -1.79,-4 -4,-4zM12,14c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2z\"\n    tools:ignore=\"VectorPath\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/share.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:height=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  android:viewportHeight=\"24\"\n  android:viewportWidth=\"24\"\n  android:width=\"24dp\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M18,16.08c-0.76,0 -1.44,0.3 -1.96,0.77L8.91,12.7c0.05,-0.23 0.09,-0.46 0.09,-0.7s-0.04,-0.47 -0.09,-0.7l7.05,-4.11c0.54,0.5 1.25,0.81 2.04,0.81 1.66,0 3,-1.34 3,-3s-1.34,-3 -3,-3 -3,1.34 -3,3c0,0.24 0.04,0.47 0.09,0.7L8.04,9.81C7.5,9.31 6.79,9 6,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3c0.79,0 1.5,-0.31 2.04,-0.81l7.12,4.16c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.61 1.31,2.92 2.92,2.92 1.61,0 2.92,-1.31 2.92,-2.92s-1.31,-2.92 -2.92,-2.92z\" />\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/shell.xml",
    "content": "<vector xmlns:tools=\"http://schemas.android.com/tools\"\n  android:height=\"24dp\"\n  android:viewportHeight=\"512\"\n  android:viewportWidth=\"512\"\n  android:width=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  xmlns:android=\"http://schemas.android.com/apk/res/android\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M124,79.3l0,23.3 -9.6,1.2c-13.4,1.7 -24.4,4.7 -34,9.1 -10.4,4.9 -14.5,7.7 -22.1,15.2 -9.8,9.7 -15.4,22.1 -17.4,38.1 -2.7,22.7 5,44.3 20.5,56.9 11.3,9.2 31.6,17.4 53,21.5l9.6,1.9 0,45.4 0,45.4 -9.8,-0.6c-21.7,-1.3 -44.5,-8.4 -66.1,-20.7 -3.9,-2.2 -7.3,-4 -7.6,-4 -0.3,-0 -0.5,7.9 -0.5,17.5l0,17.6 4.2,1.8c20.1,8.5 52.9,16 70.8,16.1 3.6,-0 7.1,0.4 7.7,0.8 1,0.6 1.3,8.2 1.5,30.2l0.3,29.5 9.8,0.3 9.7,0.3 0,-30.4 0,-30.5 7.6,-0.7c34.4,-3.2 61.6,-18.4 72.8,-40.8 5.7,-11.4 7.1,-18.1 7.1,-34.2 -0.1,-12.7 -0.3,-14.8 -2.9,-22 -3.7,-10.6 -10.4,-20.4 -18.5,-27.1 -11.7,-9.7 -31.5,-17.8 -54.8,-22.4l-11.3,-2.3 0,-42.5 0,-42.4 7.8,0.6c17.2,1.6 43.3,8.6 56.4,15.2 2.6,1.3 5,2.4 5.3,2.4 0.3,-0 0.5,-7.8 0.5,-17.4l0,-17.3 -9.2,-2.6c-16.6,-4.6 -34.2,-7.6 -53,-9.2l-7.8,-0.7 0,-22.9 0,-22.9 -10,-0 -10,-0 0,23.3zM124,171.6l0,40.6 -4.2,-0.7c-13.6,-2.3 -28.8,-9.4 -34.8,-16.3 -7.5,-8.5 -9.9,-22.9 -6,-35.3 3.2,-10.3 10,-17.6 21,-22.7 5.5,-2.6 17.6,-6 21.8,-6.1l2.2,-0.1 0,40.6zM156.7,253.5c18.2,4.8 29.1,12.2 34.5,23.3 3.1,6.3 3.3,7.3 3.3,17.2 -0.1,9.4 -0.3,11.1 -2.8,16.1 -3.2,6.7 -11.3,14.7 -18.5,18.3 -5.3,2.7 -18.9,6.9 -25.4,7.9l-3.8,0.6 0,-43c0,-40.2 0.1,-42.9 1.8,-42.9 0.9,-0 5.8,1.1 10.9,2.5z\"\n    tools:ignore=\"VectorPath\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M262,447.5l0,14.5 106,-0 106,-0 0,-14.5 0,-14.5 -106,-0 -106,-0 0,14.5z\"\n    />\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/slim_switch_thumb.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shape xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:shape=\"rectangle\"\n  android:tint=\"@color/slim_switch\">\n  <corners android:radius=\"2dp\" />\n  <size\n    android:width=\"12dp\"\n    android:height=\"12dp\" />\n</shape>\n"
  },
  {
    "path": "app/src/main/res/drawable/slim_switch_track.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shape xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:shape=\"line\">\n  <corners android:radius=\"1dp\" />\n  <stroke\n    android:width=\"2dp\"\n    android:color=\"@color/slim_switch\" />\n</shape>\n"
  },
  {
    "path": "app/src/main/res/drawable/star.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\"\n  android:tint=\"?attr/colorControlNormal\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M22,9.24l-7.19,-0.62L12,2 9.19,8.63 2,9.24l5.46,4.73L5.82,21 12,17.27 18.18,21l-1.63,-7.03L22,9.24zM12,15.4l-3.76,2.27 1,-4.28 -3.32,-2.88 4.38,-0.38L12,6.1l1.71,4.04 4.38,0.38 -3.32,2.88 1,4.28L12,15.4z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/telegram.xml",
    "content": "<vector android:height=\"24dp\"\n  android:viewportHeight=\"512\"\n  android:viewportWidth=\"512\"\n  android:width=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  xmlns:android=\"http://schemas.android.com/apk/res/android\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M453,8.6c-3,0.8 -10.7,4.1 -17,7.3 -37.7,19.1 -406.7,213.1 -412.2,216.8 -31.2,20.6 -31.5,59.6 -0.6,80.3 6.3,4.2 60.9,26.3 73.8,30 4.1,1.1 12,2.3 17.6,2.7l10,0.6 -3.3,6.7c-6.2,12.5 -6.7,27.9 -1.3,43.9 1.9,5.6 35.1,81.5 39.2,89.4 5.4,10.7 16.1,17.7 28.3,18.5 19.9,1.3 27.7,-5.8 55.2,-49.9 17.7,-28.6 17.9,-28.9 20.3,-38.2 1,-4 2.2,-7.1 2.7,-7 0.8,0.2 89.7,36.5 100.3,40.9 7.8,3.3 19.5,3.3 26.6,-0 9.6,-4.4 15.4,-11.4 19.5,-23.4 2.9,-8.5 97.6,-356.7 98.8,-363.6 5.7,-31.2 -14.4,-56.8 -44.1,-56.5 -4.6,-0 -10.8,0.7 -13.8,1.5zM471.4,42c3.9,1.4 5.9,5.3 5.8,11.3 0,3.7 -12.1,49.7 -40.7,154.7 -53.4,196.7 -56.6,208.3 -57.5,209.4 -0.5,0.4 -18.1,-6.2 -39.2,-14.9 -21.1,-8.6 -55.7,-22.6 -77,-31.1 -40.2,-15.9 -49.7,-20.1 -53.6,-23.8 -7.3,-6.6 -8.1,-17.9 -2,-26.6 1.8,-2.6 43.4,-47.7 92.4,-100.1 88.6,-94.8 98.4,-105.5 98.4,-107.1 0,-1.1 -3.4,0.7 -8,4.1 -1.9,1.4 -54.8,43.1 -117.5,92.6 -62.7,49.4 -116.8,91.4 -120.2,93.2 -8.9,4.9 -19.8,7.4 -31.8,7.4 -12.2,-0 -13.5,-0.4 -47.1,-13.7 -30.6,-12 -31,-12.2 -35.2,-16.5 -2.6,-2.7 -3.2,-4.1 -3.2,-7.8 0,-4 0.5,-4.9 4.8,-8.9 3.8,-3.6 44.9,-25.6 209.7,-112 112.8,-59.1 207.3,-108.3 210,-109.3 5.7,-2.1 8.3,-2.3 11.9,-0.9zM174.3,369.3c53.6,28 55.7,29.3 55.7,35.9 0,4.6 -2.8,9.9 -18.4,34.3 -13.4,21.1 -20.1,30.5 -21.5,30.5 -0.5,-0 -1.9,-2.4 -3.1,-5.3 -1.2,-2.8 -9.2,-21 -17.8,-40.2 -8.5,-19.3 -16.1,-37 -16.8,-39.4 -0.8,-2.4 -1.4,-7.1 -1.4,-10.3 0,-4.9 0.4,-6.3 2.5,-8.3 4,-4.1 8.8,-3.4 20.8,2.8z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/theme.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:width=\"24dp\"\n  android:height=\"24dp\"\n  android:viewportWidth=\"24\"\n  android:viewportHeight=\"24\"\n  android:tint=\"?attr/colorControlNormal\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M12,22C6.49,22 2,17.51 2,12S6.49,2 12,2s10,4.04 10,9c0,3.31 -2.69,6 -6,6h-1.77c-0.28,0 -0.5,0.22 -0.5,0.5 0,0.12 0.05,0.23 0.13,0.33 0.41,0.47 0.64,1.06 0.64,1.67 0,1.38 -1.12,2.5 -2.5,2.5zM12,4c-4.41,0 -8,3.59 -8,8s3.59,8 8,8c0.28,0 0.5,-0.22 0.5,-0.5 0,-0.16 -0.08,-0.28 -0.14,-0.35 -0.41,-0.46 -0.63,-1.05 -0.63,-1.65 0,-1.38 1.12,-2.5 2.5,-2.5L16,15c2.21,0 4,-1.79 4,-4 0,-3.86 -3.59,-7 -8,-7z\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M6.5,11.5m-1.5,0a1.5,1.5 0,1 1,3 0a1.5,1.5 0,1 1,-3 0\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M9.5,7.5m-1.5,0a1.5,1.5 0,1 1,3 0a1.5,1.5 0,1 1,-3 0\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M14.5,7.5m-1.5,0a1.5,1.5 0,1 1,3 0a1.5,1.5 0,1 1,-3 0\"/>\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M17.5,11.5m-1.5,0a1.5,1.5 0,1 1,3 0a1.5,1.5 0,1 1,-3 0\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/tick.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:height=\"24dp\"\n  android:viewportHeight=\"24\"\n  android:viewportWidth=\"24\"\n  android:width=\"24dp\">\n  <path\n    android:fillColor=\"@android:color/holo_green_dark\"\n    android:pathData=\"M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41,-1.41L9,16.17z\" />\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/triangle.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<layer-list xmlns:android=\"http://schemas.android.com/apk/res/android\">\n  <item>\n    <rotate\n      android:fromDegrees=\"45\"\n      android:pivotX=\"85%\"\n      android:pivotY=\"-35%\"\n      android:toDegrees=\"45\">\n      <shape android:shape=\"rectangle\">\n        <solid android:color=\"?attr/accentColor\" />\n      </shape>\n    </rotate>\n  </item>\n</layer-list>\n"
  },
  {
    "path": "app/src/main/res/drawable/update.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:height=\"24dp\"\n  android:tint=\"?attr/colorControlNormal\"\n  android:viewportHeight=\"512\"\n  android:viewportWidth=\"512\"\n  android:width=\"24dp\">\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M248,65.6c-4.5,2 -8.7,5.9 -11.1,10.6 -1.8,3.6 -1.9,7.4 -1.9,108.3 0,57.5 -0.3,104.5 -0.8,104.5 -0.4,-0 -11.7,-11.1 -25.2,-24.6 -13.5,-13.5 -26.2,-25.4 -28.2,-26.5 -8.5,-4.4 -20.5,-1.3 -26.3,6.9 -4,5.8 -4.7,15.1 -1.6,21.4 1.4,3 15.9,18.1 46.8,49 43,42.8 45,44.7 50.3,46.2 6,1.8 10.5,1.4 16,-1.5 1.9,-0.9 23.8,-22.1 48.6,-47.1 47,-47.2 47.4,-47.7 47.4,-55.8 0,-7.4 -5.6,-16 -12.4,-19.1 -5.3,-2.4 -13,-2.4 -18.1,-0 -2.5,1.2 -12.9,10.9 -28.5,26.5 -13.5,13.5 -24.8,24.6 -25.2,24.6 -0.5,-0 -0.8,-47 -0.8,-104.5 0,-100.9 -0.1,-104.7 -1.9,-108.3 -5.3,-10.2 -17.2,-14.9 -27.1,-10.6z\" />\n  <path\n    android:fillColor=\"@android:color/white\"\n    android:pathData=\"M80.2,406c-5.9,1.4 -10.8,5.5 -13.7,11.5 -2.4,4.7 -2.7,6.4 -2.2,11.1 0.7,6.8 4.1,12.3 9.9,16.1l4.2,2.8 177.6,-0 177.6,-0 4.2,-2.8c6,-3.9 9.3,-9.4 9.9,-16.4 0.7,-8 -3.1,-15.4 -10.2,-19.8l-4.8,-3 -174.6,-0.2c-96,-0 -176.1,0.2 -177.9,0.7z\" />\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/zoom_in.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24\"\n    android:viewportHeight=\"24\"\n    android:tint=\"?attr/colorControlNormal\">\n  <path\n      android:fillColor=\"@android:color/white\"\n      android:pathData=\"M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14zM10,7L9,7v2L7,9v1h2v2h1v-2h2L12,9h-2z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/zoom_out.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24\"\n    android:viewportHeight=\"24\"\n    android:tint=\"?attr/colorControlNormal\">\n  <path\n      android:fillColor=\"@android:color/white\"\n      android:pathData=\"M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14zM7,9h5v1L7,10z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/layout/about_privileges_dialog.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<androidx.core.widget.NestedScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:layout_width=\"match_parent\"\n  android:layout_height=\"wrap_content\"\n  xmlns:tools=\"http://schemas.android.com/tools\"\n  android:paddingTop=\"16dp\"\n  android:paddingBottom=\"16dp\"\n  android:paddingStart=\"4dp\"\n  android:paddingEnd=\"4dp\"\n  android:scrollbars=\"vertical\">\n\n  <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:orientation=\"vertical\">\n\n    <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n      android:layout_width=\"match_parent\"\n      android:layout_height=\"wrap_content\"\n      android:paddingStart=\"20dp\"\n      android:paddingEnd=\"20dp\"\n      android:gravity=\"center_horizontal\"\n      android:orientation=\"horizontal\">\n\n      <TextView\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"@string/uid\"\n        android:textColor=\"@color/sharpText\"\n        android:textSize=\"16sp\" />\n\n      <TextView\n        android:id=\"@+id/uid_v\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginStart=\"4dp\"\n        android:textColor=\"@color/sharpText\"\n        android:textSize=\"16sp\" />\n\n    </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n    <TextView\n      android:textStyle=\"bold\"\n      android:layout_width=\"match_parent\"\n      android:layout_height=\"wrap_content\"\n      android:layout_marginTop=\"24dp\"\n      android:layout_marginBottom=\"8dp\"\n      android:layout_marginStart=\"20dp\"\n      android:layout_marginEnd=\"20dp\"\n      android:text=\"@string/permissions\"\n      android:textColor=\"?attr/accentColor\"\n      android:textSize=\"18sp\" />\n\n    <View style=\"@style/ListSeparatorDim\" />\n\n    <androidx.recyclerview.widget.RecyclerView\n      android:id=\"@+id/recycler_v\"\n      android:layout_width=\"match_parent\"\n      android:layout_height=\"wrap_content\" />\n\n    <TextView\n      android:textStyle=\"bold\"\n      android:layout_width=\"match_parent\"\n      android:layout_height=\"wrap_content\"\n      android:layout_marginTop=\"24dp\"\n      android:layout_marginBottom=\"8dp\"\n      android:layout_marginStart=\"20dp\"\n      android:layout_marginEnd=\"20dp\"\n      android:text=\"@string/app_ops\"\n      android:textColor=\"?attr/accentColor\"\n      android:textSize=\"18sp\" />\n\n    <View\n      style=\"@style/ListSeparatorDim\"\n      android:layout_marginBottom=\"4dp\" />\n\n    <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n      android:layout_width=\"match_parent\"\n      android:layout_height=\"wrap_content\"\n      android:paddingStart=\"20dp\"\n      android:paddingEnd=\"20dp\"\n      android:orientation=\"horizontal\">\n\n      <TextView\n        android:layout_width=\"0dp\"\n        android:layout_height=\"wrap_content\"\n        android:layout_weight=\"1\"\n        android:layout_marginEnd=\"8dp\"\n        android:layout_gravity=\"center_vertical\"\n        android:ellipsize=\"end\"\n        android:maxLines=\"1\"\n        android:text=\"@string/op_to_def_mode\"\n        android:textColor=\"@color/sharpText\"\n        android:textSize=\"16sp\" />\n\n      <ImageView\n        android:id=\"@+id/op_to_def_mode_v\"\n        android:layout_width=\"32dp\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center_vertical\"\n        tools:ignore=\"ContentDescription\" />\n\n    </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n    <View\n      style=\"@style/ListSeparatorDim\"\n      android:layout_marginTop=\"4dp\"\n      android:layout_marginBottom=\"4dp\" />\n\n    <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n      android:layout_width=\"match_parent\"\n      android:layout_height=\"wrap_content\"\n      android:paddingStart=\"20dp\"\n      android:paddingEnd=\"20dp\"\n      android:orientation=\"horizontal\">\n\n      <TextView\n        android:layout_width=\"0dp\"\n        android:layout_height=\"wrap_content\"\n        android:layout_weight=\"1\"\n        android:layout_marginEnd=\"8dp\"\n        android:layout_gravity=\"center_vertical\"\n        android:ellipsize=\"end\"\n        android:maxLines=\"1\"\n        android:text=\"@string/op_to_switch\"\n        android:textColor=\"@color/sharpText\"\n        android:textSize=\"16sp\" />\n\n      <ImageView\n        android:id=\"@+id/op_to_sw_v\"\n        android:layout_width=\"32dp\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center_vertical\"\n        tools:ignore=\"ContentDescription\" />\n\n    </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n    <View\n      style=\"@style/ListSeparatorDim\"\n      android:layout_marginTop=\"4dp\"\n      android:layout_marginBottom=\"4dp\" />\n\n    <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n      android:layout_width=\"match_parent\"\n      android:layout_height=\"wrap_content\"\n      android:paddingStart=\"20dp\"\n      android:paddingEnd=\"20dp\"\n      android:orientation=\"horizontal\">\n\n      <TextView\n        android:layout_width=\"0dp\"\n        android:layout_height=\"wrap_content\"\n        android:layout_weight=\"1\"\n        android:layout_marginEnd=\"8dp\"\n        android:layout_gravity=\"center_vertical\"\n        android:ellipsize=\"end\"\n        android:maxLines=\"1\"\n        android:text=\"@string/op_to_name\"\n        android:textColor=\"@color/sharpText\"\n        android:textSize=\"16sp\" />\n\n      <ImageView\n        android:id=\"@+id/op_to_name_v\"\n        android:layout_width=\"32dp\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center_vertical\"\n        tools:ignore=\"ContentDescription\" />\n\n    </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n    <View\n      style=\"@style/ListSeparatorDim\"\n      android:layout_marginTop=\"4dp\"\n      android:layout_marginBottom=\"4dp\" />\n\n    <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n      android:layout_width=\"match_parent\"\n      android:layout_height=\"wrap_content\"\n      android:paddingStart=\"20dp\"\n      android:paddingEnd=\"20dp\"\n      android:orientation=\"horizontal\">\n\n      <TextView\n        android:layout_width=\"0dp\"\n        android:layout_height=\"wrap_content\"\n        android:layout_weight=\"1\"\n        android:layout_marginEnd=\"8dp\"\n        android:layout_gravity=\"center_vertical\"\n        android:ellipsize=\"end\"\n        android:maxLines=\"1\"\n        android:text=\"@string/get_app_ops\"\n        android:textColor=\"@color/sharpText\"\n        android:textSize=\"16sp\" />\n\n      <ImageView\n        android:id=\"@+id/get_ops_v\"\n        android:layout_width=\"32dp\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center_vertical\"\n        tools:ignore=\"ContentDescription\" />\n\n    </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n    <View\n      style=\"@style/ListSeparatorDim\"\n      android:layout_marginTop=\"4dp\"\n      android:layout_marginBottom=\"4dp\" />\n\n    <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n      android:layout_width=\"match_parent\"\n      android:layout_height=\"wrap_content\"\n      android:paddingStart=\"20dp\"\n      android:paddingEnd=\"20dp\"\n      android:orientation=\"horizontal\">\n\n      <TextView\n        android:layout_width=\"0dp\"\n        android:layout_height=\"wrap_content\"\n        android:layout_weight=\"1\"\n        android:layout_marginEnd=\"8dp\"\n        android:layout_gravity=\"center_vertical\"\n        android:ellipsize=\"end\"\n        android:maxLines=\"1\"\n        android:text=\"@string/consistent_app_op_num\"\n        android:textColor=\"@color/sharpText\"\n        android:textSize=\"16sp\" />\n\n      <ImageView\n        android:id=\"@+id/cons_app_op_num_v\"\n        android:layout_width=\"32dp\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center_vertical\"\n        tools:ignore=\"ContentDescription\" />\n\n    </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n    <View\n      style=\"@style/ListSeparatorDim\"\n      android:layout_marginTop=\"4dp\"\n      android:layout_marginBottom=\"4dp\" />\n\n    <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n      android:layout_width=\"match_parent\"\n      android:layout_height=\"wrap_content\"\n      android:paddingStart=\"20dp\"\n      android:paddingEnd=\"20dp\"\n      android:orientation=\"horizontal\">\n\n      <TextView\n        android:layout_width=\"0dp\"\n        android:layout_height=\"wrap_content\"\n        android:layout_weight=\"1\"\n        android:layout_marginEnd=\"8dp\"\n        android:layout_gravity=\"center_vertical\"\n        android:ellipsize=\"end\"\n        android:maxLines=\"1\"\n        android:text=\"@string/consistent_app_op_mode\"\n        android:textColor=\"@color/sharpText\"\n        android:textSize=\"16sp\" />\n\n      <ImageView\n        android:id=\"@+id/cons_app_op_mode_v\"\n        android:layout_width=\"32dp\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center_vertical\"\n        tools:ignore=\"ContentDescription\" />\n\n    </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n    <View\n      style=\"@style/ListSeparatorDim\"\n      android:layout_marginTop=\"4dp\"\n      android:layout_marginBottom=\"4dp\" />\n\n  </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n</androidx.core.widget.NestedScrollView>\n"
  },
  {
    "path": "app/src/main/res/layout/about_privileges_item.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  xmlns:tools=\"http://schemas.android.com/tools\"\n  android:layout_width=\"match_parent\"\n  android:layout_height=\"wrap_content\"\n  android:paddingTop=\"4dp\"\n  android:paddingBottom=\"4dp\"\n  android:paddingStart=\"20dp\"\n  android:paddingEnd=\"20dp\"\n  android:orientation=\"horizontal\"\n  tools:ignore=\"UseCompoundDrawables\">\n\n  <TextView\n    android:id=\"@+id/perm_v\"\n    android:layout_width=\"0dp\"\n    android:layout_height=\"wrap_content\"\n    android:layout_weight=\"1\"\n    android:layout_marginEnd=\"8dp\"\n    android:layout_gravity=\"center_vertical|start\"\n    android:ellipsize=\"marquee\"\n    android:marqueeRepeatLimit=\"1\"\n    android:scrollHorizontally=\"true\"\n    android:singleLine=\"true\"\n    android:textAlignment=\"viewStart\"\n    android:textColor=\"@color/sharpText\"\n    android:textSize=\"16sp\" />\n\n  <ImageView\n    android:id=\"@+id/status_v\"\n    android:layout_width=\"32dp\"\n    android:layout_height=\"wrap_content\"\n    android:layout_gravity=\"center_vertical\"\n    tools:ignore=\"ContentDescription\" />\n\n</LinearLayout>\n"
  },
  {
    "path": "app/src/main/res/layout/activity_about.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<com.mirfatif.permissionmanagerx.fwk.MyLinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  xmlns:tools=\"http://schemas.android.com/tools\"\n  android:layout_width=\"match_parent\"\n  android:layout_height=\"match_parent\"\n  android:orientation=\"vertical\">\n\n  <View\n    style=\"@style/ListSeparator\"\n    android:background=\"?attr/accentColor\" />\n\n  <androidx.core.widget.NestedScrollView\n    android:id=\"@+id/scroll_v\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\">\n\n    <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n      android:layout_width=\"match_parent\"\n      android:layout_height=\"wrap_content\"\n      android:layout_margin=\"8dp\"\n      android:orientation=\"vertical\">\n\n      <ImageView\n        android:id=\"@+id/icon\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"100dp\"\n        android:src=\"@drawable/icon\"\n        tools:ignore=\"ContentDescription\" />\n\n      <TextView\n        android:textStyle=\"bold\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginBottom=\"2dp\"\n        android:layout_gravity=\"center_horizontal\"\n        android:text=\"@string/app_name\"\n        android:textSize=\"16sp\" />\n\n      <TextView\n        android:id=\"@+id/version\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginTop=\"2dp\"\n        android:layout_marginBottom=\"8dp\"\n        android:layout_gravity=\"center_horizontal\"\n        tools:text=\"Version: \" />\n\n      <View\n        style=\"@style/ListSeparator\"\n        android:background=\"?attr/accentColor\" />\n\n      <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n        android:id=\"@+id/contact\"\n        style=\"@style/AboutActivityItemContainer\">\n\n        <ImageView\n          style=\"@style/AboutActivityIconImg\"\n          android:src=\"@drawable/email\"\n          tools:ignore=\"ContentDescription\" />\n\n        <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout style=\"@style/AboutActivityItemTextBox\">\n\n          <TextView\n            style=\"@style/AboutActivityItemTitle\"\n            android:text=\"@string/email\" />\n\n          <TextView\n            style=\"@style/AboutActivityItemSummary\"\n            android:text=\"@string/email_address\" />\n\n        </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n      </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n      <View\n        style=\"@style/ListSeparator\"\n        android:background=\"?attr/accentColor\" />\n\n      <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n        android:id=\"@+id/telegram\"\n        style=\"@style/AboutActivityItemContainer\">\n\n        <ImageView\n          style=\"@style/AboutActivityIconImg\"\n          android:src=\"@drawable/telegram\"\n          tools:ignore=\"ContentDescription\" />\n\n        <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout style=\"@style/AboutActivityItemTextBox\">\n\n          <TextView\n            style=\"@style/AboutActivityItemTitle\"\n            android:text=\"@string/telegram_group\" />\n\n          <TextView\n            style=\"@style/AboutActivityItemSummary\"\n            android:text=\"@string/telegram_group_link\" />\n\n        </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n      </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n      <View\n        style=\"@style/ListSeparator\"\n        android:background=\"?attr/accentColor\" />\n\n      <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n        android:id=\"@+id/source_code\"\n        style=\"@style/AboutActivityItemContainer\">\n\n        <ImageView\n          style=\"@style/AboutActivityIconImg\"\n          android:src=\"@drawable/github_mark\"\n          tools:ignore=\"ContentDescription\" />\n\n        <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout style=\"@style/AboutActivityItemTextBox\">\n\n          <TextView\n            style=\"@style/AboutActivityItemTitle\"\n            android:text=\"@string/source\" />\n\n          <TextView\n            style=\"@style/AboutActivityItemSummary\"\n            android:text=\"@string/source_url\" />\n\n        </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n      </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n      <View\n        style=\"@style/ListSeparator\"\n        android:background=\"?attr/accentColor\" />\n\n      <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n        android:id=\"@+id/issues\"\n        style=\"@style/AboutActivityItemContainer\">\n\n        <ImageView\n          style=\"@style/AboutActivityIconImg\"\n          android:src=\"@drawable/issues\"\n          tools:ignore=\"ContentDescription\" />\n\n        <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout style=\"@style/AboutActivityItemTextBox\">\n\n          <TextView\n            style=\"@style/AboutActivityItemTitle\"\n            android:text=\"@string/report_issues\" />\n\n          <TextView\n            style=\"@style/AboutActivityItemSummary\"\n            android:text=\"@string/report_issues_summary\" />\n\n        </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n      </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n      <View\n        style=\"@style/ListSeparator\"\n        android:background=\"?attr/accentColor\" />\n\n      <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n        android:id=\"@+id/logging\"\n        style=\"@style/AboutActivityItemContainer\">\n\n        <ImageView\n          style=\"@style/AboutActivityIconImg\"\n          android:src=\"@drawable/log\"\n          tools:ignore=\"ContentDescription\" />\n\n        <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout style=\"@style/AboutActivityItemTextBox\">\n\n          <TextView\n            android:id=\"@+id/logging_title\"\n            style=\"@style/AboutActivityItemTitle\"\n            android:text=\"@string/collect_logs\" />\n\n          <TextView\n            style=\"@style/AboutActivityItemSummary\"\n            android:text=\"@string/collect_logs_summary\" />\n\n        </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n      </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n      <View\n        style=\"@style/ListSeparator\"\n        android:background=\"?attr/accentColor\" />\n\n      <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n        android:id=\"@+id/send_crash_report\"\n        style=\"@style/AboutActivityItemContainer\">\n\n        <ImageView\n          style=\"@style/AboutActivityIconImg\"\n          android:src=\"@drawable/report\"\n          tools:ignore=\"ContentDescription\" />\n\n        <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout style=\"@style/AboutActivityItemTextBox\">\n\n          <TextView\n            style=\"@style/AboutActivityItemTitle\"\n            android:text=\"@string/send_crash_report_title\" />\n\n          <TextView\n            style=\"@style/AboutActivityItemSummary\"\n            android:text=\"@string/send_crash_report_summary\" />\n\n        </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n      </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n      <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n        android:id=\"@+id/dump_cont\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"vertical\"\n        android:visibility=\"gone\">\n\n        <View\n          style=\"@style/ListSeparator\"\n          android:background=\"?attr/accentColor\" />\n\n        <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n          android:id=\"@+id/dump_v\"\n          style=\"@style/AboutActivityItemContainer\">\n\n          <ImageView\n            android:id=\"@+id/dump_icon_v\"\n            style=\"@style/AboutActivityIconImg\"\n            android:src=\"@drawable/database\"\n            tools:ignore=\"ContentDescription\" />\n\n          <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout style=\"@style/AboutActivityItemTextBox\">\n\n            <TextView\n              android:id=\"@+id/dump_title_v\"\n              style=\"@style/AboutActivityItemTitle\"\n              android:text=\"@string/about_dump_title\" />\n\n            <TextView\n              android:id=\"@+id/dump_summary_v\"\n              style=\"@style/AboutActivityItemSummary\"\n              android:text=\"@string/about_dump_summary\" />\n\n          </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n        </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n      </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n      <View\n        style=\"@style/ListSeparator\"\n        android:background=\"?attr/accentColor\" />\n\n      <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n        android:id=\"@+id/rating\"\n        style=\"@style/AboutActivityItemContainer\">\n\n        <ImageView\n          style=\"@style/AboutActivityIconImg\"\n          android:src=\"@drawable/star\"\n          tools:ignore=\"ContentDescription\" />\n\n        <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout style=\"@style/AboutActivityItemTextBox\">\n\n          <TextView\n            style=\"@style/AboutActivityItemTitle\"\n            android:text=\"@string/app_rating\" />\n\n          <TextView\n            style=\"@style/AboutActivityItemSummary\"\n            android:text=\"@string/app_rating_summary\" />\n\n        </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n      </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n      <View\n        style=\"@style/ListSeparator\"\n        android:background=\"?attr/accentColor\" />\n\n      <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n        android:id=\"@+id/paid_features_container\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"vertical\">\n\n        <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n          android:id=\"@+id/paid_features\"\n          style=\"@style/AboutActivityItemContainer\">\n\n          <ImageView\n            style=\"@style/AboutActivityIconImg\"\n            android:src=\"@drawable/paid\"\n            tools:ignore=\"ContentDescription\" />\n\n          <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout style=\"@style/AboutActivityItemTextBox\">\n\n            <TextView\n              style=\"@style/AboutActivityItemTitle\"\n              android:text=\"@string/paid_features\" />\n\n            <TextView\n              android:id=\"@+id/paid_features_summary\"\n              style=\"@style/AboutActivityItemSummary\"\n              android:ellipsize=\"end\"\n              android:maxLines=\"1\"\n              android:text=\"@string/paid_features_url\" />\n\n          </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n        </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n        <View\n          style=\"@style/ListSeparator\"\n          android:background=\"?attr/accentColor\" />\n\n      </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n      <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n        android:id=\"@+id/privacy_policy\"\n        style=\"@style/AboutActivityItemContainer\">\n\n        <ImageView\n          style=\"@style/AboutActivityIconImg\"\n          android:src=\"@drawable/privacy_policy\"\n          tools:ignore=\"ContentDescription\" />\n\n        <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout style=\"@style/AboutActivityItemTextBox\">\n\n          <TextView\n            style=\"@style/AboutActivityItemTitle\"\n            android:text=\"@string/privacy_policy\" />\n\n          <TextView\n            style=\"@style/AboutActivityItemSummary\"\n            android:ellipsize=\"end\"\n            android:maxLines=\"1\"\n            android:text=\"@string/privacy_policy_link\" />\n\n        </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n      </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n      <View\n        style=\"@style/ListSeparator\"\n        android:background=\"?attr/accentColor\" />\n\n      <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n        android:id=\"@+id/translate\"\n        style=\"@style/AboutActivityItemContainer\">\n\n        <ImageView\n          style=\"@style/AboutActivityIconImg\"\n          android:src=\"@drawable/locale\"\n          tools:ignore=\"ContentDescription\" />\n\n        <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout style=\"@style/AboutActivityItemTextBox\">\n\n          <TextView\n            style=\"@style/AboutActivityItemTitle\"\n            android:text=\"@string/translations\" />\n\n          <TextView\n            style=\"@style/AboutActivityItemSummary\"\n            android:text=\"@string/translations_summary\" />\n\n        </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n      </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n      <View\n        style=\"@style/ListSeparator\"\n        android:background=\"?attr/accentColor\" />\n\n      <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n        android:id=\"@+id/share_app\"\n        style=\"@style/AboutActivityItemContainer\">\n\n        <ImageView\n          style=\"@style/AboutActivityIconImg\"\n          android:src=\"@drawable/share\"\n          tools:ignore=\"ContentDescription\" />\n\n        <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout style=\"@style/AboutActivityItemTextBox\">\n\n          <TextView\n            style=\"@style/AboutActivityItemTitle\"\n            android:text=\"@string/share\"\n            tools:ignore=\"TooManyViews\" />\n\n          <TextView\n            style=\"@style/AboutActivityItemSummary\"\n            android:text=\"@string/share_summary\" />\n\n        </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n      </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n      <View\n        style=\"@style/ListSeparator\"\n        android:background=\"?attr/accentColor\" />\n\n      <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n        android:id=\"@+id/check_update\"\n        style=\"@style/AboutActivityItemContainer\">\n\n        <ImageView\n          style=\"@style/AboutActivityIconImg\"\n          android:src=\"@drawable/update\"\n          tools:ignore=\"ContentDescription\" />\n\n        <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout style=\"@style/AboutActivityItemTextBox\">\n\n          <TextView\n            style=\"@style/AboutActivityItemTitle\"\n            android:text=\"@string/update\" />\n\n          <TextView\n            android:id=\"@+id/check_update_summary\"\n            style=\"@style/AboutActivityItemSummary\"\n            android:text=\"@string/update_summary\" />\n\n        </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n      </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n      <View\n        style=\"@style/ListSeparator\"\n        android:background=\"?attr/accentColor\" />\n\n    </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n  </androidx.core.widget.NestedScrollView>\n\n  <View\n    android:id=\"@+id/snack_bar_anchor\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"0dp\" />\n\n</com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n"
  },
  {
    "path": "app/src/main/res/layout/activity_crash_report.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<com.mirfatif.permissionmanagerx.fwk.MyLinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:layout_width=\"match_parent\"\n  android:layout_height=\"match_parent\"\n  android:orientation=\"vertical\">\n\n  <View\n    style=\"@style/ListSeparator\"\n    android:background=\"?attr/accentColor\" />\n\n  <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n    android:id=\"@+id/prog_cont\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:layout_margin=\"8dp\"\n    android:gravity=\"center\"\n    android:orientation=\"vertical\">\n\n    <ProgressBar\n      android:layout_width=\"48dp\"\n      android:layout_height=\"48dp\"\n      android:layout_gravity=\"center\"\n      android:layout_marginBottom=\"8dp\"\n      android:indeterminate=\"true\"\n      android:indeterminateBehavior=\"cycle\"\n      android:indeterminateTint=\"?attr/accentColor\"\n      android:progressTint=\"?attr/accentColor\" />\n\n    <TextView\n      android:id=\"@+id/prog_msg\"\n      android:layout_width=\"wrap_content\"\n      android:layout_height=\"wrap_content\"\n      android:layout_gravity=\"center\"\n      android:text=\"@string/reading_crash_log_file\"\n      android:textColor=\"@color/sharpText\"\n      android:textSize=\"16sp\" />\n\n  </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n  <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n    android:id=\"@+id/report_cont\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:layout_margin=\"8dp\"\n    android:orientation=\"vertical\"\n    android:visibility=\"gone\">\n\n    <androidx.core.widget.NestedScrollView\n      android:layout_width=\"match_parent\"\n      android:layout_height=\"wrap_content\"\n      android:layout_weight=\"1\"\n      android:background=\"@drawable/crash_report_text_bg\"\n      android:padding=\"8dp\">\n\n      <HorizontalScrollView\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\">\n\n        <TextView\n          android:id=\"@+id/content_v\"\n          android:layout_width=\"wrap_content\"\n          android:layout_height=\"wrap_content\"\n          android:fontFamily=\"monospace\"\n          android:textColor=\"@color/sharpText\" />\n\n      </HorizontalScrollView>\n\n    </androidx.core.widget.NestedScrollView>\n\n    <FrameLayout\n      android:layout_width=\"match_parent\"\n      android:layout_height=\"wrap_content\">\n\n      <Button\n        android:id=\"@+id/submit_button\"\n        style=\"@style/Widget.AppCompat.Button.Borderless\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center_vertical|end\"\n        android:enabled=\"false\"\n        android:text=\"@string/submit_report_button\"\n        android:textColor=\"@color/active_disabled\" />\n\n    </FrameLayout>\n\n  </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n</com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n"
  },
  {
    "path": "app/src/main/res/layout/activity_fragment_container.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<com.mirfatif.permissionmanagerx.fwk.MyLinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:layout_width=\"match_parent\"\n  android:layout_height=\"match_parent\"\n  android:orientation=\"vertical\">\n\n  <View\n    style=\"@style/ListSeparator\"\n    android:background=\"?attr/accentColor\" />\n\n  <ToggleButton\n    android:id=\"@+id/exc_filters_master_switch\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:layout_marginTop=\"8dp\"\n    android:layout_marginStart=\"12dp\"\n    android:layout_marginEnd=\"12dp\"\n    android:textOff=\"@string/enable_exc_filters\"\n    android:textOn=\"@string/disable_exc_filters\"\n    android:visibility=\"gone\" />\n\n  <androidx.fragment.app.FragmentContainerView\n    android:id=\"@+id/fragment_container\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"0dp\"\n    android:layout_weight=\"1\"/>\n\n</com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n"
  },
  {
    "path": "app/src/main/res/layout/activity_help.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<com.mirfatif.permissionmanagerx.fwk.MyLinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:layout_width=\"match_parent\"\n  android:layout_height=\"match_parent\"\n  android:orientation=\"vertical\">\n\n  <View\n    style=\"@style/ListSeparator\"\n    android:background=\"?attr/accentColor\" />\n\n  <androidx.swiperefreshlayout.widget.SwipeRefreshLayout\n    android:id=\"@+id/refresh_layout\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\">\n\n    <com.mirfatif.permissionmanagerx.fwk.MyWebView\n      android:id=\"@+id/web_v\"\n      android:layout_width=\"match_parent\"\n      android:layout_height=\"wrap_content\"\n      android:paddingTop=\"8dp\"\n      android:paddingBottom=\"8dp\"\n      android:clipToPadding=\"false\" />\n\n  </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>\n\n</com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n"
  },
  {
    "path": "app/src/main/res/layout/activity_main.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<com.mirfatif.permissionmanagerx.fwk.MyDrawerLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n  android:layout_height=\"match_parent\"\n  android:layout_width=\"match_parent\">\n\n  <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:orientation=\"vertical\">\n\n    <View\n      style=\"@style/ListSeparator\"\n      android:background=\"?attr/accentColor\" />\n\n    <com.mirfatif.permissionmanagerx.fwk.MyCoordinatorLayout\n      android:layout_width=\"match_parent\"\n      android:layout_height=\"0dp\"\n      android:layout_weight=\"1\">\n\n      <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n        android:id=\"@+id/move_up_cont\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"vertical\">\n\n        <androidx.swiperefreshlayout.widget.SwipeRefreshLayout\n          android:id=\"@+id/refresh_layout\"\n          android:layout_width=\"match_parent\"\n          android:layout_height=\"0dp\"\n          android:layout_weight=\"1\">\n\n          <androidx.recyclerview.widget.RecyclerView\n            android:id=\"@+id/recycler_view\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"match_parent\"\n            android:scrollbars=\"vertical\" />\n\n        </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>\n\n        <!--In MoveUpBehavior we'll move up only this container, not SwipeRefreshLayout -->\n        <include\n          android:id=\"@+id/mov_cont\"\n          layout=\"@layout/activity_main_moving_container\" />\n\n      </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n    </com.mirfatif.permissionmanagerx.fwk.MyCoordinatorLayout>\n  </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n  <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n    android:id=\"@+id/big_prog_cont\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@color/darkTransBg\"\n    android:gravity=\"center\"\n    android:visibility=\"gone\">\n\n    <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n      android:layout_width=\"wrap_content\"\n      android:layout_height=\"wrap_content\"\n      android:layout_gravity=\"center\"\n      android:background=\"@drawable/main_act_big_prog_bg\"\n      android:gravity=\"center\"\n      android:orientation=\"vertical\"\n      android:padding=\"36dp\">\n\n      <FrameLayout\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginBottom=\"24dp\">\n\n        <ProgressBar\n          style=\"@style/Widget.AppCompat.ProgressBar\"\n          android:layout_width=\"60dp\"\n          android:layout_height=\"60dp\"\n          android:indeterminate=\"true\"\n          android:indeterminateBehavior=\"cycle\"\n          android:indeterminateDrawable=\"@drawable/circle_progress_bar\"\n          android:indeterminateDuration=\"1000\"\n          android:indeterminateTint=\"?attr/accentColor\"\n          android:progressTint=\"?attr/accentColor\" />\n\n        <ProgressBar\n          style=\"@style/Widget.AppCompat.ProgressBar\"\n          android:layout_width=\"60dp\"\n          android:layout_height=\"60dp\"\n          android:indeterminate=\"true\"\n          android:indeterminateBehavior=\"cycle\"\n          android:indeterminateDrawable=\"@drawable/circle_progress_bar\"\n          android:indeterminateDuration=\"1000\"\n          android:indeterminateTint=\"?attr/accentColor\"\n          android:progressTint=\"?attr/accentColor\"\n          android:rotation=\"180\" />\n\n      </FrameLayout>\n\n      <TextView\n        android:id=\"@+id/big_prog_text\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:textColor=\"@color/sharpText\"\n        android:textSize=\"14sp\"\n        android:textStyle=\"bold\" />\n\n    </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n  </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n  <FrameLayout\n    android:id=\"@+id/search_settings_container\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:layout_marginTop=\"1dp\"\n    android:background=\"@color/darkTransBg\"\n    android:visibility=\"gone\">\n\n    <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n      android:layout_width=\"match_parent\"\n      android:layout_height=\"wrap_content\"\n      android:background=\"@drawable/search_settings_bg\">\n\n      <androidx.fragment.app.FragmentContainerView\n        android:id=\"@+id/search_settings_frag\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginTop=\"6dp\"\n        android:layout_marginBottom=\"6dp\"\n        android:padding=\"2dp\" />\n\n    </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n  </FrameLayout>\n\n  <com.mirfatif.permissionmanagerx.fwk.MyNavigationView\n    android:id=\"@+id/nav_v\"\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"match_parent\"\n    android:layout_gravity=\"start\"\n    app:menu=\"@menu/main_drawer\" />\n\n</com.mirfatif.permissionmanagerx.fwk.MyDrawerLayout>\n"
  },
  {
    "path": "app/src/main/res/layout/activity_main_moving_container.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<layout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  xmlns:app=\"http://schemas.android.com/apk/res-auto\">\n\n  <data>\n    <variable\n      name=\"data\"\n      type=\"com.mirfatif.permissionmanagerx.main.MainActivity.Data\" />\n  </data>\n\n  <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:orientation=\"vertical\">\n\n    <View\n      style=\"@style/ListSeparator\"\n      android:background=\"?attr/accentTrans10Color\" />\n\n    <com.mirfatif.permissionmanagerx.fwk.ProgressLinearLayout\n      android:id=\"@+id/prog_bar_cont\"\n      android:layout_width=\"match_parent\"\n      android:layout_height=\"wrap_content\"\n      android:orientation=\"vertical\"\n      android:visibility=\"gone\">\n\n      <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:background=\"@{data.progBgColor}\"\n        android:orientation=\"horizontal\">\n\n        <TextView\n          android:id=\"@+id/prog_now_v\"\n          android:layout_width=\"wrap_content\"\n          android:layout_height=\"wrap_content\"\n          android:layout_margin=\"8dp\"\n          android:ellipsize=\"end\"\n          android:maxLines=\"1\"\n          android:textColor=\"@color/sharpText\" />\n\n        <ProgressBar\n          android:id=\"@+id/prog_bar\"\n          style=\"@style/Widget.AppCompat.ProgressBar.Horizontal\"\n          android:layout_width=\"0dp\"\n          android:layout_height=\"wrap_content\"\n          android:layout_weight=\"1\"\n          android:layout_margin=\"8dp\"\n          android:paddingTop=\"2dp\"\n          android:indeterminateBehavior=\"cycle\"\n          android:indeterminateTint=\"?attr/accentColor\"\n          android:progressTint=\"?attr/accentColor\" />\n\n        <TextView\n          android:id=\"@+id/prog_max_v\"\n          android:layout_width=\"wrap_content\"\n          android:layout_height=\"wrap_content\"\n          android:layout_margin=\"8dp\"\n          android:textColor=\"@color/sharpText\" />\n\n      </LinearLayout>\n\n      <View\n        style=\"@style/ListSeparator\"\n        android:background=\"@{data.progBgSeparatorColor}\" />\n\n    </com.mirfatif.permissionmanagerx.fwk.ProgressLinearLayout>\n\n    <com.mirfatif.permissionmanagerx.fwk.MyCoordinatorLayout\n      android:layout_width=\"match_parent\"\n      android:layout_height=\"wrap_content\">\n\n      <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n        android:id=\"@+id/feedback_cont\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"vertical\"\n        android:visibility=\"gone\">\n\n        <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n          android:layout_width=\"match_parent\"\n          android:layout_height=\"wrap_content\"\n          android:paddingStart=\"8dp\"\n          android:paddingEnd=\"8dp\"\n          android:background=\"@{data.progBgColor}\"\n          android:gravity=\"center\"\n          android:orientation=\"horizontal\">\n\n          <TextView\n            android:layout_width=\"0dp\"\n            android:layout_height=\"wrap_content\"\n            android:layout_weight=\"1\"\n            android:layout_margin=\"8dp\"\n            android:gravity=\"center_vertical\"\n            android:maxLines=\"1\"\n            android:text=\"@string/love_using_app\"\n            android:textColor=\"@color/sharpText\"\n            android:textSize=\"16sp\"\n            app:autoSizeTextType=\"uniform\" />\n\n          <Button\n            android:id=\"@+id/liking_app_no_button\"\n            style=\"@style/Widget.AppCompat.Button.Borderless\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:minWidth=\"72dp\"\n            android:text=\"@string/no\"\n            android:textColor=\"?attr/accentColor\" />\n\n          <Button\n            android:id=\"@+id/liking_app_yes_button\"\n            style=\"@style/Widget.AppCompat.Button.Borderless\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:minWidth=\"72dp\"\n            android:text=\"@string/yes\"\n            android:textColor=\"?attr/accentColor\" />\n\n        </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n        <View\n          style=\"@style/ListSeparator\"\n          android:background=\"@{data.progBgSeparatorColor}\" />\n\n      </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n    </com.mirfatif.permissionmanagerx.fwk.MyCoordinatorLayout>\n  </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n</layout>\n"
  },
  {
    "path": "app/src/main/res/layout/activity_package.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<com.mirfatif.permissionmanagerx.fwk.MyLinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:layout_width=\"match_parent\"\n  android:layout_height=\"match_parent\"\n  android:orientation=\"vertical\">\n\n  <View\n    style=\"@style/ListSeparator\"\n    android:background=\"?attr/accentColor\" />\n\n  <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"0dp\"\n    android:layout_weight=\"1\"\n    android:gravity=\"center\"\n    android:orientation=\"vertical\">\n\n    <TextView\n      android:id=\"@+id/no_perms_view\"\n      android:visibility=\"gone\"\n      android:layout_width=\"wrap_content\"\n      android:layout_height=\"wrap_content\"\n      android:layout_margin=\"8dp\"\n      android:textColor=\"@android:color/darker_gray\"\n      android:textSize=\"20sp\"\n      android:textStyle=\"italic\" />\n\n    <com.mirfatif.permissionmanagerx.fwk.CustomButton\n      android:id=\"@+id/settings_button\"\n      style=\"@style/CustomButton\"\n      android:layout_width=\"wrap_content\"\n      android:text=\"@string/filter_settings\"\n      android:visibility=\"gone\" />\n\n  </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n  <androidx.swiperefreshlayout.widget.SwipeRefreshLayout\n    android:id=\"@+id/refresh_layout\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\">\n\n    <androidx.recyclerview.widget.RecyclerView\n      android:id=\"@+id/recycler_v\"\n      android:layout_width=\"match_parent\"\n      android:layout_height=\"match_parent\"\n      android:scrollbars=\"vertical\" />\n\n  </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>\n</com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n"
  },
  {
    "path": "app/src/main/res/layout/adb_connect_dialog.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<androidx.core.widget.NestedScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  xmlns:tools=\"http://schemas.android.com/tools\"\n  android:layout_width=\"match_parent\"\n  android:layout_height=\"wrap_content\"\n  android:paddingTop=\"16dp\"\n  android:paddingBottom=\"16dp\"\n  android:paddingStart=\"4dp\"\n  android:paddingEnd=\"4dp\"\n  android:scrollbars=\"vertical\">\n\n  <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:paddingStart=\"20dp\"\n    android:paddingEnd=\"20dp\"\n    android:orientation=\"vertical\">\n\n    <LinearLayout\n      android:id=\"@+id/pair_header_cont\"\n      android:layout_width=\"match_parent\"\n      android:layout_height=\"wrap_content\"\n      android:layout_marginBottom=\"16dp\"\n      android:gravity=\"center_vertical\"\n      android:visibility=\"gone\"\n      tools:ignore=\"UseCompoundDrawables\">\n\n      <TextView\n        android:textStyle=\"bold\"\n        android:layout_width=\"0dp\"\n        android:layout_height=\"wrap_content\"\n        android:layout_weight=\"1\"\n        android:text=\"@string/pairing_button\"\n        android:textColor=\"?attr/accentColor\"\n        android:textSize=\"14sp\" />\n\n      <ImageView\n        android:id=\"@+id/pair_arrow\"\n        android:layout_width=\"32dp\"\n        android:layout_height=\"32dp\"\n        android:padding=\"4dp\"\n        android:background=\"?attr/selectableItemBackgroundBorderless\"\n        android:src=\"@drawable/arrow_right\"\n        tools:ignore=\"ContentDescription\" />\n\n    </LinearLayout>\n\n    <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n      android:id=\"@+id/pair_cont\"\n      android:layout_width=\"match_parent\"\n      android:layout_height=\"wrap_content\"\n      android:layout_marginBottom=\"16dp\"\n      android:orientation=\"vertical\"\n      android:visibility=\"gone\">\n\n      <TextView\n        android:id=\"@+id/pair_help_v\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:textColor=\"@color/sharpText\"\n        android:textSize=\"16sp\" />\n\n      <com.google.android.material.textfield.TextInputLayout\n        android:id=\"@+id/pairing_code_cont\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginTop=\"8dp\">\n\n        <EditText\n          android:id=\"@+id/pairing_code_v\"\n          android:layout_width=\"match_parent\"\n          android:layout_height=\"wrap_content\"\n          android:hint=\"@string/pairing_code_hint\"\n          android:importantForAutofill=\"no\"\n          android:inputType=\"number\"\n          android:maxLength=\"6\"\n          android:maxLines=\"1\" />\n\n      </com.google.android.material.textfield.TextInputLayout>\n\n      <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginTop=\"8dp\">\n\n        <com.google.android.material.textfield.TextInputLayout\n          android:id=\"@+id/pairing_ip_cont\"\n          android:layout_width=\"0dp\"\n          android:layout_height=\"wrap_content\"\n          android:layout_weight=\"1\">\n\n          <EditText\n            android:id=\"@+id/pairing_ip_v\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:digits=\"0123456789.\"\n            android:hint=\"@string/ip_address_hint\"\n            android:importantForAutofill=\"no\"\n            android:inputType=\"number\"\n            android:maxLength=\"15\"\n            android:maxLines=\"1\" />\n\n        </com.google.android.material.textfield.TextInputLayout>\n\n        <com.google.android.material.textfield.TextInputLayout\n          android:id=\"@+id/pairing_port_cont\"\n          android:layout_width=\"0dp\"\n          android:layout_height=\"wrap_content\"\n          android:layout_weight=\"1\">\n\n          <EditText\n            android:id=\"@+id/pairing_port_v\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:hint=\"@string/socket_port_hint\"\n            android:importantForAutofill=\"no\"\n            android:inputType=\"number\"\n            android:maxLength=\"5\"\n            android:maxLines=\"1\" />\n\n        </com.google.android.material.textfield.TextInputLayout>\n\n      </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n      <ProgressBar\n        android:id=\"@+id/pairing_prog\"\n        style=\"@style/Widget.AppCompat.ProgressBar.Horizontal\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"12dp\"\n        android:indeterminate=\"true\"\n        android:indeterminateTint=\"?attr/accentColor\"\n        android:visibility=\"invisible\" />\n\n      <com.mirfatif.permissionmanagerx.fwk.CustomButton\n        android:id=\"@+id/pair_button\"\n        style=\"@style/CustomButton\"\n        android:text=\"@string/pair_button\" />\n\n    </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n    <View\n      android:id=\"@+id/divider\"\n      style=\"@style/ListSeparatorDim\"\n      android:visibility=\"gone\" />\n\n    <LinearLayout\n      android:id=\"@+id/connect_header_cont\"\n      android:layout_width=\"match_parent\"\n      android:layout_height=\"wrap_content\"\n      android:layout_marginTop=\"16dp\"\n      android:layout_marginBottom=\"16dp\"\n      android:gravity=\"center_vertical\"\n      android:visibility=\"gone\"\n      tools:ignore=\"UseCompoundDrawables\">\n\n      <TextView\n        android:textStyle=\"bold\"\n        android:layout_width=\"0dp\"\n        android:layout_height=\"wrap_content\"\n        android:layout_weight=\"1\"\n        android:text=\"@string/connection_title\"\n        android:textColor=\"?attr/accentColor\"\n        android:textSize=\"14sp\" />\n\n      <ImageView\n        android:id=\"@+id/connect_arrow\"\n        android:layout_width=\"32dp\"\n        android:layout_height=\"32dp\"\n        android:padding=\"4dp\"\n        android:background=\"?attr/selectableItemBackgroundBorderless\"\n        android:rotation=\"90\"\n        android:src=\"@drawable/arrow_right\"\n        tools:ignore=\"ContentDescription\" />\n\n    </LinearLayout>\n\n    <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n      android:id=\"@+id/connect_cont\"\n      android:layout_width=\"match_parent\"\n      android:layout_height=\"wrap_content\"\n      android:orientation=\"vertical\">\n\n      <TextView\n        android:id=\"@+id/connect_help_v\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:textColor=\"@color/sharpText\"\n        android:textSize=\"16sp\"\n        android:visibility=\"gone\" />\n\n      <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginTop=\"8dp\">\n\n        <com.google.android.material.textfield.TextInputLayout\n          android:id=\"@+id/connect_ip_cont\"\n          android:layout_width=\"0dp\"\n          android:layout_height=\"wrap_content\"\n          android:layout_weight=\"1\">\n\n          <EditText\n            android:id=\"@+id/connect_ip_v\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:digits=\"0123456789.\"\n            android:hint=\"@string/ip_address_hint\"\n            android:importantForAutofill=\"no\"\n            android:inputType=\"number\"\n            android:maxLength=\"15\"\n            android:maxLines=\"1\" />\n\n        </com.google.android.material.textfield.TextInputLayout>\n\n        <com.google.android.material.textfield.TextInputLayout\n          android:id=\"@+id/connect_port_cont\"\n          android:layout_width=\"0dp\"\n          android:layout_height=\"wrap_content\"\n          android:layout_weight=\"1\">\n\n          <EditText\n            android:id=\"@+id/connect_port_v\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:hint=\"@string/socket_port_hint\"\n            android:importantForAutofill=\"no\"\n            android:inputType=\"number\"\n            android:maxLength=\"5\"\n            android:maxLines=\"1\" />\n\n        </com.google.android.material.textfield.TextInputLayout>\n\n      </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n      <ProgressBar\n        android:id=\"@+id/connect_prog\"\n        style=\"@style/Widget.AppCompat.ProgressBar.Horizontal\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"12dp\"\n        android:indeterminate=\"true\"\n        android:indeterminateTint=\"?attr/accentColor\"\n        android:visibility=\"invisible\" />\n\n      <com.mirfatif.permissionmanagerx.fwk.CustomButton\n        android:id=\"@+id/connect_button\"\n        style=\"@style/CustomButton\"\n        android:text=\"@string/connect_button\" />\n\n    </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n  </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n</androidx.core.widget.NestedScrollView>\n"
  },
  {
    "path": "app/src/main/res/layout/backup_restore_dialog.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<com.mirfatif.permissionmanagerx.fwk.MyLinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  xmlns:tools=\"http://schemas.android.com/tools\"\n  android:layout_width=\"match_parent\"\n  android:layout_height=\"wrap_content\"\n  android:paddingTop=\"8dp\"\n  android:paddingStart=\"24dp\"\n  android:paddingEnd=\"24dp\"\n  android:orientation=\"vertical\">\n\n  <TextView\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:text=\"@string/choose_backup_restore\"\n    android:textColor=\"@color/sharpText\"\n    android:textSize=\"16sp\" />\n\n  <View\n    style=\"@style/ListSeparatorDim\"\n    android:layout_marginTop=\"12dp\"\n    android:layout_marginBottom=\"8dp\"\n    android:background=\"?attr/accentColor\" />\n\n  <CheckBox\n    android:id=\"@+id/skip_uninstalled_packages\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:layout_marginStart=\"-4dp\"\n    android:text=\"@string/skip_uninstalled_packages\"\n    android:textColor=\"@color/sharpText\"\n    android:textSize=\"16sp\" />\n\n  <CheckBox\n    android:id=\"@+id/swap_user_ids\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:layout_marginStart=\"-4dp\"\n    android:layout_marginTop=\"8dp\"\n    android:text=\"@string/swap_user_ids\"\n    android:textColor=\"@color/sharpText\"\n    android:textSize=\"16sp\"\n    android:visibility=\"gone\" />\n\n  <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n    android:id=\"@+id/user_ids_cont\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:layout_marginVertical=\"8dp\"\n    android:gravity=\"center_vertical\"\n    android:orientation=\"horizontal\"\n    android:visibility=\"gone\">\n\n    <EditText\n      android:id=\"@+id/user_id_from\"\n      android:layout_width=\"0dp\"\n      android:layout_height=\"wrap_content\"\n      android:layout_gravity=\"center_vertical\"\n      android:layout_weight=\"1\"\n      android:hint=\"@string/replace_user_id_from_hint\"\n      android:inputType=\"number\"\n      tools:ignore=\"Autofill,LabelFor\" />\n\n    <TextView\n      android:layout_width=\"wrap_content\"\n      android:layout_height=\"wrap_content\"\n      android:layout_gravity=\"center_vertical\"\n      android:layout_marginHorizontal=\"4dp\"\n      android:text=\"@string/replace_user_id_with\"\n      android:textColor=\"@color/sharpText\"\n      android:textSize=\"16sp\" />\n\n    <EditText\n      android:id=\"@+id/user_id_to\"\n      android:layout_width=\"0dp\"\n      android:layout_height=\"wrap_content\"\n      android:layout_gravity=\"center_vertical\"\n      android:layout_weight=\"1\"\n      android:hint=\"@string/replace_user_id_to_hint\"\n      android:inputType=\"number\"\n      tools:ignore=\"Autofill,LabelFor\" />\n\n  </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n</com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n"
  },
  {
    "path": "app/src/main/res/layout/dilog_title_with_help.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<com.mirfatif.permissionmanagerx.fwk.MyLinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:layout_width=\"match_parent\"\n  android:layout_height=\"wrap_content\"\n  android:paddingTop=\"16dp\"\n  android:paddingStart=\"24dp\"\n  android:paddingEnd=\"24dp\">\n\n  <TextView\n    android:id=\"@+id/title_v\"\n    android:layout_width=\"0dp\"\n    android:layout_height=\"wrap_content\"\n    android:layout_weight=\"1\"\n    android:layout_gravity=\"center_vertical\"\n    android:textAppearance=\"@style/TextAppearance.AppCompat.Title\" />\n\n  <com.mirfatif.permissionmanagerx.fwk.DialogHelpIcon\n    android:id=\"@+id/help_v\"\n    android:layout_width=\"32dp\"\n    android:layout_height=\"32dp\"\n    android:layout_gravity=\"center_vertical\"\n    android:padding=\"4dp\"\n    android:background=\"?attr/selectableItemBackgroundBorderless\"\n    android:contentDescription=\"@string/help_button\"\n    android:src=\"@drawable/help\" />\n\n</com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n"
  },
  {
    "path": "app/src/main/res/layout/feedback_dialog.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<com.mirfatif.permissionmanagerx.fwk.MyLinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  xmlns:tools=\"http://schemas.android.com/tools\"\n  android:layout_width=\"match_parent\"\n  android:layout_height=\"wrap_content\"\n  android:padding=\"8dp\"\n  android:orientation=\"vertical\">\n\n  <View\n    android:layout_width=\"20dp\"\n    android:layout_height=\"6dp\"\n    android:layout_gravity=\"center_horizontal\"\n    android:background=\"@drawable/hinge\" />\n\n  <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:padding=\"24dp\"\n    android:orientation=\"vertical\">\n\n    <TextView\n      android:id=\"@+id/msg_v\"\n      android:layout_width=\"match_parent\"\n      android:layout_height=\"wrap_content\"\n      android:justificationMode=\"inter_word\"\n      android:textColor=\"@color/sharpText\"\n      android:textSize=\"16sp\"\n      tools:ignore=\"UnusedAttribute\" />\n\n    <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n      android:layout_width=\"match_parent\"\n      android:layout_height=\"wrap_content\"\n      android:layout_marginTop=\"24dp\"\n      android:orientation=\"horizontal\">\n\n      <FrameLayout\n        android:layout_width=\"0dp\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center_vertical\"\n        android:layout_weight=\"2\">\n\n        <Button\n          android:id=\"@+id/neutral_button\"\n          style=\"@style/Widget.AppCompat.Button.Borderless\"\n          android:layout_width=\"wrap_content\"\n          android:layout_height=\"wrap_content\"\n          android:layout_gravity=\"start\"\n          android:text=\"@string/ignore_for_now\"\n          android:textColor=\"?attr/accentColor\" />\n\n      </FrameLayout>\n\n      <FrameLayout\n        android:layout_width=\"0dp\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center_vertical\"\n        android:layout_weight=\"1\">\n\n        <Button\n          android:id=\"@+id/neg_button\"\n          style=\"@style/Widget.AppCompat.Button.Borderless\"\n          android:layout_width=\"wrap_content\"\n          android:layout_height=\"wrap_content\"\n          android:layout_gravity=\"end\"\n          android:text=\"@android:string/cancel\"\n          android:textColor=\"?attr/accentColor\"\n          tools:ignore=\"ButtonOrder\" />\n\n      </FrameLayout>\n\n      <FrameLayout\n        android:layout_width=\"0dp\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center_vertical\"\n        android:layout_weight=\"1\">\n\n        <Button\n          android:id=\"@+id/pos_button\"\n          style=\"@style/Widget.AppCompat.Button.Borderless\"\n          android:layout_width=\"wrap_content\"\n          android:layout_height=\"wrap_content\"\n          android:layout_gravity=\"end\"\n          android:textColor=\"?attr/accentColor\" />\n\n      </FrameLayout>\n\n    </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n  </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n</com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n"
  },
  {
    "path": "app/src/main/res/layout/perm_details_dialog.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<com.mirfatif.permissionmanagerx.fwk.MyLinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:layout_width=\"match_parent\"\n  android:layout_height=\"wrap_content\"\n  android:orientation=\"vertical\"\n  android:paddingStart=\"20dp\"\n  android:paddingTop=\"16dp\"\n  android:paddingEnd=\"20dp\">\n\n  <TextView\n    android:id=\"@+id/perm_name_v\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:layout_margin=\"4dp\"\n    android:ellipsize=\"marquee\"\n    android:maxLines=\"1\"\n    android:singleLine=\"true\"\n    android:textAlignment=\"viewStart\"\n    android:textAppearance=\"@style/TextAppearance.AppCompat.Title\" />\n\n  <TextView\n    android:id=\"@+id/perm_name_sub_v\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:layout_margin=\"4dp\"\n    android:ellipsize=\"marquee\"\n    android:maxLines=\"1\"\n    android:singleLine=\"true\"\n    android:textAlignment=\"viewStart\"\n    android:textAppearance=\"@style/TextAppearance.AppCompat.Medium\"\n    android:visibility=\"gone\" />\n\n  <LinearLayout\n    android:id=\"@+id/depends_perm_name_cont\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:visibility=\"gone\">\n\n    <TextView\n      android:layout_width=\"wrap_content\"\n      android:layout_height=\"wrap_content\"\n      android:layout_margin=\"4dp\"\n      android:text=\"@string/depends_on\"\n      android:textAppearance=\"@style/TextAppearance.AppCompat.Small\"\n      android:textStyle=\"bold\" />\n\n    <TextView\n      android:id=\"@+id/depends_perm_name_v\"\n      android:layout_width=\"wrap_content\"\n      android:layout_height=\"wrap_content\"\n      android:layout_margin=\"4dp\"\n      android:ellipsize=\"marquee\"\n      android:maxLines=\"1\"\n      android:singleLine=\"true\"\n      android:textAppearance=\"@style/TextAppearance.AppCompat.Small\" />\n\n  </LinearLayout>\n\n  <LinearLayout\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:gravity=\"center_vertical\">\n\n    <TextView\n      android:layout_width=\"wrap_content\"\n      android:layout_height=\"wrap_content\"\n      android:layout_margin=\"4dp\"\n      android:gravity=\"center_vertical\"\n      android:text=\"@string/protection_level\"\n      android:textAppearance=\"@style/TextAppearance.AppCompat.Small\"\n      android:textStyle=\"bold\" />\n\n    <TextView\n      android:id=\"@+id/prot_level_v\"\n      android:layout_width=\"wrap_content\"\n      android:layout_height=\"wrap_content\"\n      android:layout_margin=\"4dp\"\n      android:gravity=\"center_vertical\"\n      android:textAppearance=\"@style/TextAppearance.AppCompat.Small\" />\n\n  </LinearLayout>\n\n  <TextView\n    android:id=\"@+id/perm_desc_v\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:layout_margin=\"4dp\"\n    android:textAppearance=\"@style/TextAppearance.AppCompat.Small\"\n    android:visibility=\"gone\" />\n\n</com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n"
  },
  {
    "path": "app/src/main/res/layout/perm_long_press_dialog.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<com.mirfatif.permissionmanagerx.fwk.MyLinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:layout_width=\"match_parent\"\n  android:layout_height=\"wrap_content\"\n  android:padding=\"8dp\"\n  android:orientation=\"vertical\">\n\n  <View\n    android:layout_width=\"20dp\"\n    android:layout_height=\"6dp\"\n    android:layout_gravity=\"center_horizontal\"\n    android:background=\"@drawable/hinge\" />\n\n  <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:padding=\"24dp\"\n    android:orientation=\"vertical\">\n\n    <TextView\n      android:id=\"@+id/perm_label_v\"\n      android:layout_width=\"wrap_content\"\n      android:layout_height=\"wrap_content\"\n      android:layout_gravity=\"center_horizontal\"\n      android:ellipsize=\"marquee\"\n      android:maxLines=\"1\"\n      android:singleLine=\"true\"\n      android:textAppearance=\"@style/TextAppearance.AppCompat.Title\" />\n\n    <TextView\n      android:id=\"@+id/perm_name_v\"\n      android:layout_width=\"wrap_content\"\n      android:layout_height=\"wrap_content\"\n      android:layout_gravity=\"center_horizontal\"\n      android:layout_marginTop=\"8dp\"\n      android:ellipsize=\"marquee\"\n      android:maxLines=\"1\"\n      android:singleLine=\"true\"\n      android:textAppearance=\"@style/TextAppearance.AppCompat.Medium\"\n      android:visibility=\"gone\" />\n\n    <com.mirfatif.permissionmanagerx.fwk.CustomButton\n      android:id=\"@+id/exclude_perm\"\n      style=\"@style/CustomButton\"\n      android:layout_marginTop=\"32dp\"\n      android:text=\"@string/exclude_perm_from_list\" />\n\n    <com.mirfatif.permissionmanagerx.fwk.CustomButton\n      android:id=\"@+id/ref_button\"\n      style=\"@style/CustomButton\"\n      android:layout_marginTop=\"8dp\" />\n\n  </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n</com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n"
  },
  {
    "path": "app/src/main/res/layout/pkg_long_press_dialog.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<com.mirfatif.permissionmanagerx.fwk.MyLinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:layout_width=\"match_parent\"\n  android:layout_height=\"wrap_content\"\n  android:padding=\"8dp\"\n  android:orientation=\"vertical\">\n\n  <View\n    android:layout_width=\"20dp\"\n    android:layout_height=\"6dp\"\n    android:layout_gravity=\"center_horizontal\"\n    android:background=\"@drawable/hinge\" />\n\n  <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:padding=\"24dp\"\n    android:orientation=\"vertical\">\n\n    <TextView\n      android:id=\"@+id/pkg_label_v\"\n      android:layout_width=\"wrap_content\"\n      android:layout_height=\"wrap_content\"\n      android:layout_gravity=\"center_horizontal\"\n      android:ellipsize=\"marquee\"\n      android:maxLines=\"1\"\n      android:singleLine=\"true\"\n      android:textAppearance=\"@style/TextAppearance.AppCompat.Title\" />\n\n    <TextView\n      android:id=\"@+id/pkg_name_v\"\n      android:layout_width=\"wrap_content\"\n      android:layout_height=\"wrap_content\"\n      android:layout_gravity=\"center_horizontal\"\n      android:layout_marginTop=\"8dp\"\n      android:ellipsize=\"marquee\"\n      android:maxLines=\"1\"\n      android:singleLine=\"true\"\n      android:textAppearance=\"@style/TextAppearance.AppCompat.Medium\"\n      android:visibility=\"gone\" />\n\n    <com.mirfatif.permissionmanagerx.fwk.CustomButton\n      android:id=\"@+id/exclude_pkg\"\n      style=\"@style/CustomButton\"\n      android:layout_marginTop=\"32dp\"\n      android:text=\"@string/exclude_app_from_visible_list\" />\n\n    <com.mirfatif.permissionmanagerx.fwk.CustomButton\n      android:id=\"@+id/disable_pkg\"\n      style=\"@style/CustomButton\"\n      android:layout_marginTop=\"8dp\" />\n\n    <com.mirfatif.permissionmanagerx.fwk.CustomButton\n      android:id=\"@+id/open_pkg_info\"\n      style=\"@style/CustomButton\"\n      android:layout_marginTop=\"8dp\"\n      android:text=\"@string/open_pkg_info\" />\n\n    <com.mirfatif.permissionmanagerx.fwk.CustomButton\n      android:id=\"@+id/find_pkg_proc\"\n      style=\"@style/CustomButton\"\n      android:layout_marginTop=\"8dp\"\n      android:text=\"@string/find_pkg_process\"\n      android:visibility=\"gone\" />\n\n  </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n</com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n"
  },
  {
    "path": "app/src/main/res/layout/progress_dialog.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:layout_width=\"match_parent\"\n  android:layout_height=\"wrap_content\"\n  android:gravity=\"center_horizontal\"\n  android:orientation=\"vertical\"\n  android:paddingStart=\"24dp\"\n  android:paddingTop=\"16dp\"\n  android:paddingEnd=\"24dp\"\n  android:paddingBottom=\"8dp\">\n\n  <ProgressBar\n    android:id=\"@+id/prog\"\n    style=\"@style/Widget.AppCompat.ProgressBar.Horizontal\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:layout_gravity=\"center_horizontal\"\n    android:layout_marginBottom=\"8dp\"\n    android:indeterminate=\"true\"\n    android:indeterminateBehavior=\"cycle\"\n    android:indeterminateTint=\"?attr/accentColor\"\n    android:progressTint=\"?attr/accentColor\" />\n\n  <TextView\n    android:id=\"@+id/prog_text\"\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"wrap_content\"\n    android:textColor=\"@color/sharpText\"\n    android:textSize=\"16sp\" />\n\n</LinearLayout>\n"
  },
  {
    "path": "app/src/main/res/layout/rate_donate_dialog.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<com.mirfatif.permissionmanagerx.fwk.MyLinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:layout_width=\"match_parent\"\n  android:layout_height=\"wrap_content\"\n  android:padding=\"8dp\"\n  android:orientation=\"vertical\">\n\n  <View\n    android:layout_width=\"20dp\"\n    android:layout_height=\"6dp\"\n    android:layout_gravity=\"center_horizontal\"\n    android:background=\"@drawable/hinge\" />\n\n  <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:padding=\"24dp\"\n    android:orientation=\"vertical\">\n\n    <com.mirfatif.permissionmanagerx.fwk.CustomButton\n      android:id=\"@+id/button1\"\n      style=\"@style/CustomButton\" />\n\n    <com.mirfatif.permissionmanagerx.fwk.CustomButton\n      android:id=\"@+id/button2\"\n      style=\"@style/CustomButton\"\n      android:layout_marginTop=\"8dp\" />\n\n    <com.mirfatif.permissionmanagerx.fwk.CustomButton\n      android:id=\"@+id/button3\"\n      style=\"@style/CustomButton\"\n      android:layout_marginTop=\"8dp\" />\n\n  </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n</com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n"
  },
  {
    "path": "app/src/main/res/layout/rv_item_perm.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  xmlns:tools=\"http://schemas.android.com/tools\"\n  android:layout_width=\"match_parent\"\n  android:layout_height=\"wrap_content\"\n  xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n  android:orientation=\"horizontal\">\n\n  <View\n    android:id=\"@+id/ref_indication_v\"\n    android:layout_width=\"4dp\"\n    android:layout_height=\"match_parent\"/>\n\n  <FrameLayout\n    android:layout_width=\"0dp\"\n    android:layout_weight=\"1\"\n    android:layout_height=\"wrap_content\">\n\n    <View\n      android:id=\"@+id/flag\"\n      android:layout_width=\"12dp\"\n      android:layout_height=\"12dp\"\n      android:layout_gravity=\"top|start\"\n      android:background=\"@drawable/triangle\" />\n\n    <LinearLayout\n      android:layout_width=\"match_parent\"\n      android:layout_height=\"wrap_content\"\n      android:background=\"?android:attr/selectableItemBackground\"\n      android:gravity=\"center_vertical\"\n      android:orientation=\"horizontal\">\n\n      <ImageView\n        android:id=\"@+id/icon_v\"\n        android:layout_width=\"24dp\"\n        android:layout_height=\"24dp\"\n        android:layout_gravity=\"center_vertical\"\n        android:layout_marginStart=\"8dp\"\n        android:layout_marginEnd=\"8dp\"\n        tools:ignore=\"ContentDescription\" />\n\n      <LinearLayout\n        android:layout_width=\"0dp\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center_vertical\"\n        android:layout_weight=\"1\"\n        android:orientation=\"vertical\"\n        android:padding=\"8dp\"\n        tools:ignore=\"NestedWeights\">\n\n        <TextView\n          android:id=\"@+id/perm_name_v\"\n          android:textStyle=\"bold\"\n          android:layout_width=\"match_parent\"\n          android:layout_height=\"wrap_content\"\n          android:layout_margin=\"1dp\"\n          android:ellipsize=\"end\"\n          android:maxLines=\"1\"\n          android:textAlignment=\"viewStart\" />\n\n        <TextView\n          android:id=\"@+id/prot_level_v\"\n          android:layout_width=\"match_parent\"\n          android:layout_height=\"wrap_content\"\n          android:layout_margin=\"1dp\"\n          android:ellipsize=\"end\"\n          android:maxLines=\"1\"\n          android:textAlignment=\"viewStart\"\n          app:autoSizeTextType=\"uniform\" />\n\n        <TextView\n          android:id=\"@+id/app_ops_time_v\"\n          android:layout_width=\"match_parent\"\n          android:layout_height=\"wrap_content\"\n          android:layout_margin=\"1dp\"\n          android:textAlignment=\"viewStart\" />\n\n        <TextView\n          android:id=\"@+id/app_ops_ref_state_v\"\n          android:layout_width=\"match_parent\"\n          android:layout_height=\"wrap_content\"\n          android:layout_margin=\"1dp\"\n          android:textAlignment=\"viewStart\" />\n\n      </LinearLayout>\n\n      <LinearLayout\n        android:id=\"@+id/perm_state_cont\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center_vertical\"\n        android:gravity=\"end\"\n        android:orientation=\"vertical\"\n        android:padding=\"8dp\">\n\n        <androidx.appcompat.widget.SwitchCompat\n          android:id=\"@+id/perm_state_switch\"\n          style=\"@android:style/Widget.Material.CompoundButton.Switch\"\n          android:layout_width=\"wrap_content\"\n          android:layout_height=\"wrap_content\"\n          android:layout_gravity=\"end\"\n          android:paddingHorizontal=\"6dp\"\n          android:paddingVertical=\"8dp\"\n          android:thumb=\"@drawable/slim_switch_thumb\"\n          app:switchMinWidth=\"30dp\"\n          app:track=\"@drawable/slim_switch_track\" />\n\n        <TextView\n          android:id=\"@+id/app_op_mode_v\"\n          android:layout_width=\"wrap_content\"\n          android:layout_height=\"wrap_content\"\n          android:layout_gravity=\"end\"\n          android:layout_marginTop=\"2dp\"\n          android:textColor=\"?attr/accentColor\"\n          android:textStyle=\"bold\" />\n\n        <TextView\n          android:id=\"@+id/app_op_mode_sub_v\"\n          android:layout_width=\"wrap_content\"\n          android:layout_height=\"wrap_content\"\n          android:layout_gravity=\"end\"\n          android:layout_marginTop=\"2dp\" />\n\n      </LinearLayout>\n    </LinearLayout>\n\n  </FrameLayout>\n</LinearLayout>\n"
  },
  {
    "path": "app/src/main/res/layout/rv_item_pkg.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  xmlns:tools=\"http://schemas.android.com/tools\"\n  android:layout_width=\"match_parent\"\n  android:layout_height=\"wrap_content\"\n  xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n  android:orientation=\"horizontal\">\n\n  <View\n    android:id=\"@+id/ref_indication_v\"\n    android:layout_width=\"4dp\"\n    android:layout_height=\"match_parent\" />\n\n  <LinearLayout\n    android:layout_width=\"0dp\"\n    android:layout_height=\"wrap_content\"\n    android:layout_weight=\"1\"\n    android:background=\"?android:attr/selectableItemBackground\"\n    android:orientation=\"horizontal\">\n\n    <ImageView\n      android:id=\"@+id/icon_v\"\n      android:layout_width=\"48dp\"\n      android:layout_height=\"48dp\"\n      android:layout_marginStart=\"8dp\"\n      android:layout_gravity=\"center\"\n      tools:ignore=\"ContentDescription\" />\n\n    <LinearLayout\n      android:layout_width=\"0dp\"\n      android:layout_height=\"wrap_content\"\n      android:layout_weight=\"1\"\n      android:padding=\"8dp\"\n      android:orientation=\"vertical\"\n      tools:ignore=\"NestedWeights\">\n\n      <TextView\n        android:id=\"@+id/pkg_label_v\"\n        android:textStyle=\"bold\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_margin=\"1dp\"\n        android:ellipsize=\"end\"\n        android:maxLines=\"1\"\n        android:textAlignment=\"viewStart\" />\n\n      <TextView\n        android:id=\"@+id/pkg_name_v\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_margin=\"1dp\"\n        android:ellipsize=\"end\"\n        android:maxLines=\"1\"\n        android:textAlignment=\"viewStart\" />\n\n      <TextView\n        android:id=\"@+id/pkg_state_v\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_margin=\"1dp\"\n        android:ellipsize=\"end\"\n        android:maxLines=\"1\"\n        android:textAlignment=\"viewStart\"\n        app:autoSizeTextType=\"uniform\" />\n\n      <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_margin=\"1dp\">\n\n        <TextView\n          android:id=\"@+id/pkg_perm_count_v\"\n          android:layout_width=\"0dp\"\n          android:layout_height=\"wrap_content\"\n          android:layout_weight=\"1\"\n          android:layout_marginEnd=\"1dp\"\n          android:textAlignment=\"viewStart\" />\n\n        <TextView\n          android:id=\"@+id/date_v\"\n          android:layout_width=\"wrap_content\"\n          android:layout_height=\"wrap_content\"\n          android:textAlignment=\"viewStart\"\n          android:textSize=\"12sp\" />\n\n      </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n    </LinearLayout>\n  </LinearLayout>\n</LinearLayout>\n"
  },
  {
    "path": "app/src/main/res/layout/status_bar_bg_cont.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<com.mirfatif.permissionmanagerx.fwk.MyLinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:layout_width=\"match_parent\"\n  android:layout_height=\"match_parent\"\n  android:orientation=\"vertical\">\n\n  <View\n    android:id=\"@+id/status_bar_bg\"\n    style=\"@style/ListSeparator\"\n    android:background=\"?attr/accentTrans20Color\" />\n\n</com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n"
  },
  {
    "path": "app/src/main/res/layout/trans_credits_row.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<TableRow xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:layout_width=\"wrap_content\"\n  android:layout_height=\"wrap_content\"\n  android:padding=\"8dp\">\n\n  <TextView\n    android:id=\"@+id/lang\"\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"wrap_content\"\n    android:paddingHorizontal=\"12dp\"\n    android:textColor=\"@color/sharpText\"\n    android:textSize=\"16sp\"\n    android:textStyle=\"bold\" />\n\n  <TextView\n    android:id=\"@+id/credits\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:layout_weight=\"1\"\n    android:paddingHorizontal=\"12dp\"\n    android:textColor=\"@color/sharpText\"\n    android:textSize=\"16sp\" />\n\n</TableRow>\n"
  },
  {
    "path": "app/src/main/res/layout/translation_dialog.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<com.mirfatif.permissionmanagerx.fwk.MyLinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  android:layout_width=\"match_parent\"\n  android:layout_height=\"wrap_content\"\n  xmlns:tools=\"http://schemas.android.com/tools\"\n  xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n  android:orientation=\"vertical\">\n\n  <View\n    android:layout_width=\"20dp\"\n    android:layout_height=\"6dp\"\n    android:layout_margin=\"12dp\"\n    android:layout_gravity=\"center_horizontal\"\n    android:background=\"@drawable/hinge\" />\n\n  <com.mirfatif.permissionmanagerx.fwk.MyLinearLayout\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:paddingStart=\"20dp\"\n    android:paddingEnd=\"20dp\"\n    android:gravity=\"center\">\n\n    <ImageView\n      android:layout_width=\"32dp\"\n      android:layout_height=\"24dp\"\n      android:layout_marginEnd=\"8dp\"\n      android:src=\"@drawable/locale\"\n      app:tint=\"?attr/accentColor\"\n      tools:ignore=\"ContentDescription\" />\n\n    <TextView\n      android:textStyle=\"bold\"\n      android:layout_width=\"wrap_content\"\n      android:layout_height=\"wrap_content\"\n      android:text=\"@string/translations\"\n      android:textAlignment=\"center\"\n      android:textColor=\"?attr/accentColor\"\n      android:textSize=\"18sp\" />\n\n  </com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n\n  <androidx.core.widget.NestedScrollView\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"0dp\"\n    android:layout_weight=\"1\"\n    android:paddingTop=\"16dp\"\n    android:paddingBottom=\"16dp\"\n    android:scrollbars=\"vertical\">\n\n    <TableLayout\n      android:id=\"@+id/table\"\n      android:layout_width=\"wrap_content\"\n      android:layout_height=\"wrap_content\"\n      android:layout_gravity=\"center_horizontal\" />\n\n  </androidx.core.widget.NestedScrollView>\n\n  <com.mirfatif.permissionmanagerx.fwk.CustomButton\n    android:id=\"@+id/add_my_lang\"\n    style=\"@style/CustomButton\"\n    android:layout_marginTop=\"8dp\"\n    android:layout_marginBottom=\"12dp\"\n    android:layout_marginStart=\"20dp\"\n    android:layout_marginEnd=\"20dp\"\n    android:text=\"@string/add_my_language\" />\n\n</com.mirfatif.permissionmanagerx.fwk.MyLinearLayout>\n"
  },
  {
    "path": "app/src/main/res/menu/about_menu.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  xmlns:app=\"http://schemas.android.com/apk/res-auto\">\n\n  <item\n    android:id=\"@+id/action_dump_daemon_heap\"\n    android:title=\"@string/dump_daemon_heap_menu_item\"\n    android:visible=\"false\"\n    app:showAsAction=\"never\" />\n\n  <item\n    android:id=\"@+id/action_perm_status\"\n    android:icon=\"@drawable/permission\"\n    android:title=\"@string/perm_status_menu_item\"\n    app:showAsAction=\"ifRoom\" />\n\n</menu>\n"
  },
  {
    "path": "app/src/main/res/menu/filter_settings.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  xmlns:app=\"http://schemas.android.com/apk/res-auto\">\n\n  <group android:id=\"@+id/group1\">\n    <item\n      android:id=\"@+id/action_reset_defaults\"\n      android:title=\"@string/filter_settings_reset_defaults_menu_item\"\n      app:showAsAction=\"never\" />\n  </group>\n\n  <item\n    android:id=\"@+id/action_clear_excluded_apps\"\n    android:title=\"@string/filter_settings_clear_excluded_apps_menu_item\"\n    app:showAsAction=\"never\"/>\n\n  <item\n    android:id=\"@+id/action_clear_excluded_perms\"\n    android:title=\"@string/filter_settings_clear_excluded_perms_menu_item\"\n    app:showAsAction=\"never\"/>\n\n  <item\n    android:id=\"@+id/action_clear_extra_app_ops\"\n    android:title=\"@string/filter_settings_clear_extra_app_ops_menu_item\"\n    app:showAsAction=\"never\"/>\n\n</menu>\n"
  },
  {
    "path": "app/src/main/res/menu/help_menu.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  xmlns:app=\"http://schemas.android.com/apk/res-auto\">\n\n  <item\n    android:id=\"@+id/action_zoom_out\"\n    android:icon=\"@drawable/zoom_out\"\n    android:title=\"@string/zoom_out_menu_item\"\n    app:showAsAction=\"ifRoom\" />\n\n  <item\n    android:id=\"@+id/action_zoom_in\"\n    android:icon=\"@drawable/zoom_in\"\n    android:title=\"@string/zoom_in_menu_item\"\n    app:showAsAction=\"ifRoom\" />\n\n  <item\n    android:id=\"@+id/action_open_browser\"\n    android:title=\"@string/open_browser_menu_item\"\n    app:showAsAction=\"never\" />\n\n</menu>\n"
  },
  {
    "path": "app/src/main/res/menu/main_drawer.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  xmlns:app=\"http://schemas.android.com/apk/res-auto\">\n\n  <group android:id=\"@+id/group1\">\n    <item\n      android:id=\"@+id/action_settings\"\n      android:icon=\"@drawable/settings\"\n      android:orderInCategory=\"1\"\n      android:title=\"@string/settings_menu_item\" />\n\n    <item\n      android:id=\"@+id/action_advanced_settings\"\n      android:icon=\"@drawable/advanced_settings\"\n      android:orderInCategory=\"2\"\n      android:title=\"@string/advanced_settings_menu_item\" />\n\n    <item\n      android:id=\"@+id/action_filter\"\n      android:icon=\"@drawable/filter\"\n      android:orderInCategory=\"3\"\n      android:title=\"@string/filter_menu_item\" />\n  </group>\n\n  <group android:id=\"@+id/group1.5\">\n    <item\n      android:id=\"@+id/action_sched_check\"\n      android:orderInCategory=\"5\"\n      android:visible=\"false\" />\n\n    <item\n      android:id=\"@+id/action_perm_watcher\"\n      android:orderInCategory=\"6\"\n      android:visible=\"false\" />\n\n    <item\n      android:id=\"@+id/action_perm_summary\"\n      android:enabled=\"false\"\n      android:orderInCategory=\"7\"\n      android:visible=\"false\" />\n  </group>\n\n  <group android:id=\"@+id/group2\">\n    <item\n      android:id=\"@+id/action_root\"\n      android:icon=\"@drawable/root\"\n      android:orderInCategory=\"9\"\n      android:title=\"@string/root_menu_item\"\n      app:actionViewClass=\"android.widget.CheckBox\" />\n\n    <item\n      android:id=\"@+id/action_adb\"\n      android:icon=\"@drawable/shell\"\n      android:orderInCategory=\"10\"\n      android:title=\"@string/adb_menu_item\"\n      app:actionViewClass=\"android.widget.CheckBox\" />\n  </group>\n\n  <group android:id=\"@+id/group3\">\n    <item\n      android:id=\"@+id/action_backup_restore\"\n      android:icon=\"@drawable/backup_restore\"\n      android:orderInCategory=\"12\"\n      android:title=\"@string/backup_restore_menu_item\" />\n\n    <item\n      android:id=\"@+id/action_batch_ops\"\n      android:enabled=\"false\"\n      android:orderInCategory=\"13\"\n      android:visible=\"false\" />\n  </group>\n\n  <group android:id=\"@+id/group4\">\n    <item\n      android:id=\"@+id/action_help\"\n      android:icon=\"@drawable/help\"\n      android:orderInCategory=\"15\"\n      android:title=\"@string/help_menu_item\" />\n\n    <item\n      android:id=\"@+id/action_donate\"\n      android:icon=\"@drawable/donate\"\n      android:orderInCategory=\"16\"\n      android:title=\"@string/donate_menu_item\"\n      android:visible=\"false\" />\n\n    <item\n      android:id=\"@+id/action_license\"\n      android:icon=\"@drawable/key\"\n      android:orderInCategory=\"17\"\n      android:title=\"@string/license_menu_item\"\n      android:visible=\"false\" />\n\n    <item\n      android:id=\"@+id/action_about\"\n      android:icon=\"@drawable/info\"\n      android:orderInCategory=\"18\"\n      android:title=\"@string/about_menu_item\" />\n  </group>\n</menu>\n"
  },
  {
    "path": "app/src/main/res/menu/main_search.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  xmlns:app=\"http://schemas.android.com/apk/res-auto\">\n  <item\n    android:id=\"@+id/action_search\"\n    android:icon=\"@android:drawable/ic_menu_search\"\n    android:orderInCategory=\"1\"\n    android:title=\"@string/search_menu_item\"\n    app:actionViewClass=\"com.mirfatif.permissionmanagerx.fwk.MySearchView\"\n    app:showAsAction=\"ifRoom\" />\n</menu>\n"
  },
  {
    "path": "app/src/main/res/menu/package_menu.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  xmlns:app=\"http://schemas.android.com/apk/res-auto\">\n  <item\n    android:id=\"@+id/action_search\"\n    android:icon=\"@android:drawable/ic_menu_search\"\n    android:orderInCategory=\"1\"\n    android:title=\"@string/search_menu_item\"\n    app:actionViewClass=\"com.mirfatif.permissionmanagerx.fwk.MySearchView\"\n    app:showAsAction=\"ifRoom\" />\n\n  <group android:id=\"@+id/group1\">\n    <item\n      android:id=\"@+id/action_reset_app_ops\"\n      android:orderInCategory=\"4\"\n      android:title=\"@string/reset_app_ops\"\n      app:showAsAction=\"never\" />\n  </group>\n\n  <group android:id=\"@+id/group2\">\n    <item\n      android:id=\"@+id/action_set_all_references\"\n      android:orderInCategory=\"5\"\n      android:title=\"@string/set_references\"\n      app:showAsAction=\"never\" />\n\n    <item\n      android:id=\"@+id/action_clear_references\"\n      android:orderInCategory=\"6\"\n      android:title=\"@string/clear_references\"\n      app:showAsAction=\"never\" />\n  </group>\n\n  <group android:id=\"@+id/group3\">\n    <item\n      android:id=\"@+id/action_show_all_perms\"\n      android:checkable=\"true\"\n      android:orderInCategory=\"7\"\n      android:title=\"@string/menu_item_show_all_perms\"\n      app:showAsAction=\"never\" />\n  </group>\n</menu>\n"
  },
  {
    "path": "app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<adaptive-icon xmlns:android=\"http://schemas.android.com/apk/res/android\">\n  <background android:drawable=\"@android:color/white\"/>\n  <foreground android:drawable=\"@mipmap/ic_launcher_foreground\"/>\n</adaptive-icon>"
  },
  {
    "path": "app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<adaptive-icon xmlns:android=\"http://schemas.android.com/apk/res/android\">\n  <background android:drawable=\"@android:color/white\" />\n  <foreground android:drawable=\"@mipmap/ic_launcher_foreground\" />\n</adaptive-icon>\n"
  },
  {
    "path": "app/src/main/res/values/arrays.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n  <string-array name=\"excluded_apps\">\n    <item>android.ext.services</item>\n    <item>android.ext.shared</item>\n    <item>android</item>\n    <item>android.media</item>\n    <item>android.uid.bluetooth</item>\n    <item>android.uid.calendar</item>\n    <item>android.uid.networkstack</item>\n    <item>android.uid.phone</item>\n    <item>android.uid.shared</item>\n    <item>android.uid.shell</item>\n    <item>android.uid.system</item>\n    <item>android.uid.systemui</item>\n    <item>com.android.alarmclock</item>\n    <item>com.android.angle</item>\n    <item>com.android.apps.tag</item>\n    <item>com.android.backupconfirm</item>\n    <item>com.android.bips</item>\n    <item>com.android.bluetooth</item>\n    <item>com.android.bluetoothmidiservice</item>\n    <item>com.android.bookmarkprovider</item>\n    <item>com.android.calculator2</item>\n    <item>com.android.calculator</item>\n    <item>com.android.calendar</item>\n    <item>com.android.calllogbackup</item>\n    <item>com.android.camera2</item>\n    <item>com.android.camera</item>\n    <item>com.android.cameraextensions</item>\n    <item>com.android.captiveportallogin</item>\n    <item>com.android.carrierconfig</item>\n    <item>com.android.carrierdefaultapp</item>\n    <item>com.android.cellbroadcastreceiver</item>\n    <item>com.android.cellbroadcastreceiver.module</item>\n    <item>com.android.cellbroadcastservice</item>\n    <item>com.android.certinstaller</item>\n    <item>com.android.companiondevicemanager</item>\n    <item>com.android.conscrypt</item>\n    <item>com.android.contacts</item>\n    <item>com.android.cts.ctsshim</item>\n    <item>com.android.cts.priv.ctsshim</item>\n    <item>com.android.defcontainer</item>\n    <item>com.android.deskclock</item>\n    <item>com.android.dialer</item>\n    <item>com.android.documentsui</item>\n    <item>com.android.dreams.basic</item>\n    <item>com.android.dreams.phototable</item>\n    <item>com.android.dynsystem</item>\n    <item>com.android.egg</item>\n    <item>com.android.email</item>\n    <item>com.android.emergency</item>\n    <item>com.android.emergency.uid</item>\n    <item>com.android.exchange</item>\n    <item>com.android.externalstorage</item>\n    <item>com.android.ext.services</item>\n    <item>com.android.gallery3d</item>\n    <item>com.android.hotspot2</item>\n    <item>com.android.hotspot2.osulogin</item>\n    <item>com.android.htmlviewer</item>\n    <item>com.android.imsserviceentitlement</item>\n    <item>com.android.incallui</item>\n    <item>com.android.inputdevices</item>\n    <item>com.android.inputmethod.latin</item>\n    <item>com.android.keychain</item>\n    <item>com.android.launcher3</item>\n    <item>com.android.launcher</item>\n    <item>com.android.localtransport</item>\n    <item>com.android.location.fused</item>\n    <item>com.android.managedprovisioning</item>\n    <item>com.android.media</item>\n    <item>com.android.media.swcodec</item>\n    <item>com.android.messaging</item>\n    <item>com.android.mms</item>\n    <item>com.android.mms.service</item>\n    <item>com.android.modulemetadata</item>\n    <item>com.android.mtp</item>\n    <item>com.android.musicfx</item>\n    <item>com.android.music</item>\n    <item>com.android.networkstack</item>\n    <item>com.android.networkstack.permissionconfig</item>\n    <item>com.android.networkstack.tethering</item>\n    <item>com.android.nfc</item>\n    <item>com.android.onetimeinitializer</item>\n    <item>com.android.ons</item>\n    <item>com.android.packageinstaller</item>\n    <item>com.android.pacprocessor</item>\n    <item>com.android.permissioncontroller</item>\n    <item>com.android.phone</item>\n    <item>com.android.printservice.recommendation</item>\n    <item>com.android.printspooler</item>\n    <item>com.android.providers.blockednumber</item>\n    <item>com.android.providers.calendar</item>\n    <item>com.android.providers.contacts</item>\n    <item>com.android.providers.downloads</item>\n    <item>com.android.providers.downloads.ui</item>\n    <item>com.android.providers.media</item>\n    <item>com.android.providers.media.module</item>\n    <item>com.android.providers.partnerbookmarks</item>\n    <item>com.android.providers.settings</item>\n    <item>com.android.providers.telephony</item>\n    <item>com.android.providers.userdictionary</item>\n    <item>com.android.provision</item>\n    <item>com.android.proxyhandler</item>\n    <item>com.android.resolv</item>\n    <item>com.android.runtime.release.apex</item>\n    <item>com.android.se</item>\n    <item>com.android.server.telecom</item>\n    <item>com.android.settings.intelligence</item>\n    <item>com.android.settings</item>\n    <item>com.android.sharedstoragebackup</item>\n    <item>com.android.shell</item>\n    <item>com.android.simappdialog</item>\n    <item>com.android.smspush</item>\n    <item>com.android.soundpicker</item>\n    <item>com.android.statementservice</item>\n    <item>com.android.stk</item>\n    <item>com.android.storagemanager</item>\n    <item>com.android.systemui</item>\n    <item>com.android.terminal</item>\n    <item>com.android.traceur</item>\n    <item>com.android.tzdata</item>\n    <item>com.android.vpndialogs</item>\n    <item>com.android.wallpaperbackup</item>\n    <item>com.android.wallpapercropper</item>\n    <item>com.android.wallpaper</item>\n    <item>com.android.wallpaper.livepicker</item>\n    <item>com.android.wallpaperpicker</item>\n    <item>com.android.webview</item>\n    <item>com.android.wifi.resources</item>\n    <item>com.caf.fmradio</item>\n    <item>com.dsi.ant.server</item>\n    <item>com.qti.dpmserviceapp</item>\n    <item>com.qualcomm.embms</item>\n    <item>com.qualcomm.qcrilmsgtunnel</item>\n    <item>com.qualcomm.qti.cne</item>\n    <item>com.qualcomm.qti.poweroffalarm</item>\n    <item>com.qualcomm.qti.telephonyservice</item>\n    <item>com.qualcomm.timeservice</item>\n    <item>com.qualcomm.wfd.service</item>\n    <item>lineageos.platform</item>\n    <item>org.codeaurora.ims</item>\n    <item>org.lineageos.audiofx</item>\n    <item>org.lineageos.eleven</item>\n    <item>org.lineageos.etar</item>\n    <item>org.lineageos.lineageparts</item>\n    <item>org.lineageos.lineagesettings</item>\n    <item>org.lineageos.profiles</item>\n    <item>org.lineageos.recorder</item>\n    <item>org.lineageos.settings</item>\n    <item>org.lineageos.snap</item>\n    <item>org.lineageos.updater</item>\n  </string-array>\n\n  <string-array name=\"critical_apps\">\n    <item>android</item>\n    <item>android.media</item>\n    <item>android.uid.shared</item>\n    <item>android.uid.system</item>\n    <item>android.uid.systemui</item>\n    <item>com.android.settings</item>\n    <item>com.android.systemui</item>\n  </string-array>\n\n  <string-array name=\"extra_app_ops\">\n    <item>RUN_ANY_IN_BACKGROUND</item>\n    <item>RUN_IN_BACKGROUND</item>\n  </string-array>\n\n  <string-array name=\"daemon_uids\">\n    <item>@string/daemon_uid_system</item>\n    <item>@string/daemon_uid_root</item>\n    <item>@string/daemon_uid_adb</item>\n  </string-array>\n\n  <string-array name=\"daemon_uid_values\">\n    <item>@string/daemon_uid_system_val</item>\n    <item>@string/daemon_uid_root_val</item>\n    <item>@string/daemon_uid_adb_val</item>\n  </string-array>\n\n  <string-array name=\"daemon_contexts\">\n    <item>@string/daemon_context_shell</item>\n    <item>@string/daemon_context_default</item>\n  </string-array>\n\n  <string-array name=\"daemon_context_values\">\n    <item>@string/daemon_context_shell_val</item>\n    <item>@string/daemon_context_default_val</item>\n  </string-array>\n\n  <string-array name=\"locales\">\n    <item order=\"0\">@string/locale_system</item>\n    <item order=\"1\">@string/locale_en</item>\n    <item order=\"2\">@string/locale_ru</item>\n    <item order=\"3\">@string/locale_es</item>\n    <item order=\"4\">@string/locale_ar</item>\n    <item order=\"5\">@string/locale_el</item>\n    <item order=\"6\">@string/locale_cn</item>\n    <item order=\"7\">@string/locale_tr</item>\n  </string-array>\n\n  <string-array name=\"locale_codes\">\n    <item order=\"0\" />\n    <item order=\"1\">en</item>\n    <item order=\"2\">ru</item>\n    <item order=\"3\">es</item>\n    <item order=\"4\">ar</item>\n    <item order=\"5\">el</item>\n    <item order=\"6\">zh</item>\n    <item order=\"7\">tr</item>\n  </string-array>\n\n  <array name=\"locale_contributor_name_arrays\">\n    <item order=\"0\">0</item>\n    <item order=\"1\">0</item>\n    <item order=\"2\">@array/locale_contributor_names_ru</item>\n    <item order=\"3\">@array/locale_contributor_names_es</item>\n    <item order=\"4\">@array/locale_contributor_names_ar</item>\n    <item order=\"5\">@array/locale_contributor_names_el</item>\n    <item order=\"6\">@array/locale_contributor_names_cn</item>\n    <item order=\"7\">@array/locale_contributor_names_tr</item>\n  </array>\n\n  <array name=\"locale_contributor_link_arrays\">\n    <item order=\"0\">0</item>\n    <item order=\"1\">0</item>\n    <item order=\"2\">@array/locale_contributor_links_ru</item>\n    <item order=\"3\">@array/locale_contributor_links_es</item>\n    <item order=\"4\">@array/locale_contributor_links_ar</item>\n    <item order=\"5\">@array/locale_contributor_links_el</item>\n    <item order=\"6\">@array/locale_contributor_links_cn</item>\n    <item order=\"7\">@array/locale_contributor_links_tr</item>\n  </array>\n\n  <string-array name=\"locale_contributor_names_ru\">\n    <item order=\"0\">Rikishi007</item>\n    <item order=\"1\">tommynok</item>\n    <item order=\"2\">siebenbrodt</item>\n  </string-array>\n\n  <string-array name=\"locale_contributor_links_ru\">\n    <item order=\"0\">rikishi0071@gmail.com</item>\n    <item order=\"1\">https://crowdin.com/profile/tommynok</item>\n    <item order=\"2\">https://crowdin.com/profile/siebenbrodt</item>\n  </string-array>\n\n  <string-array name=\"locale_contributor_names_es\">\n    <item order=\"0\">LuisAlfredo92</item>\n  </string-array>\n\n  <string-array name=\"locale_contributor_links_es\">\n    <item order=\"0\">https://crowdin.com/profile/luisalfredo92</item>\n  </string-array>\n\n  <string-array name=\"locale_contributor_names_ar\">\n    <item order=\"0\">Rex_sa</item>\n  </string-array>\n\n  <string-array name=\"locale_contributor_links_ar\">\n    <item order=\"0\">https://crowdin.com/profile/rex07</item>\n  </string-array>\n\n  <string-array name=\"locale_contributor_names_el\">\n  </string-array>\n\n  <string-array name=\"locale_contributor_links_el\">\n  </string-array>\n\n  <string-array name=\"locale_contributor_names_cn\">\n    <item order=\"0\">wushidi</item>\n  </string-array>\n\n  <string-array name=\"locale_contributor_links_cn\">\n    <item order=\"0\">https://crowdin.com/profile/wushidia</item>\n  </string-array>\n\n  <string-array name=\"locale_contributor_names_tr\">\n    <item order=\"0\">TolDYuThad</item>\n    <item order=\"1\">preZZente</item>\n    <item order=\"2\">Erkn08</item>\n  </string-array>\n\n  <string-array name=\"locale_contributor_links_tr\">\n    <item order=\"0\">https://crowdin.com/profile/toldyuthad</item>\n    <item order=\"0\">https://crowdin.com/profile/prezzente</item>\n    <item order=\"0\">https://crowdin.com/profile/erkn08</item>\n  </string-array>\n\n  <string-array name=\"theme_colors\">\n    <item>@string/theme_color_green</item>\n    <item>@string/theme_color_blue</item>\n    <item>@string/theme_color_pink</item>\n    <item>@string/theme_color_gray</item>\n  </string-array>\n\n  <string-array name=\"theme_color_values\">\n    <item>@string/theme_color_green_val</item>\n    <item>@string/theme_color_blue_val</item>\n    <item>@string/theme_color_pink_val</item>\n    <item>@string/theme_color_gray_val</item>\n  </string-array>\n\n  <string-array name=\"dark_theme_modes\">\n    <item>@string/dark_theme_mode_system</item>\n    <item>@string/dark_theme_mode_light</item>\n    <item>@string/dark_theme_mode_dark</item>\n  </string-array>\n\n  <string-array name=\"dark_theme_mode_values\">\n    <item>@string/dark_theme_mode_system_val</item>\n    <item>@string/dark_theme_mode_light_val</item>\n    <item>@string/dark_theme_mode_dark_val</item>\n  </string-array>\n\n  <!-- Permission Groups Mapping -->\n\n  <string-array name=\"perm_groups_perms\">\n    <item order=\"1\">android.permission.ACCOUNT_MANAGER</item>\n    <item order=\"2\">android.permission.AUTHENTICATE_ACCOUNTS</item>\n    <item order=\"3\">android.permission.CREATE_USERS</item>\n    <item order=\"4\">android.permission.GET_ACCOUNTS</item>\n    <item order=\"5\">android.permission.GET_ACCOUNTS_PRIVILEGED</item>\n    <item order=\"6\">android.permission.INTERACT_ACROSS_PROFILES</item>\n    <item order=\"7\">android.permission.INTERACT_ACROSS_USERS_FULL</item>\n    <item order=\"8\">android.permission.INTERACT_ACROSS_USERS</item>\n    <item order=\"9\">android.permission.MANAGE_ACCOUNTS</item>\n    <item order=\"10\">android.permission.MANAGE_DEVICE_ADMINS</item>\n    <item order=\"11\">android.permission.MANAGE_USERS</item>\n    <item order=\"12\">android.permission.READ_PROFILE</item>\n    <item order=\"13\">android.permission.USE_CREDENTIALS</item>\n    <item order=\"14\">android.permission.WRITE_PROFILE</item>\n    <item order=\"15\">android.permission.CAPTURE_AUDIO_HOTWORD</item>\n    <item order=\"16\">android.permission.CAPTURE_AUDIO_OUTPUT</item>\n    <item order=\"17\">android.permission.MODIFY_AUDIO_ROUTING</item>\n    <item order=\"18\">android.permission.MODIFY_AUDIO_SETTINGS</item>\n    <item order=\"19\" />\n    <item order=\"20\" />\n    <item order=\"21\" />\n    <item order=\"22\" />\n    <item order=\"23\" />\n    <item order=\"24\" />\n    <item order=\"25\" />\n    <item order=\"26\" />\n    <item order=\"27\" />\n    <item order=\"28\" />\n    <item order=\"29\">android.permission.DOWNLOAD_WITHOUT_NOTIFICATION</item>\n    <item order=\"30\">android.permission.FOREGROUND_SERVICE</item>\n    <item order=\"31\">android.permission.RECEIVE_BOOT_COMPLETED</item>\n    <item order=\"32\">android.permission.RUN_IN_BACKGROUND</item>\n    <item order=\"33\">android.permission.START_ACTIVITIES_FROM_BACKGROUND</item>\n    <item order=\"34\">android.permission.WAKE_LOCK</item>\n    <item order=\"35\" />\n    <item order=\"36\" />\n    <item order=\"36.1\">android.permission.SCHEDULE_EXACT_ALARM</item>\n    <item order=\"37\">android.permission.MANAGE_BIOMETRIC_DIALOG</item>\n    <item order=\"38\">android.permission.MANAGE_BIOMETRIC</item>\n    <item order=\"39\">android.permission.MANAGE_FINGERPRINT</item>\n    <item order=\"40\">android.permission.RESET_FINGERPRINT_LOCKOUT</item>\n    <item order=\"41\">android.permission.USE_BIOMETRIC_INTERNAL</item>\n    <item order=\"42\">android.permission.USE_BIOMETRIC</item>\n    <item order=\"43\">android.permission.USE_FINGERPRINT</item>\n    <item order=\"44\">android.permission.BLUETOOTH_ADMIN</item>\n    <item order=\"45\">android.permission.BLUETOOTH_MAP</item>\n    <item order=\"46\">android.permission.BLUETOOTH</item>\n    <item order=\"47\">android.permission.BLUETOOTH_PRIVILEGED</item>\n    <item order=\"48\">android.permission.BLUETOOTH_STACK</item>\n    <item order=\"49\">android.permission.MANAGE_BLUETOOTH_WHEN_WIRELESS_CONSENT_REQUIRED</item>\n    <item order=\"50\">android.permission.RECEIVE_BLUETOOTH_MAP</item>\n    <item order=\"51\">android.permission.BLUETOOTH_SCAN</item>\n    <item order=\"51.1\">android.permission.BLUETOOTH_ADVERTISE</item>\n    <item order=\"51.2\">android.permission.BLUETOOTH_CONNECT</item>\n    <item order=\"52\">android.permission.READ_CALENDAR</item>\n    <item order=\"53\">android.permission.WRITE_CALENDAR</item>\n    <item order=\"54\">android.permission.READ_CALL_LOG</item>\n    <item order=\"55\">android.permission.WRITE_CALL_LOG</item>\n    <item order=\"56\">android.permission.CAMERA</item>\n    <item order=\"57\">android.permission.MANAGE_CAMERA</item>\n    <item order=\"58\">android.permission.READ_CLIPBOARD_IN_BACKGROUND</item>\n    <item order=\"59\" />\n    <item order=\"60\" />\n    <item order=\"61\">android.permission.READ_CONTACTS</item>\n    <item order=\"62\">android.permission.WRITE_CONTACTS</item>\n    <item order=\"63\">android.permission.USE_DATA_IN_BACKGROUND</item>\n    <item order=\"64\">android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS</item>\n    <item order=\"65\">android.permission.STATUS_BAR</item>\n    <item order=\"66\">android.permission.SYSTEM_ALERT_WINDOW</item>\n    <item order=\"67\" />\n    <item order=\"68\" />\n    <item order=\"69\">android.permission.LOCAL_MAC_ADDRESS</item>\n    <item order=\"70\">android.permission.LOCATION_HARDWARE</item>\n    <item order=\"71\">android.permission.MANAGE_USB</item>\n    <item order=\"72\">android.permission.MASTER_CLEAR</item>\n    <item order=\"73\">android.permission.READ_FRAME_BUFFER</item>\n    <item order=\"74\">android.permission.SET_WALLPAPER_COMPONENT</item>\n    <item order=\"75\">android.permission.SET_WALLPAPER</item>\n    <item order=\"76\">com.android.launcher.permission.INSTALL_SHORTCUT</item>\n    <item order=\"77\">com.android.launcher.permission.UNINSTALL_SHORTCUT</item>\n    <item order=\"78\">android.permission.ACCESS_BACKGROUND_LOCATION</item>\n    <item order=\"79\">android.permission.ACCESS_COARSE_LOCATION</item>\n    <item order=\"80\">android.permission.ACCESS_FINE_LOCATION</item>\n    <item order=\"81\">android.permission.ACCESS_LOCATION_EXTRA_COMMANDS</item>\n    <item order=\"82\" />\n    <item order=\"83\" />\n    <item order=\"84\" />\n    <item order=\"84.1\" />\n    <item order=\"85\">android.permission.BATTERY_STATS</item>\n    <item order=\"86\">android.permission.DUMP</item>\n    <item order=\"87\">android.permission.READ_LOGS</item>\n    <item order=\"88\">android.permission.READ_NETWORK_USAGE_HISTORY</item>\n    <item order=\"89\">android.permission.READ_SYNC_STATS</item>\n    <item order=\"90\">android.permission.UPDATE_DEVICE_STATS</item>\n    <item order=\"90.1\">android.permission.LOADER_USAGE_STATS</item>\n    <item order=\"91\">android.permission.RECORD_AUDIO</item>\n    <item order=\"92\" />\n    <item order=\"93\">android.permission.ACCESS_NETWORK_STATE</item>\n    <item order=\"94\">android.permission.CHANGE_NETWORK_STATE</item>\n    <item order=\"95\">android.permission.CONNECTIVITY_INTERNAL</item>\n    <item order=\"96\">android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS</item>\n    <item order=\"97\">android.permission.INTERNET</item>\n    <item order=\"98\">android.permission.MANAGE_NETWORK_POLICY</item>\n    <item order=\"99\">android.permission.NETWORK_SCAN</item>\n    <item order=\"100\">android.permission.NETWORK_SETTINGS</item>\n    <item order=\"101\">android.permission.TETHER_PRIVILEGED</item>\n    <item order=\"101.1\" />\n    <item order=\"102\">android.permission.ACCESS_NOTIFICATION_POLICY</item>\n    <item order=\"103\">android.permission.ACCESS_NOTIFICATIONS</item>\n    <item order=\"104\">android.permission.MANAGE_NOTIFICATIONS</item>\n    <item order=\"105\">android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME</item>\n    <item order=\"105.1\">android.permission.POST_NOTIFICATIONS</item>\n    <item order=\"105.2\">android.permission.USE_FULL_SCREEN_INTENT</item>\n    <item order=\"106\">android.permission.ACCESS_INSTANT_APPS</item>\n    <item order=\"107\">android.permission.CHANGE_COMPONENT_ENABLED_STATE</item>\n    <item order=\"108\">android.permission.CLEAR_APP_CACHE</item>\n    <item order=\"109\">android.permission.DELETE_PACKAGES</item>\n    <item order=\"110\">android.permission.FORCE_STOP_PACKAGES</item>\n    <item order=\"111\">android.permission.GET_APP_OPS_STATS</item>\n    <item order=\"112\">android.permission.GET_PACKAGE_SIZE</item>\n    <item order=\"113\">android.permission.GET_TASKS</item>\n    <item order=\"114\">android.permission.GRANT_RUNTIME_PERMISSIONS</item>\n    <item order=\"115\">android.permission.INSTALL_PACKAGES</item>\n    <item order=\"116\">android.permission.KILL_BACKGROUND_PROCESSES</item>\n    <item order=\"117\">android.permission.MANAGE_APP_OPS_MODES</item>\n    <item order=\"118\">android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS</item>\n    <item order=\"119\">android.permission.PACKAGE_USAGE_STATS</item>\n    <item order=\"120\">android.permission.QUERY_ALL_PACKAGES</item>\n    <item order=\"121\">android.permission.REAL_GET_TASKS</item>\n    <item order=\"122\">android.permission.REMOVE_TASKS</item>\n    <item order=\"123\">android.permission.REORDER_TASKS</item>\n    <item order=\"124\">android.permission.REQUEST_DELETE_PACKAGES</item>\n    <item order=\"125\">android.permission.REQUEST_INSTALL_PACKAGES</item>\n    <item order=\"126\">android.permission.REVOKE_RUNTIME_PERMISSIONS</item>\n    <item order=\"127\">android.permission.START_TASKS_FROM_RECENTS</item>\n    <item order=\"128\">android.permission.STOP_APP_SWITCHES</item>\n    <item order=\"129\">android.permission.UPDATE_APP_OPS_STATS</item>\n    <item order=\"130\">android.permission.WATCH_APPOPS</item>\n    <item order=\"130.1\" />\n    <item order=\"131\">android.permission.ACCEPT_HANDOVER</item>\n    <item order=\"132\">android.permission.ANSWER_PHONE_CALLS</item>\n    <item order=\"133\">android.permission.CALL_PHONE</item>\n    <item order=\"134\">android.permission.CALL_PRIVILEGED</item>\n    <item order=\"135\">android.permission.CONTROL_INCALL_EXPERIENCE</item>\n    <item order=\"136\">android.permission.MODIFY_PHONE_STATE</item>\n    <item order=\"137\">android.permission.PROCESS_OUTGOING_CALLS</item>\n    <item order=\"138\">android.permission.READ_PHONE_NUMBERS</item>\n    <item order=\"139\">android.permission.READ_PHONE_STATE</item>\n    <item order=\"140\">android.permission.READ_PRECISE_PHONE_STATE</item>\n    <item order=\"141\">android.permission.READ_PRIVILEGED_PHONE_STATE</item>\n    <item order=\"142\">android.permission.USE_SIP</item>\n    <item order=\"143\">com.android.voicemail.permission.ADD_VOICEMAIL</item>\n    <item order=\"144\">com.android.voicemail.permission.READ_VOICEMAIL</item>\n    <item order=\"145\">com.android.voicemail.permission.WRITE_VOICEMAIL</item>\n    <item order=\"145.1\">android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS</item>\n    <item order=\"146\">android.permission.DEVICE_POWER</item>\n    <item order=\"147\">android.permission.REBOOT</item>\n    <item order=\"148\">android.permission.SHUTDOWN</item>\n    <item order=\"148.1\">android.permission.ACTIVITY_RECOGNITION</item>\n    <item order=\"149\">android.permission.BODY_SENSORS</item>\n    <item order=\"150\">android.permission.MANAGE_SENSOR_PRIVACY</item>\n    <item order=\"151\">android.permission.MANAGE_SENSORS</item>\n    <item order=\"152\">android.permission.NFC</item>\n    <item order=\"153\">android.permission.BACKUP</item>\n    <item order=\"154\">android.permission.CHANGE_CONFIGURATION</item>\n    <item order=\"155\">android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST</item>\n    <item order=\"156\">android.permission.DISABLE_KEYGUARD</item>\n    <item order=\"157\">android.permission.MANAGE_ROLE_HOLDERS</item>\n    <item order=\"158\">android.permission.MODIFY_DAY_NIGHT_MODE</item>\n    <item order=\"159\">android.permission.READ_DEVICE_CONFIG</item>\n    <item order=\"160\">android.permission.READ_DREAM_STATE</item>\n    <item order=\"161\">android.permission.READ_SYNC_SETTINGS</item>\n    <item order=\"162\">android.permission.READ_USER_DICTIONARY</item>\n    <item order=\"163\">android.permission.SET_PREFERRED_APPLICATIONS</item>\n    <item order=\"164\">android.permission.SET_TIME</item>\n    <item order=\"165\">android.permission.SET_TIME_ZONE</item>\n    <item order=\"166\">android.permission.WRITE_APN_SETTINGS</item>\n    <item order=\"167\">android.permission.WRITE_DEVICE_CONFIG</item>\n    <item order=\"168\">android.permission.WRITE_DREAM_STATE</item>\n    <item order=\"169\">android.permission.WRITE_SECURE_SETTINGS</item>\n    <item order=\"170\">android.permission.WRITE_SETTINGS</item>\n    <item order=\"171\">android.permission.WRITE_SYNC_SETTINGS</item>\n    <item order=\"172\">android.permission.WRITE_USER_DICTIONARY</item>\n    <item order=\"172.1\" />\n    <item order=\"173\">android.permission.BIND_FINANCIAL_SMS_SERVICE</item>\n    <item order=\"174\">android.permission.BROADCAST_SMS</item>\n    <item order=\"175\">android.permission.CARRIER_FILTER_SMS</item>\n    <item order=\"176\">android.permission.MONITOR_DEFAULT_SMS_PACKAGE</item>\n    <item order=\"177\">android.permission.READ_CELL_BROADCASTS</item>\n    <item order=\"178\">android.permission.READ_SMS</item>\n    <item order=\"179\">android.permission.RECEIVE_EMERGENCY_BROADCAST</item>\n    <item order=\"180\">android.permission.RECEIVE_MMS</item>\n    <item order=\"181\">android.permission.RECEIVE_SMS</item>\n    <item order=\"182\">android.permission.RECEIVE_WAP_PUSH</item>\n    <item order=\"183\">android.permission.SEND_SMS_NO_CONFIRMATION</item>\n    <item order=\"184\">android.permission.SEND_SMS</item>\n    <item order=\"185\">android.permission.SMS_FINANCIAL_TRANSACTIONS</item>\n    <item order=\"186\">android.permission.WRITE_SMS</item>\n    <item order=\"187\" />\n    <item order=\"188\" />\n    <item order=\"189\" />\n    <item order=\"190\">android.permission.ACCESS_MEDIA_LOCATION</item>\n    <item order=\"191\">android.permission.MANAGE_EXTERNAL_STORAGE</item>\n    <item order=\"192\">android.permission.MOUNT_UNMOUNT_FILESYSTEMS</item>\n    <item order=\"193\">android.permission.READ_EXTERNAL_STORAGE</item>\n    <item order=\"194\">android.permission.USE_RESERVED_DISK</item>\n    <item order=\"195\">android.permission.WRITE_EXTERNAL_STORAGE</item>\n    <item order=\"196\">android.permission.WRITE_MEDIA_STORAGE</item>\n    <item order=\"197\" />\n    <item order=\"198\" />\n    <item order=\"199\">android.permission.READ_MEDIA_AUDIO</item>\n    <item order=\"200\">android.permission.READ_MEDIA_IMAGES</item>\n    <item order=\"201\">android.permission.READ_MEDIA_VIDEO</item>\n    <item order=\"202\" />\n    <item order=\"203\" />\n    <item order=\"204\" />\n    <item order=\"204.1\">android.permission.READ_MEDIA_VISUAL_USER_SELECTED</item>\n    <item order=\"205\">android.permission.VIBRATE</item>\n    <item order=\"206\">android.permission.ACCESS_WIFI_STATE</item>\n    <item order=\"207\">android.permission.CHANGE_WIFI_MULTICAST_STATE</item>\n    <item order=\"208\">android.permission.CHANGE_WIFI_STATE</item>\n    <item order=\"209\">android.permission.OVERRIDE_WIFI_CONFIG</item>\n    <item order=\"210\">android.permission.NEARBY_WIFI_DEVICES</item>\n    <item order=\"211\">android.permission.BIND_ACCESSIBILITY_SERVICE</item>\n    <item order=\"211.1\" />\n    <item order=\"211.2\" />\n    <item order=\"211.3\">android.permission.USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER</item>\n    <item order=\"212\">android.permission.INSTANT_APP_FOREGROUND_SERVICE</item>\n    <item order=\"213\">android.permission.MANAGE_IPSEC_TUNNELS</item>\n    <item order=\"215\" />\n  </string-array>\n\n  <string-array name=\"perm_groups_app_ops\">\n    <item order=\"1\" />\n    <item order=\"2\" />\n    <item order=\"3\" />\n    <item order=\"4\">GET_ACCOUNTS</item>\n    <item order=\"5\" />\n    <item order=\"6\">INTERACT_ACROSS_PROFILES</item>\n    <item order=\"7\" />\n    <item order=\"8\" />\n    <item order=\"9\" />\n    <item order=\"10\" />\n    <item order=\"11\" />\n    <item order=\"12\" />\n    <item order=\"13\" />\n    <item order=\"14\" />\n    <item order=\"15\" />\n    <item order=\"16\" />\n    <item order=\"17\" />\n    <item order=\"18\" />\n    <item order=\"19\">AUDIO_ACCESSIBILITY_VOLUME</item>\n    <item order=\"20\">AUDIO_ALARM_VOLUME</item>\n    <item order=\"21\">AUDIO_BLUETOOTH_VOLUME</item>\n    <item order=\"22\">AUDIO_MASTER_VOLUME</item>\n    <item order=\"23\">AUDIO_MEDIA_VOLUME</item>\n    <item order=\"24\">AUDIO_NOTIFICATION_VOLUME</item>\n    <item order=\"25\">AUDIO_RING_VOLUME</item>\n    <item order=\"26\">AUDIO_VOICE_VOLUME</item>\n    <item order=\"27\">PLAY_AUDIO</item>\n    <item order=\"28\">TAKE_AUDIO_FOCUS</item>\n    <item order=\"29\" />\n    <item order=\"30\">START_FOREGROUND</item>\n    <item order=\"31\" />\n    <item order=\"32\" />\n    <item order=\"33\" />\n    <item order=\"34\">WAKE_LOCK</item>\n    <item order=\"35\">RUN_ANY_IN_BACKGROUND</item>\n    <item order=\"36\">RUN_IN_BACKGROUND</item>\n    <item order=\"36.1\">SCHEDULE_EXACT_ALARM</item>\n    <item order=\"37\" />\n    <item order=\"38\" />\n    <item order=\"39\" />\n    <item order=\"40\" />\n    <item order=\"41\" />\n    <item order=\"42\">USE_BIOMETRIC</item>\n    <item order=\"43\">USE_FINGERPRINT</item>\n    <item order=\"44\" />\n    <item order=\"45\" />\n    <item order=\"46\" />\n    <item order=\"47\" />\n    <item order=\"48\" />\n    <item order=\"49\" />\n    <item order=\"50\" />\n    <item order=\"51\">BLUETOOTH_SCAN</item>\n    <item order=\"51.1\">BLUETOOTH_ADVERTISE</item>\n    <item order=\"51.2\">BLUETOOTH_CONNECT</item>\n    <item order=\"52\">READ_CALENDAR</item>\n    <item order=\"53\">WRITE_CALENDAR</item>\n    <item order=\"54\">READ_CALL_LOG</item>\n    <item order=\"55\">WRITE_CALL_LOG</item>\n    <item order=\"56\">CAMERA</item>\n    <item order=\"57\" />\n    <item order=\"58\" />\n    <item order=\"59\">READ_CLIPBOARD</item>\n    <item order=\"60\">WRITE_CLIPBOARD</item>\n    <item order=\"61\">READ_CONTACTS</item>\n    <item order=\"62\">WRITE_CONTACTS</item>\n    <item order=\"63\" />\n    <item order=\"64\" />\n    <item order=\"65\" />\n    <item order=\"66\">SYSTEM_ALERT_WINDOW</item>\n    <item order=\"67\">TOAST_WINDOW</item>\n    <item order=\"68\">TURN_ON_SCREEN</item>\n    <item order=\"69\" />\n    <item order=\"70\" />\n    <item order=\"71\" />\n    <item order=\"72\" />\n    <item order=\"73\" />\n    <item order=\"74\" />\n    <item order=\"75\" />\n    <item order=\"76\" />\n    <item order=\"77\" />\n    <item order=\"78\" />\n    <item order=\"79\">COARSE_LOCATION</item>\n    <item order=\"80\">FINE_LOCATION</item>\n    <item order=\"81\" />\n    <item order=\"82\">GPS</item>\n    <item order=\"83\">MONITOR_HIGH_POWER_LOCATION</item>\n    <item order=\"84\">MONITOR_LOCATION</item>\n    <item order=\"84.1\">MOCK_LOCATION</item>\n    <item order=\"85\" />\n    <item order=\"86\" />\n    <item order=\"87\" />\n    <item order=\"88\" />\n    <item order=\"89\" />\n    <item order=\"90\" />\n    <item order=\"90.1\">LOADER_USAGE_STATS</item>\n    <item order=\"91\">RECORD_AUDIO</item>\n    <item order=\"92\">MUTE_MICROPHONE</item>\n    <item order=\"93\" />\n    <item order=\"94\" />\n    <item order=\"95\" />\n    <item order=\"96\" />\n    <item order=\"97\" />\n    <item order=\"98\" />\n    <item order=\"99\" />\n    <item order=\"100\" />\n    <item order=\"101\" />\n    <item order=\"101.1\">ACTIVATE_VPN</item>\n    <item order=\"102\" />\n    <item order=\"103\">ACCESS_NOTIFICATIONS</item>\n    <item order=\"104\" />\n    <item order=\"105\" />\n    <item order=\"105.1\">POST_NOTIFICATION</item>\n    <item order=\"105.2\">USE_FULL_SCREEN_INTENT</item>\n    <item order=\"106\" />\n    <item order=\"107\" />\n    <item order=\"108\" />\n    <item order=\"109\" />\n    <item order=\"110\" />\n    <item order=\"111\" />\n    <item order=\"112\" />\n    <item order=\"113\" />\n    <item order=\"114\" />\n    <item order=\"115\" />\n    <item order=\"116\" />\n    <item order=\"117\" />\n    <item order=\"118\" />\n    <item order=\"119\">GET_USAGE_STATS</item>\n    <item order=\"120\" />\n    <item order=\"121\" />\n    <item order=\"122\" />\n    <item order=\"123\" />\n    <item order=\"124\">REQUEST_DELETE_PACKAGES</item>\n    <item order=\"125\">REQUEST_INSTALL_PACKAGES</item>\n    <item order=\"126\" />\n    <item order=\"127\" />\n    <item order=\"128\" />\n    <item order=\"129\" />\n    <item order=\"130\" />\n    <item order=\"130.1\">AUTO_REVOKE_PERMISSIONS_IF_UNUSED</item>\n    <item order=\"131\">ACCEPT_HANDOVER</item>\n    <item order=\"132\">ANSWER_PHONE_CALLS</item>\n    <item order=\"133\">CALL_PHONE</item>\n    <item order=\"134\" />\n    <item order=\"135\" />\n    <item order=\"136\" />\n    <item order=\"137\">PROCESS_OUTGOING_CALLS</item>\n    <item order=\"138\">READ_PHONE_NUMBERS</item>\n    <item order=\"139\">READ_PHONE_STATE</item>\n    <item order=\"140\" />\n    <item order=\"141\" />\n    <item order=\"142\">USE_SIP</item>\n    <item order=\"143\">ADD_VOICEMAIL</item>\n    <item order=\"144\" />\n    <item order=\"145\" />\n    <item order=\"145.1\" />\n    <item order=\"146\" />\n    <item order=\"147\" />\n    <item order=\"148\" />\n    <item order=\"148.1\">ACTIVITY_RECOGNITION</item>\n    <item order=\"149\">BODY_SENSORS</item>\n    <item order=\"150\" />\n    <item order=\"151\" />\n    <item order=\"152\" />\n    <item order=\"153\" />\n    <item order=\"154\" />\n    <item order=\"155\" />\n    <item order=\"156\" />\n    <item order=\"157\" />\n    <item order=\"158\" />\n    <item order=\"159\" />\n    <item order=\"160\" />\n    <item order=\"161\" />\n    <item order=\"162\" />\n    <item order=\"163\" />\n    <item order=\"164\" />\n    <item order=\"165\" />\n    <item order=\"166\" />\n    <item order=\"167\" />\n    <item order=\"168\" />\n    <item order=\"169\" />\n    <item order=\"170\">WRITE_SETTINGS</item>\n    <item order=\"171\" />\n    <item order=\"172\" />\n    <item order=\"172.1\">ACCESS_RESTRICTED_SETTINGS</item>\n    <item order=\"173\" />\n    <item order=\"174\" />\n    <item order=\"175\" />\n    <item order=\"176\" />\n    <item order=\"177\">READ_CELL_BROADCASTS</item>\n    <item order=\"178\">READ_SMS</item>\n    <item order=\"179\">RECEIVE_EMERGECY_SMS</item>\n    <item order=\"180\">RECEIVE_MMS</item>\n    <item order=\"181\">RECEIVE_SMS</item>\n    <item order=\"182\">RECEIVE_WAP_PUSH</item>\n    <item order=\"183\" />\n    <item order=\"184\">SEND_SMS</item>\n    <item order=\"185\">SMS_FINANCIAL_TRANSACTIONS</item>\n    <item order=\"186\" />\n    <item order=\"187\">READ_ICC_SMS</item>\n    <item order=\"188\">WRITE_ICC_SMS</item>\n    <item order=\"189\">WRITE_SMS</item>\n    <item order=\"190\">ACCESS_MEDIA_LOCATION</item>\n    <item order=\"191\">MANAGE_EXTERNAL_STORAGE</item>\n    <item order=\"192\" />\n    <item order=\"193\">READ_EXTERNAL_STORAGE</item>\n    <item order=\"194\" />\n    <item order=\"195\">WRITE_EXTERNAL_STORAGE</item>\n    <item order=\"196\" />\n    <item order=\"197\">LEGACY_STORAGE</item>\n    <item order=\"198\">NO_ISOLATED_STORAGE</item>\n    <item order=\"199\">READ_MEDIA_AUDIO</item>\n    <item order=\"200\">READ_MEDIA_IMAGES</item>\n    <item order=\"201\">READ_MEDIA_VIDEO</item>\n    <item order=\"202\">WRITE_MEDIA_AUDIO</item>\n    <item order=\"203\">WRITE_MEDIA_IMAGES</item>\n    <item order=\"204\">WRITE_MEDIA_VIDEO</item>\n    <item order=\"204.1\">READ_MEDIA_VISUAL_USER_SELECTED</item>\n    <item order=\"205\">VIBRATE</item>\n    <item order=\"206\">WIFI_SCAN</item>\n    <item order=\"207\" />\n    <item order=\"208\">CHANGE_WIFI_STATE</item>\n    <item order=\"209\" />\n    <item order=\"210\">NEARBY_WIFI_DEVICES</item>\n    <item order=\"211\">BIND_ACCESSIBILITY_SERVICE</item>\n    <item order=\"211.1\">ACCESS_ACCESSIBILITY</item>\n    <item order=\"211.2\">READ_DEVICE_IDENTIFIERS</item>\n    <item order=\"211.3\">USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER</item>\n    <item order=\"212\">INSTANT_APP_START_FOREGROUND</item>\n    <item order=\"213\">MANAGE_IPSEC_TUNNELS</item>\n    <item order=\"215\">PROJECT_MEDIA</item>\n  </string-array>\n\n  <array name=\"perm_groups_icons\">\n    <item order=\"1\">@drawable/g_accounts</item>\n    <item order=\"2\">@drawable/g_accounts</item>\n    <item order=\"3\">@drawable/g_accounts</item>\n    <item order=\"4\">@drawable/g_accounts</item>\n    <item order=\"5\">@drawable/g_accounts</item>\n    <item order=\"6\">@drawable/g_accounts</item>\n    <item order=\"7\">@drawable/g_accounts</item>\n    <item order=\"8\">@drawable/g_accounts</item>\n    <item order=\"9\">@drawable/g_accounts</item>\n    <item order=\"10\">@drawable/g_accounts</item>\n    <item order=\"11\">@drawable/g_accounts</item>\n    <item order=\"12\">@drawable/g_accounts</item>\n    <item order=\"13\">@drawable/g_accounts</item>\n    <item order=\"14\">@drawable/g_accounts</item>\n    <item order=\"15\">@drawable/g_audio</item>\n    <item order=\"16\">@drawable/g_audio</item>\n    <item order=\"17\">@drawable/g_audio</item>\n    <item order=\"18\">@drawable/g_audio</item>\n    <item order=\"19\">@drawable/g_audio</item>\n    <item order=\"20\">@drawable/g_audio</item>\n    <item order=\"21\">@drawable/g_audio</item>\n    <item order=\"22\">@drawable/g_audio</item>\n    <item order=\"23\">@drawable/g_audio</item>\n    <item order=\"24\">@drawable/g_audio</item>\n    <item order=\"25\">@drawable/g_audio</item>\n    <item order=\"26\">@drawable/g_audio</item>\n    <item order=\"27\">@drawable/g_audio</item>\n    <item order=\"28\">@drawable/g_audio</item>\n    <item order=\"29\">@drawable/g_background</item>\n    <item order=\"30\">@drawable/g_background</item>\n    <item order=\"31\">@drawable/g_background</item>\n    <item order=\"32\">@drawable/g_background</item>\n    <item order=\"33\">@drawable/g_background</item>\n    <item order=\"34\">@drawable/g_background</item>\n    <item order=\"35\">@drawable/g_background</item>\n    <item order=\"36\">@drawable/g_background</item>\n    <item order=\"36.1\">@drawable/g_background</item>\n    <item order=\"37\">@drawable/g_biometrics</item>\n    <item order=\"38\">@drawable/g_biometrics</item>\n    <item order=\"39\">@drawable/g_biometrics</item>\n    <item order=\"40\">@drawable/g_biometrics</item>\n    <item order=\"41\">@drawable/g_biometrics</item>\n    <item order=\"42\">@drawable/g_biometrics</item>\n    <item order=\"43\">@drawable/g_biometrics</item>\n    <item order=\"44\">@drawable/g_bluetooth</item>\n    <item order=\"45\">@drawable/g_bluetooth</item>\n    <item order=\"46\">@drawable/g_bluetooth</item>\n    <item order=\"47\">@drawable/g_bluetooth</item>\n    <item order=\"48\">@drawable/g_bluetooth</item>\n    <item order=\"49\">@drawable/g_bluetooth</item>\n    <item order=\"50\">@drawable/g_bluetooth</item>\n    <item order=\"51\">@drawable/g_bluetooth</item>\n    <item order=\"51.1\">@drawable/g_bluetooth</item>\n    <item order=\"51.2\">@drawable/g_bluetooth</item>\n    <item order=\"52\">@drawable/g_calendar</item>\n    <item order=\"53\">@drawable/g_calendar</item>\n    <item order=\"54\">@drawable/g_calllog</item>\n    <item order=\"55\">@drawable/g_calllog</item>\n    <item order=\"56\">@drawable/g_camera</item>\n    <item order=\"57\">@drawable/g_camera</item>\n    <item order=\"58\">@drawable/g_clipboard</item>\n    <item order=\"59\">@drawable/g_clipboard</item>\n    <item order=\"60\">@drawable/g_clipboard</item>\n    <item order=\"61\">@drawable/g_contacts</item>\n    <item order=\"62\">@drawable/g_contacts</item>\n    <item order=\"63\">@drawable/g_data</item>\n    <item order=\"64\">@drawable/g_display</item>\n    <item order=\"65\">@drawable/g_display</item>\n    <item order=\"66\">@drawable/g_display</item>\n    <item order=\"67\">@drawable/g_display</item>\n    <item order=\"68\">@drawable/g_display</item>\n    <item order=\"69\">@drawable/g_hardware</item>\n    <item order=\"70\">@drawable/g_hardware</item>\n    <item order=\"71\">@drawable/g_hardware</item>\n    <item order=\"72\">@drawable/g_hardware</item>\n    <item order=\"73\">@drawable/g_hardware</item>\n    <item order=\"74\">@drawable/g_home</item>\n    <item order=\"75\">@drawable/g_home</item>\n    <item order=\"76\">@drawable/g_home</item>\n    <item order=\"77\">@drawable/g_home</item>\n    <item order=\"78\">@drawable/g_location</item>\n    <item order=\"79\">@drawable/g_location</item>\n    <item order=\"80\">@drawable/g_location</item>\n    <item order=\"81\">@drawable/g_location</item>\n    <item order=\"82\">@drawable/g_location</item>\n    <item order=\"83\">@drawable/g_location</item>\n    <item order=\"84\">@drawable/g_location</item>\n    <item order=\"84.1\">@drawable/g_location</item>\n    <item order=\"85\">@drawable/g_log</item>\n    <item order=\"86\">@drawable/g_log</item>\n    <item order=\"87\">@drawable/g_log</item>\n    <item order=\"88\">@drawable/g_log</item>\n    <item order=\"89\">@drawable/g_log</item>\n    <item order=\"90\">@drawable/g_log</item>\n    <item order=\"90.1\">@drawable/g_log</item>\n    <item order=\"91\">@drawable/g_mic</item>\n    <item order=\"92\">@drawable/g_mic</item>\n    <item order=\"93\">@drawable/g_network</item>\n    <item order=\"94\">@drawable/g_network</item>\n    <item order=\"95\">@drawable/g_network</item>\n    <item order=\"96\">@drawable/g_network</item>\n    <item order=\"97\">@drawable/g_network</item>\n    <item order=\"98\">@drawable/g_network</item>\n    <item order=\"99\">@drawable/g_network</item>\n    <item order=\"100\">@drawable/g_network</item>\n    <item order=\"101\">@drawable/g_network</item>\n    <item order=\"101.1\">@drawable/g_network</item>\n    <item order=\"102\">@drawable/g_notif</item>\n    <item order=\"103\">@drawable/g_notif</item>\n    <item order=\"104\">@drawable/g_notif</item>\n    <item order=\"105\">@drawable/g_notif</item>\n    <item order=\"105.1\">@drawable/g_notif</item>\n    <item order=\"105.2\">@drawable/g_notif</item>\n    <item order=\"106\">@drawable/g_package</item>\n    <item order=\"107\">@drawable/g_package</item>\n    <item order=\"108\">@drawable/g_package</item>\n    <item order=\"109\">@drawable/g_package</item>\n    <item order=\"110\">@drawable/g_package</item>\n    <item order=\"111\">@drawable/g_package</item>\n    <item order=\"112\">@drawable/g_package</item>\n    <item order=\"113\">@drawable/g_package</item>\n    <item order=\"114\">@drawable/g_package</item>\n    <item order=\"115\">@drawable/g_package</item>\n    <item order=\"116\">@drawable/g_package</item>\n    <item order=\"117\">@drawable/g_package</item>\n    <item order=\"118\">@drawable/g_package</item>\n    <item order=\"119\">@drawable/g_package</item>\n    <item order=\"120\">@drawable/g_package</item>\n    <item order=\"121\">@drawable/g_package</item>\n    <item order=\"122\">@drawable/g_package</item>\n    <item order=\"123\">@drawable/g_package</item>\n    <item order=\"124\">@drawable/g_package</item>\n    <item order=\"125\">@drawable/g_package</item>\n    <item order=\"126\">@drawable/g_package</item>\n    <item order=\"127\">@drawable/g_package</item>\n    <item order=\"128\">@drawable/g_package</item>\n    <item order=\"129\">@drawable/g_package</item>\n    <item order=\"130\">@drawable/g_package</item>\n    <item order=\"130.1\">@drawable/g_package</item>\n    <item order=\"131\">@drawable/g_phone</item>\n    <item order=\"132\">@drawable/g_phone</item>\n    <item order=\"133\">@drawable/g_phone</item>\n    <item order=\"134\">@drawable/g_phone</item>\n    <item order=\"135\">@drawable/g_phone</item>\n    <item order=\"136\">@drawable/g_phone</item>\n    <item order=\"137\">@drawable/g_phone</item>\n    <item order=\"138\">@drawable/g_phone</item>\n    <item order=\"139\">@drawable/g_phone</item>\n    <item order=\"140\">@drawable/g_phone</item>\n    <item order=\"141\">@drawable/g_phone</item>\n    <item order=\"142\">@drawable/g_phone</item>\n    <item order=\"143\">@drawable/g_phone</item>\n    <item order=\"144\">@drawable/g_phone</item>\n    <item order=\"145\">@drawable/g_phone</item>\n    <item order=\"145.1\">@drawable/g_phone</item>\n    <item order=\"146\">@drawable/g_power</item>\n    <item order=\"147\">@drawable/g_power</item>\n    <item order=\"148\">@drawable/g_power</item>\n    <item order=\"148.1\">@drawable/g_sensors</item>\n    <item order=\"149\">@drawable/g_sensors</item>\n    <item order=\"150\">@drawable/g_sensors</item>\n    <item order=\"151\">@drawable/g_sensors</item>\n    <item order=\"152\">@drawable/g_sensors</item>\n    <item order=\"153\">@drawable/g_settings</item>\n    <item order=\"154\">@drawable/g_settings</item>\n    <item order=\"155\">@drawable/g_settings</item>\n    <item order=\"156\">@drawable/g_settings</item>\n    <item order=\"157\">@drawable/g_settings</item>\n    <item order=\"158\">@drawable/g_settings</item>\n    <item order=\"159\">@drawable/g_settings</item>\n    <item order=\"160\">@drawable/g_settings</item>\n    <item order=\"161\">@drawable/g_settings</item>\n    <item order=\"162\">@drawable/g_settings</item>\n    <item order=\"163\">@drawable/g_settings</item>\n    <item order=\"164\">@drawable/g_settings</item>\n    <item order=\"165\">@drawable/g_settings</item>\n    <item order=\"166\">@drawable/g_settings</item>\n    <item order=\"167\">@drawable/g_settings</item>\n    <item order=\"168\">@drawable/g_settings</item>\n    <item order=\"169\">@drawable/g_settings</item>\n    <item order=\"170\">@drawable/g_settings</item>\n    <item order=\"171\">@drawable/g_settings</item>\n    <item order=\"172\">@drawable/g_settings</item>\n    <item order=\"172.1\">@drawable/g_settings</item>\n    <item order=\"173\">@drawable/g_sms</item>\n    <item order=\"174\">@drawable/g_sms</item>\n    <item order=\"175\">@drawable/g_sms</item>\n    <item order=\"176\">@drawable/g_sms</item>\n    <item order=\"177\">@drawable/g_sms</item>\n    <item order=\"178\">@drawable/g_sms</item>\n    <item order=\"179\">@drawable/g_sms</item>\n    <item order=\"180\">@drawable/g_sms</item>\n    <item order=\"181\">@drawable/g_sms</item>\n    <item order=\"182\">@drawable/g_sms</item>\n    <item order=\"183\">@drawable/g_sms</item>\n    <item order=\"184\">@drawable/g_sms</item>\n    <item order=\"185\">@drawable/g_sms</item>\n    <item order=\"186\">@drawable/g_sms</item>\n    <item order=\"187\">@drawable/g_sms</item>\n    <item order=\"188\">@drawable/g_sms</item>\n    <item order=\"189\">@drawable/g_sms</item>\n    <item order=\"190\">@drawable/g_storage</item>\n    <item order=\"191\">@drawable/g_storage</item>\n    <item order=\"192\">@drawable/g_storage</item>\n    <item order=\"193\">@drawable/g_storage</item>\n    <item order=\"194\">@drawable/g_storage</item>\n    <item order=\"195\">@drawable/g_storage</item>\n    <item order=\"196\">@drawable/g_storage</item>\n    <item order=\"197\">@drawable/g_storage</item>\n    <item order=\"198\">@drawable/g_storage</item>\n    <item order=\"199\">@drawable/g_storage</item>\n    <item order=\"200\">@drawable/g_storage</item>\n    <item order=\"201\">@drawable/g_storage</item>\n    <item order=\"202\">@drawable/g_storage</item>\n    <item order=\"203\">@drawable/g_storage</item>\n    <item order=\"204\">@drawable/g_storage</item>\n    <item order=\"204.1\">@drawable/g_storage</item>\n    <item order=\"205\">@drawable/g_vibration</item>\n    <item order=\"206\">@drawable/g_wifi</item>\n    <item order=\"207\">@drawable/g_wifi</item>\n    <item order=\"208\">@drawable/g_wifi</item>\n    <item order=\"209\">@drawable/g_wifi</item>\n    <item order=\"210\">@drawable/g_wifi</item>\n    <item order=\"211\">@drawable/accessibility</item>\n    <item order=\"211.1\">@drawable/accessibility</item>\n    <item order=\"211.2\">@drawable/privacy_policy</item>\n    <item order=\"211.3\">@drawable/privacy_policy</item>\n    <item order=\"212\">0</item>\n    <item order=\"213\">0</item>\n    <item order=\"215\">0</item>\n  </array>\n\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values/attrs.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n\n  <!--Theme unique attributes-->\n  <attr name=\"accentColor\" format=\"color\" />\n  <attr name=\"accentTrans5Color\" format=\"color\" />\n  <attr name=\"accentTrans10Color\" format=\"color\" />\n  <attr name=\"accentTrans20Color\" format=\"color\" />\n  <attr name=\"accentTrans50Color\" format=\"color\" />\n  <attr name=\"accentTrans75Color\" format=\"color\" />\n\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values/colors.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n  <color name=\"green\">#007F7F</color>\n  <color name=\"greenTrans5\">#0D007F7F</color>\n  <color name=\"greenTrans10\">#1A007F7F</color>\n  <color name=\"greenTrans20\">#33007F7F</color>\n  <color name=\"greenTrans50\">#80007F7F</color>\n  <color name=\"greenTrans75\">#BF007F7F</color>\n\n  <color name=\"sharpText\">@android:color/black</color>\n\n  <color name=\"orangeState\">#FFFFC107</color>\n\n  <color name=\"darkTransBg\">#80000000</color>\n\n  <!-- On Android 9- attr color doesn't work at some places. -->\n  <color name=\"colorControlNormal\">#919191</color>\n\n  <color name=\"colorControlNormalA50\">#80919191</color>\n\n  <!-- Slim switch disabled state. -->\n  <color name=\"colorControlNormalDisabled\">#D2D2D2</color>\n\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values/pref_keys_foss.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources xmlns:tools=\"http://schemas.android.com/tools\">\n  <!-- NOTE:\n    If pref name equals its value + \"_key\":\n    - Pref values starting with \"pref_filter_\" are cleared on \"Reset to Defaults\".\n    - Pref values starting with \"pref_\" and not ending with \"_enc\" are backed up and restored. -->\n\n  <!-- MainActivity Preferences -->\n  <eat-comment />\n  <string name=\"crowdin_comment_break_pref_keys_1\" translatable=\"false\">Crowdin comment break</string>\n  <string name=\"pref_main_crash_report_ts_enc_key\" translatable=\"false\">pref_main_crash_report_ts_enc</string>\n  <string name=\"pref_main_ask_for_feedback_ts_enc_key\" translatable=\"false\">pref_main_ask_for_feedback_ts_enc</string>\n  <string name=\"pref_main_feedback_app_version_enc_key\" translatable=\"false\">pref_main_feedback_app_version_enc</string>\n  <string name=\"pref_main_warned_unsupported_sdk_enc_key\" translatable=\"false\">pref_main_warned_unsupported_sdk_enc</string>\n\n  <!-- MainActivity Preferences corresponding to default values -->\n  <string name=\"crowdin_comment_break_pref_keys_2\" translatable=\"false\">Crowdin comment break</string>\n  <string name=\"pref_main_app_launch_count_enc_key\" translatable=\"false\">pref_main_app_launch_count_enc</string>\n  <integer name=\"pref_main_app_launch_count_enc_default\">0</integer>\n  <string name=\"pref_main_ask_for_notif_perm_ts_enc_key\" translatable=\"false\">pref_main_ask_for_notif_perm_ts_enc</string>\n\n  <string name=\"pref_main_deep_search_key\" translatable=\"false\">pref_main_deep_search</string>\n  <bool name=\"pref_main_deep_search_default\">false</bool>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_main_deep_search_title\">Deep search</string>\n  <string name=\"pref_main_deep_search_summary\">Do search in permissions list instead of apps list</string>\n\n  <string name=\"pref_main_case_sensitive_search_key\" translatable=\"false\">pref_main_case_sensitive_search</string>\n  <bool name=\"pref_main_case_sensitive_search_default\">false</bool>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_main_case_sensitive_search_title\">Case sensitive</string>\n  <string name=\"pref_main_case_sensitive_search_summary\">Match string only with the same case</string>\n\n  <string name=\"pref_main_crash_report_count_enc_key\" translatable=\"false\">pref_main_crash_report_count_enc</string>\n  <integer name=\"pref_main_crash_report_count_enc_default\">1</integer>\n  <string name=\"pref_main_warn_dang_change_enc_key\" translatable=\"false\">pref_main_warn_dang_change_enc</string>\n  <bool name=\"pref_main_warn_dang_change_enc_default\">true</bool>\n\n  <!-- Privileges / Daemon -->\n  <string name=\"crowdin_comment_break_pref_keys_3\" translatable=\"false\">Crowdin comment break</string>\n  <string name=\"pref_privs_root_daemon_port_enc_key\" translatable=\"false\">pref_privs_root_daemon_port_enc</string>\n  <integer name=\"pref_privs_root_daemon_port_enc_default\">0</integer>\n\n  <string name=\"pref_privs_adb_daemon_port_enc_key\" translatable=\"false\">pref_privs_adb_daemon_port_enc</string>\n  <integer name=\"pref_privs_adb_daemon_port_enc_default\">0</integer>\n\n  <string name=\"pref_privs_adb_port_key\" translatable=\"false\">pref_privs_adb_port</string>\n  <integer name=\"pref_privs_adb_port_default\">5555</integer>\n\n  <string name=\"pref_privs_root_enabled_enc_key\" translatable=\"false\">pref_privs_root_enabled_enc</string>\n  <bool name=\"pref_privs_root_enabled_enc_default\">false</bool>\n\n  <string name=\"pref_privs_adb_enabled_enc_key\" translatable=\"false\">pref_privs_adb_enabled_enc</string>\n  <bool name=\"pref_privs_adb_enabled_enc_default\">false</bool>\n\n  <string name=\"pref_privs_daemon_start_ts_enc_key\" translatable=\"false\">pref_privs_daemon_start_ts_enc</string>\n\n  <string name=\"pref_privs_daemon_port_enc_key\" translatable=\"false\">pref_privs_daemon_port_enc</string>\n  <integer name=\"pref_privs_daemon_port_enc_default\">0</integer>\n\n  <string name=\"pref_privs_app_privs_check_ts_enc_key\" translatable=\"false\">pref_privs_app_privs_check_ts_enc</string>\n\n  <!-- Advanced Settings -->\n  <string name=\"crowdin_comment_break_pref_keys_4\" translatable=\"false\">Crowdin comment break</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_allow_critical_changes_title\">Allow critical changes</string>\n  <string name=\"pref_adv_settings_allow_critical_changes_summary\">Make changes to critical permissions and framework apps</string>\n  <string name=\"pref_adv_settings_allow_critical_changes_key\" translatable=\"false\">pref_adv_settings_allow_critical_changes</string>\n  <bool name=\"pref_adv_settings_allow_critical_changes_default\">false</bool>\n\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_exit_on_app_death_title\">Auto-stop daemon</string>\n  <string name=\"pref_adv_settings_exit_on_app_death_summary\">Stop the privileged daemon when the app is killed</string>\n  <string name=\"pref_adv_settings_exit_on_app_death_key\" translatable=\"false\">pref_adv_settings_exit_on_app_death</string>\n  <bool name=\"pref_adv_settings_exit_on_app_death_default\">false</bool>\n\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_perm_refs_cat_title\">Permission References</string>\n\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_unique_ref_app_op_uid_mode_title\">AppOp UID mode reference</string>\n  <string name=\"pref_adv_settings_unique_ref_app_op_uid_mode_summary\">Use different permission reference for AppOp in UID mode</string>\n  <string name=\"pref_adv_settings_unique_ref_app_op_uid_mode_key\" translatable=\"false\">pref_adv_settings_unique_ref_app_op_uid_mode</string>\n  <bool name=\"pref_adv_settings_unique_ref_app_op_uid_mode_default\">false</bool>\n\n  <string name=\"pref_tmp_fix_perm_db_enc_key\" translatable=\"false\">pref_tmp_fix_perm_db_enc</string>\n\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_unique_ref_sec_users_title\">Secondary user references</string>\n  <string name=\"pref_adv_settings_unique_ref_sec_users_summary\">Use different permission references for secondary users / profiles</string>\n  <string name=\"pref_adv_settings_unique_ref_sec_users_key\" translatable=\"false\">pref_adv_settings_unique_ref_sec_users</string>\n  <bool name=\"pref_adv_settings_unique_ref_sec_users_default\">false</bool>\n\n  <string name=\"pref_adv_settings_reset_perm_db_title\">Reset / cleanup references</string>\n  <string name=\"pref_adv_settings_reset_perm_db_summary\">Reset or cleanup permissions references database</string>\n  <string name=\"pref_adv_settings_reset_perm_db_key\" translatable=\"false\">pref_adv_settings_reset_perm_db</string>\n\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_root_cat_title\">Root</string>\n\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_daemon_uid_title\">Daemon UID</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_daemon_uid_title2\">Daemon UID: %s</string>\n  <string name=\"pref_adv_settings_daemon_uid_summary\">Daemon\\'s UNIX user identifier</string>\n  <string name=\"pref_adv_settings_daemon_uid_key\" translatable=\"false\">pref_adv_settings_daemon_uid</string>\n  <string name=\"pref_adv_settings_daemon_uid_default\" translatable=\"false\">@string/daemon_uid_system_val</string>\n\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_daemon_context_title\">Daemon context</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_daemon_context_title2\">Daemon context: %s</string>\n  <string name=\"pref_adv_settings_daemon_context_summary\">SELinux context of the daemon process</string>\n  <string name=\"pref_adv_settings_daemon_context_key\" translatable=\"false\">pref_adv_settings_daemon_context</string>\n  <string name=\"pref_adv_settings_daemon_context_default\" translatable=\"false\">@string/daemon_context_default_val</string>\n\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_su_exe_path_title\">Superuser binary location</string>\n  <string name=\"pref_adv_settings_su_exe_path_key\" translatable=\"false\">pref_adv_settings_su_exe_path</string>\n  <string name=\"pref_adv_settings_su_exe_path_default\" translatable=\"false\" />\n\n  <!-- FilterSettingsActivity -->\n  <string name=\"crowdin_comment_break_pref_keys_5\" translatable=\"false\">Crowdin comment break</string>\n  <string name=\"pref_filter_master_switch_key\" translatable=\"false\">pref_filter_master_switch</string>\n  <bool name=\"pref_filter_master_switch_default\">true</bool>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_packages_cat_title\">Packages</string>\n  <string name=\"pref_filter_exclude_no_icon_apps_key\" translatable=\"false\">pref_filter_exclude_no_icon_apps</string>\n  <bool name=\"pref_filter_exclude_no_icon_apps_default\">true</bool>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_no_icon_apps_title\">Exclude apps without icons</string>\n  <string name=\"pref_filter_exclude_user_apps_key\" translatable=\"false\">pref_filter_exclude_user_apps</string>\n  <bool name=\"pref_filter_exclude_user_apps_default\">false</bool>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_user_apps_title\">Exclude user apps</string>\n  <string name=\"pref_filter_exclude_system_apps_key\" translatable=\"false\">pref_filter_exclude_system_apps</string>\n  <bool name=\"pref_filter_exclude_system_apps_default\">false</bool>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_system_apps_title\">Exclude system apps</string>\n  <string name=\"pref_filter_exclude_framework_apps_key\" translatable=\"false\">pref_filter_exclude_framework_apps</string>\n  <bool name=\"pref_filter_exclude_framework_apps_default\">true</bool>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_framework_apps_title\">Exclude framework apps</string>\n  <string name=\"pref_filter_exclude_disabled_apps_key\" translatable=\"false\">pref_filter_exclude_disabled_apps</string>\n  <bool name=\"pref_filter_exclude_disabled_apps_default\">true</bool>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_disabled_apps_title\">Exclude disabled apps</string>\n  <string name=\"pref_filter_exclude_no_perms_apps_key\" translatable=\"false\">pref_filter_exclude_no_perms_apps</string>\n  <bool name=\"pref_filter_exclude_no_perms_apps_default\">true</bool>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_no_perms_apps_title\">Exclude apps without permissions</string>\n  <string name=\"pref_filter_manually_exclude_apps_key\" translatable=\"false\">pref_filter_manually_exclude_apps</string>\n  <bool name=\"pref_filter_manually_exclude_apps_default\">true</bool>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_manually_exclude_apps_title\">Manually exclude apps</string>\n  <string name=\"pref_filter_excluded_apps_key\" translatable=\"false\">pref_filter_excluded_apps</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_excluded_apps_title\">Manually excluded apps list</string>\n\n  <!-- PreferencesActivity permissions titles, keys and defaults -->\n  <string name=\"crowdin_comment_break_pref_keys_6\" translatable=\"false\">Crowdin comment break</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_permissions_cat_title\">Permissions</string>\n  <string name=\"pref_filter_exclude_not_changeable_perms_key\" translatable=\"false\">pref_filter_exclude_not_changeable_perms</string>\n  <bool name=\"pref_filter_exclude_not_changeable_perms_default\">true</bool>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_not_changeable_perms_title\">Exclude permissions not changeable</string>\n  <string name=\"pref_filter_exclude_not_granted_perms_key\" translatable=\"false\">pref_filter_exclude_not_granted_perms</string>\n  <bool name=\"pref_filter_exclude_not_granted_perms_default\">false</bool>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_not_granted_perms_title\">Exclude permissions not granted</string>\n  <string name=\"pref_filter_manually_exclude_perms_key\" translatable=\"false\">pref_filter_manually_exclude_perms</string>\n  <bool name=\"pref_filter_manually_exclude_perms_default\">true</bool>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_manually_exclude_perms_title\">Manually exclude permissions</string>\n  <string name=\"pref_filter_excluded_perms_key\" translatable=\"false\">pref_filter_excluded_perms</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_excluded_perms_title\">Manually excluded permissions list</string>\n\n  <!-- PreferencesActivity manifest permissions titles, keys and defaults -->\n  <string name=\"crowdin_comment_break_pref_keys_7\" translatable=\"false\">Crowdin comment break</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_man_permissions_cat_title\">Manifest Permissions</string>\n  <string name=\"pref_filter_exclude_invalid_perms_key\" translatable=\"false\">pref_filter_exclude_invalid_perms</string>\n  <bool name=\"pref_filter_exclude_invalid_perms_default\">true</bool>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_invalid_perms_title\">Exclude invalid permissions</string>\n  <string name=\"pref_filter_exclude_normal_perms_key\" translatable=\"false\">pref_filter_exclude_normal_perms</string>\n  <bool name=\"pref_filter_exclude_normal_perms_default\">false</bool>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_normal_perms_title\">Exclude normal permissions</string>\n  <string name=\"pref_filter_exclude_dangerous_perms_key\" translatable=\"false\">pref_filter_exclude_dangerous_perms</string>\n  <bool name=\"pref_filter_exclude_dangerous_perms_default\">false</bool>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_dangerous_perms_title\">Exclude dangerous permissions</string>\n  <string name=\"pref_filter_exclude_signature_perms_key\" translatable=\"false\">pref_filter_exclude_signature_perms</string>\n  <bool name=\"pref_filter_exclude_signature_perms_default\">false</bool>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_signature_perms_title\">Exclude signature permissions</string>\n  <string name=\"pref_filter_exclude_privileged_perms_key\" translatable=\"false\">pref_filter_exclude_privileged_perms</string>\n  <bool name=\"pref_filter_exclude_privileged_perms_default\">false</bool>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_privileged_perms_title\">Exclude privileged permissions</string>\n\n  <!-- PreferencesActivity AppOps permissions titles, keys and defaults -->\n  <string name=\"crowdin_comment_break_pref_keys_8\" translatable=\"false\">Crowdin comment break</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_app_ops_permissions_cat_title\">AppOps Permissions</string>\n  <string name=\"pref_filter_exclude_appops_perms_key\" translatable=\"false\">pref_filter_exclude_appops_perms</string>\n  <bool name=\"pref_filter_exclude_appops_perms_default\">false</bool>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_appops_perms_title\">Exclude AppOps</string>\n  <string name=\"pref_filter_exclude_not_set_appops_key\" translatable=\"false\">pref_filter_exclude_not_set_appops</string>\n  <bool name=\"pref_filter_exclude_not_set_appops_default\">false</bool>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_not_set_appops_title\">Exclude AppOps not set (Defaults)</string>\n  <string name=\"pref_filter_show_extra_app_ops_key\" translatable=\"false\">pref_filter_show_extra_app_ops</string>\n  <bool name=\"pref_filter_show_extra_app_ops_default\">true</bool>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_show_extra_app_ops_title\">Show extra AppOps, never excluded</string>\n  <string name=\"pref_filter_extra_appops_key\" translatable=\"false\">pref_filter_extra_appops</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_extra_appops_title\">Extra AppOps list</string>\n\n  <!-- SettingsActivity -->\n  <string name=\"crowdin_comment_break_pref_keys_9\" translatable=\"false\">Crowdin comment break</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_general_cat_title\">General settings</string>\n  <string name=\"pref_settings_general_cat_key\" translatable=\"false\">pref_settings_general_cat</string>\n\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_check_for_updates_title\">Check for updates</string>\n  <string name=\"pref_settings_check_for_updates_summary\">Show a notification when a new version is available</string>\n  <string name=\"pref_settings_check_for_updates_key\" translatable=\"false\">pref_settings_check_for_updates</string>\n  <bool name=\"pref_settings_check_for_updates_default\">true</bool>\n  <string name=\"pref_settings_check_for_updates_ts_enc_key\" translatable=\"false\">pref_settings_check_for_updates_ts_enc</string>\n\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_privileges_reminder_title\">Remind missing privileges</string>\n  <string name=\"pref_settings_privileges_reminder_summary\">Show a dialog on app start if root and ADB privileges are not granted</string>\n  <string name=\"pref_settings_privileges_reminder_key\" translatable=\"false\">pref_settings_privileges_reminder</string>\n  <bool name=\"pref_settings_privileges_reminder_default\">true</bool>\n\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_auto_perm_ref_title\">Auto-set reference</string>\n  <string name=\"pref_settings_auto_perm_ref_summary\">Set the selected state of a permission as reference</string>\n  <string name=\"pref_settings_auto_perm_ref_key\" translatable=\"false\">pref_settings_auto_perm_ref</string>\n  <bool name=\"pref_settings_auto_perm_ref_default\">false</bool>\n\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_show_fwk_perm_name_title\">Framework permission names</string>\n  <string name=\"pref_settings_show_fwk_perm_name_summary\">Show original permission names, not pretty names</string>\n  <string name=\"pref_settings_show_fwk_perm_name_key\" translatable=\"false\">pref_settings_show_fwk_perm_name</string>\n  <bool name=\"pref_settings_show_fwk_perm_name_default\">true</bool>\n\n  <string name=\"pref_settings_special_search_key\" translatable=\"false\">pref_settings_special_search</string>\n  <bool name=\"pref_settings_special_search_default\">true</bool>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_special_search_title\">Complex search</string>\n  <string name=\"pref_settings_special_search_summary\">Use AND (&amp;), OR (|) and NOT (!) operators in search to combine queries</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_locale_title\">Application language</string>\n  <string name=\"pref_settings_locale_key\" translatable=\"false\">pref_settings_locale</string>\n  <string name=\"pref_settings_locale_default\" translatable=\"false\" />\n\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_theming_cat_title\">Theming</string>\n  <string name=\"pref_settings_theming_cat_key\" translatable=\"false\">pref_settings_theming_cat</string>\n\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_theme_color_title\">Theme color</string>\n  <string name=\"pref_settings_theme_color_key\" translatable=\"false\">pref_settings_theme_color</string>\n  <string name=\"pref_settings_theme_color_default\" translatable=\"false\">@string/theme_color_green_val</string>\n\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_dark_theme_title\">Dark theme</string>\n  <string name=\"pref_settings_dark_theme_key\" translatable=\"false\">pref_settings_dark_theme</string>\n  <string name=\"pref_settings_dark_theme_default\" translatable=\"false\">@string/dark_theme_mode_system_val</string>\n\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_search_suggestions_count_title2\">Max suggestions: %d</string>\n  <string name=\"pref_settings_search_suggestions_count_summary\">Suggest package, permissions, special keywords etc.</string>\n  <string name=\"pref_settings_search_suggestions_count_key\" translatable=\"false\">pref_settings_search_suggestions_count</string>\n  <integer name=\"pref_settings_search_suggestions_count_default\">5</integer>\n  <string name=\"pref_settings_search_keywords_key\" translatable=\"false\">pref_settings_search_keywords</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_search_keywords_title\">Search keywords</string>\n  <string name=\"pref_settings_search_keywords_summary\">Keywords with special meaning</string>\n\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_ref_states_cat_title\">Scheduled checks</string>\n\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_perm_watcher_cat_title\">Permission watcher</string>\n\n  <!-- HelpActivity -->\n  <string name=\"crowdin_comment_break_pref_keys_10\" translatable=\"false\">Crowdin comment break</string>\n  <string name=\"pref_help_font_size_key\" translatable=\"false\">pref_help_font_size</string>\n  <integer name=\"pref_help_font_size_default\">14</integer>\n  <string name=\"pref_help_web_view_clear_cache_ts_enc_key\" translatable=\"false\">pref_help_web_view_clear_cache_ts_enc</string>\n\n  <!-- PackageActivity -->\n  <string name=\"crowdin_comment_break_pref_keys_11\" translatable=\"false\">Crowdin comment break</string>\n  <string name=\"pref_package_warn_dang_change_enc_key\" translatable=\"false\">pref_package_warn_dang_change_enc</string>\n  <bool name=\"pref_package_warn_dang_change_enc_default\">true</bool>\n\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values/search_strings_foss.xml",
    "content": "<resources>\n  \n  <string name=\"pkg_state_critical\">Critical</string>\n  <string name=\"pkg_state_framework\">Framework</string>\n  <string name=\"pkg_state_system\">System</string>\n  <string name=\"pkg_state_user\">User</string>\n  <string name=\"pkg_state_disabled\">Disabled</string>\n  \n  <string name=\"prot_lvl_unknown\">Unknown</string>\n  <string name=\"prot_lvl_normal\">Normal</string>\n  <string name=\"prot_lvl_dangerous\">Dangerous</string>\n  <string name=\"prot_lvl_signature\">Signature</string>\n  <string name=\"prot_lvl_internal\">Internal</string>\n  <string name=\"prot_lvl_app_ops\">AppOps</string>\n  <string name=\"prot_lvl_development\">Development</string>\n  <string name=\"prot_lvl_privileged\">Privileged</string>\n  <string name=\"prot_lvl_fixed\">Fixed</string>\n  <string name=\"search_str_uid\">UID</string>\n  <string name=\"search_str_time\">TIME</string>\n  <string name=\"search_str_extra\">EXTRA</string>\n  <string name=\"search_str_red\">RED</string>\n  <string name=\"search_str_orange\">ORANGE</string>\n  <string name=\"search_str_green\">GREEN</string>\n\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values/strings_foss.xml",
    "content": "<resources xmlns:tools=\"http://schemas.android.com/tools\">\n  <!-- Character Limits:\n       Button: 10\n       Toast/SnackBar: 20\n       Preference title: 20\n       Single line text: 30\n       Progress: 15\n       Dialog/notification title: 15\n       Menu item: 15 -->\n\n  <!-- General strings -->\n  <string name=\"crowdin_comment_break_strings_1\" translatable=\"false\">Crowdin comment break</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"yes\">Yes</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"no\">No</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"ok_button\">OK</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"cancel_button\">Cancel</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"retry_button\">Retry</string>\n  <string name=\"open_drawer\">Open</string>\n  <string name=\"close_drawer\">Close</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"do_not_remind\">Don\\'t Remind</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"_continue\">Continue?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"warning\">Warning</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"help_button\">Help</string>\n  <plurals name=\"apps_count\">\n    <item quantity=\"one\">%d app</item>\n    <item quantity=\"other\">%d apps</item>\n  </plurals>\n\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"copied_to_clipboard_toast\">Copied to clipboard</string>\n\n  <string name=\"app_name\">Permission Manager X</string>\n\n  <!-- MainActivity Navigation Drawer / menu items -->\n  <string name=\"crowdin_comment_break_strings_2\" translatable=\"false\">Crowdin comment break</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"search_menu_item\">Search</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"settings_menu_item\">Settings</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_menu_item\">Exclusion Filters</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"root_menu_item\">Root Access</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"adb_menu_item\">ADB Access</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"backup_restore_menu_item\">Backup / Restore</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"help_menu_item\">Help</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"donate_menu_item\">Donate</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"license_menu_item\">License</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"about_menu_item\">About</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"advanced_settings_menu_item\">Advanced Settings</string>\n\n  <!-- MainActivity strings -->\n  <string name=\"crowdin_comment_break_strings_3\" translatable=\"false\">Crowdin comment break</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"primary_account\">Primary Account</string>\n  <string name=\"primary_profile_only\">Permission Manager X can run only in primary user account / device owner profile.</string>\n  <string name=\"grant_root_or_adb\">Root or ADB access is required to get AppOp permissions and to change permissions state.</string>\n\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"backup\">Backup</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"restore\">Restore</string>\n  <string name=\"choose_backup_restore\">Backup or restore preferences and permission references.</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"select_backup_file\">Select backup file</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"backup_in_progress\">Backing up…</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"restore_in_progress\">Restoring …</string>\n\n  <plurals name=\"backup_restore_processed_prefs\">\n    <item quantity=\"one\">Processed %1$d preference</item>\n    <item quantity=\"other\">Processed %1$d preferences</item>\n  </plurals>\n  <plurals name=\"backup_restore_processed_profiles\">\n    <item quantity=\"one\">%1$s, %2$d permission profile</item>\n    <item quantity=\"other\">%1$s, %2$d permission profiles</item>\n  </plurals>\n  <plurals name=\"backup_restore_processed_refs\">\n    <item quantity=\"one\">%1$s, and %2$d permission reference.</item>\n    <item quantity=\"other\">%1$s, and %2$d permission references.</item>\n  </plurals>\n  <plurals name=\"backup_restore_invalid_prefs\">\n    <item quantity=\"one\">%1$s\\nSkipped %2$d invalid preference.</item>\n    <item quantity=\"other\">%1$s\\nSkipped %2$d invalid preferences.</item>\n  </plurals>\n  <plurals name=\"backup_restore_uninstalled_apps\">\n    <item quantity=\"one\">%1$s\\nSkipped %2$d uninstalled app.</item>\n    <item quantity=\"other\">%1$s\\nSkipped %2$d uninstalled apps.</item>\n  </plurals>\n\n  <string name=\"backup_restore_failed\">Failed. Some error occurred.</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"skip_uninstalled_packages\">Skip uninstalled packages</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"swap_user_ids\">Swap user IDs</string>\n  <string name=\"replace_user_id_from_hint\">Replace</string>\n  <string name=\"replace_user_id_with\">with</string>\n  <string name=\"replace_user_id_to_hint\">this</string>\n\n  <string name=\"disable_pkg_warning\" comment=\"'system' or 'framework'\">Disabling a %1$s app is a dangerous action. In worst-case scenario Android system may crash.\\nAre you sure you want to continue?</string>\n  <string name=\"pkg_state_disabled2\" searchStr=\"true\">%s, Disabled</string>\n\n  <string name=\"unsupported_sdk_warning_title\">Android version unsupported</string>\n  <string name=\"unsupported_sdk_warning_message\">Your device is running Android %s which has not been tested so far. PMX may crash or may behave in unexpected way.</string>\n  <string name=\"unsupported_sdk_warning_button\">I Understand</string>\n\n  <!-- Crash Report -->\n  <string name=\"crowdin_comment_break_strings_4\" translatable=\"false\">Crowdin comment break</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"crash_report\">Crash Report</string>\n  <!-- CHAR LIMIT: 30 -->\n  <string name=\"ask_to_report_crash_small\">Send crash report to the developer</string>\n  <string name=\"inform_report_crash\">Sorry, a component of the app had a problem and crashed.</string>\n  <string name=\"ask_to_report_crash\">Sorry, a component of the app had a problem and crashed. Send the log file to the developer so that the bug can be fixed.</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"checking_for_app_update\">Checking for app update…</string>\n  <string name=\"check_for_updates_failed_long\">Checking for app update failed. Are you connected to the internet?</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"send_report\">Send Report</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"crash_log_file_not_exists_toast\">Crash logs do not exist</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"crash_log_file_read_failed_toast\">Failed to read crash log file</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"submit_report_button\">Submit Report</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"submitting_report_button\">Submitting…</string>\n  <string name=\"reading_crash_log_file\">Reading crash log file…</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"submit_crash_report_failed_toast\">Failed to submit crash report</string>\n\n  <!-- Progress -->\n  <string name=\"crowdin_comment_break_strings_5\" translatable=\"false\">Crowdin comment break</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"prog_msg_checking_privs\">Checking privileges…</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"prog_msg_stopping_daemon\">Stopping daemon…</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"prog_msg_connecting_to_daemon\">Connecting to daemon…</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"prog_msg_checking_root_access\">Checking root access…</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"prog_msg_checking_adb_access\">Checking ADB access…</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"prog_msg_starting_daemon\">Starting daemon…</string>\n\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"creating_packages_list\">Creating apps list…</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"sorting_packages_list\">Sorting apps list…</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"reading_reference_perms\">Reading references…</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"creating_app_ops_lists\">Preparing AppOps data…</string>\n\n  <!-- AdvancedSettings Activity -->\n  <string name=\"crowdin_comment_break_strings_6\" translatable=\"false\">Crowdin comment break</string>\n  <string name=\"daemon_uid_system\">System</string>\n  <string name=\"daemon_uid_root\">Root</string>\n  <string name=\"daemon_uid_adb\">ADB</string>\n  <string name=\"daemon_uid_system_val\" translatable=\"false\">1000</string>\n  <string name=\"daemon_uid_root_val\" translatable=\"false\">0</string>\n  <string name=\"daemon_uid_adb_val\" translatable=\"false\">2000</string>\n\n  <string name=\"daemon_context_shell\">Shell</string>\n  <string name=\"daemon_context_default\">Default</string>\n  <string name=\"daemon_context_shell_val\" translatable=\"false\">u:r:shell:s0</string>\n  <string name=\"daemon_context_default_val\" translatable=\"false\" />\n\n  <string name=\"su_exe_path_hint\" translatable=\"false\">$PATH</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"bad_path_toast\">Bad path</string>\n\n  <string name=\"reset_perm_db_dialog_title\">Reset / Cleanup References</string>\n  <string name=\"reset_perm_db_dialog_detail\"><![CDATA[Reset removes all permission references.<br />Cleanup removes all permission references excluding the currently visible list of apps and permissions.<br />To prevent any unexpected loss, a backup file will be created before doing reset / cleanup.]]></string>\n  <string name=\"reset_perm_db_dialog_reset_button\">Reset</string>\n  <string name=\"reset_perm_db_dialog_cleanup_button\">Cleanup</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"reset_perm_db_backup_failed_toast\">Backup failed</string>\n  <string name=\"reset_perm_db_building_app_list\">Building apps list…</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"reset_perm_db_pkg_list_failed_toast\">Building app list failed</string>\n  <string name=\"reset_perm_db_optimizing_perm_db\">Optimizing permission references…</string>\n  <!-- CHAR LIMIT: 20 -->\n  <plurals name=\"reset_perm_db_removed_count_toast\">\n    <item quantity=\"one\">Removed %d entry from database</item>\n    <item quantity=\"other\">Removed %d entries from database</item>\n  </plurals>\n\n  <!-- Privileges -->\n  <string name=\"crowdin_comment_break_strings_7\" translatable=\"false\">Crowdin comment break</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"privileges_title\">Privileges</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"root_granted_toast\">Root granted</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"getting_root_failed\">Getting root privileges failed. Are you rooted?</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_failed_toast\">Starting privileged daemon failed</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_app_ops_without_daemon_toast\">Cannot read AppOps without root / ADB</string>\n\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"adb_title\">ADB</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"adb_pairing_failed_toast\">Pairing failed</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"adb_connect_failed_toast\">Connection failed</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"connected_to_adb_toast\">Connected to ADB</string>\n\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"pair_button\">Pair</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"pairing_button\">Pairing</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"connect_button\">Connect</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"connecting_button\">Connecting</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"connection_title\">Connection</string>\n\n  <string name=\"pairing_code_hint\">Pairing code</string>\n  <string name=\"ip_address_hint\">IP address</string>\n  <string name=\"socket_port_hint\">Port</string>\n\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"required_field_error\">Required</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"invalid_field_error\">Invalid</string>\n\n  <string name=\"adb_pair_help_msg\"><![CDATA[<ul><li>Turn on <b><i>Wireless Debugging</i></b> and enable Split-Screen mode.</li><li>Enter pairing code and port, and tap pair button.</li><li>After successful pairing, proceed to connection.</li></ul>]]></string>\n  <string name=\"adb_connect_help_11_msg\"><![CDATA[<ul><li>Enable <b><i>Wireless Debugging</i></b> (pairing) or <b><i>ADB Over Network</i></b>.</li><li>Enter port and tap connect button.</li><li>Allow ADB authentication when prompted.</li></ul>]]></string>\n  <string name=\"adb_connect_help_after_pair_msg\">Pairing successful. Enter port and tap connect button.</string>\n  <string name=\"adb_connect_help_msg\"><![CDATA[<ul><li>Enable <b><i>ADB Over Network</i></b>.</li><li>Enter port and tap connect button.</li><li>Allow ADB authentication when prompted.</li></ul>]]></string>\n\n  <!-- Feedback -->\n  <string name=\"crowdin_comment_break_strings_8\" translatable=\"false\">Crowdin comment break</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"love_using_app\">Liking Permission Manager X?</string>\n  <string name=\"purchase_and_rate_the_app\">You can help us improve the app by making a small donation or leaving a good app review so that we are able to better serve your needs.</string>\n  <string name=\"ask_to_provide_feedback\">Sorry to hear that. You can help improve the app by contacting us via email or Telegram so that we are able to better serve your needs.</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"thank_you\">Thank you</string>\n\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"contact\">Write Now</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"contact_on_telegram\">Write a Message on Telegram</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"contact_on_email\">Write an Email</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"how_do_i\">How do I?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"purchase_donate\">Purchase / Donate</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"rate_on_ps\">Rate on Play Store</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"share_with_others\">Share With Others</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"rating_options\">Rating Options</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"other_rating_options\">Other Rating Options</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"ignore_for_now\">Ignore for now</string>\n\n  <!-- Links -->\n  <string name=\"crowdin_comment_break_strings_9\" translatable=\"false\">Crowdin comment break</string>\n  <string name=\"source_url\" translatable=\"false\">https://github.com/mirfatif/PermissionManagerX</string>\n  <string name=\"issues_url\" translatable=\"false\">https://github.com/mirfatif/PermissionManagerX/issues</string>\n  <string name=\"purchase_pro_url\" translatable=\"false\">https://mirfatif.github.io/mirfatif/getpro</string>\n  <string name=\"payment_methods_href\" translatable=\"false\">%s#payment-methods</string>\n  <string name=\"paid_features_url\" translatable=\"false\">https://mirfatif.github.io/PermissionManagerX/help/help#paid_features</string>\n  <string name=\"privacy_policy_link\" translatable=\"false\">https://mirfatif.github.io/PermissionManagerX/privacy_policy.html</string>\n  <string name=\"play_store_url\" translatable=\"false\">https://play.google.com/store/apps/details?id=com.mirfatif.permissionmanagerx</string>\n  <string name=\"telegram_mirfatif\" translatable=\"false\">https://t.me/mirfatif</string>\n  <string name=\"telegram_group_link\" translatable=\"false\">https://t.me/PermissionManagerX</string>\n  <string name=\"translation_link\" translatable=\"false\">https://crowdin.com/project/pmx</string>\n  <string name=\"wrun_url\" translatable=\"false\">https://github.com/mirfatif/WhatsRunning</string>\n\n  <string name=\"contact_us_url\" translatable=\"false\">https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us</string>\n  <string name=\"github_help_url\" translatable=\"false\">https://mirfatif.github.io/PermissionManagerX/help</string>\n  <string name=\"adb_connect_help_href_10\" translatable=\"false\">adb-help-10</string>\n  <string name=\"adb_connect_help_href_11\" translatable=\"false\" tools:ignore=\"Typos\">adb_help_11</string>\n  <string name=\"rate_review_help_href\" translatable=\"false\">rate-review-help</string>\n  <string name=\"paid_features_href\" translatable=\"false\">paid_features</string>\n\n  <!-- DaemonHandler -->\n  <string name=\"crowdin_comment_break_strings_10\" translatable=\"false\">Crowdin comment break</string>\n  <string name=\"priv_daemon_died_toast\">Privileged daemon died</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"priv_daemon_restarted_toast\">Privileged daemon restarted</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_not_running_toast\">Daemon not running</string>\n\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"granting_permissions_failed_toast\">Granting permissions failed</string>\n\n  <!-- Daemon callback errors  -->\n  <string name=\"crowdin_comment_break_strings_11\" translatable=\"false\">Crowdin comment break</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_err_bad_rom_toast\">Bad ROM</string>\n\n  <!-- Daemon binder calls errors -->\n  <string name=\"crowdin_comment_break_strings_12\" translatable=\"false\">Crowdin comment break</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_set_exit_on_app_death_failed_toast\">Setting preference failed</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_get_priv_status_failed_toast\">Getting privileges status failed</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_set_debug_failed_toast\">Daemon logging failed</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_dump_heap_failed_toast\" translatable=\"false\">Dump heap failed</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_get_app_ops_lists_failed_toast\">Getting AppOps data failed</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_get_perm_fixed_flags_failed_toast\">Getting fixed permission flags failed</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_get_pkgs_for_uid_failed_toast\">Getting packages for UID failed</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_get_pkg_ops_failed_toast\">Getting AppOps failed</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_get_perm_flags_failed_toast\">Getting permission flags failed</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_grant_perm_failed_toast\">Granting permission failed</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_revoke_perm_failed_toast\">Revoking permission failed</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_set_app_ops_mode_failed_toast\">Setting AppOp mode failed</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_reset_app_ops_failed_toast\">Resetting AppOps failed</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_enable_pkg_failed_toast\">Enabling app failed</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_disable_pkg_failed_toast\">Disabling app failed</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_open_app_info_failed_toast\">Opening app info failed</string>\n\n  <!-- LogcatSvc -->\n  <string name=\"crowdin_comment_break_strings_14\" translatable=\"false\">Crowdin comment break</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"stop_button\">Stop</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"logging_failed_toast\">Logging failed</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"logging_title\">Logging</string>\n  <string name=\"logging_warning_msg\">App may respond slow due to log collection and log file may grow up to very large size. Logging is auto-stopped after 5 minutes.</string>\n\n  <!-- AdbConnectSvc -->\n  <string name=\"crowdin_comment_break_strings_15\" translatable=\"false\">Crowdin comment break</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"adb_conn_notif_title\">ADB Connection</string>\n  <string name=\"adb_conn_notif_text\">Connecting…</string>\n\n  <!-- DaemonRcvSvc -->\n  <string name=\"crowdin_comment_break_strings_16\" translatable=\"false\">Crowdin comment break</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"daemon_connection_title\">Daemon Connection</string>\n  <string name=\"daemon_connection_text\">Connecting…</string>\n\n  <!-- PackageActivity menu items -->\n  <string name=\"crowdin_comment_break_strings_17\" translatable=\"false\">Crowdin comment break</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"reset_app_ops\">Reset AppOps</string>\n  <string name=\"reset_app_ops_confirmation\">Reset all AppOps to default modes?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"clear_references\">Clear References</string>\n  <string name=\"clear_references_confirmation\">Clear all permission references?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"set_references\">Set References</string>\n  <string name=\"set_references_confirmation\">Set all current permission states as references?</string>\n\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"menu_item_show_all_perms\">Show all</string>\n\n  <!-- MainActivity Dialogs -->\n  <string name=\"crowdin_comment_break_strings_18\" translatable=\"false\">Crowdin comment break</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"exclude_app_from_visible_list\">Hide app from list</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"enable_app\">Enable app</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"disable_app\">Disable app</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"open_pkg_info\">Open app info</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"find_pkg_process\">Find app process</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"install\">Install</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"wrun_not_installed\">WhatsRunning not installed</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"opening_app_info_failed_toast\">Android failed to open app info</string>\n\n  <!-- PackageActivity -->\n  <string name=\"crowdin_comment_break_strings_19\" translatable=\"false\">Crowdin comment break</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"something_went_wrong\">Something went wrong</string>\n  <string name=\"grant_root_or_adb_to_change_perms\">Root or ADB access is required to change permissions state.</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"app_op_mode_not_chaged_toast\">AppOp mode not changed</string>\n\n  <string name=\"change_perms_warning\" comment=\"'system' or 'framework'\">Changing permissions of a %1$s app is a dangerous action. In worst-case scenario Android system may crash.\\nAre you sure you want to continue?</string>\n  <string name=\"system\">system</string>\n  <string name=\"framework\">framework</string>\n\n  <plurals name=\"uid_mode_app_ops_warning\">\n    <item quantity=\"one\">This is a UID mode AppOp. Changing it also affects %1$d other package.</item>\n    <item quantity=\"other\">This is a UID mode AppOp. Changing it also affects %1$d other packages.</item>\n  </plurals>\n\n  <string name=\"exclude_perm_from_list\">Hide Permission From List</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"set_perm_state_reference\"><![CDATA[Set <b><i>%1$s</i></b> As Reference]]></string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"set_reference\">Set Reference</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"clear_reference\">Clear Reference</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_action_available\">No action available</string>\n\n  <plurals name=\"count_permissions_filtered_out\">\n    <item quantity=\"one\">%1$d permission filtered out</item>\n    <item quantity=\"other\">%1$d permissions filtered out</item>\n  </plurals>\n\n  <string name=\"requested_no_permissions\">No permissions requested</string>\n  <string name=\"should_be\" comment=\"AppOps or manifest permission state\"><![CDATA[Should be <b>%1$s</b>]]></string>\n\n  <string name=\"prot_lvl_app_ops2\" searchStr=\"true\">%s, AppOps</string>\n  <string name=\"prot_lvl_uid_mode\" searchStr=\"true\">%s, UID mode</string>\n  <string name=\"prot_lvl_extra\" searchStr=\"true\">%s, Extra</string>\n  <string name=\"prot_lvl_development2\" searchStr=\"true\">%s, Development</string>\n  <string name=\"prot_lvl_privileged2\" searchStr=\"true\">%s, Privileged</string>\n  <string name=\"prot_lvl_fixed2\" searchStr=\"true\">%s, Fixed</string>\n\n  <string name=\"app_op_mode_allow\">Allow</string>\n  <string name=\"app_op_mode_ignore\">Ignore</string>\n  <string name=\"app_op_mode_deny\">Deny</string>\n  <string name=\"app_op_mode_default\">Default</string>\n  <string name=\"app_op_mode_foreground\">Foreground</string>\n\n  <string name=\"app_op_mode_unknown\">Unknown</string>\n  <string name=\"app_op_mode_not_set\">Default</string>\n\n  <string name=\"perm_mode_granted\">Granted</string>\n  <string name=\"perm_mode_revoked\">Revoked</string>\n\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"protection_level\">Protection level:</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"depends_on\">Depends on:</string>\n\n  <!-- FilterSettingsActivity -->\n  <string name=\"crowdin_comment_break_strings_20\" translatable=\"false\">Crowdin comment break</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_settings\">Filter Settings</string>\n  <string name=\"excluded_apps_summary\">Long press on a package name to exclude it</string>\n  <string name=\"excluded_perms_summary\">Long press on a permission name to exclude it</string>\n  <string name=\"extra_app_ops_summary\">AppOps always shown in every app</string>\n  <string name=\"extra_app_ops_summary_count\">(Total: %1$d)</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"enable_exc_filters\">Enable Filters</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"disable_exc_filters\">Disable Filters</string>\n\n  <plurals name=\"and_others_count\">\n    <item quantity=\"one\">%1$s and %2$d other</item>\n    <item quantity=\"other\">%1$s and %2$d others</item>\n  </plurals>\n\n  <!-- SettingsActivity -->\n  <string name=\"crowdin_comment_break_strings_21\" translatable=\"false\">Crowdin comment break</string>\n  <string name=\"locale_system\">System</string>\n  <string name=\"locale_en\">English</string>\n  <string name=\"locale_ru\">Russian</string>\n  <string name=\"locale_es\">Spanish</string>\n  <string name=\"locale_ar\">Arabic</string>\n  <string name=\"locale_el\">Greek</string>\n  <string name=\"locale_cn\">Chinese</string>\n  <string name=\"locale_tr\">Turkish</string>\n\n  <string name=\"theme_color_green\">Green</string>\n  <string name=\"theme_color_blue\">Blue</string>\n  <string name=\"theme_color_pink\">Pink</string>\n  <string name=\"theme_color_gray\">Gray</string>\n\n  <string name=\"theme_color_green_val\" translatable=\"false\">green</string>\n  <string name=\"theme_color_blue_val\" translatable=\"false\">blue</string>\n  <string name=\"theme_color_pink_val\" translatable=\"false\">pink</string>\n  <string name=\"theme_color_gray_val\" translatable=\"false\">gray</string>\n\n  <string name=\"dark_theme_mode_system\">Follow system</string>\n  <string name=\"dark_theme_mode_light\">Light</string>\n  <string name=\"dark_theme_mode_dark\">Dark</string>\n\n  <string name=\"dark_theme_mode_system_val\" translatable=\"false\">system</string>\n  <string name=\"dark_theme_mode_light_val\" translatable=\"false\">light</string>\n  <string name=\"dark_theme_mode_dark_val\" translatable=\"false\">dark</string>\n\n  <!-- PreferenceActivity menu items -->\n  <string name=\"crowdin_comment_break_strings_22\" translatable=\"false\">Crowdin comment break</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_settings_reset_defaults_menu_item\">Reset To Defaults</string>\n  <string name=\"filter_settings_reset_confirmation\">Reset filter settings to default values?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_settings_clear_excluded_apps_menu_item\">Clear Excluded Apps</string>\n  <string name=\"filter_settings_clear_apps_confirmation\">Clear all excluded apps?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_settings_clear_excluded_perms_menu_item\">Clear Excluded Perms</string>\n  <string name=\"filter_settings_clear_perms_confirmation\">Clear all excluded permissions?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_settings_clear_extra_app_ops_menu_item\">Clear Extra AppOps</string>\n  <string name=\"filter_settings_clear_app_ops_confirmation\">Clear all extra (always shown) AppOps?</string>\n\n  <!-- AboutActivity -->\n  <string name=\"crowdin_comment_break_strings_23\" translatable=\"false\">Crowdin comment break</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"source\">Source</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"email\">Email</string>\n  <string name=\"email_address\" translatable=\"false\">mirfatif.dev@gmail.com</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"telegram_group\">Telegram Group</string>\n\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"send_crash_report_title\">Send Report</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"send_crash_report_summary\">Send crash logs to the developers</string>\n\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"collect_logs\">Collect Logs</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"collect_logs_summary\">Save highly verbose log to file</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"report_issues\">Report Issues</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"report_issues_summary\">Bugs, improvements, suggestions…</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"select_log_file\">Select file to save log</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"stop_logging\">Stop Logging</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"logging_stopped\">Logging stopped</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"app_rating\">Rate Me</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"app_rating_summary\">Rating, reviewing, starring…</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"paid_features\">Pro Features</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"about_dump_title\">Dump Info</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"about_dump_summary\">Dump missing permission icons, names and descriptions</string>\n\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"update\">Update</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"update_summary\">Check for app updates</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"check_in_progress\">Check in progress</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"check_for_updates_failed\">Check for updates failed</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"app_is_up_to_date\">App is up-to-date</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"new_version_available\">New app version is available</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"tap_to_download\">Tap to download</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"download\">Download</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"privacy_policy\">Privacy Policy</string>\n  <string name=\"translations\">Translations</string>\n  <string name=\"translations_summary\">Want to see the app in your language?</string>\n  <string name=\"add_my_language\" translatable=\"false\">Add My Language</string>\n  <string name=\"share\">Share</string>\n  <string name=\"share_summary\">Share the app with others</string>\n  <string name=\"share_text\">Check out this amazing app! %1$s</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"dump_daemon_heap_menu_item\" translatable=\"false\">Dump Heap</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"perm_status_menu_item\">Privileges</string>\n  <string name=\"uid\">UID:</string>\n  <string name=\"app_ops\">AppOps</string>\n  <string name=\"op_to_def_mode\">Op To Default Mode</string>\n  <string name=\"op_to_switch\">Op To Switch</string>\n  <string name=\"op_to_name\">Op To Name</string>\n  <string name=\"get_app_ops\">Get AppOps</string>\n  <string name=\"consistent_app_op_num\">Consistent AppOp Num</string>\n  <string name=\"consistent_app_op_mode\">Consistent AppOp Modes</string>\n  <string name=\"permissions\">Permissions</string>\n\n  <!-- ActivityNotFoundException -->\n  <string name=\"crowdin_comment_break_strings_24\" translatable=\"false\">Crowdin comment break</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_email_app_installed\">No email app installed</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_browser_installed\">\"No web browser app installed\"</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_file_picker_installed\">\"No file picker app installed\"</string>\n\n  <!-- Notification Channels -->\n  <string name=\"crowdin_comment_break_strings_25\" translatable=\"false\">Crowdin comment break</string>\n  <string name=\"channel_app_update\">App Updates</string>\n  <integer name=\"channel_app_update\">100</integer>\n\n  <string name=\"channel_crash_report\">Crash Report</string>\n  <integer name=\"channel_crash_report\">200</integer>\n\n  <string name=\"channel_logcat_collection\">Log Collection</string>\n  <integer name=\"channel_logcat_collection\">300</integer>\n\n  <string name=\"channel_adb_connection\">ADB Connection</string>\n  <integer name=\"channel_adb_connection\">400</integer>\n\n  <string name=\"channel_daemon_connection\">Daemon Connection</string>\n  <integer name=\"channel_daemon_connection\">500</integer>\n\n  <!-- Notification permission -->\n  <string name=\"crowdin_comment_break_strings_26\" translatable=\"false\">Crowdin comment break</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"notif_perm_dialog_title\">Notification permission</string>\n  <string name=\"notif_perm_dialog_text\"><![CDATA[PMX needs notification permission to show:<ul><li>Permission watcher status</li><li>Scheduled checks status</li><li>Available app updates</li><li>Logcat collection status</li><li>Crash events</li></ul>]]></string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"notif_perm_missing_toast\">Notification permission not granted</string>\n\n  <!-- HelpActivity -->\n  <string name=\"crowdin_comment_break_strings_27\" translatable=\"false\">Crowdin comment break</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"open_browser_menu_item\">Open in browser</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"zoom_in_menu_item\">Zoom In</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"zoom_out_menu_item\">Zoom Out</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_web_view\">No WebView</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"outdated_web_view\">Outdated WebView</string>\n\n  <!-- Locale -->\n  <string name=\"crowdin_comment_break_strings_28\" translatable=\"false\">Crowdin comment break</string>\n  <string name=\"help_dir_name\">en</string>\n\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values/styles.xml",
    "content": "<resources>\n  <!-- Base application theme. -->\n  <style name=\"BaseTheme\" parent=\"Theme.AppCompat.DayNight\">\n\n    <!--Define custom attributes unique to the theme-->\n    <item name=\"accentColor\">@color/green</item>\n    <item name=\"accentTrans5Color\">@color/greenTrans5</item>\n    <item name=\"accentTrans10Color\">@color/greenTrans10</item>\n    <item name=\"accentTrans20Color\">@color/greenTrans20</item>\n    <item name=\"accentTrans50Color\">@color/greenTrans50</item>\n    <item name=\"accentTrans75Color\">@color/greenTrans75</item>\n\n    <!--Preference Group Titles, Dialog Button Text-->\n    <item name=\"colorAccent\">?attr/accentColor</item>\n\n    <!--Check Boxes, Switch Active State, Indeterminate Progress Bar. If not set, uses colorAccent-->\n    <!--<item name=\"colorControlActivated\">?attr/accentColor</item>-->\n\n    <!--Status Bar-->\n    <item name=\"colorPrimaryDark\">?attr/accentColor</item>\n\n    <!--Action Bar-->\n    <item name=\"colorPrimary\">?attr/accentTrans10Color</item>\n\n    <item name=\"android:spinnerItemStyle\">@style/SpinnerItemStyle</item>\n    <!--<item name=\"alertDialogTheme\">@style/myAlertDialogTheme</item>-->\n  </style>\n\n  <style name=\"SpinnerItemStyle\">\n    <item name=\"android:textStyle\">bold</item>\n    <item name=\"android:textColor\">@color/active_disabled</item>\n  </style>\n\n  <!--============== About Activity ==============-->\n\n  <style name=\"AboutActivityItemContainer\">\n    <item name=\"android:layout_width\">match_parent</item>\n    <item name=\"android:layout_height\">wrap_content</item>\n    <item name=\"android:background\">?android:attr/selectableItemBackground</item>\n  </style>\n\n  <style name=\"AboutActivityIconImg\">\n    <item name=\"android:layout_width\">24dp</item>\n    <item name=\"android:layout_height\">24dp</item>\n    <item name=\"android:layout_gravity\">center</item>\n    <item name=\"android:layout_marginEnd\">8dp</item>\n  </style>\n\n  <style name=\"AboutActivityItemTextBox\">\n    <item name=\"android:layout_width\">match_parent</item>\n    <item name=\"android:layout_height\">wrap_content</item>\n    <item name=\"android:paddingTop\">8dp</item>\n    <item name=\"android:paddingBottom\">8dp</item>\n    <item name=\"android:orientation\">vertical</item>\n  </style>\n\n  <style name=\"AboutActivityItemTitle\">\n    <item name=\"android:layout_width\">match_parent</item>\n    <item name=\"android:layout_height\">wrap_content</item>\n    <item name=\"android:textStyle\">bold</item>\n    <item name=\"android:textSize\">16sp</item>\n  </style>\n\n  <style name=\"AboutActivityItemSummary\">\n    <item name=\"android:layout_width\">match_parent</item>\n    <item name=\"android:layout_height\">wrap_content</item>\n    <item name=\"android:layout_marginTop\">2dp</item>\n    <item name=\"android:textAlignment\">viewStart</item>\n  </style>\n\n  <!--============== Common Styles ==============-->\n\n  <style name=\"BgColorControlNormal\">\n    <item name=\"android:background\">@color/colorControlNormal</item>\n  </style>\n\n  <style name=\"ListSeparator\" parent=\"BgColorControlNormal\">\n    <item name=\"android:layout_width\">match_parent</item>\n    <item name=\"android:layout_height\">1dp</item>\n  </style>\n\n  <style name=\"ListSeparatorDim\" parent=\"ListSeparator\">\n    <item name=\"android:alpha\">0.25</item>\n  </style>\n\n  <style name=\"CustomButton\" parent=\"Widget.AppCompat.Button\">\n    <item name=\"android:layout_width\">match_parent</item>\n    <item name=\"android:layout_height\">wrap_content</item>\n    <item name=\"android:textColor\">@color/active_disabled</item>\n  </style>\n\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values/theme.xml",
    "content": "<resources>\n\n  <style name=\"AppTheme\" parent=\"BaseTheme\" />\n\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values-ar/pref_keys_foss.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources xmlns:tools=\"http://schemas.android.com/tools\">\n  <!-- NOTE:\n    If pref name equals its value + \"_key\":\n    - Pref values starting with \"pref_filter_\" are cleared on \"Reset to Defaults\".\n    - Pref values starting with \"pref_\" and not ending with \"_enc\" are backed up and restored. -->\n  <!-- MainActivity Preferences -->\n  <!-- MainActivity Preferences corresponding to default values -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_main_deep_search_title\">بحث عميق</string>\n  <string name=\"pref_main_deep_search_summary\">القيام بالبحث في قائمة الأذونات بدلاً من قائمة التطبيقات</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_main_case_sensitive_search_title\">حساسية حالة الأحرف</string>\n  <string name=\"pref_main_case_sensitive_search_summary\">مطابقة السلسلة مع نفس الحالة فقط</string>\n  <!-- Privileges / Daemon -->\n  <!-- Advanced Settings -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_perm_refs_cat_title\">مراجع الصلاحيات</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_root_cat_title\">الجذر</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- FilterSettingsActivity -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_packages_cat_title\">الحزم</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_no_icon_apps_title\">استبعاد التطبيقات التي لاتحتوي أيقونات</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_user_apps_title\">استبعاد تطبيقات المستخدم</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_system_apps_title\">استبعاد تطبيقات النظام</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_framework_apps_title\">استبعاد تطبيقات إطار العمل</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_disabled_apps_title\">استبعاد التطبيقات المعطلة</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_no_perms_apps_title\">استبعاد التطبيقات التي لا تتحوي على أذونات</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_manually_exclude_apps_title\">استبعاد التطبيقات يدوياً</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_excluded_apps_title\">قائمة التطبيقات المستبعدة يدوياً</string>\n  <!-- PreferencesActivity permissions titles, keys and defaults -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_permissions_cat_title\">الأذونات</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_not_changeable_perms_title\">استبعاد الاذونات الغير قابلة للتغيير</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_not_granted_perms_title\">استبعاد الأذونات غير الممنوحة</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_manually_exclude_perms_title\">استبعاد الأذونات يدويا</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_excluded_perms_title\">قائمة الأذونات المستبعدة يدويا</string>\n  <!-- PreferencesActivity manifest permissions titles, keys and defaults -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_man_permissions_cat_title\">أذونات البيان</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_invalid_perms_title\">استبعاد الأذونات الغير صالحة</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_normal_perms_title\">استبعاد الأذونات العادية</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_dangerous_perms_title\">استبعاد الأذونات الخطرة</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_signature_perms_title\">استبعاد أذونات التوقيع</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_privileged_perms_title\">استبعاد الأذونات المميزة</string>\n  <!-- PreferencesActivity AppOps permissions titles, keys and defaults -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_app_ops_permissions_cat_title\">تصاريح أذونات التطبيقات</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_appops_perms_title\">استبعاد اذونات التطبيقات</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_not_set_appops_title\">استبعاد اذونات التطبيقات لم يتم تعيينها (الافتراضي)</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_show_extra_app_ops_title\">إظهار اذونات التطبيقات الإضافية، لم يتم استبعادها أبدا</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_extra_appops_title\">المزيد من قائمة اذونات التطبيقات</string>\n  <!-- SettingsActivity -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_general_cat_title\">إعدادات عامة</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_check_for_updates_title\">التحقق من وجود تحديثات</string>\n  <string name=\"pref_settings_check_for_updates_summary\">إظهار إشعار عندما يتوفر إصدار جديد</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_privileges_reminder_title\">التذكير بالامتيازات المفقودة</string>\n  <string name=\"pref_settings_privileges_reminder_summary\">إظهار مربع حوار عند بدء التطبيق إذا لم يتم منح امتيازات الجذر و ADB</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_special_search_title\">بحث معقد</string>\n  <string name=\"pref_settings_special_search_summary\">استخدم المعلمات و (&amp;) أو (&lt;unk&gt;) و لا (!) في البحث عن الجمع بين الاستفسارات</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_locale_title\">لغة التطبيق</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_theming_cat_title\">السمة</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_theme_color_title\">لون السمة</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_dark_theme_title\">السمة المظلمة</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_search_suggestions_count_title2\">الحد الأقصى للاقتراحات: %d</string>\n  <string name=\"pref_settings_search_suggestions_count_summary\">اقتراح الحزمة، الأذونات، كلمات مفتاحية خاصة إلخ.</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_search_keywords_title\">كلمات البحث</string>\n  <string name=\"pref_settings_search_keywords_summary\">كلمات رئيسية ذات معنى خاص</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_ref_states_cat_title\">المهام المجدولة</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_perm_watcher_cat_title\">مراقب الصلاحيات</string>\n  <!-- HelpActivity -->\n  <!-- PackageActivity -->\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values-ar/search_strings_foss.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n  <string name=\"pkg_state_critical\">الحرجة</string>\n  <string name=\"pkg_state_framework\">الإطار البرمجي</string>\n  <string name=\"pkg_state_system\">النظام</string>\n  <string name=\"pkg_state_user\">المستخدم</string>\n  <string name=\"pkg_state_disabled\">معطل</string>\n  <string name=\"prot_lvl_unknown\">غير معروف</string>\n  <string name=\"prot_lvl_normal\">عادي</string>\n  <string name=\"prot_lvl_dangerous\">خطير</string>\n  <string name=\"prot_lvl_signature\">التوقيع</string>\n  <string name=\"prot_lvl_internal\">الداخلية</string>\n  <string name=\"prot_lvl_app_ops\">خيارات التطبيق</string>\n  <string name=\"prot_lvl_development\">التطوير</string>\n  <string name=\"prot_lvl_privileged\">امتياز</string>\n  <string name=\"prot_lvl_fixed\">ثابت</string>\n  <string name=\"search_str_uid\">المعرف الفريد</string>\n  <string name=\"search_str_time\">الوقت</string>\n  <string name=\"search_str_extra\">المزيد</string>\n  <string name=\"search_str_red\">أحمر</string>\n  <string name=\"search_str_orange\">برتقالي</string>\n  <string name=\"search_str_green\">اخضر</string>\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values-ar/strings_foss.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources xmlns:tools=\"http://schemas.android.com/tools\">\n  <!-- Character Limits:\n       Button: 10\n       Toast/SnackBar: 20\n       Preference title: 20\n       Single line text: 30\n       Progress: 15\n       Dialog/notification title: 15\n       Menu item: 15 -->\n  <!-- General strings -->\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"yes\">نعم</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"no\">لا</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"ok_button\">موافق</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"cancel_button\">إلغاء</string>\n  <string name=\"open_drawer\">فتح</string>\n  <string name=\"close_drawer\">إغلاق</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"do_not_remind\">عدم التذكير</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"_continue\">متابعة؟</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"warning\">تحذير</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"help_button\">تعليمات</string>\n  <plurals name=\"apps_count\">\n    <item quantity=\"zero\">%d تطبيق</item>\n    <item quantity=\"one\">%d تطبيق</item>\n    <item quantity=\"two\">%d تطبيقات</item>\n    <item quantity=\"few\">%d تطبيقات</item>\n    <item quantity=\"many\">%d تطبيقات</item>\n    <item quantity=\"other\">%d تطبيقات</item>\n  </plurals>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"app_name\">مدير الصلاحيّات X</string>\n  <!-- MainActivity Navigation Drawer / menu items -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"search_menu_item\">بحث</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"settings_menu_item\">الاعدادات</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_menu_item\">مرشحات الاستبعاد</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"root_menu_item\">الوصول إلى الروت</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"adb_menu_item\">الوصول إلى ADB</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"backup_restore_menu_item\">النسخ الاحتياطي/الاستعادة</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"help_menu_item\">تعليمات</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"donate_menu_item\">تبرّع</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"license_menu_item\">الرخصة</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"about_menu_item\">حول البرنامج</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"advanced_settings_menu_item\">إعدادات متقدمة</string>\n  <!-- MainActivity strings -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"primary_account\">الحساب الرئيسي</string>\n  <string name=\"primary_profile_only\">مدير الأذونات X يمكن تشغيله فقط في حساب المستخدم الرئيسي / ملف تعريف مالك الجهاز.</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"backup\">النسخ الاحتياطي</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"restore\">إستعادة</string>\n  <string name=\"choose_backup_restore\">النسخ الاحتياطي أو استعادة التفضيلات ومراجع الأذونات.</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"select_backup_file\">حدد ملف النسخ الاحتياطي</string>\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <plurals name=\"backup_restore_processed_prefs\">\n    <item quantity=\"zero\">تم معالجة %1$d تفضيل</item>\n    <item quantity=\"one\">تم معالجة %1$d تفضيل</item>\n    <item quantity=\"two\">تم معالجة %1$d تفضيل</item>\n    <item quantity=\"few\">تم معالجة %1$d تفضيلات</item>\n    <item quantity=\"many\">تم معالجة %1$d تفضيلات</item>\n    <item quantity=\"other\">تمت معالجة %1$d تفضيلات</item>\n  </plurals>\n  <plurals name=\"backup_restore_invalid_prefs\">\n    <item quantity=\"zero\">%1$s\\nتخطي %2$d تفضيلات غير صالحة.</item>\n    <item quantity=\"one\">%1$s\\nتخطي %2$d تفضيلات غير صالحة.</item>\n    <item quantity=\"two\">%1$s\\nتخطي %2$d تفضيلات غير صالحة.</item>\n    <item quantity=\"few\">%1$s\\nتخطي %2$d تفضيلات غير صالحة.</item>\n    <item quantity=\"many\">%1$s\\nتخطي %2$d تفضيلات غير صالحة.</item>\n    <item quantity=\"other\">%1$s\\nتخطي %2$d تفضيلات غير صالحة.</item>\n  </plurals>\n  <plurals name=\"backup_restore_uninstalled_apps\">\n    <item quantity=\"zero\">%1$s\\nتخطي %2$d تطبيق غير مثبت.</item>\n    <item quantity=\"one\">%1$s\\nتخطي %2$d تطبيق غير مثبت.</item>\n    <item quantity=\"two\">%1$s\\nتخطي %2$d تطبيق غير مثبت.</item>\n    <item quantity=\"few\">%1$s\\nتخطي %2$d تطبيق غير مثبت.</item>\n    <item quantity=\"many\">%1$s\\nتخطي %2$d تطبيق غير مثبت.</item>\n    <item quantity=\"other\">%1$s\\nتخطي %2$d تطبيقات غير مثبتة.</item>\n  </plurals>\n  <string name=\"backup_restore_failed\">فشل. حدث خطأ ما.</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"skip_uninstalled_packages\">تخطي الحزم الغير مثبتة</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"disable_pkg_warning\" comment=\"'system' or 'framework'\">تعطيل تطبيق %1$s هو إجراء خطير. في أسوأ سيناريو نظام أندرويد قد يتعطل.\\nهل أنت متأكد أنك تريد المتابعة؟</string>\n  <string name=\"pkg_state_disabled2\" searchStr=\"true\">%sمعطل</string>\n  <!-- Crash Report -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"crash_report\">تقرير الأعطال</string>\n  <!-- CHAR LIMIT: 30 -->\n  <string name=\"ask_to_report_crash_small\">إرسال تقرير الأعطال إلى المطور</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"send_report\">إرسال التقرير</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- Progress -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- AdvancedSettings Activity -->\n  <string name=\"daemon_uid_system\">النظام</string>\n  <string name=\"daemon_uid_root\">الجذر</string>\n  <string name=\"daemon_uid_adb\">ADB</string>\n  <string name=\"daemon_context_shell\">صدفة</string>\n  <string name=\"daemon_context_default\">الافتراضي</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"bad_path_toast\">مسار خاطئ</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"reset_perm_db_backup_failed_toast\">فشل النسخ الاحتياطي</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- Privileges -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"privileges_title\">الامتيازات</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"root_granted_toast\">تم منح الروت</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"getting_root_failed\">فشل الحصول على امتيازات الجذر. هل أنت متجذر؟</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_failed_toast\">فشل بدء العمل daemon المميز</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"adb_title\">ADB</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"connected_to_adb_toast\">متصل بـ ADB</string>\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- Feedback -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"love_using_app\">هل أعجبني مدير الأذونات X؟</string>\n  <string name=\"purchase_and_rate_the_app\">يمكنك مساعدتنا على تحسين التطبيق عن طريق تبرع صغير أو ترك مراجعة جيدة للتطبيق بحيث نتمكن من تلبية احتياجاتك بشكل أفضل.</string>\n  <string name=\"ask_to_provide_feedback\">نأسف لسماع ذلك. يمكنك المساعدة في تحسين التطبيق عن طريق الاتصال بنا عبر البريد الإلكتروني أو تيليجرام حتى نتمكن من خدمة احتياجاتك بشكل أفضل.</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"thank_you\">شكرا لك</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"contact\">اكتب الآن</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"contact_on_telegram\">اكتب رسالة على تيليجرام</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"contact_on_email\">كتابة بريد إلكتروني</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"how_do_i\">كيف يمكنني؟</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"purchase_donate\">شراء / تبرع</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"rate_on_ps\">التقييم على متجر Play</string>\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- Links -->\n  <!-- DaemonHandler -->\n  <string name=\"priv_daemon_died_toast\">موت daemon المميز</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- Daemon callback errors  -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_err_bad_rom_toast\">الروم سيء</string>\n  <!-- Daemon binder calls errors -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_grant_perm_failed_toast\">فشل في منح الإذن</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_revoke_perm_failed_toast\">فشل في إلغاء الإذن</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_reset_app_ops_failed_toast\">فشل إعادة تعيين اذونات التطبيقات</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_enable_pkg_failed_toast\">فشل تمكين التطبيق</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_disable_pkg_failed_toast\">فشل تعطيل التطبيق</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_open_app_info_failed_toast\">فشل في فتح معلومات التطبيق</string>\n  <!-- LogcatSvc -->\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"stop_button\">توقف</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"logging_failed_toast\">تعذر التسجيل</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"logging_title\">تسجيل</string>\n  <string name=\"logging_warning_msg\">قد يستجيب التطبيق ببطء بسبب جمع السجلات، وقد ينمو ملف السجل حتى حجم كبير جدا. يتم إيقاف التسجيل تلقائياً بعد 5 دقائق.</string>\n  <!-- AdbConnectSvc -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- DaemonRcvSvc -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- PackageActivity menu items -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"reset_app_ops\">اعادة تعيين الاذونات</string>\n  <string name=\"reset_app_ops_confirmation\">إعادة تعيين كافة الاذونات إلى الوضع الافتراضي؟</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"clear_references\">مسح المراجع</string>\n  <string name=\"clear_references_confirmation\">مسح جميع مراجع الأذونات؟</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"set_references\">تعيين المراجع</string>\n  <string name=\"set_references_confirmation\">تعيين كافة حالات الصلاحيات الحالية كمراجع؟</string>\n  <!-- CHAR LIMIT: 15 -->\n  <!-- MainActivity Dialogs -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"exclude_app_from_visible_list\">إخفاء التطبيق من القائمة</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"enable_app\">تمكين التطبيق</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"disable_app\">تعطيل التطبيق</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"open_pkg_info\">فتح معلومات التطبيق</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"find_pkg_process\">العثور على عملية التطبيق</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"install\">تثبيت</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"wrun_not_installed\">WhatsRunning غير مثبت</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- PackageActivity -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"something_went_wrong\">لقد حدث خطأ ما</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"change_perms_warning\" comment=\"'system' or 'framework'\">تغيير أذونات تطبيق %1$s إجراء خطير. في أسوأ سيناريو نظام أندرويد قد يتعطل.\\nهل أنت متأكد تريد المتابعة؟</string>\n  <string name=\"system\">النظام</string>\n  <string name=\"framework\">الإطار البرمجي</string>\n  <plurals name=\"uid_mode_app_ops_warning\">\n    <item quantity=\"zero\">هذا هو تطبيق وضع UID. تغييره يؤثر أيضا على %1$d حزمة أخرى.</item>\n    <item quantity=\"one\">هذا هو تطبيق وضع UID. تغييره يؤثر أيضا على %1$d حزمة أخرى.</item>\n    <item quantity=\"two\">هذا هو تطبيق وضع UID. تغييره يؤثر أيضا على %1$d حزمة أخرى.</item>\n    <item quantity=\"few\">هذا هو تطبيق وضع UID. تغييره يؤثر أيضا على %1$d حزمة أخرى.</item>\n    <item quantity=\"many\">هذا هو تطبيق وضع UID. تغييره يؤثر أيضا على %1$d حزمة أخرى.</item>\n    <item quantity=\"other\">هذا هو تطبيق وضع UID. تغييره يؤثر أيضًا على %1$d حزم أخرى.</item>\n  </plurals>\n  <string name=\"exclude_perm_from_list\">إخفاء الصلاحيّة من القائمة</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"set_perm_state_reference\"><![CDATA[تعيين <b><i>%1$s</i></b> كمرجع]]></string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"set_reference\">تعيين مرجع</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"clear_reference\">مسح المرجع</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_action_available\">لا يوجد إجراء متاح</string>\n  <plurals name=\"count_permissions_filtered_out\">\n    <item quantity=\"zero\">تم تصفية الإذن %1$d</item>\n    <item quantity=\"one\">تم تصفية الإذن %1$d</item>\n    <item quantity=\"two\">تم تصفية الإذن %1$d</item>\n    <item quantity=\"few\">تم تصفية الإذن %1$d</item>\n    <item quantity=\"many\">تم تصفية الإذن %1$d</item>\n    <item quantity=\"other\">تم تصفية %1$d أذونات</item>\n  </plurals>\n  <string name=\"requested_no_permissions\">لم يتم طلب أي أذونات</string>\n  <string name=\"should_be\" comment=\"AppOps or manifest permission state\"><![CDATA[يجب أن يكون <b>%1$s</b>]]></string>\n  <string name=\"prot_lvl_app_ops2\" searchStr=\"true\">%s, اذونات التطبيق</string>\n  <string name=\"prot_lvl_uid_mode\" searchStr=\"true\">%s، وضع UID</string>\n  <string name=\"prot_lvl_extra\" searchStr=\"true\">%s, اضافية</string>\n  <string name=\"prot_lvl_development2\" searchStr=\"true\">%s، التطوير</string>\n  <string name=\"prot_lvl_privileged2\" searchStr=\"true\">%s، امتياز</string>\n  <string name=\"prot_lvl_fixed2\" searchStr=\"true\">%sثابت</string>\n  <string name=\"app_op_mode_allow\">السماح</string>\n  <string name=\"app_op_mode_ignore\">تجاهل</string>\n  <string name=\"app_op_mode_deny\">رفض</string>\n  <string name=\"app_op_mode_default\">الافتراضي</string>\n  <string name=\"app_op_mode_foreground\">المقدمة</string>\n  <string name=\"app_op_mode_unknown\">غير معروف</string>\n  <string name=\"app_op_mode_not_set\">الافتراضي</string>\n  <string name=\"perm_mode_granted\">تم المنح</string>\n  <string name=\"perm_mode_revoked\">ملغاة</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"protection_level\">مستوى الحماية:</string>\n  <!-- CHAR LIMIT: 15 -->\n  <!-- FilterSettingsActivity -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_settings\">إعدادات الفرز</string>\n  <string name=\"excluded_apps_summary\">اضغط مطولاً على اسم الحزمة لاستبعاده</string>\n  <string name=\"excluded_perms_summary\">اضغط مطولاً على اسم الإذن لاستبعاده</string>\n  <string name=\"extra_app_ops_summary\">مدير اذونات التطبيقات يظهر دائما في كل تطبيق</string>\n  <string name=\"extra_app_ops_summary_count\">(المجموع: %1$d)</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"enable_exc_filters\">تفعيل الفلاتر</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"disable_exc_filters\">تعطيل الفلاتر</string>\n  <plurals name=\"and_others_count\">\n    <item quantity=\"zero\">%1$s و %2$d آخرين</item>\n    <item quantity=\"one\">%1$s و %2$d آخرين</item>\n    <item quantity=\"two\">%1$s و %2$d آخرين</item>\n    <item quantity=\"few\">%1$s و %2$d آخرون</item>\n    <item quantity=\"many\">%1$s و %2$d أخرى</item>\n    <item quantity=\"other\">%1$s و %2$d آخرين</item>\n  </plurals>\n  <!-- SettingsActivity -->\n  <string name=\"locale_system\">النظام</string>\n  <string name=\"locale_en\">الإنجليزية</string>\n  <string name=\"locale_ru\">الروسية</string>\n  <string name=\"locale_es\">الإسبانية</string>\n  <string name=\"locale_ar\">العربية</string>\n  <string name=\"theme_color_green\">أخضر</string>\n  <string name=\"theme_color_blue\">أزرق</string>\n  <string name=\"theme_color_pink\">وردي</string>\n  <string name=\"theme_color_gray\">رمادي</string>\n  <!-- PreferenceActivity menu items -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_settings_reset_defaults_menu_item\">إعادة الضبط إلى الافتراضي</string>\n  <string name=\"filter_settings_reset_confirmation\">إعادة تعيين إعدادات الفلتر إلى القيم الافتراضية؟</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_settings_clear_excluded_apps_menu_item\">امسح التطبيقات المستبعدة</string>\n  <string name=\"filter_settings_clear_apps_confirmation\">مسح جميع التطبيقات المستبعدة؟</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_settings_clear_excluded_perms_menu_item\">مسح الأذونات المستبعدة</string>\n  <string name=\"filter_settings_clear_perms_confirmation\">مسح جميع الأذونات المستبعدة؟</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_settings_clear_extra_app_ops_menu_item\">مسح تطبيقات إضافية</string>\n  <string name=\"filter_settings_clear_app_ops_confirmation\">مسح جميع التطبيقات الإضافية (تظهر دائماً)؟</string>\n  <!-- AboutActivity -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"source\">المصدر</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"email\">البريد الإلكتروني</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"telegram_group\">مجموعة التليجرام</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"send_crash_report_title\">إرسال التقرير</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"collect_logs\">جمع السجلات</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"collect_logs_summary\">حفظ سجل شديد التفصيل للملف</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"report_issues\">بلغ عن خطأ</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"report_issues_summary\">الأخطاء والتحسينات والاقتراحات…</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"select_log_file\">حدد ملف لحفظ السجل</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"stop_logging\">أيقاف التسجيل</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"logging_stopped\">تم إيقاف التسجيل</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"app_rating\">قيّمني</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"app_rating_summary\">التقييم، المراجعة، والبدء…</string>\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"update\">تحديث</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"update_summary\">تحقق تحديثات التطبيق</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"check_in_progress\">تحقق من التقدم</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"check_for_updates_failed\">فشل التحقق من التحديثات</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"app_is_up_to_date\">التطبيق محدّث</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"new_version_available\">نسخة جديدة من التطبيق متوفرة</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"tap_to_download\">إنقر للتحميل</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"download\">تحميل</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"privacy_policy\">سياسة الخصوصية</string>\n  <string name=\"translations\">الترجمات</string>\n  <string name=\"translations_summary\">هل ترغب في رؤية التطبيق بلغتك؟</string>\n  <string name=\"share\">مشاركة</string>\n  <string name=\"share_summary\">مشاركة التطبيق مع الآخرين</string>\n  <string name=\"share_text\">تحقق من هذا التطبيق الرائع! %1$s</string>\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"perm_status_menu_item\">الامتيازات</string>\n  <string name=\"uid\">المعرف الفريد:</string>\n  <string name=\"app_ops\">خيارات التطبيق</string>\n  <string name=\"op_to_def_mode\">اذهب إلى الوضع الافتراضي</string>\n  <string name=\"op_to_switch\">انتقل إلى التبديل</string>\n  <string name=\"op_to_name\">إلى الاسم</string>\n  <string name=\"permissions\">الأذونات</string>\n  <!-- ActivityNotFoundException -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_email_app_installed\">لا يوجد تطبيق بريد إلكتروني مثبت</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_browser_installed\">\"لا يوجد تطبيق متصفح ويب مثبت\"</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_file_picker_installed\">\"لم يتم تثبيت تطبيق منتقي الملفات\"</string>\n  <!-- Notification Channels -->\n  <string name=\"channel_app_update\">تحديثات التطبيق</string>\n  <string name=\"channel_crash_report\">تقرير الأعطال</string>\n  <string name=\"channel_logcat_collection\">مجموعة السجلات</string>\n  <!-- Notification permission -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"notif_perm_dialog_title\">إذن الإشعارات</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"notif_perm_missing_toast\">لم يتم منح أذن الموقع</string>\n  <!-- HelpActivity -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"open_browser_menu_item\">فتح في المتصفح</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"zoom_in_menu_item\">تكبير</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"zoom_out_menu_item\">تصغير</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_web_view\">لا يوجد عارض ويب</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"outdated_web_view\">عارض ويب قديم</string>\n  <!-- Locale -->\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values-de/pref_keys_foss.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources xmlns:tools=\"http://schemas.android.com/tools\">\n  <!-- NOTE:\n    If pref name equals its value + \"_key\":\n    - Pref values starting with \"pref_filter_\" are cleared on \"Reset to Defaults\".\n    - Pref values starting with \"pref_\" and not ending with \"_enc\" are backed up and restored. -->\n  <!-- MainActivity Preferences -->\n  <!-- MainActivity Preferences corresponding to default values -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- Privileges / Daemon -->\n  <!-- Advanced Settings -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- FilterSettingsActivity -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- PreferencesActivity permissions titles, keys and defaults -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- PreferencesActivity manifest permissions titles, keys and defaults -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- PreferencesActivity AppOps permissions titles, keys and defaults -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- SettingsActivity -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- HelpActivity -->\n  <!-- PackageActivity -->\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values-de/search_strings_foss.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n  <string name=\"pkg_state_system\">System</string>\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values-de/strings_foss.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources xmlns:tools=\"http://schemas.android.com/tools\">\n  <!-- Character Limits:\n       Button: 10\n       Toast/SnackBar: 20\n       Preference title: 20\n       Single line text: 30\n       Progress: 15\n       Dialog/notification title: 15\n       Menu item: 15 -->\n  <!-- General strings -->\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"yes\">Ja</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"no\">Nein</string>\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"app_name\">Permission Manager X</string>\n  <!-- MainActivity Navigation Drawer / menu items -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"settings_menu_item\">Einstellungen</string>\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"donate_menu_item\">Spenden</string>\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"about_menu_item\">Über</string>\n  <!-- CHAR LIMIT: 15 -->\n  <!-- MainActivity strings -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- Crash Report -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"crash_report\">Absturzbericht</string>\n  <!-- CHAR LIMIT: 30 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- Progress -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- AdvancedSettings Activity -->\n  <string name=\"daemon_uid_system\">System</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- Privileges -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- Feedback -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"purchase_and_rate_the_app\">Du kannst uns helfen, die App zu verbessern, indem du eine kleine Spende tätigst oder eine gute App-Bewertung schreibst, damit wir deine Bedürfnisse besser erfüllen können.</string>\n  <string name=\"ask_to_provide_feedback\">Tut uns leid, das zu hohen. Du kannst dabei helfen, die App zu verbessern, indem du uns per E-Mail oder Telegram kontaktierst, sodass wir deine Bedürfnisse besser erfüllen können.</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"thank_you\">Vielen Dank</string>\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- Links -->\n  <!-- DaemonHandler -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- Daemon callback errors  -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- Daemon binder calls errors -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- LogcatSvc -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- AdbConnectSvc -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- DaemonRcvSvc -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- PackageActivity menu items -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- MainActivity Dialogs -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- PackageActivity -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"system\">system</string>\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- FilterSettingsActivity -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- SettingsActivity -->\n  <string name=\"locale_system\">System</string>\n  <string name=\"locale_en\">Englisch</string>\n  <string name=\"locale_el\">Griechisch</string>\n  <!-- PreferenceActivity menu items -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- AboutActivity -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"source\">Quellcode</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"email\">E-Mail</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"telegram_group\">Telegram-Gruppe</string>\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"app_rating\">Bewerte mich</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"update\">Update</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"update_summary\">Nach Updates suchen</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"download\">Herunterladen</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"privacy_policy\">Datenschutzerklärung</string>\n  <string name=\"translations\">Übersetzungen</string>\n  <string name=\"translations_summary\">Möchtest du die App in deiner Sprache sehen?</string>\n  <string name=\"share\">Teilen</string>\n  <string name=\"share_summary\">Teile die App mit anderen</string>\n  <string name=\"share_text\">Schau dir diese tolle App an! %1$s</string>\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- ActivityNotFoundException -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_email_app_installed\">Keine E-Mail-App</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_browser_installed\">\"Kein Webbrowser\"</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- Notification Channels -->\n  <string name=\"channel_crash_report\">Absturzbericht</string>\n  <!-- Notification permission -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- HelpActivity -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- Locale -->\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values-el/pref_keys_foss.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources xmlns:tools=\"http://schemas.android.com/tools\">\n  <!-- NOTE:\n    If pref name equals its value + \"_key\":\n    - Pref values starting with \"pref_filter_\" are cleared on \"Reset to Defaults\".\n    - Pref values starting with \"pref_\" and not ending with \"_enc\" are backed up and restored. -->\n  <!-- MainActivity Preferences -->\n  <!-- MainActivity Preferences corresponding to default values -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_main_deep_search_title\">Βαθιά αναζήτηση</string>\n  <string name=\"pref_main_deep_search_summary\">Να γίνει αναζήτηση στη λίστα δικαιωμάτων αντί για λίστα εφαρμογών</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_main_case_sensitive_search_title\">Διάκριση πεζών/ κεφαλαίων</string>\n  <string name=\"pref_main_case_sensitive_search_summary\">Ταίριασμα συμβολοσειράς μόνο με την ίδια υπόθεση</string>\n  <!-- Privileges / Daemon -->\n  <!-- Advanced Settings -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- FilterSettingsActivity -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_packages_cat_title\">Πακέτα</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_no_icon_apps_title\">Εξαίρεση εφαρμογών χωρίς εικονίδια</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_user_apps_title\">Εξαίρεση εφαρμογών χρήστη</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_system_apps_title\">Εξαίρεση εφαρμογών συστήματος</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_framework_apps_title\">Εξαίρεση εφαρμογών πλαισίου</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_disabled_apps_title\">Εξαίρεση απενεργοποιημένων εφαρμογών</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_no_perms_apps_title\">Εξαίρεση εφαρμογών χωρίς δικαιώματα</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_manually_exclude_apps_title\">Χειροκίνητη εξαίρεση εφαρμογών</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_excluded_apps_title\">Λίστα χειροκίνητων εξαιρέσεων εφαρμογών</string>\n  <!-- PreferencesActivity permissions titles, keys and defaults -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_permissions_cat_title\">Δικαιώματα</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_not_changeable_perms_title\">Εξαίρεση δικαιωμάτων μη μεταβλητών</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_not_granted_perms_title\">Εξαίρεση δικαιωμάτων δεν έχουν χορηγηθεί</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_manually_exclude_perms_title\">Χειροκίνητη εξαίρεση δικαιωμάτων</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_excluded_perms_title\">Λίστα δικαιωμάτων χειροκίνητα εξαιρούμενων</string>\n  <!-- PreferencesActivity manifest permissions titles, keys and defaults -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_man_permissions_cat_title\">Δικαιώματα Manifest</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_invalid_perms_title\">Εξαίρεση μη έγκυρων δικαιωμάτων</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_normal_perms_title\">Εξαίρεση κανονικών δικαιωμάτων</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_dangerous_perms_title\">Εξαίρεση επικίνδυνων δικαιωμάτων</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_signature_perms_title\">Εξαίρεση δικαιωμάτων υπογραφής</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_privileged_perms_title\">Εξαίρεση προνομιακών δικαιωμάτων</string>\n  <!-- PreferencesActivity AppOps permissions titles, keys and defaults -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_app_ops_permissions_cat_title\">Δικαιώματα AppOps</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_appops_perms_title\">Εξαίρεση Εφαρμογών</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_not_set_appops_title\">Δεν ορίστηκε η εξαίρεση εφαρμογών (Προεπιλογές)</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_show_extra_app_ops_title\">Εμφάνιση επιπλέον AppOps, δεν αποκλείεται ποτέ</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_extra_appops_title\">Extra AppOps list</string>\n  <!-- SettingsActivity -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_general_cat_title\">Γενικές ρυθμίσεις</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_check_for_updates_title\">Έλεγχος ενημερώσεων</string>\n  <string name=\"pref_settings_check_for_updates_summary\">Εμφάνιση ειδοποίησης όταν είναι διαθέσιμη μια νέα έκδοση</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_privileges_reminder_title\">Υπενθύμιση ελλείποντων δικαιωμάτων</string>\n  <string name=\"pref_settings_privileges_reminder_summary\">Εμφάνιση διαλόγου στην εφαρμογή ξεκινά, αν δεν χορηγούνται δικαιώματα root και ADB</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_special_search_title\">Σύνθετη αναζήτηση</string>\n  <string name=\"pref_settings_special_search_summary\">Χρήση ΚΑΙ (&amp;), Ή (ο) και ΟΧΙ (!) χειριστές στην αναζήτηση για να συνδυάσουν ερωτήματα</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_locale_title\">Γλώσσα εφαρμογής</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_theming_cat_title\">Θέμα</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_theme_color_title\">Χρώμα θέματος</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_dark_theme_title\">Σκοτεινό θέμα</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_search_suggestions_count_title2\">Μέγιστες προτάσεις: %d</string>\n  <string name=\"pref_settings_search_suggestions_count_summary\">Προτείνετε πακέτο, άδειες, ειδικές λέξεις-κλειδιά κλπ.</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_search_keywords_title\">Αναζήτηση λέξεων-κλειδιών</string>\n  <string name=\"pref_settings_search_keywords_summary\">Λέξεις-κλειδιά με ειδική έννοια</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_perm_watcher_cat_title\">Παρακολούθηση δικαιωμάτων</string>\n  <!-- HelpActivity -->\n  <!-- PackageActivity -->\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values-el/search_strings_foss.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n  <string name=\"pkg_state_critical\">Κρίσιμο</string>\n  <string name=\"pkg_state_framework\">Framework</string>\n  <string name=\"pkg_state_system\">Σύστημα</string>\n  <string name=\"pkg_state_user\">Χρήστης</string>\n  <string name=\"pkg_state_disabled\">Απενεργοποιημένο</string>\n  <string name=\"prot_lvl_unknown\">Άγνωστο</string>\n  <string name=\"prot_lvl_normal\">Κανονικό</string>\n  <string name=\"prot_lvl_dangerous\">Επικίνδυνο</string>\n  <string name=\"prot_lvl_signature\">Υπογραφή</string>\n  <string name=\"prot_lvl_internal\">Εσωτερική</string>\n  <string name=\"prot_lvl_app_ops\">AppOps</string>\n  <string name=\"prot_lvl_development\">Ανάπτυξη</string>\n  <string name=\"prot_lvl_privileged\">Προνόμια</string>\n  <string name=\"prot_lvl_fixed\">Σταθερό</string>\n  <string name=\"search_str_uid\">UID</string>\n  <string name=\"search_str_time\">ΧΡΟΝΟΣ</string>\n  <string name=\"search_str_extra\">EXTRA</string>\n  <string name=\"search_str_red\">ΚΟΚΚΚ</string>\n  <string name=\"search_str_orange\">ΟΡΓΑΝΑ</string>\n  <string name=\"search_str_green\">ΕΛΛΑΔΑ</string>\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values-el/strings_foss.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources xmlns:tools=\"http://schemas.android.com/tools\">\n  <!-- Character Limits:\n       Button: 10\n       Toast/SnackBar: 20\n       Preference title: 20\n       Single line text: 30\n       Progress: 15\n       Dialog/notification title: 15\n       Menu item: 15 -->\n  <!-- General strings -->\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"yes\">Ναι</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"no\">Όχι</string>\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"open_drawer\">Άνοιγμα</string>\n  <string name=\"close_drawer\">Κλείσιμο</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"do_not_remind\">Χωρίς Υπενθύμιση</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"_continue\">Συνέχεια?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"warning\">Προειδοποίηση</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"help_button\">Βοήθεια</string>\n  <plurals name=\"apps_count\">\n    <item quantity=\"one\">%d εφαρμογή</item>\n    <item quantity=\"other\">%d εφαρμογές</item>\n  </plurals>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"app_name\">Διαχειριστής Δικαιωμάτων X</string>\n  <!-- MainActivity Navigation Drawer / menu items -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"search_menu_item\">Αναζήτηση</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"settings_menu_item\">Ρυθμίσεις</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_menu_item\">Φίλτρα Εξαίρεσης</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"root_menu_item\">Πρόσβαση Root</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"adb_menu_item\">Πρόσβαση ADB</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"backup_restore_menu_item\">Αντίγραφο Ασφαλείας / Επαναφορά</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"help_menu_item\">Βοήθεια</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"donate_menu_item\">Δωρεά</string>\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"about_menu_item\">Σχετικά</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"advanced_settings_menu_item\">Ρυθμίσεις Για Προχωρημένους</string>\n  <!-- MainActivity strings -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"primary_account\">Κύριος Λογαριασμός</string>\n  <string name=\"primary_profile_only\">Ο διαχειριστής δικαιωμάτων X μπορεί να τρέξει μόνο στο προφίλ κύριου λογαριασμού χρήστη / ιδιοκτήτη συσκευής.</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"backup\">Αντίγραφα Ασφαλείας</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"restore\">Επαναφορά</string>\n  <string name=\"choose_backup_restore\">Αντίγραφο ασφαλείας ή επαναφορά προτιμήσεων και αναφορών δικαιωμάτων.</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"select_backup_file\">Επιλέξτε αρχείο αντιγράφου ασφαλείας</string>\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <plurals name=\"backup_restore_processed_prefs\">\n    <item quantity=\"one\">Επεξεργασία προτίμησης %1$d</item>\n    <item quantity=\"other\">Επεξεργασμένες %1$d προτιμήσεις</item>\n  </plurals>\n  <plurals name=\"backup_restore_invalid_prefs\">\n    <item quantity=\"one\">%1$s\\nΠαράλειψη %2$d μη έγκυρη προτίμηση.</item>\n    <item quantity=\"other\">%1$s\\nΠαράλειψη %2$d μη έγκυρες προτιμήσεις.</item>\n  </plurals>\n  <plurals name=\"backup_restore_uninstalled_apps\">\n    <item quantity=\"one\">%1$s\\nΠαράλειψη %2$d απεγκατεστημένη εφαρμογή.</item>\n    <item quantity=\"other\">%1$s\\nΠαράλειψη %2$d απεγκατεστημένων εφαρμογών.</item>\n  </plurals>\n  <string name=\"backup_restore_failed\">Απέτυχε. Παρουσιάστηκε κάποιο σφάλμα.</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"skip_uninstalled_packages\">Παράλειψη απεγκατεστημένων πακέτων</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"disable_pkg_warning\" comment=\"'system' or 'framework'\">Η απενεργοποίηση μιας εφαρμογής %1$s είναι μια επικίνδυνη ενέργεια. Στη χειρότερη περίπτωση το σύστημα Android μπορεί να καταρρεύσει.\\nΕίστε σίγουροι ότι θέλετε να συνεχίσετε?</string>\n  <string name=\"pkg_state_disabled2\" searchStr=\"true\">%s, Απενεργοποιημένο</string>\n  <!-- Crash Report -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"crash_report\">Αναφορά Σφάλματος</string>\n  <!-- CHAR LIMIT: 30 -->\n  <string name=\"ask_to_report_crash_small\">Αποστολή αναφοράς σε developer</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"send_report\">Αποστ Αναφ</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- Progress -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- AdvancedSettings Activity -->\n  <string name=\"daemon_uid_system\">Σύστημα</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- Privileges -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- Feedback -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"love_using_app\">Μου Αρέσει Διαχείριση Δικαιωμάτων X?</string>\n  <string name=\"purchase_and_rate_the_app\">Μπορείτε να μας βοηθήσετε να βελτιώσουμε την εφαρμογή κάνοντας μια μικρή δωρεά ή αφήνοντας μια καλή αναθεώρηση της εφαρμογής, έτσι ώστε να είμαστε σε θέση να εξυπηρετήσουμε καλύτερα τις ανάγκες σας.</string>\n  <string name=\"ask_to_provide_feedback\">Λυπάμαι που το ακούω. Μπορείτε να βοηθήσετε στη βελτίωση της εφαρμογής επικοινωνώντας μαζί μας μέσω email ή Telegram, ώστε να μπορέσουμε να εξυπηρετήσουμε καλύτερα τις ανάγκες σας.</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"thank_you\">Σας ευχαριστούμε</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"contact\">Γράψε Τώρα</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"contact_on_telegram\">Γράψτε ένα μήνυμα στο Telegram</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"contact_on_email\">Εγγραφή ενός email</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"how_do_i\">Πώς μπορώ να?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"purchase_donate\">Αγορά / Δωρεά</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"rate_on_ps\">Βαθμολογήστε στο Play Store</string>\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- Links -->\n  <!-- DaemonHandler -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- Daemon callback errors  -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- Daemon binder calls errors -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- LogcatSvc -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- AdbConnectSvc -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- DaemonRcvSvc -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- PackageActivity menu items -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"reset_app_ops\">Reset AppOps</string>\n  <string name=\"reset_app_ops_confirmation\">Επαναφορά όλων των εφαρμογών στις προεπιλεγμένες λειτουργίες?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"clear_references\">Εκκαθάριση Αναφορών</string>\n  <string name=\"clear_references_confirmation\">Εκκαθάριση όλων των αναφορών δικαιωμάτων?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"set_references\">Ορισμός Αναφορών</string>\n  <string name=\"set_references_confirmation\">Ορίστε όλα τα τρέχοντα δικαιώματα ως αναφορές?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <!-- MainActivity Dialogs -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"exclude_app_from_visible_list\">Απόκρυψη εφαρμογής από τη λίστα</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"enable_app\">Ενεργοποίηση εφαρμογής</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"disable_app\">Απενεργοποίηση εφαρμογής</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"open_pkg_info\">Άνοιγμα πληροφοριών εφαρμογής</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"find_pkg_process\">Εύρεση διαδικασίας εφαρμογών</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"install\">Εγκατάσταση</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"wrun_not_installed\">WhatsRun δεν εγκαταστάθηκε</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- PackageActivity -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"change_perms_warning\" comment=\"'system' or 'framework'\">Αλλάζοντας τα δικαιώματα μιας εφαρμογής %1$s είναι μια επικίνδυνη ενέργεια. Στη χειρότερη περίπτωση το σύστημα Android μπορεί να καταρρεύσει.\\nΕίστε βέβαιοι ότι θέλετε να συνεχίσετε?</string>\n  <string name=\"system\">σύστημα</string>\n  <string name=\"framework\">framework</string>\n  <plurals name=\"uid_mode_app_ops_warning\">\n    <item quantity=\"one\">Αυτή είναι μια εφαρμογή λειτουργίας UID. Η αλλαγή της επηρεάζει επίσης %1$d άλλο πακέτο.</item>\n    <item quantity=\"other\">Αυτή είναι μια εφαρμογή λειτουργίας UID. Η αλλαγή της επηρεάζει επίσης %1$d άλλα πακέτα.</item>\n  </plurals>\n  <string name=\"exclude_perm_from_list\">Απόκρυψη Δικαιωμάτων Από Τη Λίστα</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"set_perm_state_reference\"><![CDATA[Όρισε <b><i>%1$s</i></b> Ως αναφορά]]></string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"set_reference\">Ορισμός Αναφοράς</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"clear_reference\">Εκκαθάριση Αναφοράς</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_action_available\">Καμία διαθέσιμη ενέργεια</string>\n  <plurals name=\"count_permissions_filtered_out\">\n    <item quantity=\"one\">%1$d άδεια φιλτραρίστηκε</item>\n    <item quantity=\"other\">%1$d δικαιώματα φιλτράρηκαν έξω</item>\n  </plurals>\n  <string name=\"requested_no_permissions\">Δεν ζητήθηκαν δικαιώματα</string>\n  <string name=\"should_be\" comment=\"AppOps or manifest permission state\"><![CDATA[Θα πρέπει να <b>%1$s</b>]]></string>\n  <string name=\"prot_lvl_app_ops2\" searchStr=\"true\">%s, AppOps</string>\n  <string name=\"prot_lvl_uid_mode\" searchStr=\"true\">%s, λειτουργία UID</string>\n  <string name=\"prot_lvl_extra\" searchStr=\"true\">%s, Extra</string>\n  <string name=\"prot_lvl_development2\" searchStr=\"true\">%s, Ανάπτυξη</string>\n  <string name=\"prot_lvl_privileged2\" searchStr=\"true\">%s, Προνόμια</string>\n  <string name=\"prot_lvl_fixed2\" searchStr=\"true\">%s, Σταθερό</string>\n  <string name=\"app_op_mode_allow\">Αποδοχή</string>\n  <string name=\"app_op_mode_ignore\">Παράβλεψη</string>\n  <string name=\"app_op_mode_deny\">Άρνηση</string>\n  <string name=\"app_op_mode_foreground\">Προσκήνιο</string>\n  <string name=\"app_op_mode_unknown\">Άγνωστο</string>\n  <string name=\"perm_mode_granted\">Χορηγήθηκε</string>\n  <string name=\"perm_mode_revoked\">Revoked</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"protection_level\">Επίπεδο προστασίας:</string>\n  <!-- CHAR LIMIT: 15 -->\n  <!-- FilterSettingsActivity -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_settings\">Ρυθμίσεις Φίλτρου</string>\n  <string name=\"excluded_apps_summary\">Πατήστε παρατεταμένα σε ένα όνομα πακέτου για να το αποκλείσετε</string>\n  <string name=\"excluded_perms_summary\">Πατήστε παρατεταμένα σε ένα όνομα δικαιωμάτων για να το αποκλείσετε</string>\n  <string name=\"extra_app_ops_summary\">Εφαρμογές που εμφανίζονται πάντα σε κάθε εφαρμογή</string>\n  <string name=\"extra_app_ops_summary_count\">(Σύνολο: %1$d)</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"enable_exc_filters\">Ενεργοποίηση Φίλτρων</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"disable_exc_filters\">Απενεργοποίηση Φίλτρων</string>\n  <plurals name=\"and_others_count\">\n    <item quantity=\"one\">%1$s και %2$d άλλο</item>\n    <item quantity=\"other\">%1$s και %2$d άλλοι</item>\n  </plurals>\n  <!-- SettingsActivity -->\n  <string name=\"locale_system\">Σύστημα</string>\n  <string name=\"locale_en\">Αγγλικά</string>\n  <string name=\"locale_ru\">Ρωσικά</string>\n  <string name=\"locale_es\">Ισπανικά</string>\n  <string name=\"locale_ar\">Αραβικά</string>\n  <string name=\"locale_el\">Ελληνικά</string>\n  <string name=\"theme_color_green\">Πράσινο</string>\n  <string name=\"theme_color_blue\">Μπλε</string>\n  <string name=\"theme_color_pink\">Ροζ</string>\n  <string name=\"theme_color_gray\">Γκρι</string>\n  <!-- PreferenceActivity menu items -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_settings_reset_defaults_menu_item\">Επαναφορά Προεπιλογών</string>\n  <string name=\"filter_settings_reset_confirmation\">Επαναφορά ρυθμίσεων φίλτρου στις προεπιλεγμένες τιμές?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_settings_clear_excluded_apps_menu_item\">Εκκαθάριση Εξαιρούμενων Εφαρμογών</string>\n  <string name=\"filter_settings_clear_apps_confirmation\">Εκκαθάριση όλων των εξαιρούμενων εφαρμογών?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_settings_clear_excluded_perms_menu_item\">Εκκαθάριση Εξαιρούμενων Δικαιωμάτων</string>\n  <string name=\"filter_settings_clear_perms_confirmation\">Εκκαθάριση όλων των εξαιρούμενων δικαιωμάτων?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_settings_clear_extra_app_ops_menu_item\">Εκκαθάριση Επιπλέον Εφαρμογών</string>\n  <string name=\"filter_settings_clear_app_ops_confirmation\">Καθαρισμός όλων των επιπλέον (πάντα εμφανίζεται) AppOps?</string>\n  <!-- AboutActivity -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"source\">Πηγή</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"email\">E-mail</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"telegram_group\">Ομάδα Telegram</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"send_crash_report_title\">Αποστ Αναφ</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"collect_logs\">Συλλογή Αρχείων Καταγραφής</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"collect_logs_summary\">Αποθήκευση εξαιρετικά αναλυτικής καταγραφής σε αρχείο</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"report_issues\">Αναφορά Ζητημάτων</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"report_issues_summary\">Σφάλματα, βελτιώσεις, προτάσεις…</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"select_log_file\">Επιλογή αρχείου για αποθήκευση αρχείου καταγραφής</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"stop_logging\">Διακοπή Καταγραφής</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"logging_stopped\">Η καταγραφή σταμάτησε</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"app_rating\">Αξιολογήστε Με</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"app_rating_summary\">Βαθμολόγηση, αναθεώρηση, με πρωταγωνιστή…</string>\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"update\">Ενημέρωση</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"update_summary\">Έλεγχος ενημερώσεων</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"check_in_progress\">Έλεγχος σε εξέλιξη</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"check_for_updates_failed\">Ο έλεγχος για ενημερώσεις απέτυχε</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"app_is_up_to_date\">Η εφαρμογή είναι ενημερωμένη</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"new_version_available\">Νέα έκδοση εφαρμογής είναι διαθέσιμη</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"tap_to_download\">Πατήστε για λήψη</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"download\">Λήψη</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"privacy_policy\">Πολιτική Απορρήτου</string>\n  <string name=\"translations\">Μεταφράσεις</string>\n  <string name=\"translations_summary\">Want to see the app in your language?</string>\n  <string name=\"share\">Κοινοποίηση</string>\n  <string name=\"share_summary\">Μοιραστείτε την εφαρμογή με άλλους</string>\n  <string name=\"share_text\">Δείτε αυτή την καταπληκτική εφαρμογή! %1$s</string>\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"uid\">UID:</string>\n  <string name=\"app_ops\">AppOps</string>\n  <string name=\"op_to_def_mode\">Λειτουργία OP Προεπιλογής</string>\n  <string name=\"op_to_switch\">Μετάβαση Σε Εναλλαγή</string>\n  <string name=\"op_to_name\">Op Προς Όνομα</string>\n  <string name=\"permissions\">Δικαιώματα</string>\n  <!-- ActivityNotFoundException -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_email_app_installed\">Οχι εφαρμογή e-mail</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_browser_installed\">\"Όχι εφαρμογή browser\"</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_file_picker_installed\">\"Δεν έχει εγκατασταθεί εφαρμογή επιλογέα αρχείων\"</string>\n  <!-- Notification Channels -->\n  <string name=\"channel_app_update\">Ενημερώσεις Εφαρμογών</string>\n  <string name=\"channel_crash_report\">Αναφορά Σφάλματος</string>\n  <!-- Notification permission -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- HelpActivity -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"open_browser_menu_item\">Άνοιγμα σε πρόγραμμα περιήγησης</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"zoom_in_menu_item\">Μεγέθυνση</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"zoom_out_menu_item\">Σμίκρυνση</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_web_view\">Καμία Προβολή Ιστού</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"outdated_web_view\">Παρωχημένη WebView</string>\n  <!-- Locale -->\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values-es/pref_keys_foss.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources xmlns:tools=\"http://schemas.android.com/tools\">\n  <!-- NOTE:\n    If pref name equals its value + \"_key\":\n    - Pref values starting with \"pref_filter_\" are cleared on \"Reset to Defaults\".\n    - Pref values starting with \"pref_\" and not ending with \"_enc\" are backed up and restored. -->\n  <!-- MainActivity Preferences -->\n  <!-- MainActivity Preferences corresponding to default values -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_main_deep_search_title\">Búsqueda profunda</string>\n  <string name=\"pref_main_deep_search_summary\">Buscar en lista de permisos en lugar de la lista de aplicaciones</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_main_case_sensitive_search_title\">Distingue mayúsculas</string>\n  <string name=\"pref_main_case_sensitive_search_summary\">Coincidir cadenas únicamente con las mismas mayúsculas</string>\n  <!-- Privileges / Daemon -->\n  <!-- Advanced Settings -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_allow_critical_changes_title\">Permitir cambios críticos</string>\n  <string name=\"pref_adv_settings_allow_critical_changes_summary\">Hacer cambios a permisos críticos y aplicaciones de framework</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_exit_on_app_death_title\">Autodetener daemon</string>\n  <string name=\"pref_adv_settings_exit_on_app_death_summary\">Detener el daemon privilegiado cuando la app sea detenida</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_perm_refs_cat_title\">Referencias de Permisos</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_unique_ref_app_op_uid_mode_title\"></string>\n  <string name=\"pref_adv_settings_unique_ref_app_op_uid_mode_summary\"></string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_root_cat_title\">Root</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- FilterSettingsActivity -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_packages_cat_title\">Paquetes</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_no_icon_apps_title\">Excluir aplicaciones sin íconos</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_user_apps_title\">Excluir aplicaciones del usuario</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_system_apps_title\">Excluir aplicaciones del sistema</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_framework_apps_title\">Excluir aplicaciones de framework</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_disabled_apps_title\">Excluir aplicaciones deshabilitadas</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_no_perms_apps_title\">Excluir aplicaciones sin permisos</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_manually_exclude_apps_title\">Aplicaciones manualmente excluidas</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_excluded_apps_title\">Lista de aplicaciones manualmente excluidas</string>\n  <!-- PreferencesActivity permissions titles, keys and defaults -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_permissions_cat_title\">Permisos</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_not_changeable_perms_title\">Excluir permisos no modificables</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_not_granted_perms_title\">Excluir permisos no otorgados</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_manually_exclude_perms_title\">Permisos manualmente excluidos</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_excluded_perms_title\">Lista de permisos manualmente excluidos</string>\n  <!-- PreferencesActivity manifest permissions titles, keys and defaults -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_man_permissions_cat_title\">Permisos de Manifiesto</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_invalid_perms_title\">Excluir permisos inválidos</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_normal_perms_title\">Excluir permisos normales</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_dangerous_perms_title\">Excluir permisos peligrosos</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_signature_perms_title\">Excluir permisos de firma</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_privileged_perms_title\">Excluir permisos privilegiados</string>\n  <!-- PreferencesActivity AppOps permissions titles, keys and defaults -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_app_ops_permissions_cat_title\">Permisos de AppOps</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_appops_perms_title\">Excluir AppOps</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_not_set_appops_title\">Excluir AppOps no establecidas (Por defecto)</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_show_extra_app_ops_title\">Mostrar AppOps adicionales, nunca excluidas</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_extra_appops_title\">Lista de AppOps adicionales</string>\n  <!-- SettingsActivity -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_general_cat_title\">Ajustes generales</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_check_for_updates_title\">Buscar actualizaciones</string>\n  <string name=\"pref_settings_check_for_updates_summary\">Mostrar una notificación cuando una nueva versión esté disponible</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_privileges_reminder_title\">Recordar privilegios faltantes</string>\n  <string name=\"pref_settings_privileges_reminder_summary\">Mostrar un cuadro de diálogo al iniciar la aplicación si los privilegios root y ADB no han sido otorgados</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_special_search_title\">Búsqueda compleja</string>\n  <string name=\"pref_settings_special_search_summary\">Usar los operadores Y (&amp;), O (|) y NO (!) en las búsquedas para combinar consultas</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_locale_title\">Lenguaje de la aplicación</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_theming_cat_title\">Tema</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_theme_color_title\">Color de tema</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_dark_theme_title\">Tema oscuro</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_search_suggestions_count_title2\">Sugerencias máximas: %d</string>\n  <string name=\"pref_settings_search_suggestions_count_summary\">Sugerir paquete, permisos, palabas clave especiales, etc.</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_search_keywords_title\">Buscar palabras clave</string>\n  <string name=\"pref_settings_search_keywords_summary\">Palabras clave con significado especial</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_ref_states_cat_title\">Verificaciones programadas</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_perm_watcher_cat_title\">Observador de permisos</string>\n  <!-- HelpActivity -->\n  <!-- PackageActivity -->\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values-es/search_strings_foss.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n  <string name=\"pkg_state_critical\">Crítica</string>\n  <string name=\"pkg_state_framework\">Framework</string>\n  <string name=\"pkg_state_system\">Sistema</string>\n  <string name=\"pkg_state_user\">Usuario</string>\n  <string name=\"pkg_state_disabled\">Deshabilitada</string>\n  <string name=\"prot_lvl_unknown\">Desconocido</string>\n  <string name=\"prot_lvl_normal\">Normal</string>\n  <string name=\"prot_lvl_dangerous\">Peligroso</string>\n  <string name=\"prot_lvl_signature\">Firma</string>\n  <string name=\"prot_lvl_app_ops\">AppOps</string>\n  <string name=\"prot_lvl_development\">Desarrollo</string>\n  <string name=\"prot_lvl_privileged\">Privilegiado</string>\n  <string name=\"prot_lvl_fixed\">Fijo</string>\n  <string name=\"search_str_uid\">UID</string>\n  <string name=\"search_str_time\">TIEMPO</string>\n  <string name=\"search_str_extra\">EXTRA</string>\n  <string name=\"search_str_red\">ROJO</string>\n  <string name=\"search_str_orange\">NARANJA</string>\n  <string name=\"search_str_green\">VERDE</string>\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values-es/strings_foss.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources xmlns:tools=\"http://schemas.android.com/tools\">\n  <!-- Character Limits:\n       Button: 10\n       Toast/SnackBar: 20\n       Preference title: 20\n       Single line text: 30\n       Progress: 15\n       Dialog/notification title: 15\n       Menu item: 15 -->\n  <!-- General strings -->\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"yes\">Sí</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"no\">No</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"ok_button\">OK</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"cancel_button\">Cancelar</string>\n  <string name=\"open_drawer\">Abrir</string>\n  <string name=\"close_drawer\">Cerrar</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"do_not_remind\">No Recordar</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"_continue\">¿Continuar?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"warning\">Advertencia</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"help_button\">Ayuda</string>\n  <plurals name=\"apps_count\">\n    <item quantity=\"one\">%d app</item>\n    <item quantity=\"other\">%d apps</item>\n  </plurals>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"app_name\">Permission Manager X</string>\n  <!-- MainActivity Navigation Drawer / menu items -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"search_menu_item\">Buscar</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"settings_menu_item\">Ajustes</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_menu_item\">Filtros de exclusión</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"root_menu_item\">Acceso Root</string>\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"backup_restore_menu_item\">Respaldar / Restaurar</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"help_menu_item\">Ayuda</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"donate_menu_item\">Donar</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"license_menu_item\">Licencia</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"about_menu_item\">Acerca de</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"advanced_settings_menu_item\">Ajustes Avanzados</string>\n  <!-- MainActivity strings -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"primary_account\">Cuenta Primaria</string>\n  <string name=\"primary_profile_only\">Permission Manager X puede correr únicamente en la cuenta del usuario principal / perfil del propietario del dispositivo.</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"backup\">Copia de seguridad</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"restore\">Restaurar</string>\n  <string name=\"choose_backup_restore\">Preferencias y referencias de permiso de creación y restauración de copias de seguridad.</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"select_backup_file\">Selecciona archivo de copia de seguridad</string>\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <plurals name=\"backup_restore_processed_prefs\">\n    <item quantity=\"one\">%1$d preferencia procesada</item>\n    <item quantity=\"other\">%1$d preferencias procesadas</item>\n  </plurals>\n  <plurals name=\"backup_restore_invalid_prefs\">\n    <item quantity=\"one\">%1$s\\n%2$d preferencia inválida omitida.</item>\n    <item quantity=\"other\">%1$s\\n%2$d preferencias inválidas omitidas.</item>\n  </plurals>\n  <plurals name=\"backup_restore_uninstalled_apps\">\n    <item quantity=\"one\">%1$s\\n%2$d aplicación desinstalada omitida.</item>\n    <item quantity=\"other\">%1$s\\n%2$d aplicaciones desinstaladas omitidas.</item>\n  </plurals>\n  <string name=\"backup_restore_failed\">Falló. Ocurrió algún error.</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"skip_uninstalled_packages\">Omitir paquetes desinstalados</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"disable_pkg_warning\" comment=\"'system' or 'framework'\">Deshabilitar una aplicación de %1$s es una acción peligrosa. En el peor de los casos el sistema Android podría colapsar.\\n¿Seguro que quieres continuar?</string>\n  <string name=\"pkg_state_disabled2\" searchStr=\"true\">%s, Deshabilitada</string>\n  <!-- Crash Report -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"crash_report\">Reporte de fallos</string>\n  <!-- CHAR LIMIT: 30 -->\n  <string name=\"ask_to_report_crash_small\">Enviar el reporte de error al desarrollador</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"send_report\">Enviar Reporte</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- Progress -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- AdvancedSettings Activity -->\n  <string name=\"daemon_uid_system\">Sistema</string>\n  <string name=\"daemon_uid_root\">Root</string>\n  <string name=\"daemon_uid_adb\">ADB</string>\n  <string name=\"daemon_context_shell\">Consola</string>\n  <string name=\"daemon_context_default\">Predeterminado</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"bad_path_toast\">Ruta incorrecta</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"reset_perm_db_backup_failed_toast\">La copia de seguridad ha fallado</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- Privileges -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"privileges_title\">Privilegios</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"root_granted_toast\">Root otorgado</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"getting_root_failed\">Obtención de privilegios root fallido. ¿Estás rooteado?</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_failed_toast\">Inicio de daemon privilegiado fallido</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"adb_title\">ADB</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"connected_to_adb_toast\">Conectado a ADB</string>\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- Feedback -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"love_using_app\">¿Te gusta Permission Manager X?</string>\n  <string name=\"purchase_and_rate_the_app\">Puedes ayudarnos a mejorar la aplicación haciendo una pequeña donación o dejando una buena reseña de la aplicación para que podamos atender mejor tus necesidades.</string>\n  <string name=\"ask_to_provide_feedback\">Lamentamos oír eso. Puedes ayudarnos a mejorar la aplicación contactándonos por correo electrónico o Telegram para que podamos atender mejor tus necesidades.</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"thank_you\">Gracias</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"contact\">Escribir Ahora</string>\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- Links -->\n  <!-- DaemonHandler -->\n  <string name=\"priv_daemon_died_toast\">Murió el daemon privilegiado</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- Daemon callback errors  -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_err_bad_rom_toast\">ROM mala</string>\n  <!-- Daemon binder calls errors -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_grant_perm_failed_toast\">Otorgamiento de permisos fallido</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_revoke_perm_failed_toast\">Revocación de permiso fallida</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_reset_app_ops_failed_toast\">Restablecimiento de Appops fallido</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_enable_pkg_failed_toast\">Habilitación de aplicación fallida</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_disable_pkg_failed_toast\">Deshabilitación de aplicación fallida</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_open_app_info_failed_toast\">Apertura de información de aplicación fallida</string>\n  <!-- LogcatSvc -->\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"stop_button\">Parar</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"logging_failed_toast\">Registro fallido</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"logging_title\">Registrando</string>\n  <string name=\"logging_warning_msg\">La aplicación podría responder lento debido a los registros y el archivo de registros podría crecer a un tamaño muy grande. El registro es detenido automaticamente después de 5 minutos.</string>\n  <!-- AdbConnectSvc -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- DaemonRcvSvc -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- PackageActivity menu items -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"reset_app_ops\">Reiniciar AppOps</string>\n  <string name=\"reset_app_ops_confirmation\">¿Reiniciar todas las AppOps a sus modos por defecto?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"clear_references\">Limpiar Referencias</string>\n  <string name=\"clear_references_confirmation\">¿Limpiar todas las referencias de permisos?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"set_references\">Establecer Referencias</string>\n  <string name=\"set_references_confirmation\">¿Establecer todos los estados actuales de permisos como referencias?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <!-- MainActivity Dialogs -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"enable_app\">Habilitar app</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"disable_app\">Deshabilitar app</string>\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- PackageActivity -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"something_went_wrong\">Algo salió mal</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"change_perms_warning\" comment=\"'system' or 'framework'\">Cambiar los permisos de una aplicación de %1$s es una acción peligrosa. En el peor de los casos el sistema Android podría colapsar.\\n¿Seguro que quieres continuar?</string>\n  <string name=\"system\">sistema</string>\n  <string name=\"framework\">framework</string>\n  <plurals name=\"uid_mode_app_ops_warning\">\n    <item quantity=\"one\">Esta es una AppOp en modo UID. Cambiarla también afectará %1$d paquete adicional.</item>\n    <item quantity=\"other\">Esta es una AppOp en modo UID. Cambiarla también afectará otros %1$d paquetes.</item>\n  </plurals>\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <plurals name=\"count_permissions_filtered_out\">\n    <item quantity=\"one\">%1$d permiso filtrado</item>\n    <item quantity=\"other\">%1$d permisos filtrados</item>\n  </plurals>\n  <string name=\"requested_no_permissions\">No se solicitaron permisos</string>\n  <string name=\"should_be\" comment=\"AppOps or manifest permission state\"><![CDATA[Debería ser <b>%1$s</b>]]></string>\n  <string name=\"prot_lvl_app_ops2\" searchStr=\"true\">%s, AppOps</string>\n  <string name=\"prot_lvl_uid_mode\" searchStr=\"true\">%s, modo UID</string>\n  <string name=\"prot_lvl_extra\" searchStr=\"true\">%s, Extra</string>\n  <string name=\"prot_lvl_development2\" searchStr=\"true\">%s, Desarrollo</string>\n  <string name=\"prot_lvl_privileged2\" searchStr=\"true\">%s, Privilegiado</string>\n  <string name=\"prot_lvl_fixed2\" searchStr=\"true\">%s, Fijo</string>\n  <string name=\"app_op_mode_allow\">Permitir</string>\n  <string name=\"app_op_mode_ignore\">Ignorar</string>\n  <string name=\"app_op_mode_deny\">Denegar</string>\n  <string name=\"app_op_mode_default\">Predeterminado</string>\n  <string name=\"app_op_mode_foreground\">Segundo plano</string>\n  <string name=\"app_op_mode_unknown\">Desconocido</string>\n  <string name=\"app_op_mode_not_set\">Predeterminado</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"protection_level\">Nivel de protección:</string>\n  <!-- CHAR LIMIT: 15 -->\n  <!-- FilterSettingsActivity -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_settings\">Ajustes de Filtro</string>\n  <string name=\"excluded_apps_summary\">Mantenga pulsado en un nombre de paquete para excluirlo</string>\n  <string name=\"excluded_perms_summary\">Mantenga pulsado en un nombre de permiso para excluirlo</string>\n  <string name=\"extra_app_ops_summary\">AppOps siempre mostrado en todas las aplicaciones</string>\n  <string name=\"extra_app_ops_summary_count\">(Total: %1$d)</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"enable_exc_filters\">Habilitar Filtros</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"disable_exc_filters\">Deshabilitar Filtros</string>\n  <plurals name=\"and_others_count\">\n    <item quantity=\"one\">%1$s y %2$d adicional</item>\n    <item quantity=\"other\">%1$s y otros %2$d</item>\n  </plurals>\n  <!-- SettingsActivity -->\n  <string name=\"locale_system\">Sistema</string>\n  <string name=\"locale_en\">Inglés</string>\n  <string name=\"locale_ru\">Ruso</string>\n  <string name=\"locale_es\">Español</string>\n  <string name=\"theme_color_green\">Verde</string>\n  <string name=\"theme_color_blue\">Azul</string>\n  <string name=\"theme_color_pink\">Rosa</string>\n  <string name=\"theme_color_gray\">Gris</string>\n  <!-- PreferenceActivity menu items -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_settings_reset_defaults_menu_item\">Restaurar A Predeterminado</string>\n  <string name=\"filter_settings_reset_confirmation\">¿Reiniciar ajustes de filtro a los valores por defecto?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_settings_clear_excluded_apps_menu_item\">Limpiar Aplicaciones Excluidas</string>\n  <string name=\"filter_settings_clear_apps_confirmation\">¿Limpiar todas las aplicaciones excluidas?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_settings_clear_excluded_perms_menu_item\">Limpiar Permisos Excluidos</string>\n  <string name=\"filter_settings_clear_perms_confirmation\">¿Limpiar todos los permisos excluidos?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_settings_clear_extra_app_ops_menu_item\">Limpiar AppOps Extra</string>\n  <string name=\"filter_settings_clear_app_ops_confirmation\">¿Limpiar todas las (siempre mostradas) AppOps extra?</string>\n  <!-- AboutActivity -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"source\">Código fuente</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"email\">Correo Electrónico</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"telegram_group\">Grupo de Telegram</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"send_crash_report_title\">Enviar Reporte</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"collect_logs\">Recolectar Registros</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"collect_logs_summary\">Guardar archivo de registro detallado</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"report_issues\">Reportar Problemas</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"report_issues_summary\">Errores, mejoras, sugerencias…</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"select_log_file\">Seleccionar archivo para guardar registro</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"stop_logging\">Detener Registro</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"logging_stopped\">Registro Detenido</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"app_rating\">Puntúame</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"update\">Actualizar</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"update_summary\">Verificar actualizaciones de la aplicación</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"check_in_progress\">Verificación en progreso</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"check_for_updates_failed\">Verificación de actualizaciones fallido</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"app_is_up_to_date\">La aplicación está actualizada</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"new_version_available\">Una nueva versión de la aplicación está disponible</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"tap_to_download\">Toca para descargar</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"download\">Descargar</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"privacy_policy\">Política de privacidad</string>\n  <string name=\"translations\">Traducciones</string>\n  <string name=\"translations_summary\">¿Quieres ver la aplicación en tu lenguaje?</string>\n  <string name=\"share\">Compartir</string>\n  <string name=\"share_summary\">Compartir la aplicación con otros</string>\n  <string name=\"share_text\">¡Mira esta asombrosa aplicación! %1$s</string>\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"perm_status_menu_item\">Privilegios</string>\n  <string name=\"uid\">UID:</string>\n  <string name=\"app_ops\">AppOps</string>\n  <string name=\"op_to_def_mode\">Op A Modo Predeterminado</string>\n  <string name=\"op_to_switch\">Op A Switch</string>\n  <string name=\"op_to_name\">Op A Nombre</string>\n  <string name=\"permissions\">Permisos</string>\n  <!-- ActivityNotFoundException -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_email_app_installed\">No hay aplicación de correo instalada</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_browser_installed\">\"No hay navegador web instalado\"</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- Notification Channels -->\n  <string name=\"channel_app_update\">Actualizaciones de la aplicación</string>\n  <string name=\"channel_crash_report\">Reporte de fallos</string>\n  <string name=\"channel_logcat_collection\">Recolección de Registros</string>\n  <!-- Notification permission -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"notif_perm_dialog_title\">Permiso de notificaciones</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"notif_perm_missing_toast\">Permiso de notificaciones no concedido</string>\n  <!-- HelpActivity -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"open_browser_menu_item\">Abrir en navegador</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"zoom_in_menu_item\">Acercarse</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"zoom_out_menu_item\">Alejarse</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_web_view\">Sin WebView</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"outdated_web_view\">WebView Obsoleto</string>\n  <!-- Locale -->\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values-night/colors.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n\n  <color name=\"sharpText\">@android:color/white</color>\n\n  <!-- Slim switch disabled state. -->\n  <color name=\"colorControlNormalDisabled\">#505050</color>\n\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values-ro/pref_keys_foss.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources xmlns:tools=\"http://schemas.android.com/tools\">\n  <!-- NOTE:\n    If pref name equals its value + \"_key\":\n    - Pref values starting with \"pref_filter_\" are cleared on \"Reset to Defaults\".\n    - Pref values starting with \"pref_\" and not ending with \"_enc\" are backed up and restored. -->\n  <!-- MainActivity Preferences -->\n  <!-- MainActivity Preferences corresponding to default values -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- Privileges / Daemon -->\n  <!-- Advanced Settings -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- FilterSettingsActivity -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- PreferencesActivity permissions titles, keys and defaults -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- PreferencesActivity manifest permissions titles, keys and defaults -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- PreferencesActivity AppOps permissions titles, keys and defaults -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- SettingsActivity -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- HelpActivity -->\n  <!-- PackageActivity -->\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values-ro/search_strings_foss.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources></resources>\n"
  },
  {
    "path": "app/src/main/res/values-ro/strings_foss.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources xmlns:tools=\"http://schemas.android.com/tools\">\n  <!-- Character Limits:\n       Button: 10\n       Toast/SnackBar: 20\n       Preference title: 20\n       Single line text: 30\n       Progress: 15\n       Dialog/notification title: 15\n       Menu item: 15 -->\n  <!-- General strings -->\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"yes\">Da</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"no\">Nu</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"ok_button\">OK</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"cancel_button\">Anulează</string>\n  <string name=\"open_drawer\">Deschide</string>\n  <string name=\"close_drawer\">Închide</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"do_not_remind\">Nu mai aminti</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"_continue\">Continuă?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"warning\">Avertisment</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"help_button\">Ajutor</string>\n  <plurals name=\"apps_count\">\n    <item quantity=\"one\">Aplicația %d</item>\n    <item quantity=\"few\">Aplicații %d</item>\n    <item quantity=\"other\">Aplicații %d</item>\n  </plurals>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"copied_to_clipboard_toast\">Copiat în clipboard</string>\n  <!-- MainActivity Navigation Drawer / menu items -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"search_menu_item\">Caută</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"settings_menu_item\">Setări</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_menu_item\">Filtre de Excepții</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"root_menu_item\">Acces Root</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"adb_menu_item\">Acces ADB</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"backup_restore_menu_item\">Backup / Restaurare</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"help_menu_item\">Ajutor</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"donate_menu_item\">Donează</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"license_menu_item\">Licență</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"about_menu_item\">Despre</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"advanced_settings_menu_item\">Setări Avansate</string>\n  <!-- MainActivity strings -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"primary_account\">Cont Principal</string>\n  <string name=\"primary_profile_only\">Permission Manager X poate dura doar pe contul principal al proprietarului.</string>\n  <string name=\"grant_root_or_adb\">Este necesar accesul Root sau ADB pentru a obține permisiuni AppOp și pentru a modifica starea permisiunilor.</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"backup\">Backup</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"restore\">Restaurare</string>\n  <string name=\"choose_backup_restore\">Copie de rezervă sau restaurare preferinţe şi permisiuni.</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"select_backup_file\">Selectează fișierul de backup</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"backup_in_progress\">Backup în curs…</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"restore_in_progress\">Se restaurează…</string>\n  <plurals name=\"backup_restore_processed_prefs\">\n    <item quantity=\"one\">Preferințele %1$d au fost procesate</item>\n    <item quantity=\"few\">Preferințele %1$d au fost procesate</item>\n    <item quantity=\"other\">Preferințele %1$d au fost procesate</item>\n  </plurals>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- Crash Report -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 30 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- Progress -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- AdvancedSettings Activity -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- Privileges -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- Feedback -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- Links -->\n  <!-- DaemonHandler -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- Daemon callback errors  -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- Daemon binder calls errors -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- LogcatSvc -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- AdbConnectSvc -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- DaemonRcvSvc -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- PackageActivity menu items -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- MainActivity Dialogs -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- PackageActivity -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- FilterSettingsActivity -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- SettingsActivity -->\n  <!-- PreferenceActivity menu items -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- AboutActivity -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- ActivityNotFoundException -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- Notification Channels -->\n  <!-- Notification permission -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- HelpActivity -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- Locale -->\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values-ru/pref_keys_foss.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources xmlns:tools=\"http://schemas.android.com/tools\">\n  <!-- NOTE:\n    If pref name equals its value + \"_key\":\n    - Pref values starting with \"pref_filter_\" are cleared on \"Reset to Defaults\".\n    - Pref values starting with \"pref_\" and not ending with \"_enc\" are backed up and restored. -->\n  <!-- MainActivity Preferences -->\n  <!-- MainActivity Preferences corresponding to default values -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_main_deep_search_title\">Глубокий поиск</string>\n  <string name=\"pref_main_deep_search_summary\">Поиск в списке разрешений вместо списка приложений</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_main_case_sensitive_search_title\">С учетом регистра</string>\n  <string name=\"pref_main_case_sensitive_search_summary\">Соответствующая строка только в том же регистре</string>\n  <!-- Privileges / Daemon -->\n  <!-- Advanced Settings -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_allow_critical_changes_title\">Разрешить критические изменения</string>\n  <string name=\"pref_adv_settings_allow_critical_changes_summary\">Сделать изменения в критических разрешениях и фреймворках</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_exit_on_app_death_title\">Автоостановка демона</string>\n  <string name=\"pref_adv_settings_exit_on_app_death_summary\">Остановить привилегированный демон при закрытии приложения</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_perm_refs_cat_title\">Целевые значения разрешений</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_unique_ref_app_op_uid_mode_title\">Целевые значения AppOp в режиме UID</string>\n  <string name=\"pref_adv_settings_unique_ref_app_op_uid_mode_summary\">Использовать другие целевые значения разрешений AppOp в режиме UID</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_unique_ref_sec_users_title\">Целевые значения второго пользователя</string>\n  <string name=\"pref_adv_settings_unique_ref_sec_users_summary\">Использовать другие целевые значения разрешений для второго пользователя / профиля</string>\n  <string name=\"pref_adv_settings_reset_perm_db_title\">Сброс / очистка целевых значений</string>\n  <string name=\"pref_adv_settings_reset_perm_db_summary\">Сброс или очистка базы данных целевых значений разрешений</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_root_cat_title\">Root</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_daemon_uid_title\">UID демона</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_daemon_uid_title2\">UID демона: %s</string>\n  <string name=\"pref_adv_settings_daemon_uid_summary\">Идентификатор пользователя UNIX демона</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_daemon_context_title\">Контекст демона</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_daemon_context_title2\">Контекст демона: %s</string>\n  <string name=\"pref_adv_settings_daemon_context_summary\">SELinux контекст процесса демона</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_su_exe_path_title\">Расположение бинарника su</string>\n  <!-- FilterSettingsActivity -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_packages_cat_title\">Пакеты</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_no_icon_apps_title\">Исключить приложения без иконок</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_user_apps_title\">Исключить пользовательские приложения</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_system_apps_title\">Исключить системные приложения</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_framework_apps_title\">Исключить приложения уровня фреймворка</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_disabled_apps_title\">Исключить замороженные приложения</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_no_perms_apps_title\">Исключить приложения без разрешений</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_manually_exclude_apps_title\">Исключённые вручную приложения</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_excluded_apps_title\">Список исключенных вручную приложений</string>\n  <!-- PreferencesActivity permissions titles, keys and defaults -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_permissions_cat_title\">Разрешения</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_not_changeable_perms_title\">Исключить неизменяемые разрешения</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_not_granted_perms_title\">Исключить не предоставленные разрешения</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_manually_exclude_perms_title\">Исключённые вручную разрешения</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_excluded_perms_title\">Список исключенных вручную разрешений</string>\n  <!-- PreferencesActivity manifest permissions titles, keys and defaults -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_man_permissions_cat_title\">Разрешения манифеста</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_invalid_perms_title\">Исключить недопустимые разрешения</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_normal_perms_title\">Исключить обычные разрешения</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_dangerous_perms_title\">Исключить опасные разрешения</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_signature_perms_title\">Исключить разрешения с уровнем «подпись»</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_privileged_perms_title\">Исключить привилегированные разрешения</string>\n  <!-- PreferencesActivity AppOps permissions titles, keys and defaults -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_app_ops_permissions_cat_title\">Разрешения AppOps</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_appops_perms_title\">Исключить AppOps</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_not_set_appops_title\">Исключить ненастроенные AppOps (По умолчанию)</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_show_extra_app_ops_title\">Дополнительные AppOps, никогда не исключаемые</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_extra_appops_title\">Список дополнительных AppOps</string>\n  <!-- SettingsActivity -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_general_cat_title\">Общие настройки</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_check_for_updates_title\">Проверка обновлений</string>\n  <string name=\"pref_settings_check_for_updates_summary\">Показывать уведомление, когда доступна новая версия</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_privileges_reminder_title\">Напоминать об отсутствии root-прав</string>\n  <string name=\"pref_settings_privileges_reminder_summary\">Показать диалог при запуске приложения, если права root и ADB не предоставлены</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_auto_perm_ref_title\">Автоустановка целевых значений</string>\n  <string name=\"pref_settings_auto_perm_ref_summary\">Установить выбранное состояние разрешения как целевое</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_show_fwk_perm_name_title\">Фреймворк имена разрешений</string>\n  <string name=\"pref_settings_show_fwk_perm_name_summary\">Показать оригинальные имена разрешений</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_special_search_title\">Комплексный поиск</string>\n  <string name=\"pref_settings_special_search_summary\">Используйте символы И (&amp;), ИЛИ (|) и НЕ (!) для уточнения поиска</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_locale_title\">Язык приложения</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_theming_cat_title\">Темы</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_theme_color_title\">Цвет темы</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_dark_theme_title\">Тёмная тема</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_search_suggestions_count_title2\">Максимальное количество предложений: %d</string>\n  <string name=\"pref_settings_search_suggestions_count_summary\">Предлагать пакеты, разрешения, специальные ключевые слова и т. д.</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_search_keywords_title\">Поиск по ключевым словам</string>\n  <string name=\"pref_settings_search_keywords_summary\">Ключевые слова со специальным значением</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_ref_states_cat_title\">Проверки по расписанию</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_perm_watcher_cat_title\">Отслеживание разрешений</string>\n  <!-- HelpActivity -->\n  <!-- PackageActivity -->\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values-ru/search_strings_foss.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n  <string name=\"pkg_state_critical\">Критический</string>\n  <string name=\"pkg_state_framework\">Фреймворк</string>\n  <string name=\"pkg_state_system\">Система</string>\n  <string name=\"pkg_state_user\">Пользователь</string>\n  <string name=\"pkg_state_disabled\">Заморожено</string>\n  <string name=\"prot_lvl_unknown\">Неизвестно</string>\n  <string name=\"prot_lvl_normal\">Нормальный</string>\n  <string name=\"prot_lvl_dangerous\">Опасный</string>\n  <string name=\"prot_lvl_signature\">Подпись</string>\n  <string name=\"prot_lvl_internal\">Внутренняя</string>\n  <string name=\"prot_lvl_app_ops\">AppOps</string>\n  <string name=\"prot_lvl_development\">Разработка</string>\n  <string name=\"prot_lvl_privileged\">Привилегированный</string>\n  <string name=\"prot_lvl_fixed\">Фиксированный</string>\n  <string name=\"search_str_uid\">UID</string>\n  <string name=\"search_str_time\">ВРЕМЯ</string>\n  <string name=\"search_str_extra\">ДОПОЛНИТЕЛЬНЫЙ</string>\n  <string name=\"search_str_red\">КРАСНЫЙ</string>\n  <string name=\"search_str_orange\">ОРАНЖЕВЫЙ</string>\n  <string name=\"search_str_green\">ЗЕЛЕНЫЙ</string>\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values-ru/strings_foss.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources xmlns:tools=\"http://schemas.android.com/tools\">\n  <!-- Character Limits:\n       Button: 10\n       Toast/SnackBar: 20\n       Preference title: 20\n       Single line text: 30\n       Progress: 15\n       Dialog/notification title: 15\n       Menu item: 15 -->\n  <!-- General strings -->\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"yes\">Да</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"no\">Нет</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"ok_button\">OK</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"cancel_button\">Отмена</string>\n  <string name=\"open_drawer\">Открыть</string>\n  <string name=\"close_drawer\">Закрыть</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"do_not_remind\">Не напоминать</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"_continue\">Продолжить?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"warning\">Предупреждение</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"help_button\">Справка</string>\n  <plurals name=\"apps_count\">\n    <item quantity=\"one\">%d приложение</item>\n    <item quantity=\"few\">%d приложения</item>\n    <item quantity=\"many\">%d приложений</item>\n    <item quantity=\"other\">%d приложений</item>\n  </plurals>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"copied_to_clipboard_toast\">Скопировано в буфер обмена</string>\n  <string name=\"app_name\">Permission Manager X</string>\n  <!-- MainActivity Navigation Drawer / menu items -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"search_menu_item\">Поиск</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"settings_menu_item\">Настройки</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_menu_item\">Фильтры исключения</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"root_menu_item\">Root доступ</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"adb_menu_item\">ADB доступ</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"backup_restore_menu_item\">Бэкап / восстановление</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"help_menu_item\">Справка</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"donate_menu_item\">Пожертвование</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"license_menu_item\">Лицензия</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"about_menu_item\">О приложении</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"advanced_settings_menu_item\">Расширенные настройки</string>\n  <!-- MainActivity strings -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"primary_account\">Основной аккаунт</string>\n  <string name=\"primary_profile_only\">Permission Manager X может работать только в основном аккаунте / профиле владельца устройства.</string>\n  <string name=\"grant_root_or_adb\">Root или ADB доступ требуется для получения разрешений AppOp и для изменения состояния разрешений.</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"backup\">Бэкап</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"restore\">Восстановление</string>\n  <string name=\"choose_backup_restore\">Бэкап или восстановление настроек и целевых значений разрешений.</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"select_backup_file\">Выберите файл бэкапа</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"backup_in_progress\">Создается бекап…</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"restore_in_progress\">Восстановление …</string>\n  <plurals name=\"backup_restore_processed_prefs\">\n    <item quantity=\"one\">Обработана %1$d настройка</item>\n    <item quantity=\"few\">Обработано %1$d настройки</item>\n    <item quantity=\"many\">Обработано %1$d настроек</item>\n    <item quantity=\"other\">Обработано %1$d настроек</item>\n  </plurals>\n  <plurals name=\"backup_restore_processed_profiles\">\n    <item quantity=\"one\">%1$s, %2$d профиль разрешения</item>\n    <item quantity=\"few\">%1$s, %2$d профиль разрешений</item>\n    <item quantity=\"many\">%1$s, %2$d профиль разрешений</item>\n    <item quantity=\"other\">%1$s, %2$d профиль разрешений</item>\n  </plurals>\n  <plurals name=\"backup_restore_invalid_prefs\">\n    <item quantity=\"one\">%1$s\\nПропущено недействительное разрешение: %2$d</item>\n    <item quantity=\"few\">%1$s\\nПропущено недействительных разрешений: %2$d</item>\n    <item quantity=\"many\">%1$s\\nПропущено недействительных разрешений: %2$d</item>\n    <item quantity=\"other\">%1$s\\nПропущено недействительных разрешений: %2$d</item>\n  </plurals>\n  <plurals name=\"backup_restore_uninstalled_apps\">\n    <item quantity=\"one\">%1$s\\nПропущено удалённое приложение: %2$d</item>\n    <item quantity=\"few\">%1$s\\nПропущено удалённых приложений: %2$d</item>\n    <item quantity=\"many\">%1$s\\nПропущено удалённых приложений: %2$d</item>\n    <item quantity=\"other\">%1$s\\nПропущено удалённых приложений: %2$d</item>\n  </plurals>\n  <string name=\"backup_restore_failed\">Сбой. Произошла какая-то ошибка.</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"skip_uninstalled_packages\">Без удалённых пакетов</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"swap_user_ids\">Поменять ID пользователя</string>\n  <string name=\"replace_user_id_from_hint\">Заменить</string>\n  <string name=\"replace_user_id_with\">с</string>\n  <string name=\"replace_user_id_to_hint\">на</string>\n  <string name=\"disable_pkg_warning\" comment=\"'system' or 'framework'\">Заморозка приложения %1$s является опасным действием. Это может нанести вред вплоть до сбоя работы системы Android.\\nВы уверены что хотите продолжить?</string>\n  <string name=\"pkg_state_disabled2\" searchStr=\"true\">%s, заморожено</string>\n  <string name=\"unsupported_sdk_warning_title\">Неподдерживаемая версия Android</string>\n  <string name=\"unsupported_sdk_warning_message\">Ваше устройство работает под управлением ОС Android %s, которая пока не тестировалась. PMX может аварийно завершать работу или вести себя непредсказуемо.</string>\n  <string name=\"unsupported_sdk_warning_button\">Я понимаю</string>\n  <!-- Crash Report -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"crash_report\">Отчёт о падении</string>\n  <!-- CHAR LIMIT: 30 -->\n  <string name=\"ask_to_report_crash_small\">Отправить отчёт о падении разработчику</string>\n  <string name=\"ask_to_report_crash\">Извините, в компоненте приложения возникла проблема, и он аварийно завершил работу. Чтобы ошибка могла быть исправлена, отправьте лог-файл разработчику.</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"send_report\">Отправить отчёт</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"crash_log_file_read_failed_toast\">Сбой чтения лога падения</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"submit_report_button\">Отправить отчет</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"submitting_report_button\">Отправка…</string>\n  <string name=\"reading_crash_log_file\">Чтение лога сбоя…</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"submit_crash_report_failed_toast\">Не удалось отправить отчёт о сбое</string>\n  <!-- Progress -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"prog_msg_checking_privs\">Проверка привилегий…</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"prog_msg_stopping_daemon\">Остановка демона…</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"prog_msg_connecting_to_daemon\">Соединение с демоном…</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"prog_msg_checking_root_access\">Проверка root-доступа…</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"prog_msg_checking_adb_access\">Проверка доступа к ADB…</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"prog_msg_starting_daemon\">Запуск демона…</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"creating_packages_list\">Загрузка списка приложений…</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"sorting_packages_list\">Сортировка списка приложений…</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"reading_reference_perms\">Чтение целевых значений…</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"creating_app_ops_lists\">Подготовка данных AppOps…</string>\n  <!-- AdvancedSettings Activity -->\n  <string name=\"daemon_uid_system\">Система</string>\n  <string name=\"daemon_uid_root\">Root</string>\n  <string name=\"daemon_uid_adb\">ADB</string>\n  <string name=\"daemon_context_shell\">Оболочка</string>\n  <string name=\"daemon_context_default\">По умолчанию</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"bad_path_toast\">Неверный путь</string>\n  <string name=\"reset_perm_db_dialog_title\">Сброс / очистка целевых значений</string>\n  <string name=\"reset_perm_db_dialog_detail\"><![CDATA[Сброс удаляет все целевые значения разрешений.<br />Очистка удаляет все целевые значения разрешений, за исключением видимых в настоящее время списков приложений и разрешений.<br />Чтобы предотвратить непредвиденную потерю, перед сбросом / очисткой будет создан файл резервной копии.]]></string>\n  <string name=\"reset_perm_db_dialog_reset_button\">Сброс</string>\n  <string name=\"reset_perm_db_dialog_cleanup_button\">Очистка</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"reset_perm_db_backup_failed_toast\">Сбой создания бекапа</string>\n  <string name=\"reset_perm_db_building_app_list\">Построение списка приложений…</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"reset_perm_db_pkg_list_failed_toast\">Сбой построения списка приложений</string>\n  <string name=\"reset_perm_db_optimizing_perm_db\">Оптимизация целевых значений разрешений…</string>\n  <!-- CHAR LIMIT: 20 -->\n  <plurals name=\"reset_perm_db_removed_count_toast\">\n    <item quantity=\"one\">Удалена %d запись из базы данных</item>\n    <item quantity=\"few\">Удалено %d записей из базы данных</item>\n    <item quantity=\"many\">Удалено %d записей из базы данных</item>\n    <item quantity=\"other\">Удалено %d записи из базы данных</item>\n  </plurals>\n  <!-- Privileges -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"privileges_title\">Привилегии</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"root_granted_toast\">Root предоставлен</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"getting_root_failed\">Не удалось получить root-права. У вас есть root-доступ?</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_failed_toast\">Не удалось запустить привилегированный демон</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_app_ops_without_daemon_toast\">Не удается прочитать AppOps без root / ADB</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"adb_title\">ADB</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"adb_pairing_failed_toast\">Cбой сопряжения</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"adb_connect_failed_toast\">Сбой подключения</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"connected_to_adb_toast\">Подключено к ADB</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"pair_button\">Сопряжение</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"pairing_button\">Сопряжено</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"connect_button\">Подключение</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"connecting_button\">Подключено</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"connection_title\">Подключение</string>\n  <string name=\"pairing_code_hint\">Код сопряжения</string>\n  <string name=\"ip_address_hint\">IP-адрес</string>\n  <string name=\"socket_port_hint\">Порт</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"required_field_error\">Требуется</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"invalid_field_error\">Недопустимый</string>\n  <string name=\"adb_pair_help_msg\"><![CDATA[<ul><li>Включите <b><i>Беспроводную отладку</i></b> и включите режим разделения экрана.</li><li>Введите код сопряжения и порт, а затем нажмите кнопку сопряжения.</li><li>После успешного сопряжения перейдите к подключению.</li></ul>]]></string>\n  <string name=\"adb_connect_help_11_msg\"><![CDATA[<ul><li>Включите <b><i>Беспроводную отладку</i></b> (сопряжение) или <b><i>ADB по сети</i></b>.</li><li>Введите порт и нажмите кнопку подключения.</li><li>Разрешите аутентификацию ADB при появлении запроса.</li></ul>]]></string>\n  <string name=\"adb_connect_help_after_pair_msg\">Сопряжение прошло успешно. Введите порт и нажмите кнопку подключения.</string>\n  <string name=\"adb_connect_help_msg\"><![CDATA[<ul><li>Включите<b><i>ADB по сети</i></b>.</li><li>Введите порт и нажмите кнопку подключения.</li><li>Разрешить аутентификацию ADB при появлении запроса.</li></ul>]]></string>\n  <!-- Feedback -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"love_using_app\">Нравится Permission Manager X?</string>\n  <string name=\"purchase_and_rate_the_app\">Вы можете помочь нам улучшить приложение путём небольшого пожертвования или оставить хороший отзыв, чтобы мы могли лучше соответствовать вашим потребностям.</string>\n  <string name=\"ask_to_provide_feedback\">Жалко слышать это. Вы можете помочь улучшить приложение, связавшись с нами по email или в Telegram, чтобы мы могли лучше соответствовать вашим потребностям.</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"thank_you\">Спасибо</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"contact\">Написать сейчас</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"contact_on_telegram\">Написать сообщение в Telegram</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"contact_on_email\">Написать email</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"how_do_i\">Как это сделать?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"purchase_donate\">Покупка/Пожертвование</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"rate_on_ps\">Оценить на Play Маркет</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"share_with_others\">Поделиться с другими</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"rating_options\">Настройки рейтингов</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"other_rating_options\">Другие варианты поставить оценку</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"ignore_for_now\">Пока что игнорировать</string>\n  <!-- Links -->\n  <!-- DaemonHandler -->\n  <string name=\"priv_daemon_died_toast\">Привилегированный демон умер</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"priv_daemon_restarted_toast\">Привилегированный демон перезапущен</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_not_running_toast\">Демон не запущен</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"granting_permissions_failed_toast\">Сбой предоставления разрешения</string>\n  <!-- Daemon callback errors  -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_err_bad_rom_toast\">Потенциально неподдерживаемая прошивка</string>\n  <!-- Daemon binder calls errors -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_set_exit_on_app_death_failed_toast\">Сбой установки предпочтений</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_get_priv_status_failed_toast\">Сбой получения статуса привилегий</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_set_debug_failed_toast\">Ошибка регистрации демона</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_get_app_ops_lists_failed_toast\">Сбой при получении данных AppOps</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_get_perm_fixed_flags_failed_toast\">Сбой установки флагов разрешений</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_get_pkgs_for_uid_failed_toast\">Сбой получения пакетов для UID</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_get_pkg_ops_failed_toast\">Сбой получения AppOps</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_get_perm_flags_failed_toast\">Сбой получения флагов разрешений</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_grant_perm_failed_toast\">Сбой предоставления разрешения</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_revoke_perm_failed_toast\">Отзыв разрешения не удался</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_set_app_ops_mode_failed_toast\">Сбой установки режима AppOps</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_reset_app_ops_failed_toast\">Сбой сброса AppOps</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_enable_pkg_failed_toast\">Сбой разморозки приложения</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_disable_pkg_failed_toast\">Сбой заморозки приложения</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_open_app_info_failed_toast\">Сбой открытия сведений о приложении</string>\n  <!-- LogcatSvc -->\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"stop_button\">Остановить</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"logging_failed_toast\">Сбой логирования</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"logging_title\">Логирование</string>\n  <string name=\"logging_warning_msg\">Из-за сбора лога приложение может реагировать медленно, а файл лога может вырасти до очень большого размера. Логирование автоматически отключается через 5 минут.</string>\n  <!-- AdbConnectSvc -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"adb_conn_notif_title\">ADB подключение</string>\n  <string name=\"adb_conn_notif_text\">Подключение…</string>\n  <!-- DaemonRcvSvc -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"daemon_connection_title\">Подключение к демону</string>\n  <string name=\"daemon_connection_text\">Подключение…</string>\n  <!-- PackageActivity menu items -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"reset_app_ops\">Сбросить AppOps</string>\n  <string name=\"reset_app_ops_confirmation\">Сбросить все AppOps к значениям по умолчанию?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"clear_references\">Очистить целевые значения</string>\n  <string name=\"clear_references_confirmation\">Очистить все целевые значения разрешений?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"set_references\">Установить целевые значения</string>\n  <string name=\"set_references_confirmation\">Установить все текущие состояния разрешений в качестве целевых?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"menu_item_show_all_perms\">Показать все</string>\n  <!-- MainActivity Dialogs -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"exclude_app_from_visible_list\">Скрыть приложение из списка</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"enable_app\">Разморозка приложения</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"disable_app\">Заморозка приложения</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"open_pkg_info\">Открыть сведения о приложении</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"find_pkg_process\">Найти процесс приложения</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"install\">Установить</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"wrun_not_installed\">WhatsRunning не установлено</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- PackageActivity -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"something_went_wrong\">Что-то пошло не так</string>\n  <string name=\"grant_root_or_adb_to_change_perms\">Для изменения состояния разрешений требуется Root или ADB.</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"app_op_mode_not_chaged_toast\">Режим AppOp не изменён</string>\n  <string name=\"change_perms_warning\" comment=\"'system' or 'framework'\">Изменение разрешений приложения %1$s — потенциально опасное действие вплоть до сбоя системы Android.\\nВы уверены, что хотите продолжить?</string>\n  <string name=\"system\">системного</string>\n  <string name=\"framework\">фреймворк</string>\n  <plurals name=\"uid_mode_app_ops_warning\">\n    <item quantity=\"one\">Это разрешение в режиме UID. Его изменение затронет работу ещё %1$d пакета.</item>\n    <item quantity=\"few\">Это разрешение в режиме UID. Его изменение затронет работу %1$d других пакетов.</item>\n    <item quantity=\"many\">Это разрешение в режиме UID. Его изменение затронет работу %1$d других пакетов.</item>\n    <item quantity=\"other\">Это разрешение в режиме UID. Его изменение затронет работу %1$d других пакетов.</item>\n  </plurals>\n  <string name=\"exclude_perm_from_list\">Скрыть разрешения из списка</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"set_perm_state_reference\"><![CDATA[Установить <b><i>%1$s</i></b> как целевое значение]]></string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"set_reference\">Установить целевые значения</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"clear_reference\">Очистить целевые значения</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_action_available\">Действия недоступны</string>\n  <plurals name=\"count_permissions_filtered_out\">\n    <item quantity=\"one\">Отфильтровано %1$d разрешение</item>\n    <item quantity=\"few\">Отфильтровано %1$d разрешения</item>\n    <item quantity=\"many\">Отфильтровано %1$d разрешений</item>\n    <item quantity=\"other\">Отфильтровано %1$d разрешений</item>\n  </plurals>\n  <string name=\"requested_no_permissions\">Разрешений не запрошено</string>\n  <string name=\"should_be\" comment=\"AppOps or manifest permission state\"><![CDATA[Должен быть <b>%1$s</b>]]></string>\n  <string name=\"prot_lvl_app_ops2\" searchStr=\"true\">%s, AppOps</string>\n  <string name=\"prot_lvl_uid_mode\" searchStr=\"true\">%s, UID режим</string>\n  <string name=\"prot_lvl_extra\" searchStr=\"true\">%s, дополнительные</string>\n  <string name=\"prot_lvl_development2\" searchStr=\"true\">%s, Разработка</string>\n  <string name=\"prot_lvl_privileged2\" searchStr=\"true\">%s, привилегированный</string>\n  <string name=\"prot_lvl_fixed2\" searchStr=\"true\">%s, фиксированный</string>\n  <string name=\"app_op_mode_allow\">Разрешить</string>\n  <string name=\"app_op_mode_ignore\">Игнорировать</string>\n  <string name=\"app_op_mode_deny\">Запретить</string>\n  <string name=\"app_op_mode_default\">По умолчанию</string>\n  <string name=\"app_op_mode_foreground\">Передний план</string>\n  <string name=\"app_op_mode_unknown\">Неизвестно</string>\n  <string name=\"app_op_mode_not_set\">По умолчанию</string>\n  <string name=\"perm_mode_granted\">Разрешено</string>\n  <string name=\"perm_mode_revoked\">Отклонено</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"protection_level\">Уровень защиты:</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"depends_on\">Зависит от:</string>\n  <!-- FilterSettingsActivity -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_settings\">Фильтр настроек</string>\n  <string name=\"excluded_apps_summary\">Долгое нажатие на имя пакета, чтобы исключить его</string>\n  <string name=\"excluded_perms_summary\">Долгое нажатие на имя разрешения, чтобы исключить его</string>\n  <string name=\"extra_app_ops_summary\">AppOps всегда показываются в каждом приложении</string>\n  <string name=\"extra_app_ops_summary_count\">(Всего: %1$d)</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"enable_exc_filters\">Включить фильтры</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"disable_exc_filters\">Отключить фильтры</string>\n  <plurals name=\"and_others_count\">\n    <item quantity=\"one\">%1$s и ещё 1</item>\n    <item quantity=\"few\">%1$s и ещё %2$d</item>\n    <item quantity=\"many\">%1$s и ещё %2$d</item>\n    <item quantity=\"other\">%1$s и ещё %2$d</item>\n  </plurals>\n  <!-- SettingsActivity -->\n  <string name=\"locale_system\">Система</string>\n  <string name=\"locale_en\">Английский</string>\n  <string name=\"locale_ru\">Русский</string>\n  <string name=\"locale_es\">Испанский</string>\n  <string name=\"locale_ar\">Арабский</string>\n  <string name=\"locale_el\">Греческий</string>\n  <string name=\"locale_cn\">Китайский</string>\n  <string name=\"theme_color_green\">Зелёный</string>\n  <string name=\"theme_color_blue\">Синий</string>\n  <string name=\"theme_color_pink\">Розовый</string>\n  <string name=\"theme_color_gray\">Серый</string>\n  <string name=\"dark_theme_mode_system\">Как в системе</string>\n  <string name=\"dark_theme_mode_light\">Светлая</string>\n  <string name=\"dark_theme_mode_dark\">Темная</string>\n  <!-- PreferenceActivity menu items -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_settings_reset_defaults_menu_item\">Сброс по умолчанию</string>\n  <string name=\"filter_settings_reset_confirmation\">Сбросить настройки фильтра к значениям по умолчанию?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_settings_clear_excluded_apps_menu_item\">Очистить исключённые приложения</string>\n  <string name=\"filter_settings_clear_apps_confirmation\">Очистить все исключённые приложения?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_settings_clear_excluded_perms_menu_item\">Очистить исключённые разрешения</string>\n  <string name=\"filter_settings_clear_perms_confirmation\">Очистить все исключённые разрешения?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_settings_clear_extra_app_ops_menu_item\">Очистить дополнительные AppOps</string>\n  <string name=\"filter_settings_clear_app_ops_confirmation\">Очистить все дополнительные (всегда показанные) AppOps?</string>\n  <!-- AboutActivity -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"source\">Исходный код</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"email\">Почта</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"telegram_group\">Группа в Telegram</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"send_crash_report_title\">Отправить отчёт</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"send_crash_report_summary\">Отправить отчёт о падении разработчику</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"collect_logs\">Сбор логов</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"collect_logs_summary\">Сохранить подробный лог в файл</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"report_issues\">Сообщить о проблемах</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"report_issues_summary\">Ошибки, улучшения, предложения…</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"select_log_file\">Выберите файл для записи лога</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"stop_logging\">Остановить логирование</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"logging_stopped\">Логирование остановлено</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"app_rating\">Поставить оценку</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"app_rating_summary\">Оценки, отзывы, \\\"звезды\\\" на Github…</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"paid_features\">Платные функции</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"about_dump_title\">Дамп данных</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"about_dump_summary\">Дамп недостающих значков разрешений и описаний</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"update\">Обновить</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"update_summary\">Проверить обновления приложения</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"check_in_progress\">Выполняется проверка</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"check_for_updates_failed\">Сбой проверки обновлений</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"app_is_up_to_date\">Обновление приложения не требуется</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"new_version_available\">Доступна новая версия приложения</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"tap_to_download\">Нажмите для скачивания</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"download\">Скачать</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"privacy_policy\">Политика конфиденциальности</string>\n  <string name=\"translations\">Переводы</string>\n  <string name=\"translations_summary\">Хотите это приложение на своём языке?</string>\n  <string name=\"share\">Поделиться</string>\n  <string name=\"share_summary\">Поделиться приложением с другими</string>\n  <string name=\"share_text\">Попробуйте это замечательное приложение! %1$s</string>\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"perm_status_menu_item\">Привилегии</string>\n  <string name=\"uid\">UID:</string>\n  <string name=\"app_ops\">AppOps</string>\n  <string name=\"op_to_def_mode\">Режим Op по умолчанию</string>\n  <string name=\"op_to_switch\">Op к Switch</string>\n  <string name=\"op_to_name\">Op к имени</string>\n  <string name=\"get_app_ops\">Получить AppOps</string>\n  <string name=\"consistent_app_op_num\">Постоянный номер AppOp</string>\n  <string name=\"consistent_app_op_mode\">Постоянные режимы AppOp</string>\n  <string name=\"permissions\">Разрешения</string>\n  <!-- ActivityNotFoundException -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_email_app_installed\">Почтовая программа не установлена</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_browser_installed\">\"Веб-обозреватель не установлен\"</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_file_picker_installed\">\"Не установлено приложение для выбора файлов\"</string>\n  <!-- Notification Channels -->\n  <string name=\"channel_app_update\">Обновления приложения</string>\n  <string name=\"channel_crash_report\">Отчёт о падении</string>\n  <string name=\"channel_logcat_collection\">Сбор лога</string>\n  <string name=\"channel_adb_connection\">ADB подключение</string>\n  <string name=\"channel_daemon_connection\">Подключение к демону</string>\n  <!-- Notification permission -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"notif_perm_dialog_title\">Доступ к уведомлениям</string>\n  <string name=\"notif_perm_dialog_text\"><![CDATA[PMX требуется разрешение на уведомление для отображения:<ul><li>состояния отслеживания процессов</li><li>состояния проверки по расписанию</li><li>доступных обновлений приложения</li><li>состояния сбора Logcat</li><li>сбоев</li></ul>]]></string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"notif_perm_missing_toast\">Разрешение на доступ к уведомлениям не предоставлено</string>\n  <!-- HelpActivity -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"open_browser_menu_item\">Открыть в браузере</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"zoom_in_menu_item\">Увеличить</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"zoom_out_menu_item\">Уменьшить</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_web_view\">WebView отсутствует</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"outdated_web_view\">WebView устарел</string>\n  <!-- Locale -->\n  <string name=\"help_dir_name\">ru</string>\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values-tr/pref_keys_foss.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources xmlns:tools=\"http://schemas.android.com/tools\">\n  <!-- NOTE:\n    If pref name equals its value + \"_key\":\n    - Pref values starting with \"pref_filter_\" are cleared on \"Reset to Defaults\".\n    - Pref values starting with \"pref_\" and not ending with \"_enc\" are backed up and restored. -->\n  <!-- MainActivity Preferences -->\n  <!-- MainActivity Preferences corresponding to default values -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_main_deep_search_title\"></string>\n  <string name=\"pref_main_deep_search_summary\">Do search in permissions list instead of apps list</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_main_case_sensitive_search_title\"></string>\n  <!-- Privileges / Daemon -->\n  <!-- Advanced Settings -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_root_cat_title\">Root</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- FilterSettingsActivity -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- PreferencesActivity permissions titles, keys and defaults -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- PreferencesActivity manifest permissions titles, keys and defaults -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- PreferencesActivity AppOps permissions titles, keys and defaults -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- SettingsActivity -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- HelpActivity -->\n  <!-- PackageActivity -->\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values-tr/search_strings_foss.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n  <string name=\"pkg_state_system\">Sistem</string>\n  <string name=\"pkg_state_user\">Kullanıcı</string>\n  <string name=\"prot_lvl_unknown\">Bilinmeyen</string>\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values-tr/strings_foss.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources xmlns:tools=\"http://schemas.android.com/tools\">\n  <!-- Character Limits:\n       Button: 10\n       Toast/SnackBar: 20\n       Preference title: 20\n       Single line text: 30\n       Progress: 15\n       Dialog/notification title: 15\n       Menu item: 15 -->\n  <!-- General strings -->\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"yes\">Evet</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"no\">Hayır</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"ok_button\">Tamam</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"cancel_button\">İptal et</string>\n  <string name=\"open_drawer\">Aç</string>\n  <string name=\"close_drawer\">Kapat</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"do_not_remind\">Hatırlatma</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"_continue\">Devam et?</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"warning\">Uyarı</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"help_button\">Yardım</string>\n  <plurals name=\"apps_count\">\n    <item quantity=\"one\">%d uygulama</item>\n    <item quantity=\"other\">%d uygulama</item>\n  </plurals>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"copied_to_clipboard_toast\">Panoya kopyalandı</string>\n  <string name=\"app_name\">İzinler Yöneticisi X</string>\n  <!-- MainActivity Navigation Drawer / menu items -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"search_menu_item\">Ara</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"settings_menu_item\">Ayarlar</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_menu_item\">Hariç Tutma Filtreleri</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"root_menu_item\">Root Erişimi</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"adb_menu_item\">ADB Erişimi</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"backup_restore_menu_item\">Yedekleme / Geri yükleme</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"help_menu_item\">Yardım</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"donate_menu_item\">Bağış yap</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"license_menu_item\">Lisans</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"about_menu_item\">Hakkında</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"advanced_settings_menu_item\">Gelişmiş Ayarlar</string>\n  <!-- MainActivity strings -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"primary_account\">Birincil Hesap</string>\n  <string name=\"primary_profile_only\">Permission Manager X yalnızca birincil kullanıcı hesabı / cihaz sahibi profilinde çalışabilir.</string>\n  <string name=\"grant_root_or_adb\">AppOp izinlerini almak ve izin durumunu değiştirmek için Root veya ADB erişimi gereklidir.</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"backup\">Yedekle</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"restore\">Geri yükle</string>\n  <string name=\"choose_backup_restore\">Tercihleri ve izin referanslarını yedekleyin veya geri yükleyin.</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"select_backup_file\">Yedekleme dosyası seç</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"backup_in_progress\">Yedekleniyor…</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"restore_in_progress\">Geri yükleniyor…</string>\n  <plurals name=\"backup_restore_processed_prefs\">\n    <item quantity=\"one\">%1$d tercihi işlendi</item>\n    <item quantity=\"other\">%1$d tercihi işlendi</item>\n  </plurals>\n  <string name=\"backup_restore_failed\">Başarısız. Bazı hatalar oluştu.</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"skip_uninstalled_packages\">Kaldırılmış paketleri atla</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"swap_user_ids\">Kullanıcı kimliklerini değiştir</string>\n  <string name=\"replace_user_id_from_hint\">Değiştir</string>\n  <string name=\"replace_user_id_with\">ile</string>\n  <string name=\"disable_pkg_warning\" comment=\"'system' or 'framework'\">%1$s uygulamasını devre dışı bırakmak tehlikeli bir eylemdir. En kötü senaryoda Android sistemi çökebilir.\\nDevam etmek istediğinizden emin misiniz?</string>\n  <string name=\"pkg_state_disabled2\" searchStr=\"true\">%s devre dışı bırakıldı</string>\n  <string name=\"unsupported_sdk_warning_title\">Android sürümü desteklenmiyor</string>\n  <string name=\"unsupported_sdk_warning_button\">Anlıyorum</string>\n  <!-- Crash Report -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"crash_report\">Hata Raporu</string>\n  <!-- CHAR LIMIT: 30 -->\n  <string name=\"ask_to_report_crash_small\">Çökme raporlarını geliştiriciye gönder</string>\n  <string name=\"ask_to_report_crash\">Üzgünüz, uygulamanın bir bileşeninde sorun oluştu ve çöktü. Hatanın düzeltilebilmesi için günlük dosyasını geliştiriciye gönderin.</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"send_report\">Rapor Gönder</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"crash_log_file_read_failed_toast\">Çökme günlüğü dosyası okunamadı</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"submit_report_button\">Raporu Gönder</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"submitting_report_button\">Gönderiliyor…</string>\n  <string name=\"reading_crash_log_file\">Çökme günlük dosyası okunuyor…</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"submit_crash_report_failed_toast\">Çökme raporu gönderilemedi</string>\n  <!-- Progress -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- AdvancedSettings Activity -->\n  <string name=\"daemon_uid_system\">Sistem</string>\n  <string name=\"daemon_uid_root\">Root</string>\n  <string name=\"daemon_uid_adb\">ADB</string>\n  <string name=\"daemon_context_default\">Varsayılan</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"reset_perm_db_dialog_reset_button\">Sıfırla</string>\n  <string name=\"reset_perm_db_dialog_cleanup_button\">Temizle</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"reset_perm_db_backup_failed_toast\">Yedekleme başarısız oldu</string>\n  <string name=\"reset_perm_db_building_app_list\">Uygulama listesi oluşturuluyor…</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"reset_perm_db_pkg_list_failed_toast\">Uygulama listesi oluşturulamadı</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- Privileges -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"privileges_title\">Yetkiler</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"root_granted_toast\">Root izni verildi</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"getting_root_failed\">Root yetkileri alınamadı. Root\\'lu musun?</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_failed_toast\">Yetkili arka plan programı başlatılamadı</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_app_ops_without_daemon_toast\">AppOps root / ADB olmadan okunamıyor</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"adb_title\">ADB</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"connecting_button\">Bağlanıyor</string>\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- Feedback -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"share_with_others\">Başkalarıyla Paylaş</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"rating_options\">Değerlendirme Seçenekleri</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"other_rating_options\">Diğer Değerlendirme Seçenekleri</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"ignore_for_now\">Şimdilik yoksay</string>\n  <!-- Links -->\n  <!-- DaemonHandler -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"granting_permissions_failed_toast\">İzin verme başarısız oldu</string>\n  <!-- Daemon callback errors  -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_err_bad_rom_toast\">Kötü ROM</string>\n  <!-- Daemon binder calls errors -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_set_exit_on_app_death_failed_toast\">Tercih ayarlama başarısız oldu</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_get_priv_status_failed_toast\">Yetki durumu alınamadı</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_get_app_ops_lists_failed_toast\">AppOps verilerini alma başarısız oldu</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_get_pkgs_for_uid_failed_toast\">UID için paket alma başarısız oldu</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_get_pkg_ops_failed_toast\">AppOps başarısız oldu</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- LogcatSvc -->\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"stop_button\">Durdur</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- AdbConnectSvc -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"adb_conn_notif_text\">Bağlanıyor…</string>\n  <!-- DaemonRcvSvc -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"daemon_connection_text\">Bağlanıyor…</string>\n  <!-- PackageActivity menu items -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"reset_app_ops\">AppOps\\'u Sıfırla</string>\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"menu_item_show_all_perms\">Hepsini göster</string>\n  <!-- MainActivity Dialogs -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"exclude_app_from_visible_list\">Uygulamayı listeden gizle</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"enable_app\">Uygulamayı etkinleştir</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"disable_app\">Uygulamayı devre dışı bırak</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"open_pkg_info\">Uygulama bilgilerini aç</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"find_pkg_process\">Uygulama işlemini bul</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"install\">Yükle</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- PackageActivity -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"system\">sistem</string>\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"app_op_mode_deny\">Reddet</string>\n  <string name=\"app_op_mode_default\">Varsayılan</string>\n  <string name=\"app_op_mode_foreground\">Ön plan</string>\n  <string name=\"app_op_mode_unknown\">Bilinmeyen</string>\n  <string name=\"app_op_mode_not_set\">Varsayılan</string>\n  <string name=\"perm_mode_granted\">İzin verildi</string>\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- FilterSettingsActivity -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- SettingsActivity -->\n  <string name=\"locale_system\">Sistem</string>\n  <!-- PreferenceActivity menu items -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- AboutActivity -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"send_crash_report_title\">Rapor Gönder</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 10 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"perm_status_menu_item\">Yetkiler</string>\n  <!-- ActivityNotFoundException -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- Notification Channels -->\n  <string name=\"channel_crash_report\">Hata Raporu</string>\n  <!-- Notification permission -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- HelpActivity -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- Locale -->\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values-v29/styles.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n\n  <!-- On Android 9- attr color doesn't work at some places. -->\n  <style name=\"BgColorControlNormal\">\n    <item name=\"android:background\">?attr/colorControlNormal</item>\n  </style>\n\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values-zh-rCN/pref_keys_foss.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources xmlns:tools=\"http://schemas.android.com/tools\">\n  <!-- NOTE:\n    If pref name equals its value + \"_key\":\n    - Pref values starting with \"pref_filter_\" are cleared on \"Reset to Defaults\".\n    - Pref values starting with \"pref_\" and not ending with \"_enc\" are backed up and restored. -->\n  <!-- MainActivity Preferences -->\n  <!-- MainActivity Preferences corresponding to default values -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_main_deep_search_title\">深度搜索</string>\n  <string name=\"pref_main_deep_search_summary\">搜索权限列表而非应用列表</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_main_case_sensitive_search_title\">区分大小写</string>\n  <string name=\"pref_main_case_sensitive_search_summary\">大小写相同时才匹配</string>\n  <!-- Privileges / Daemon -->\n  <!-- Advanced Settings -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_allow_critical_changes_title\">Allow critical changes</string>\n  <string name=\"pref_adv_settings_allow_critical_changes_summary\">对关键的权限和框架应用进行更改</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_exit_on_app_death_title\">自动停止守护进程</string>\n  <string name=\"pref_adv_settings_exit_on_app_death_summary\">当应用程序被杀死时停止特权守护进程</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_perm_refs_cat_title\">权限模板</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_unique_ref_app_op_uid_mode_title\">AppOp UID模式引用</string>\n  <string name=\"pref_adv_settings_unique_ref_app_op_uid_mode_summary\">在 UID 模式中使用不同的权限参考</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_unique_ref_sec_users_title\">次要用户参考</string>\n  <string name=\"pref_adv_settings_unique_ref_sec_users_summary\">对次要用户/配置文件使用不同的权限引用</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_root_cat_title\">Root</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_daemon_uid_title\">守护进程 UID</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_daemon_uid_title2\">守护进程 UID: %s</string>\n  <string name=\"pref_adv_settings_daemon_uid_summary\">守护进程的 UNIX 用户标识符</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_daemon_context_title\">守护进程上下文</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_daemon_context_title2\">守护进程上下文： %s</string>\n  <string name=\"pref_adv_settings_daemon_context_summary\">守护进程的 SELinux 上下文</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_adv_settings_su_exe_path_title\">超级用户二进制的位置</string>\n  <!-- FilterSettingsActivity -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_packages_cat_title\">应用</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_no_icon_apps_title\">排除无图标应用</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_user_apps_title\">排除用户应用</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_system_apps_title\">排除系统应用</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_framework_apps_title\">排除框架应用</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_disabled_apps_title\">隐藏已停用应用</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_no_perms_apps_title\">排除无权限应用</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_manually_exclude_apps_title\">手动排除应用</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_excluded_apps_title\">手动排除应用列表</string>\n  <!-- PreferencesActivity permissions titles, keys and defaults -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_permissions_cat_title\">权限</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_not_changeable_perms_title\">排除无法更改的权限</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_not_granted_perms_title\">排除未授予的权限</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_manually_exclude_perms_title\">手动排除权限</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_excluded_perms_title\">手动排除权限列表</string>\n  <!-- PreferencesActivity manifest permissions titles, keys and defaults -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_man_permissions_cat_title\">清单权限</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_invalid_perms_title\">排除无效权限</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_normal_perms_title\">排除普通权限</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_dangerous_perms_title\">排除危险权限</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_signature_perms_title\">排除签名权限</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_privileged_perms_title\">排除特权权限</string>\n  <!-- PreferencesActivity AppOps permissions titles, keys and defaults -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_app_ops_permissions_cat_title\">AppOps 权限</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_appops_perms_title\">排除 AppOps</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_exclude_not_set_appops_title\">排除未设置的 AppOps (默认)</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_show_extra_app_ops_title\">显示额外的AppOps, 从不排除</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_filter_extra_appops_title\">额外的AppOps列表</string>\n  <!-- SettingsActivity -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_general_cat_title\">常规设置</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_check_for_updates_title\">检查更新</string>\n  <string name=\"pref_settings_check_for_updates_summary\">当有新版本时显示通知</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_privileges_reminder_title\">提醒缺少权限</string>\n  <string name=\"pref_settings_privileges_reminder_summary\">缺少 Root 和 ADB 权限时显示提示对话框</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_show_fwk_perm_name_title\">框架权限名称</string>\n  <string name=\"pref_settings_show_fwk_perm_name_summary\">显示原始权限名称，而不是好看的名字</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_special_search_title\">综合搜索</string>\n  <string name=\"pref_settings_special_search_summary\">使用 AND (&amp;), OR (|) 和 nt (!) 操作员搜索合并查询</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_locale_title\">应用语言</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_theming_cat_title\">主题</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_theme_color_title\">主题颜色</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_dark_theme_title\">深色主题</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_search_suggestions_count_title2\">最大建议： %d</string>\n  <string name=\"pref_settings_search_suggestions_count_summary\">推荐·应用、权限、特殊关键词等</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_search_keywords_title\">搜索关键词</string>\n  <string name=\"pref_settings_search_keywords_summary\">具有特殊意义的关键词</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_ref_states_cat_title\">定期检查</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"pref_settings_perm_watcher_cat_title\">权限监控</string>\n  <!-- HelpActivity -->\n  <!-- PackageActivity -->\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values-zh-rCN/search_strings_foss.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n  <string name=\"pkg_state_critical\">核心</string>\n  <string name=\"pkg_state_framework\">框架</string>\n  <string name=\"pkg_state_system\">系统</string>\n  <string name=\"pkg_state_user\">用户</string>\n  <string name=\"pkg_state_disabled\">已停用</string>\n  <string name=\"prot_lvl_unknown\">未知</string>\n  <string name=\"prot_lvl_normal\">普通</string>\n  <string name=\"prot_lvl_dangerous\">危险</string>\n  <string name=\"prot_lvl_signature\">签名</string>\n  <string name=\"prot_lvl_internal\">内置</string>\n  <string name=\"prot_lvl_app_ops\">AppOps</string>\n  <string name=\"prot_lvl_development\">开发</string>\n  <string name=\"prot_lvl_privileged\">特权</string>\n  <string name=\"prot_lvl_fixed\">固定</string>\n  <string name=\"search_str_uid\">UID</string>\n  <string name=\"search_str_time\">时间</string>\n  <string name=\"search_str_extra\">额外</string>\n  <string name=\"search_str_red\">红色</string>\n  <string name=\"search_str_orange\">橙色</string>\n  <string name=\"search_str_green\">绿色</string>\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values-zh-rCN/strings_foss.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources xmlns:tools=\"http://schemas.android.com/tools\">\n  <!-- Character Limits:\n       Button: 10\n       Toast/SnackBar: 20\n       Preference title: 20\n       Single line text: 30\n       Progress: 15\n       Dialog/notification title: 15\n       Menu item: 15 -->\n  <!-- General strings -->\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"yes\">确定</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"no\">否</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"ok_button\">确定</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"cancel_button\">取消</string>\n  <string name=\"open_drawer\">打开</string>\n  <string name=\"close_drawer\">关闭</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"do_not_remind\">不再提醒</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"_continue\">是否继续？</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"warning\">警告</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"help_button\">帮助</string>\n  <plurals name=\"apps_count\">\n    <item quantity=\"other\">%d 个应用</item>\n  </plurals>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"copied_to_clipboard_toast\">已复制到剪贴板</string>\n  <string name=\"app_name\">权限管理 X</string>\n  <!-- MainActivity Navigation Drawer / menu items -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"search_menu_item\">搜索</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"settings_menu_item\">设置</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_menu_item\">过滤</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"root_menu_item\">Root 权限</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"adb_menu_item\">ADB 权限</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"backup_restore_menu_item\">备份 / 恢复</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"help_menu_item\">帮助</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"donate_menu_item\">捐赠</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"license_menu_item\">授权验证</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"about_menu_item\">关于</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"advanced_settings_menu_item\">高级设置</string>\n  <!-- MainActivity strings -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"primary_account\">主用户</string>\n  <string name=\"primary_profile_only\">权限管理 X 只能在主用户帐户/设备所有者配置文件中运行</string>\n  <string name=\"grant_root_or_adb\">Root 或 ADB 访问权限是获取AppOp权限和更改权限状态所必需的。</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"backup\">备份</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"restore\">恢复</string>\n  <string name=\"choose_backup_restore\">备份或还原模版和权限引用</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"select_backup_file\">选择备份文件</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"backup_in_progress\">正在备份…</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"restore_in_progress\">正在恢复…</string>\n  <plurals name=\"backup_restore_processed_prefs\">\n    <item quantity=\"other\">已处理 %1$d 个模板</item>\n  </plurals>\n  <plurals name=\"backup_restore_invalid_prefs\">\n    <item quantity=\"other\">%1$s\\n跳过 %2$d 个无效的模板</item>\n  </plurals>\n  <plurals name=\"backup_restore_uninstalled_apps\">\n    <item quantity=\"other\">%1$s\\n跳过 %2$d 个已卸载的应用。</item>\n  </plurals>\n  <string name=\"backup_restore_failed\">失败，出现错误</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"skip_uninstalled_packages\">跳过已卸载的软件</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"swap_user_ids\">交换用户 ID</string>\n  <string name=\"replace_user_id_from_hint\">替换</string>\n  <string name=\"disable_pkg_warning\" comment=\"'system' or 'framework'\">禁用 %1$s 十分危险。可能使您的设备变砖。\\n是否继续？</string>\n  <string name=\"pkg_state_disabled2\" searchStr=\"true\">%s，已禁用</string>\n  <string name=\"unsupported_sdk_warning_title\">不支持的 Android 版本</string>\n  <string name=\"unsupported_sdk_warning_message\">您的设备正在运行 Android %s ，该版本到尚未经过测试。PMX 可能崩溃或行为不正常。</string>\n  <string name=\"unsupported_sdk_warning_button\">我了解</string>\n  <!-- Crash Report -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"crash_report\">崩溃报告</string>\n  <!-- CHAR LIMIT: 30 -->\n  <string name=\"ask_to_report_crash_small\">发送崩溃报告给开发者</string>\n  <string name=\"ask_to_report_crash\">抱歉，应用组件出错。发送日志文件给开发者以便于修复错误。</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"send_report\">发送报告</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"crash_log_file_read_failed_toast\">读取崩溃日志文件失败</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"submit_report_button\">提交报告</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"submitting_report_button\">提交中…</string>\n  <string name=\"reading_crash_log_file\">正在读取崩溃日志文件…</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"submit_crash_report_failed_toast\">提交崩溃报告失败</string>\n  <!-- Progress -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"prog_msg_checking_privs\">正在检查权限…</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"prog_msg_stopping_daemon\">正在停止守护进程...</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"prog_msg_connecting_to_daemon\">正在连接守护进程…</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"prog_msg_checking_root_access\">正在检查 root 权限</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"prog_msg_checking_adb_access\">正在检查 ADB 权限</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"prog_msg_starting_daemon\">正在启动守护进程...</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"creating_packages_list\">正在创建应用列表…</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"sorting_packages_list\">正在排序应用列表…</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"reading_reference_perms\">读取模版...</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"creating_app_ops_lists\">正在准备 AppOps 数据…</string>\n  <!-- AdvancedSettings Activity -->\n  <string name=\"daemon_uid_system\">系统</string>\n  <string name=\"daemon_uid_root\">Root</string>\n  <string name=\"daemon_uid_adb\">ADB</string>\n  <string name=\"daemon_context_shell\">Shell</string>\n  <string name=\"daemon_context_default\">默认</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"bad_path_toast\">路径错误</string>\n  <string name=\"reset_perm_db_dialog_title\">重置/清理模板</string>\n  <string name=\"reset_perm_db_dialog_reset_button\">重置</string>\n  <string name=\"reset_perm_db_dialog_cleanup_button\">清除</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"reset_perm_db_backup_failed_toast\">备份失败</string>\n  <string name=\"reset_perm_db_building_app_list\">构建应用列表…</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"reset_perm_db_pkg_list_failed_toast\">建立应用列表失败</string>\n  <!-- CHAR LIMIT: 20 -->\n  <plurals name=\"reset_perm_db_removed_count_toast\">\n    <item quantity=\"other\">已从数据库中删除 %d 项</item>\n  </plurals>\n  <!-- Privileges -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"privileges_title\">权限</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"root_granted_toast\">Root 已授权</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"getting_root_failed\">获取 Root 权限失败，请检查您的超级用户设置</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_failed_toast\">启动特权守护进程失败</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"adb_title\">ADB</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"adb_pairing_failed_toast\">配对失败</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"adb_connect_failed_toast\">连接失败</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"connected_to_adb_toast\">连接到 ADB</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"pair_button\">配对</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"pairing_button\">正在配对</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"connect_button\">连接</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"connecting_button\">正在连接</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"connection_title\">连接</string>\n  <string name=\"pairing_code_hint\">配对码</string>\n  <string name=\"ip_address_hint\">IP 地址</string>\n  <string name=\"socket_port_hint\">端口</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"required_field_error\">必填</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"invalid_field_error\">无效</string>\n  <!-- Feedback -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"love_using_app\">喜欢权限管理 X？</string>\n  <string name=\"purchase_and_rate_the_app\">您可以通过捐赠或给个好评，帮助我们改进应用，以便更好地满足您的需要。</string>\n  <string name=\"ask_to_provide_feedback\">抱歉，您可以通过电子邮件或 Telegram 联系我们来帮助改进，便于更好地满足您的需求。</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"thank_you\">非常感谢！</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"contact\">立即评论</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"contact_on_telegram\">在 Telegram 上发送反馈</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"contact_on_email\">发送邮件</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"how_do_i\">我该怎么做？</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"purchase_donate\">购买/捐赠</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"rate_on_ps\">在 Play 商店评价</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"share_with_others\">与好友分享</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"rating_options\">评分选项</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"other_rating_options\">其他评价选项</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"ignore_for_now\">暂时忽略</string>\n  <!-- Links -->\n  <!-- DaemonHandler -->\n  <string name=\"priv_daemon_died_toast\">特权守护进程丢失</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"priv_daemon_restarted_toast\">特权守护进程已重启</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_not_running_toast\">守护进程未运行</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"granting_permissions_failed_toast\">授予权限失败</string>\n  <!-- Daemon callback errors  -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_err_bad_rom_toast\">ROM 错误</string>\n  <!-- Daemon binder calls errors -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_set_exit_on_app_death_failed_toast\">设置首选项失败</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_get_priv_status_failed_toast\">获取权限状态失败</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_set_debug_failed_toast\">守护进程日志记录失败</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_get_app_ops_lists_failed_toast\">获取 AppOps 数据失败</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_get_pkg_ops_failed_toast\">获取 AppOps 失败</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_grant_perm_failed_toast\">授予权限失败</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_revoke_perm_failed_toast\">撤销权限失败</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_set_app_ops_mode_failed_toast\">设置 AppOp 模式失败</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_reset_app_ops_failed_toast\">重置AppOps 失败</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_enable_pkg_failed_toast\">启用应用失败</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_disable_pkg_failed_toast\">禁用应用失败</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"daemon_open_app_info_failed_toast\">打开应用信息失败</string>\n  <!-- LogcatSvc -->\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"stop_button\">停止</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"logging_failed_toast\">日志记录失败</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"logging_title\">日志记录</string>\n  <string name=\"logging_warning_msg\">记录日志时，应用响应可能较慢，日志文件可能会非常大。5分钟后日志记录将自动停止。</string>\n  <!-- AdbConnectSvc -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"adb_conn_notif_title\">ADB 连接</string>\n  <string name=\"adb_conn_notif_text\">正在连接…</string>\n  <!-- DaemonRcvSvc -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"daemon_connection_title\">守护进程连接</string>\n  <string name=\"daemon_connection_text\">正在连接…</string>\n  <!-- PackageActivity menu items -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"reset_app_ops\">重置 AppOps</string>\n  <string name=\"reset_app_ops_confirmation\">是否重置所有 AppOps 为默认？</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"clear_references\">清除模板</string>\n  <string name=\"clear_references_confirmation\">是否清除所有权限模板？</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"set_references\">设置模板</string>\n  <string name=\"set_references_confirmation\">是否将当前所有权限状态设置为模板状态？</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"menu_item_show_all_perms\">全部显示</string>\n  <!-- MainActivity Dialogs -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"exclude_app_from_visible_list\">从列表中隐藏应用</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"enable_app\">启用应用</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"disable_app\">禁用应用</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"open_pkg_info\">打开应用信息</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"find_pkg_process\">查找应用进程</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"install\">安装</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"wrun_not_installed\">WhatsRunning 未安装</string>\n  <!-- CHAR LIMIT: 20 -->\n  <!-- PackageActivity -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"something_went_wrong\">出错了</string>\n  <string name=\"grant_root_or_adb_to_change_perms\">要更改权限状态，需要Root或 ADB 权限。</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"app_op_mode_not_chaged_toast\">AppOp 模式未更改</string>\n  <string name=\"change_perms_warning\" comment=\"'system' or 'framework'\">禁用 %1$s 的权限十分危险。可能使您的设备变砖。\\n是否继续？</string>\n  <string name=\"system\">系统</string>\n  <string name=\"framework\">框架</string>\n  <plurals name=\"uid_mode_app_ops_warning\">\n    <item quantity=\"other\">这是一个 UID 模式应用。更改它的权限也会影响到其它 %1$d 个应用</item>\n  </plurals>\n  <string name=\"exclude_perm_from_list\">从列表中隐藏权限</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"set_perm_state_reference\"><![CDATA[设置 <b><i>%1$s</i></b> 为参考]]></string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"set_reference\">设置模板</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"clear_reference\">清除模板</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_action_available\">无可用操作</string>\n  <plurals name=\"count_permissions_filtered_out\">\n    <item quantity=\"other\">%1$d 个权限已过滤</item>\n  </plurals>\n  <string name=\"requested_no_permissions\">未请求任何权限</string>\n  <string name=\"should_be\" comment=\"AppOps or manifest permission state\"><![CDATA[应为 <b>%1$s</b>]]></string>\n  <string name=\"prot_lvl_app_ops2\" searchStr=\"true\">%s, AppOps</string>\n  <string name=\"prot_lvl_uid_mode\" searchStr=\"true\">%s, UID 模式</string>\n  <string name=\"prot_lvl_extra\" searchStr=\"true\">%s, 额外</string>\n  <string name=\"prot_lvl_development2\" searchStr=\"true\">%s，开发</string>\n  <string name=\"prot_lvl_privileged2\" searchStr=\"true\">%s，特权</string>\n  <string name=\"prot_lvl_fixed2\" searchStr=\"true\">%s, 固定</string>\n  <string name=\"app_op_mode_allow\">允许</string>\n  <string name=\"app_op_mode_ignore\">忽略</string>\n  <string name=\"app_op_mode_deny\">拒绝</string>\n  <string name=\"app_op_mode_default\">默认</string>\n  <string name=\"app_op_mode_foreground\">前台允许</string>\n  <string name=\"app_op_mode_unknown\">未知</string>\n  <string name=\"app_op_mode_not_set\">默认</string>\n  <string name=\"perm_mode_granted\">授予</string>\n  <string name=\"perm_mode_revoked\">撤消</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"protection_level\">保护级别：</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"depends_on\">依赖于：</string>\n  <!-- FilterSettingsActivity -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_settings\">筛选设置</string>\n  <string name=\"excluded_apps_summary\">长按包名可以将其加入排除列表</string>\n  <string name=\"excluded_perms_summary\">长按权限名称排除</string>\n  <string name=\"extra_app_ops_summary\">总是在每个应用中显示 AppOps</string>\n  <string name=\"extra_app_ops_summary_count\">(总计： %1$d)</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"enable_exc_filters\">启用过滤</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"disable_exc_filters\">禁用过滤</string>\n  <plurals name=\"and_others_count\">\n    <item quantity=\"other\">%1$s 和 %2$d 个其他</item>\n  </plurals>\n  <!-- SettingsActivity -->\n  <string name=\"locale_system\">系统</string>\n  <string name=\"locale_en\">英语</string>\n  <string name=\"locale_ru\">俄语</string>\n  <string name=\"locale_es\">西班牙语</string>\n  <string name=\"locale_ar\">阿拉伯语</string>\n  <string name=\"locale_el\">希腊语</string>\n  <string name=\"locale_cn\">简体中文</string>\n  <string name=\"theme_color_green\">绿色</string>\n  <string name=\"theme_color_blue\">蓝色</string>\n  <string name=\"theme_color_pink\">粉色</string>\n  <string name=\"theme_color_gray\">灰色</string>\n  <string name=\"dark_theme_mode_system\">跟随系统</string>\n  <string name=\"dark_theme_mode_light\">浅色</string>\n  <string name=\"dark_theme_mode_dark\">深色</string>\n  <!-- PreferenceActivity menu items -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_settings_reset_defaults_menu_item\">重置为默认</string>\n  <string name=\"filter_settings_reset_confirmation\">是否重置过滤器设置为默认值？</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_settings_clear_excluded_apps_menu_item\">清除排除的应用</string>\n  <string name=\"filter_settings_clear_apps_confirmation\">是否清除所有排除的应用？</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_settings_clear_excluded_perms_menu_item\">清除排除的权限</string>\n  <string name=\"filter_settings_clear_perms_confirmation\">清除所有排除的权限？</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"filter_settings_clear_extra_app_ops_menu_item\">清除额外的 AppOps</string>\n  <string name=\"filter_settings_clear_app_ops_confirmation\">是否清除所有额外的 应用选项？</string>\n  <!-- AboutActivity -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"source\">源代码</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"email\">邮箱</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"telegram_group\">Telegram 群组</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"send_crash_report_title\">发送报告</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"send_crash_report_summary\">向开发者发送崩溃日志</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"collect_logs\">收集日志</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"collect_logs_summary\">保存详细的日志到文件</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"report_issues\">反馈问题</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"report_issues_summary\">错误，改进，建议…</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"select_log_file\">选择保存日志文件</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"stop_logging\">停止记录</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"logging_stopped\">日志已停止记录</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"app_rating\">给我评分</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"app_rating_summary\">评分、审核、星标…</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"paid_features\">专业版功能</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"about_dump_title\">转储信息</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"about_dump_summary\">导出缺少的权限图标、名称和描述</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"update\">更新</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"update_summary\">检查更新</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"check_in_progress\">检查进度</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"check_for_updates_failed\">检查更新失败</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"app_is_up_to_date\">应用已是最新</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"new_version_available\">有新版本可用！</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"tap_to_download\">点击下载</string>\n  <!-- CHAR LIMIT: 10 -->\n  <string name=\"download\">下载</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"privacy_policy\">隐私政策</string>\n  <string name=\"translations\">翻译</string>\n  <string name=\"translations_summary\">想把本应用翻译成您的语言吗？</string>\n  <string name=\"share\">分享</string>\n  <string name=\"share_summary\">分享给朋友</string>\n  <string name=\"share_text\">我正在使用权限管理 X ！ %1$s</string>\n  <!-- CHAR LIMIT: 15 -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"perm_status_menu_item\">权限</string>\n  <string name=\"uid\">UID:</string>\n  <string name=\"app_ops\">AppOps</string>\n  <string name=\"op_to_def_mode\">打开默认模式</string>\n  <string name=\"op_to_switch\">转到切换</string>\n  <string name=\"op_to_name\">转到名字</string>\n  <string name=\"get_app_ops\">获取 AppOps</string>\n  <string name=\"permissions\">权限</string>\n  <!-- ActivityNotFoundException -->\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_email_app_installed\">未安装邮箱</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_browser_installed\">\"未安装浏览器\"</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_file_picker_installed\">\"未安装文件选择器\"</string>\n  <!-- Notification Channels -->\n  <string name=\"channel_app_update\">应用更新</string>\n  <string name=\"channel_crash_report\">崩溃报告</string>\n  <string name=\"channel_logcat_collection\">日志收集</string>\n  <string name=\"channel_adb_connection\">ADB 连接</string>\n  <string name=\"channel_daemon_connection\">守护进程连接</string>\n  <!-- Notification permission -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"notif_perm_dialog_title\">通知权限</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"notif_perm_missing_toast\">未授予通知权限</string>\n  <!-- HelpActivity -->\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"open_browser_menu_item\">在浏览器中打开</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"zoom_in_menu_item\">放大</string>\n  <!-- CHAR LIMIT: 15 -->\n  <string name=\"zoom_out_menu_item\">缩小</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"no_web_view\">未找到 WebView</string>\n  <!-- CHAR LIMIT: 20 -->\n  <string name=\"outdated_web_view\">Webview 版本过低</string>\n  <!-- Locale -->\n  <string name=\"help_dir_name\">cn</string>\n</resources>\n"
  },
  {
    "path": "app/src/main/res/xml/adv_settings_prefs.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<PreferenceScreen xmlns:app=\"http://schemas.android.com/apk/res-auto\">\n\n  <PreferenceCategory />\n\n  <SwitchPreferenceCompat\n    app:defaultValue=\"@bool/pref_adv_settings_allow_critical_changes_default\"\n    app:enabled=\"false\"\n    app:icon=\"@drawable/danger\"\n    app:key=\"@string/pref_adv_settings_allow_critical_changes_key\"\n    app:singleLineTitle=\"false\"\n    app:summary=\"@string/pref_adv_settings_allow_critical_changes_summary\"\n    app:title=\"@string/pref_adv_settings_allow_critical_changes_title\" />\n\n  <PreferenceCategory\n    app:icon=\"@drawable/check_circle\"\n    app:title=\"@string/pref_adv_settings_perm_refs_cat_title\" />\n\n  <SwitchPreferenceCompat\n    app:defaultValue=\"@bool/pref_adv_settings_unique_ref_app_op_uid_mode_default\"\n    app:key=\"@string/pref_adv_settings_unique_ref_app_op_uid_mode_key\"\n    app:singleLineTitle=\"false\"\n    app:summary=\"@string/pref_adv_settings_unique_ref_app_op_uid_mode_summary\"\n    app:title=\"@string/pref_adv_settings_unique_ref_app_op_uid_mode_title\" />\n\n  <SwitchPreferenceCompat\n    app:defaultValue=\"@bool/pref_adv_settings_unique_ref_sec_users_default\"\n    app:enabled=\"false\"\n    app:key=\"@string/pref_adv_settings_unique_ref_sec_users_key\"\n    app:singleLineTitle=\"false\"\n    app:summary=\"@string/pref_adv_settings_unique_ref_sec_users_summary\"\n    app:title=\"@string/pref_adv_settings_unique_ref_sec_users_title\" />\n\n  <Preference\n    app:isPreferenceVisible=\"false\"\n    app:key=\"@string/pref_adv_settings_reset_perm_db_key\"\n    app:singleLineTitle=\"false\"\n    app:summary=\"@string/pref_adv_settings_reset_perm_db_summary\"\n    app:title=\"@string/pref_adv_settings_reset_perm_db_title\" />\n\n  <PreferenceCategory />\n\n  <SwitchPreferenceCompat\n    app:defaultValue=\"@bool/pref_adv_settings_exit_on_app_death_default\"\n    app:icon=\"@drawable/exit\"\n    app:key=\"@string/pref_adv_settings_exit_on_app_death_key\"\n    app:singleLineTitle=\"false\"\n    app:summary=\"@string/pref_adv_settings_exit_on_app_death_summary\"\n    app:title=\"@string/pref_adv_settings_exit_on_app_death_title\" />\n\n  <PreferenceCategory />\n\n  <PreferenceCategory\n    app:icon=\"@drawable/root\"\n    app:title=\"@string/pref_adv_settings_root_cat_title\" />\n\n  <ListPreference\n    app:defaultValue=\"@string/pref_adv_settings_daemon_uid_default\"\n    app:entries=\"@array/daemon_uids\"\n    app:entryValues=\"@array/daemon_uid_values\"\n    app:key=\"@string/pref_adv_settings_daemon_uid_key\"\n    app:singleLineTitle=\"false\"\n    app:summary=\"@string/pref_adv_settings_daemon_uid_summary\"\n    app:title=\"@string/pref_adv_settings_daemon_uid_title\" />\n\n  <ListPreference\n    app:defaultValue=\"@string/pref_adv_settings_daemon_context_default\"\n    app:entries=\"@array/daemon_contexts\"\n    app:entryValues=\"@array/daemon_context_values\"\n    app:key=\"@string/pref_adv_settings_daemon_context_key\"\n    app:singleLineTitle=\"false\"\n    app:summary=\"@string/pref_adv_settings_daemon_context_summary\"\n    app:title=\"@string/pref_adv_settings_daemon_context_title\" />\n\n  <EditTextPreference\n    app:defaultValue=\"@string/pref_adv_settings_su_exe_path_default\"\n    app:key=\"@string/pref_adv_settings_su_exe_path_key\"\n    app:singleLineTitle=\"false\"\n    app:title=\"@string/pref_adv_settings_su_exe_path_title\" />\n\n</PreferenceScreen>\n"
  },
  {
    "path": "app/src/main/res/xml/filter_settings_preferences.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<PreferenceScreen xmlns:app=\"http://schemas.android.com/apk/res-auto\">\n\n  <PreferenceCategory\n    app:iconSpaceReserved=\"false\"\n    app:title=\"@string/pref_filter_packages_cat_title\" />\n\n  <CheckBoxPreference\n    app:defaultValue=\"@bool/pref_filter_exclude_no_icon_apps_default\"\n    app:iconSpaceReserved=\"false\"\n    app:key=\"@string/pref_filter_exclude_no_icon_apps_key\"\n    app:singleLineTitle=\"false\"\n    app:title=\"@string/pref_filter_exclude_no_icon_apps_title\" />\n\n  <CheckBoxPreference\n    app:defaultValue=\"@bool/pref_filter_exclude_user_apps_default\"\n    app:iconSpaceReserved=\"false\"\n    app:key=\"@string/pref_filter_exclude_user_apps_key\"\n    app:singleLineTitle=\"false\"\n    app:title=\"@string/pref_filter_exclude_user_apps_title\" />\n\n  <CheckBoxPreference\n    app:defaultValue=\"@bool/pref_filter_exclude_system_apps_default\"\n    app:iconSpaceReserved=\"false\"\n    app:key=\"@string/pref_filter_exclude_system_apps_key\"\n    app:singleLineTitle=\"false\"\n    app:title=\"@string/pref_filter_exclude_system_apps_title\" />\n\n  <CheckBoxPreference\n    app:defaultValue=\"@bool/pref_filter_exclude_framework_apps_default\"\n    app:iconSpaceReserved=\"false\"\n    app:key=\"@string/pref_filter_exclude_framework_apps_key\"\n    app:singleLineTitle=\"false\"\n    app:title=\"@string/pref_filter_exclude_framework_apps_title\" />\n\n  <CheckBoxPreference\n    app:defaultValue=\"@bool/pref_filter_exclude_disabled_apps_default\"\n    app:iconSpaceReserved=\"false\"\n    app:key=\"@string/pref_filter_exclude_disabled_apps_key\"\n    app:singleLineTitle=\"false\"\n    app:title=\"@string/pref_filter_exclude_disabled_apps_title\" />\n\n  <CheckBoxPreference\n    app:defaultValue=\"@bool/pref_filter_exclude_no_perms_apps_default\"\n    app:iconSpaceReserved=\"false\"\n    app:key=\"@string/pref_filter_exclude_no_perms_apps_key\"\n    app:singleLineTitle=\"false\"\n    app:title=\"@string/pref_filter_exclude_no_perms_apps_title\" />\n\n  <CheckBoxPreference\n    app:defaultValue=\"@bool/pref_filter_manually_exclude_apps_default\"\n    app:iconSpaceReserved=\"false\"\n    app:key=\"@string/pref_filter_manually_exclude_apps_key\"\n    app:singleLineTitle=\"false\"\n    app:title=\"@string/pref_filter_manually_exclude_apps_title\" />\n\n  <MultiSelectListPreference\n    app:iconSpaceReserved=\"false\"\n    app:key=\"@string/pref_filter_excluded_apps_key\"\n    app:singleLineTitle=\"false\"\n    app:title=\"@string/pref_filter_excluded_apps_title\" />\n\n  <PreferenceCategory\n    app:iconSpaceReserved=\"false\"\n    app:title=\"@string/pref_filter_permissions_cat_title\" />\n\n  <CheckBoxPreference\n    app:defaultValue=\"@bool/pref_filter_exclude_not_changeable_perms_default\"\n    app:iconSpaceReserved=\"false\"\n    app:key=\"@string/pref_filter_exclude_not_changeable_perms_key\"\n    app:singleLineTitle=\"false\"\n    app:title=\"@string/pref_filter_exclude_not_changeable_perms_title\" />\n\n  <CheckBoxPreference\n    app:defaultValue=\"@bool/pref_filter_exclude_not_granted_perms_default\"\n    app:iconSpaceReserved=\"false\"\n    app:key=\"@string/pref_filter_exclude_not_granted_perms_key\"\n    app:singleLineTitle=\"false\"\n    app:title=\"@string/pref_filter_exclude_not_granted_perms_title\" />\n\n  <CheckBoxPreference\n    app:defaultValue=\"@bool/pref_filter_manually_exclude_perms_default\"\n    app:iconSpaceReserved=\"false\"\n    app:key=\"@string/pref_filter_manually_exclude_perms_key\"\n    app:singleLineTitle=\"false\"\n    app:title=\"@string/pref_filter_manually_exclude_perms_title\" />\n\n  <MultiSelectListPreference\n    app:iconSpaceReserved=\"false\"\n    app:key=\"@string/pref_filter_excluded_perms_key\"\n    app:singleLineTitle=\"false\"\n    app:title=\"@string/pref_filter_excluded_perms_title\" />\n\n  <PreferenceCategory\n    app:iconSpaceReserved=\"false\"\n    app:title=\"@string/pref_filter_man_permissions_cat_title\" />\n\n  <CheckBoxPreference\n    app:defaultValue=\"@bool/pref_filter_exclude_invalid_perms_default\"\n    app:iconSpaceReserved=\"false\"\n    app:key=\"@string/pref_filter_exclude_invalid_perms_key\"\n    app:singleLineTitle=\"false\"\n    app:title=\"@string/pref_filter_exclude_invalid_perms_title\" />\n\n  <CheckBoxPreference\n    app:defaultValue=\"@bool/pref_filter_exclude_normal_perms_default\"\n    app:iconSpaceReserved=\"false\"\n    app:key=\"@string/pref_filter_exclude_normal_perms_key\"\n    app:singleLineTitle=\"false\"\n    app:title=\"@string/pref_filter_exclude_normal_perms_title\" />\n\n  <CheckBoxPreference\n    app:defaultValue=\"@bool/pref_filter_exclude_dangerous_perms_default\"\n    app:iconSpaceReserved=\"false\"\n    app:key=\"@string/pref_filter_exclude_dangerous_perms_key\"\n    app:singleLineTitle=\"false\"\n    app:title=\"@string/pref_filter_exclude_dangerous_perms_title\" />\n\n  <CheckBoxPreference\n    app:defaultValue=\"@bool/pref_filter_exclude_signature_perms_default\"\n    app:iconSpaceReserved=\"false\"\n    app:key=\"@string/pref_filter_exclude_signature_perms_key\"\n    app:singleLineTitle=\"false\"\n    app:title=\"@string/pref_filter_exclude_signature_perms_title\" />\n\n  <CheckBoxPreference\n    app:defaultValue=\"@bool/pref_filter_exclude_privileged_perms_default\"\n    app:iconSpaceReserved=\"false\"\n    app:key=\"@string/pref_filter_exclude_privileged_perms_key\"\n    app:singleLineTitle=\"false\"\n    app:title=\"@string/pref_filter_exclude_privileged_perms_title\" />\n\n  <PreferenceCategory\n    app:iconSpaceReserved=\"false\"\n    app:title=\"@string/pref_filter_app_ops_permissions_cat_title\" />\n\n  <CheckBoxPreference\n    app:defaultValue=\"@bool/pref_filter_exclude_appops_perms_default\"\n    app:iconSpaceReserved=\"false\"\n    app:key=\"@string/pref_filter_exclude_appops_perms_key\"\n    app:singleLineTitle=\"false\"\n    app:title=\"@string/pref_filter_exclude_appops_perms_title\" />\n\n  <CheckBoxPreference\n    app:defaultValue=\"@bool/pref_filter_exclude_not_set_appops_default\"\n    app:iconSpaceReserved=\"false\"\n    app:key=\"@string/pref_filter_exclude_not_set_appops_key\"\n    app:singleLineTitle=\"false\"\n    app:title=\"@string/pref_filter_exclude_not_set_appops_title\" />\n\n  <CheckBoxPreference\n    app:defaultValue=\"@bool/pref_filter_show_extra_app_ops_default\"\n    app:iconSpaceReserved=\"false\"\n    app:key=\"@string/pref_filter_show_extra_app_ops_key\"\n    app:singleLineTitle=\"false\"\n    app:title=\"@string/pref_filter_show_extra_app_ops_title\" />\n\n  <MultiSelectListPreference\n    app:iconSpaceReserved=\"false\"\n    app:key=\"@string/pref_filter_extra_appops_key\"\n    app:singleLineTitle=\"false\"\n    app:title=\"@string/pref_filter_extra_appops_title\" />\n\n</PreferenceScreen>\n"
  },
  {
    "path": "app/src/main/res/xml/settings_prefs.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<PreferenceScreen xmlns:app=\"http://schemas.android.com/apk/res-auto\">\n\n  <Preference\n    app:icon=\"@drawable/settings\"\n    app:key=\"@string/pref_settings_general_cat_key\"\n    app:singleLineTitle=\"false\"\n    app:title=\"@string/pref_settings_general_cat_title\" />\n\n  <Preference\n    app:icon=\"@drawable/theme\"\n    app:key=\"@string/pref_settings_theming_cat_key\"\n    app:singleLineTitle=\"false\"\n    app:title=\"@string/pref_settings_theming_cat_title\" />\n\n  <Preference\n    app:enabled=\"false\"\n    app:icon=\"@drawable/schedule\"\n    app:singleLineTitle=\"false\"\n    app:title=\"@string/pref_settings_ref_states_cat_title\" />\n\n  <Preference\n    app:enabled=\"false\"\n    app:icon=\"@drawable/perm_watcher\"\n    app:singleLineTitle=\"false\"\n    app:title=\"@string/pref_settings_perm_watcher_cat_title\" />\n\n</PreferenceScreen>\n"
  },
  {
    "path": "app/src/main/res/xml/settings_prefs_general.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<PreferenceScreen\n  xmlns:app=\"http://schemas.android.com/apk/res-auto\">\n\n  <PreferenceCategory />\n\n  <SwitchPreferenceCompat\n    app:defaultValue=\"@bool/pref_settings_check_for_updates_default\"\n    app:icon=\"@drawable/update\"\n    app:key=\"@string/pref_settings_check_for_updates_key\"\n    app:singleLineTitle=\"false\"\n    app:summary=\"@string/pref_settings_check_for_updates_summary\"\n    app:title=\"@string/pref_settings_check_for_updates_title\" />\n\n  <PreferenceCategory />\n\n  <SwitchPreferenceCompat\n    app:defaultValue=\"@bool/pref_settings_privileges_reminder_default\"\n    app:icon=\"@drawable/permission\"\n    app:key=\"@string/pref_settings_privileges_reminder_key\"\n    app:singleLineTitle=\"false\"\n    app:summary=\"@string/pref_settings_privileges_reminder_summary\"\n    app:title=\"@string/pref_settings_privileges_reminder_title\" />\n\n  <SwitchPreferenceCompat\n    app:defaultValue=\"@bool/pref_settings_auto_perm_ref_default\"\n    app:enabled=\"false\"\n    app:icon=\"@drawable/check_circle\"\n    app:key=\"@string/pref_settings_auto_perm_ref_key\"\n    app:singleLineTitle=\"false\"\n    app:summary=\"@string/pref_settings_auto_perm_ref_summary\"\n    app:title=\"@string/pref_settings_auto_perm_ref_title\" />\n\n  <SwitchPreferenceCompat\n    app:defaultValue=\"@bool/pref_settings_show_fwk_perm_name_default\"\n    app:enabled=\"false\"\n    app:icon=\"@drawable/label\"\n    app:key=\"@string/pref_settings_show_fwk_perm_name_key\"\n    app:singleLineTitle=\"false\"\n    app:summary=\"@string/pref_settings_show_fwk_perm_name_summary\"\n    app:title=\"@string/pref_settings_show_fwk_perm_name_title\" />\n\n  <PreferenceCategory />\n\n  <ListPreference\n    app:defaultValue=\"@string/pref_settings_locale_default\"\n    app:entries=\"@array/locales\"\n    app:entryValues=\"@array/locale_codes\"\n    app:icon=\"@drawable/locale\"\n    app:key=\"@string/pref_settings_locale_key\"\n    app:singleLineTitle=\"false\"\n    app:title=\"@string/pref_settings_locale_title\" />\n\n</PreferenceScreen>\n"
  },
  {
    "path": "app/src/main/res/xml/settings_prefs_search.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<PreferenceScreen xmlns:app=\"http://schemas.android.com/apk/res-auto\">\n\n  <CheckBoxPreference\n    app:defaultValue=\"@bool/pref_main_deep_search_default\"\n    app:iconSpaceReserved=\"false\"\n    app:key=\"@string/pref_main_deep_search_key\"\n    app:singleLineTitle=\"false\"\n    app:summary=\"@string/pref_main_deep_search_summary\"\n    app:title=\"@string/pref_main_deep_search_title\" />\n\n  <CheckBoxPreference\n    app:defaultValue=\"@bool/pref_main_case_sensitive_search_default\"\n    app:iconSpaceReserved=\"false\"\n    app:key=\"@string/pref_main_case_sensitive_search_key\"\n    app:singleLineTitle=\"false\"\n    app:summary=\"@string/pref_main_case_sensitive_search_summary\"\n    app:title=\"@string/pref_main_case_sensitive_search_title\" />\n\n  <CheckBoxPreference\n    app:defaultValue=\"@bool/pref_settings_special_search_default\"\n    app:iconSpaceReserved=\"false\"\n    app:key=\"@string/pref_settings_special_search_key\"\n    app:singleLineTitle=\"false\"\n    app:summary=\"@string/pref_settings_special_search_summary\"\n    app:title=\"@string/pref_settings_special_search_title\" />\n\n  <com.mirfatif.permissionmanagerx.fwk.NumPickerPref\n    app:defaultValue=\"@integer/pref_settings_search_suggestions_count_default\"\n    app:enabled=\"false\"\n    app:iconSpaceReserved=\"false\"\n    app:key=\"@string/pref_settings_search_suggestions_count_key\"\n    app:singleLineTitle=\"false\"\n    app:summary=\"@string/pref_settings_search_suggestions_count_summary\" />\n\n  <Preference\n    app:enabled=\"false\"\n    app:iconSpaceReserved=\"false\"\n    app:key=\"@string/pref_settings_search_keywords_key\"\n    app:summary=\"@string/pref_settings_search_keywords_summary\"\n    app:title=\"@string/pref_settings_search_keywords_title\" />\n\n</PreferenceScreen>\n"
  },
  {
    "path": "app/src/main/res/xml/settings_prefs_theming.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<PreferenceScreen xmlns:app=\"http://schemas.android.com/apk/res-auto\">\n\n  <ListPreference\n    app:defaultValue=\"@string/pref_settings_theme_color_default\"\n    app:enabled=\"false\"\n    app:entries=\"@array/theme_colors\"\n    app:entryValues=\"@array/theme_color_values\"\n    app:icon=\"@drawable/color\"\n    app:key=\"@string/pref_settings_theme_color_key\"\n    app:singleLineTitle=\"false\"\n    app:title=\"@string/pref_settings_theme_color_title\" />\n\n  <ListPreference\n    app:defaultValue=\"@string/pref_settings_dark_theme_default\"\n    app:entries=\"@array/dark_theme_modes\"\n    app:entryValues=\"@array/dark_theme_mode_values\"\n    app:icon=\"@drawable/dark_mode\"\n    app:key=\"@string/pref_settings_dark_theme_key\"\n    app:singleLineTitle=\"false\"\n    app:title=\"@string/pref_settings_dark_theme_title\"\n    app:useSimpleSummaryProvider=\"true\" />\n\n</PreferenceScreen>\n"
  },
  {
    "path": "app/src/release/AndroidManifest.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  xmlns:tools=\"http://schemas.android.com/tools\">\n\n  <!-- Not required. It's added by build system due to libadb targeting Android SDK < 4 -->\n  <uses-permission\n    android:name=\"android.permission.READ_PHONE_STATE\"\n    tools:node=\"remove\" />\n\n  <!-- Not required. It's added by build system due to libadb targeting Android SDK < 4 -->\n  <uses-permission\n    android:name=\"android.permission.READ_EXTERNAL_STORAGE\"\n    tools:ignore=\"ScopedStorage\"\n    tools:node=\"remove\" />\n\n  <!-- Not required. It's added by build system due to libadb targeting Android SDK < 4 -->\n  <uses-permission\n    android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"\n    tools:ignore=\"ScopedStorage\"\n    tools:node=\"remove\" />\n\n</manifest>\n"
  },
  {
    "path": "build.gradle.kts",
    "content": "import com.diffplug.gradle.spotless.SpotlessExtensionPredeclare\n\nplugins { id(\"spotless-conventions\") }\n\nallprojects { plugins.apply(\"dependency-updates-conventions\") }\n\nspotless { predeclareDeps() }\n\nconfigure<SpotlessExtensionPredeclare> {\n  java { googleJavaFormat(libs.versions.google.java.format.get()) }\n  kotlin { ktfmt(libs.versions.ktfmt.get()) }\n}\n"
  },
  {
    "path": "buildSrc/.gitignore",
    "content": "/build\n/.gradle\n"
  },
  {
    "path": "buildSrc/build.gradle.kts",
    "content": "import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask\n\nplugins {\n  `kotlin-dsl`\n  alias(libs.plugins.spotless)\n  alias(libs.plugins.gradle.versions)\n}\n\ndependencies {\n  implementation(libs.plugin.android.application)\n  implementation(libs.plugin.android.library)\n  implementation(libs.plugin.jetbrains.kotlin.android)\n\n  implementation(libs.plugin.spotless)\n  implementation(libs.plugin.gradle.versions)\n\n  // Make version catalogs available to convention plugins\n  // https://github.com/gradle/gradle/issues/15383\n  implementation(files(libs.javaClass.superclass.protectionDomain.codeSource.location))\n}\n\nspotless {\n  java {\n    target(\"src/**/*.java\")\n    googleJavaFormat(libs.versions.google.java.format.get())\n  }\n\n  kotlin {\n    target(\"src/**/*.kt\", \"src/**/*.kts\", \"*.kts\")\n    ktfmt(libs.versions.ktfmt.get())\n  }\n}\n\ntasks.named(\"jar\").get().dependsOn(\"spotlessApply\")\n\nobject Color {\n  private const val ESC = 27.toChar()\n  const val RED_BOLD = \"$ESC[1;91m\"\n  const val ESC_END = \"$ESC[0m\"\n}\n\nval ignoredVersions = mutableSetOf<String>()\n\nfun isStableVersion(version: String): Boolean {\n  return \".*(-|.)(rc|beta|alpha)[0-9]*(|-|.)[0-9.]*$\"\n      .toRegex()\n      .matches(version.lowercase())\n      .not()\n      .also {\n        if (!it && !ignoredVersions.contains(version)) {\n          println(\"${Color.RED_BOLD}Unstable${Color.ESC_END}: $version\")\n          ignoredVersions.add(version)\n        }\n      }\n}\n\ntasks.withType<DependencyUpdatesTask> {\n  rejectVersionIf { !isStableVersion(candidate.version) && isStableVersion(currentVersion) }\n}\n"
  },
  {
    "path": "buildSrc/settings.gradle.kts",
    "content": "@Suppress(\"UnstableApiUsage\")\ndependencyResolutionManagement {\n  repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)\n\n  repositories {\n    mavenLocal()\n    mavenCentral()\n    google()\n    gradlePluginPortal()\n    maven { setUrl(\"https://jitpack.io\") }\n  }\n\n  versionCatalogs { create(\"libs\") { from(files(\"../gradle/libs.versions.toml\")) } }\n}\n"
  },
  {
    "path": "buildSrc/src/main/kotlin/android-base-conventions.gradle.kts",
    "content": "plugins {\n  id(\"org.jetbrains.kotlin.android\")\n  id(\"java-kotlin-conventions\")\n}\n"
  },
  {
    "path": "buildSrc/src/main/kotlin/android-lib-conventions.gradle.kts",
    "content": "import org.gradle.accessors.dm.LibrariesForLibs\nimport org.jetbrains.kotlin.gradle.dsl.JvmTarget\n\nplugins {\n  id(\"com.android.library\")\n  id(\"android-base-conventions\")\n}\n\nval libs = the<LibrariesForLibs>()\n\nandroid {\n  compileSdk = libs.versions.sdk.compile.get().toInt()\n  buildToolsVersion = libs.versions.sdk.tools.build.get()\n\n  defaultConfig { minSdk = libs.versions.sdk.min.get().toInt() }\n\n  compileOptions {\n    sourceCompatibility = JavaVersion.VERSION_17\n    targetCompatibility = JavaVersion.VERSION_17\n  }\n\n  kotlin.compilerOptions.jvmTarget.set(JvmTarget.JVM_17)\n\n  buildFeatures { buildConfig = false }\n}\n\ndependencies { implementation(libs.androidx.annotation) }\n"
  },
  {
    "path": "buildSrc/src/main/kotlin/apk-conventions.gradle.kts",
    "content": "import org.gradle.accessors.dm.LibrariesForLibs\nimport org.jetbrains.kotlin.gradle.dsl.JvmTarget\n\nplugins {\n  id(\"com.android.application\")\n  id(\"android-base-conventions\")\n}\n\nval libs = the<LibrariesForLibs>()\n\nandroid {\n  compileSdk = libs.versions.sdk.compile.get().toInt()\n  buildToolsVersion = libs.versions.sdk.tools.build.get()\n\n  defaultConfig {\n    minSdk = libs.versions.sdk.min.get().toInt()\n    targetSdk = libs.versions.sdk.target.get().toInt()\n\n    multiDexEnabled = true // Required for desugaring\n  }\n\n  compileOptions {\n    sourceCompatibility = JavaVersion.VERSION_17\n    targetCompatibility = JavaVersion.VERSION_17\n\n    isCoreLibraryDesugaringEnabled = true\n  }\n\n  kotlin.compilerOptions.jvmTarget.set(JvmTarget.JVM_17)\n\n  buildTypes {\n    release {\n      isMinifyEnabled = true\n      isShrinkResources = true\n\n      proguardFiles(getDefaultProguardFile(\"proguard-android-optimize.txt\"), \"proguard-rules.pro\")\n    }\n  }\n\n  dependenciesInfo { includeInApk = false }\n\n  buildFeatures {\n    viewBinding = true\n    dataBinding = true\n    buildConfig = true\n  }\n}\n\ndependencies {\n  implementation(libs.androidx.annotation)\n  coreLibraryDesugaring(libs.desugar.jdk.nio)\n}\n"
  },
  {
    "path": "buildSrc/src/main/kotlin/dependency-updates-conventions.gradle.kts",
    "content": "import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask\n\nplugins { id(\"com.github.ben-manes.versions\") }\n\nobject Color {\n  private const val ESC = 27.toChar()\n  const val RED_BOLD = \"$ESC[1;91m\"\n  const val ESC_END = \"$ESC[0m\"\n}\n\nval ignoredVersions = mutableSetOf<String>()\n\nfun isStableVersion(version: String): Boolean {\n  return \".*(-|.)(rc|beta|alpha)(-|)[0-9]*(|-|.)[0-9.]*$\"\n      .toRegex()\n      .matches(version.lowercase())\n      .not()\n      .also {\n        if (!it && !ignoredVersions.contains(version)) {\n          println(\"${Color.RED_BOLD}Unstable${Color.ESC_END}: $version\")\n          ignoredVersions.add(version)\n        }\n      }\n}\n\nval buildSrcDependencyUpdatesTaskName = \"buildSrcDependencyUpdates\"\nval buildSrcDir: File\n  get() = File(rootDir, \"buildSrc\")\n\nif (buildSrcDir.exists()) {\n  tasks.register<GradleBuild>(buildSrcDependencyUpdatesTaskName) {\n    dir = buildSrcDir\n    tasks = mutableListOf(\"dependencyUpdates\")\n    buildName = \"buildSource\"\n  }\n}\n\ntasks.withType<DependencyUpdatesTask> {\n  if (buildSrcDir.exists()) {\n    dependsOn(buildSrcDependencyUpdatesTaskName)\n  }\n  rejectVersionIf { !isStableVersion(candidate.version) && isStableVersion(currentVersion) }\n}\n"
  },
  {
    "path": "buildSrc/src/main/kotlin/java-android-lib-conventions.gradle.kts",
    "content": "plugins {\n  id(\"java-library\")\n  id(\"java-lib-conventions\")\n}\n"
  },
  {
    "path": "buildSrc/src/main/kotlin/java-base-conventions.gradle.kts",
    "content": "import org.gradle.accessors.dm.LibrariesForLibs\nimport org.gradle.kotlin.dsl.the\nimport org.jetbrains.kotlin.gradle.dsl.JvmTarget\nimport org.jetbrains.kotlin.gradle.tasks.KotlinCompile\n\nplugins {\n  id(\"org.jetbrains.kotlin.jvm\")\n  id(\"java-kotlin-conventions\")\n}\n\njava {\n  sourceCompatibility = JavaVersion.VERSION_17\n  targetCompatibility = JavaVersion.VERSION_17\n}\n\ntasks.withType<KotlinCompile> { compilerOptions.jvmTarget.set(JvmTarget.JVM_17) }\n\nval libs = the<LibrariesForLibs>()\n\ndependencies { compileOnly(libs.jetbrains.annotations) }\n"
  },
  {
    "path": "buildSrc/src/main/kotlin/java-kotlin-conventions.gradle.kts",
    "content": "import org.jetbrains.kotlin.gradle.tasks.KotlinCompile\n\nplugins { id(\"spotless-conventions\") }\n\ntasks.withType<JavaCompile> {\n  options.compilerArgs.addAll(arrayOf(\"-Xlint:all,-serial,-processing\"))\n}\n\ntasks.withType<KotlinCompile> {\n  compilerOptions.freeCompilerArgs.addAll(\"-Xjavac-arguments=['-Xlint:all,-serial,-processing']\")\n}\n"
  },
  {
    "path": "buildSrc/src/main/kotlin/java-lib-conventions.gradle.kts",
    "content": "plugins {\n  id(\"java-library\")\n  id(\"java-base-conventions\")\n}\n"
  },
  {
    "path": "buildSrc/src/main/kotlin/spotless-conventions.gradle.kts",
    "content": "import org.gradle.accessors.dm.LibrariesForLibs\nimport org.jetbrains.kotlin.gradle.tasks.KotlinCompile\n\nplugins { id(\"com.diffplug.spotless\") }\n\nval libs = the<LibrariesForLibs>()\n\nspotless {\n  java {\n    target(\"src/**/*.java\")\n    googleJavaFormat(libs.versions.google.java.format.get())\n  }\n\n  kotlin {\n    target(\"src/**/*.kt\", \"src/**/*.kts\", \"*.kts\")\n    ktfmt(libs.versions.ktfmt.get())\n  }\n}\n\ntasks.withType<JavaCompile> { dependsOn(\"spotlessCheck\") }\n\ntasks.withType<KotlinCompile> { dependsOn(\"spotlessCheck\") }\n\nafterEvaluate { tasks.findByName(\"preBuild\")?.dependsOn(\"spotlessCheck\") }\n"
  },
  {
    "path": "fastlane/metadata/android/ar/short_description.txt",
    "content": "مدير أذونات eXtended - تطبيق صغير لإدارة الأذونات والتطبيقات\n"
  },
  {
    "path": "fastlane/metadata/android/ar/title.txt",
    "content": "مدير الصلاحيّات X\n"
  },
  {
    "path": "fastlane/metadata/android/de/short_description.txt",
    "content": "eXtended Permission Manager - eine App zum Verwalten von Berechtigungen u.v.m\n"
  },
  {
    "path": "fastlane/metadata/android/el/title.txt",
    "content": "Διαχειριστής Δικαιωμάτων X\n"
  },
  {
    "path": "fastlane/metadata/android/en-US/changelogs/101.txt",
    "content": "Initial release. Enjoy it. It's gonna taste a bit unique :)\n"
  },
  {
    "path": "fastlane/metadata/android/en-US/changelogs/103.txt",
    "content": "Fixed AppOps mode spinner click area\nDisabled Foreground AppOp mode for RUN_IN_BACKGROUND\nAdded option to skip uninstalled apps in backup/restore\nFixed Exclusin Filter Settings Fragment crash on orientation changes\nImproved Help section\nAdded | and & to search queries\nAdded Telegram support group link and paid features to About section\nAdded \"Ask for redeem code\" option to Donate dialog\nAsk to send app and daemon's crash log files, delete files older than a month\nFixed permissions Activity crash on launch due to null ActionBar\nFixed OutOfMemory crash by releasing Icon Bitmaps on low memory conditions\n"
  },
  {
    "path": "fastlane/metadata/android/en-US/changelogs/104.txt",
    "content": "Added Android 11 support\nImproved crash reporting\nAdded SELinux context, ADB port and Switch to ADB in Advanced Settings\nImproved performance and app size\nAdded app update check\nReduced dialog interventions\nImproved Snackbar and ProgressBar theming\nMade Help more friendly and accessible\nFixed AppOp's getLastAccessTime() crash on Pie\nFixed memory leaks\n"
  },
  {
    "path": "fastlane/metadata/android/en-US/changelogs/105.txt",
    "content": "Fixed crash due to space in some permissions name\nTemp fix for bug in androidx.security: https://github.com/google/tink/issues/413\nAdded option to run daemon from /data/local/tmp or external storage\nRun logcat collection as a foreground service with notification\nBuild hidden APIs with official SDK without requiring any modifications\nImproved log tags\nFixed ArrayAdapter memory leak\nAdded quick scan option for speed lovers\nMake deep search faster\nAdded NOT operator in search queries\nAdded preference for special search characters: AND, OR and NOT\n"
  },
  {
    "path": "fastlane/metadata/android/en-US/changelogs/106.txt",
    "content": "Added receive back commands from daemon through Intents\nImproved About section, warnings and Advanced Settings\nFixed crashes due to OEM's bad implementations\nBumped library and NDK versions\n"
  },
  {
    "path": "fastlane/metadata/android/en-US/changelogs/107.txt",
    "content": "Added Russian translation\nMajor changes for locale awareness\nFix for modified AppOp modes in LineageOS\nNumerous fixes and improvements\n"
  },
  {
    "path": "fastlane/metadata/android/en-US/changelogs/108.txt",
    "content": "Updated libcap\nChanges for new features in Play Store version\n"
  },
  {
    "path": "fastlane/metadata/android/en-US/changelogs/109.txt",
    "content": "Fixed crash due to theme not set in Activity\n"
  },
  {
    "path": "fastlane/metadata/android/en-US/changelogs/110.txt",
    "content": "Improved help and Exclusion Filters\n"
  },
  {
    "path": "fastlane/metadata/android/en-US/changelogs/111.txt",
    "content": "Added daemon privileges and AppOps bugs menu item in About\nMade search in permissions case sensitive\nImproved long press dialog Exclude button logic\nAdded exclusion filters master switch\nImproved R8 rules to reduce app size and better optimization\nImproved touch ripples\nUpdated README, help and fastlane descriptions\nDo reset() on OOS to avoid OOM\nImproved dialog handling after orientation change\nReplaced singletons with enums, removed ViewModel\nMade on-UI calls from background Lifecycle aware\nFixed crash and improved WebView\nAdded Spanish translation and updated translations\n"
  },
  {
    "path": "fastlane/metadata/android/en-US/changelogs/112.txt",
    "content": "- Added Android 12 support\n- Improved preferences\n- Moved search settings with SearchBar, added search keyword list\n- Fixes for RTL layout\n- Added Arabic translation\n- Updated translations and help\n- Replaced some Alert Dialogs with Bottom Dialogs\n- Integration with WhatsRunning\n- Added Dialog background and animations to Github/F-Droid version\n- Changes for Play Store independent Pro version\n"
  },
  {
    "path": "fastlane/metadata/android/en-US/changelogs/113.txt",
    "content": "- Chinese and Greek translations\n- Target Android 13\n- Binder IPC for app <--> daemon\n- Improved ADB pairing and connection\n- Show a corner tag with manifest permissions in permission list\n- \"Follow System\" option for dark theme\n- Menu item to temporarily show all permissions of an app\n- Replace AppOp states drop-down menu with toggle switch\n- Option to reset / cleanup permission references database\n- Option to send crash log to server\n- Fixed crashes, code cleanup, minor improvements\n"
  },
  {
    "path": "fastlane/metadata/android/en-US/changelogs/114.txt",
    "content": "- Bug fixes"
  },
  {
    "path": "fastlane/metadata/android/en-US/changelogs/116.txt",
    "content": "- Added Permission View (Pro)\n- Added permission names (Pro)\n- Increased tap area of permission switch\n- Updated permission names, descriptions, groups, icons\n- Updated translations\n- Fixed crash due to feedback views called on worker thread\n- Fixed crash due to get users from daemon called on main thread\n- Fixed crash due to INTERACT_ACROSS_USERS injected in getPackagesForUid in S+\n- Minor fixes and improvements\n"
  },
  {
    "path": "fastlane/metadata/android/en-US/changelogs/117.txt",
    "content": "- Process package filters on worker thread\n- Update translations\n- Improve privileges dialog message and help link\n- Fix Scheduled Checker not working due to app always in FG\n- Fix extra AppOps not selected with pretty permission names\n- Bump libraries\n- Fix issues due to background service restrictions\n- Fix rare NPE crashes\n- Fix crash due to App context null\n- Fix ANR due to lock contention\n"
  },
  {
    "path": "fastlane/metadata/android/en-US/changelogs/118.txt",
    "content": "- Fixed crashes\n"
  },
  {
    "path": "fastlane/metadata/android/en-US/changelogs/119.txt",
    "content": "- Fixed crashes\n- Bumped libraries and build plugins\n- Minor improvements\n"
  },
  {
    "path": "fastlane/metadata/android/en-US/changelogs/120.txt",
    "content": "- Fixed crashes\n- Minor improvements\n"
  },
  {
    "path": "fastlane/metadata/android/en-US/changelogs/121.txt",
    "content": "- Fix Excluded Apps and AppOps not Restored from backup\n- Add 'All users' options in Main Activity menu\n- Add option to notify only red states in Scheduled Checks\n- Remove watcher notifications if an app is uninstalled\n- Increase permission switch padding\n- Fixed crashes\n- Minor improvements\n- Bump libraries\n"
  },
  {
    "path": "fastlane/metadata/android/en-US/changelogs/122.txt",
    "content": "- Added 'Batch Operations' / 'Permission Profiles'\n- Updates translations\n"
  },
  {
    "path": "fastlane/metadata/android/en-US/changelogs/123.txt",
    "content": "- Added 'Clone' button to profile permission long press menu (pro)\n"
  },
  {
    "path": "fastlane/metadata/android/en-US/changelogs/124.txt",
    "content": "- Added new permission names / descriptions for Android 14\n- Updated translations\n- Fixed crashes, random improvements\n"
  },
  {
    "path": "fastlane/metadata/android/en-US/changelogs/125.txt",
    "content": "- Target Android 14\n- Make Perm Watcher more aggressive\n- Add Turkish translation\n- Bug fixes and improvements\n"
  },
  {
    "path": "fastlane/metadata/android/en-US/changelogs/126.txt",
    "content": "- Minor fixes and improvements\n"
  },
  {
    "path": "fastlane/metadata/android/en-US/changelogs/127.txt",
    "content": "- Fixed a crash due to internal API changes in Android 14\n- Updated translations\n- Minor fixes and improvements\n"
  },
  {
    "path": "fastlane/metadata/android/en-US/changelogs/128.txt",
    "content": "- Target Android 16\n- Fixes and improvements\n"
  },
  {
    "path": "fastlane/metadata/android/en-US/changelogs/129.txt",
    "content": "- Fixes and improvements\n"
  },
  {
    "path": "fastlane/metadata/android/en-US/full_description.txt",
    "content": "<p>Using e<b>X</b>tended <b>Permission Manager</b>, for each installed app, on single screen, you can:</p>\n<ul><li>View, grant or revoke manifest permissions</li><li>View AppOps permissions and choose one of multiple modes</li><li>Set your desired reference value for every changeable permission</li></ul>\n<p><b>Manifest permissions</b> are those normally called permissions e.g. Storage, Camera etc. <b>AppOps</b> (app operations) is a robust framework Android uses at back end for access control. With every Android release manifest permissions are becoming more dependent on AppOps. So it's fun to control both simultaneously and see how they relate to each other.</p>\n<p>In short, AppOps provide a fine-grained control over many of the manifest permissions. Plus it provides additional controls like background execution, vibration, clipboard access etc. Just install the app to explore it yourself.</p>\n<p>When you reinstall an app, or change your device, or upgrade your ROM, it's a time-taking process to review all installed apps for granted permissions and revoke the unnecessary ones (after all  <b><i>privacy matters</i></b>). PMX provides you the solution. Set <b>reference states</b> of permissions, which can be quickly backed up and restored, and colored bars at left make it quite easy to review packages and permissions at a glance.</p>\n<p>Confused? We are here to explain. Please start with:</p>\n<ul><li><a href=\"https://mirfatif.github.io/PermissionManagerX/help/en#intro\">What is PMX?</a></li><li><a href=\"https://mirfatif.github.io/PermissionManagerX/help/en#faq36\">Why do I need to use PMX?</a></li><li><a href=\"https://mirfatif.github.io/PermissionManagerX/help/en#perms_types\">What are manifest permissions and AppOps?</a></li><li><a href=\"https://mirfatif.github.io/PermissionManagerX/help/en#perm_ref\">What are Permission References?</a></li></ul>\n<p>Paid version (available as <a href=\"https://play.google.com/store/apps/details?id=com.mirfatif.permissionmanagerx\">Play Store</a> and <a href=\"https://mirfatif.github.io/mirfatif/getpro\">Pro</a> flavors) offers extra features including <a href=\"https://mirfatif.github.io/PermissionManagerX/help/en#perm_watcher\">Permission Watcher</a>, <a href=\"https://mirfatif.github.io/PermissionManagerX/help/en#scheduled_checker\">Scheduled Checks</a>, <a href=\"https://mirfatif.github.io/PermissionManagerX/help/en#perm_view\">Permission View</a> and <a href=\"https://mirfatif.github.io/PermissionManagerX/help/en#batch-ops\">Batch Operations / Profiles</a>.</p>\n<p>Beta builds are released in <a href=\"https://t.me/mirfatifApps\">Telegram channel</a>.</p>\n<p>Guide: https://mirfatif.github.io/PermissionManagerX/help</p>"
  },
  {
    "path": "fastlane/metadata/android/en-US/short_description.txt",
    "content": "eXtended Permission Manager - a small app to manage permissions and AppOps\n"
  },
  {
    "path": "fastlane/metadata/android/en-US/title.txt",
    "content": "Permission Manager X\n"
  },
  {
    "path": "fastlane/metadata/android/es/short_description.txt",
    "content": "eXtended Permission Manager - una pequeña app para administrar permisos y AppOps\n"
  },
  {
    "path": "fastlane/metadata/android/es/title.txt",
    "content": "Permission Manager X\n"
  },
  {
    "path": "fastlane/metadata/android/ru/full_description.txt",
    "content": "<p>Используя <b>Permission Manager X</b>, для каждого установленного приложения на одном экране, вы можете:</p>\n<ul><li>Просматривать, предоставлять или отзывать разрешения манифеста</li><li>Просматривать разрешения AppOps и выбирать один из нескольких режимов</li><li>Устанавливать желаемое целевое значение для каждого изменяемого разрешения</li></ul>\n<p><b>Разрешения манифеста</b> обычно называются «разрешениями», например, «хранилище, камера» и т.д. <b>AppOps</b> (операции приложения) это инфраструктурные разрешения, которые Android использует как ядро управления доступом. С каждым выпуском Android разрешения манифеста становятся более зависимыми от AppOps. Поэтому интересно контролировать оба типа разрешений одновременно и смотреть, как они относятся друг к другу.</p>\n<p>Кратко говоря, AppOps обеспечивают тонкий контроль над многими разрешениями манифеста. Кроме того, они предоставляют дополнительный контроль, такой как: работа в фоне, вибро, доступ к буферу обмена и т. Просто установите приложение, чтобы исследовать это самостоятельно.</p>\n<p>После обновления прошивки или смены устройства, обзор всех установленных приложений на предмет предоставленных разрешений и отзыва ненужных занимает длительное время (в конце концов, <b><i>приватность имеет значение</i></b>). PMX дает вам решение. Установка <b>целевых значений</b> разрешений, которые можно быстро забэкапить и восстановить. Цветные полоски слева показывают состояние разрешений относительно целевых, что позволяет быстро визуально оценить настройки приложений.</p>\n<p>Запутались? Будем рады помочь. Начните с:</p>\n<ul><li><a href=\"https://mirfatif.github.io/PermissionManagerX/help/en#intro\">Что такое PMX?</a></li><li><a href=\"https://mirfatif.github.io/PermissionManagerX/help/en#faq36\">Зачем мне нужно использовать PMX?</a></li><li><a href=\"https://mirfatif.github.io/PermissionManagerX/help/en#perms_types\">Что такое разрешения манифеста и AppOps</a></li><li><a href=\"https://mirfatif.github.io/PermissionManagerX/help/en#perm_ref\">Что такое целевые значения?</a></li></ul>\n<p>Платная версия (доступно в вариантах <a href=\"https://play.google.com/store/apps/details?id=com.mirfatif.permissionmanagerx\">Play Store</a> и <a href=\"https://mirfatif.github.io/mirfatif/getpro\">Pro</a>) предлагает дополнительные возможности, в том числе <a href=\"https://mirfatif.github.io/PermissionManagerX/help/en#perm_watcher\">Отслеживание разрешений</a>, <a href=\"https://mirfatif.github.io/PermissionManagerX/help/en#scheduled_checker\">Проверки по расписанию</a>, <a href=\"https://mirfatif.github.io/PermissionManagerX/help/en#perm_view\">Просмотр разрешений</a> и <a href=\"https://mirfatif.github.io/PermissionManagerX/help/en#batch-ops\">Пакетные операции / Профили</a>.</p>\n<p>Бета-версии публикуются в <a href=\"https://t.me/mirfatifApps\">Telegram канале</a></p>\n<p>Руководство / Справка: https://mirfatif.github.io/PermissionManagerX/help</p>"
  },
  {
    "path": "fastlane/metadata/android/ru/short_description.txt",
    "content": "eXtended Permission Manager - приложение для управления разрешениями и AppOps\n"
  },
  {
    "path": "fastlane/metadata/android/ru/title.txt",
    "content": "Permission Manager X\n"
  },
  {
    "path": "fastlane/metadata/android/tr/title.txt",
    "content": "İzinler Yöneticisi X\n"
  },
  {
    "path": "fastlane/metadata/android/ur/title.txt",
    "content": "پرمیشن مینیجر ایکس\n"
  },
  {
    "path": "fastlane/metadata/android/zh/full_description.txt",
    "content": "使用<p>权限管理X<b>调整每个已安装的应用，您可以：\n<ul><li>查看、授予或撤销普通权限</li><li>查看AppOps权限并选择多种模式之一</li><li>为每个可更改权限设置所需的参考值</li></ul>\n<p><b>清单权限</b> 也就是普通权限，例如存储、相机等权限。 <b>AppOps</b> 是 Android 系统服务，可以用于更便捷的管理应用权限。 随着 Android 版本更新，清单权限渐渐更加依赖 AppOps。 因此同时查看并管理这些权限就显得尤为重要</p>\n<p>简而言之，AppOps 提供了对许多普通权限的精细控制。 并额外提供了控制权限的能力，例如后台运行、振动、读取剪切板等， 安装本应用后即可自行探索</p>\n<p>当您重新安装应用、更改设备或升级系统时，审查所有已安装应用的权限并撤销不必要的权限是一个耗时的过程(毕竟<b><i>隐私很重要</i></b>) 而权限管理X可以帮助您调整这一切。 设置 <b>权限引用状态</b> ，可以快速备份和恢复权限。您可以在侧边栏查看安装包和权限。</p>\n<p>存在问题？ 我们将竭诚为您服务。 请从:</p> 开始\n<ul><li><a href=\"https://mirfatif.github.io/PermissionManagerX/help/en#intro\">权限管理X是什么？</a></li><li><a href=\"https://mirfatif.github.io/PermissionManagerX/help/en#faq36\">我为什么要使用权限管理X？</a></li><li><a href=\"https://mirfatif.github.io/PermissionManagerX/help/en#perms_types\">什么是清单权限和AppOps？</a></li><li><a href=\"https://mirfatif.github.io/PermissionManagerX/help/en#perm_ref\">什么是权限参考?</a></li></ul>\n<p>付费版本 (可作为 <a href=\"https://play.google.com/store/apps/details?id=com.mirfatif.permissionmanagerx\">Play Store</a> 和 <a href=\"https://mirfatif.github.io/mirfatif/getpro\">Pro</a> flavors) 提供额外的功能，包括 <a href=\"https://mirfatif.github.io/PermissionManagerX/help/en#perm_watcher\">权限监视器</a> <a href=\"https://mirfatif.github.io/PermissionManagerX/help/en#scheduled_checker\">定期检查</a>, <a href=\"https://mirfatif.github.io/PermissionManagerX/help/en#perm_view\">权限视图</a> 和 <a href=\"https://mirfatif.github.io/PermissionManagerX/help/en#batch-ops\">批处理操作/配置文件</a></p>\n<p>Beta 版本发布在 <a href=\"https://t.me/mirfatifApps\">Telegram 頻道</a>。</p>\n<p>指南：https://mirfatif.github.io/PermissionManagerX/help</p>"
  },
  {
    "path": "fastlane/metadata/android/zh/short_description.txt",
    "content": "增强型权限管理器 - 一个管理权限和 AppOps 的应用\n"
  },
  {
    "path": "fastlane/metadata/android/zh/title.txt",
    "content": "权限管理 X\n"
  },
  {
    "path": "gradle/libs.versions.toml",
    "content": "[versions]\nandroid-plugins = \"8.12.2\"\nandroid-room = \"2.8.0-rc01\"\n\nsdk-compile = \"36\"\nsdk-target = \"36\"\nsdk-tools-build = \"36.0.0\"\nsdk-min = \"24\"\nsdk-ndk = \"28.2.13676358\"\n\napp-code = \"130\"\napp-name = \"v1.30\"\n\ngoogle-java-format = \"1.28.0\"\nktfmt = \"0.56\"\ngradle-versions = \"0.52.0\"\nspotless = \"7.2.1\"\n\n[libraries]\nplugin-android-application = { module = \"com.android.application:com.android.application.gradle.plugin\", version.ref = \"android-plugins\" }\nplugin-android-library = { module = \"com.android.library:com.android.library.gradle.plugin\", version.ref = \"android-plugins\" }\nplugin-jetbrains-kotlin-android = { module = \"org.jetbrains.kotlin.android:org.jetbrains.kotlin.android.gradle.plugin\", version = \"2.2.20\" }\n\nplugin-gradle-versions = { module = \"com.github.ben-manes:gradle-versions-plugin\", version.ref = \"gradle-versions\" }\nplugin-spotless = { module = \"com.diffplug.spotless:spotless-plugin-gradle\", version.ref = \"spotless\" }\n\ndesugar_jdk_nio = { module = \"com.android.tools:desugar_jdk_libs_nio\", version = \"2.1.5\" }\nandroidx-annotation = { module = \"androidx.annotation:annotation\", version = \"1.9.1\" }\njetbrains-annotations = { module = \"org.jetbrains:annotations\", version = \"26.0.2\" }\n\nlibadb-android = { module = \"com.github.MuntashirAkon:libadb-android\", version = \"3.1.0\" }\nsun-security-android = { module = \"com.github.MuntashirAkon:sun-security-android\", version = \"1.1\" }\nhiddenapibypass = { module = \"org.lsposed.hiddenapibypass:hiddenapibypass\", version = \"6.1\" }\n\nandroidx-appcompat = { module = \"androidx.appcompat:appcompat\", version = \"1.7.1\" }\nandroidx-browser = { module = \"androidx.browser:browser\", version = \"1.9.0\" }\nandroidx-preference = { module = \"androidx.preference:preference\", version = \"1.2.1\" }\nandroidx-recyclerview = { module = \"androidx.recyclerview:recyclerview\", version = \"1.4.0\" }\nandroidx-room-runtime = { module = \"androidx.room:room-runtime\", version.ref = \"android-room\" }\nandroidx-room-compiler = { module = \"androidx.room:room-compiler\", version.ref = \"android-room\" }\nandroidx-security-crypto = { module = \"androidx.security:security-crypto\", version = \"1.1.0\" }\nandroidx-swiperefreshlayout = { module = \"androidx.swiperefreshlayout:swiperefreshlayout\", version = \"1.2.0-beta01\" }\nandroidx-webkit = { module = \"androidx.webkit:webkit\", version = \"1.14.0\" }\n\nmaterial = { module = \"com.google.android.material:material\", version = \"1.13.0-rc01\" }\nguava = { module = \"com.google.guava:guava\", version = \"33.4.8-android\" }\nbetter-link-movement-method = { module = \"me.saket:better-link-movement-method\", version = \"2.2.0\" }\nleakcanary-android = { module = \"com.squareup.leakcanary:leakcanary-android\", version = \"2.14\" }\n\n[plugins]\ngradle-versions = { id = \"com.github.ben-manes.versions\", version.ref = \"gradle-versions\" }\nspotless = { id = \"com.diffplug.spotless\", version.ref = \"spotless\" }\n\n[bundles]\n"
  },
  {
    "path": "gradle/wrapper/gradle-wrapper.properties",
    "content": "distributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\nzipStoreBase=GRADLE_USER_HOME\nzipStorePath=wrapper/dists\ndistributionUrl=https\\://services.gradle.org/distributions/gradle-9.0.0-bin.zip\n"
  },
  {
    "path": "gradle.properties",
    "content": "# Project-wide Gradle settings.\n# IDE (e.g. Android Studio) users:\n# Gradle settings configured through the IDE *will override*\n# any settings specified in this file.\n# For more details on how to configure your build environment visit\n# http://www.gradle.org/docs/current/userguide/build_environment.html\n\n# Specifies the JVM arguments used for the daemon process.\n# The setting is particularly useful for tweaking memory settings.\norg.gradle.jvmargs=-Xmx4g -Dfile.encoding=UTF-8\n\n# When configured, Gradle will run in incubating parallel mode.\n# This option should only be used with decoupled projects. More details, visit\n# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects\n# org.gradle.parallel=true\n\n# AndroidX package structure to make it clearer which packages are bundled with the\n# Android operating system, and which are packaged with your app\"s APK\n# https://developer.android.com/topic/libraries/support-library/androidx-rn\nandroid.useAndroidX=true\n\n# Automatically convert third-party libraries to use AndroidX\n#android.enableJetifier=true\n\n# Improve Compose preview rendering performance.\n#org.gradle.configuration-cache=true\n\n# Show deprecated Gradle features and obsolete APIs\norg.gradle.warning.mode=all\nandroid.debug.obsoleteApi=true\n\n#android.enableR8.fullMode=true\n"
  },
  {
    "path": "gradlew",
    "content": "#!/usr/bin/env sh\n\n##############################################################################\n##\n##  Gradle start up script for UN*X\n##\n##############################################################################\n\n# Attempt to set APP_HOME\n# Resolve links: $0 may be a link\nPRG=\"$0\"\n# Need this for relative symlinks.\nwhile [ -h \"$PRG\" ] ; do\n    ls=`ls -ld \"$PRG\"`\n    link=`expr \"$ls\" : '.*-> \\(.*\\)$'`\n    if expr \"$link\" : '/.*' > /dev/null; then\n        PRG=\"$link\"\n    else\n        PRG=`dirname \"$PRG\"`\"/$link\"\n    fi\ndone\nSAVED=\"`pwd`\"\ncd \"`dirname \\\"$PRG\\\"`/\" >/dev/null\nAPP_HOME=\"`pwd -P`\"\ncd \"$SAVED\" >/dev/null\n\nAPP_NAME=\"Gradle\"\nAPP_BASE_NAME=`basename \"$0\"`\n\n# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.\nDEFAULT_JVM_OPTS=\"\"\n\n# Use the maximum available, or set MAX_FD != -1 to use that value.\nMAX_FD=\"maximum\"\n\nwarn () {\n    echo \"$*\"\n}\n\ndie () {\n    echo\n    echo \"$*\"\n    echo\n    exit 1\n}\n\n# OS specific support (must be 'true' or 'false').\ncygwin=false\nmsys=false\ndarwin=false\nnonstop=false\ncase \"`uname`\" in\n  CYGWIN* )\n    cygwin=true\n    ;;\n  Darwin* )\n    darwin=true\n    ;;\n  MINGW* )\n    msys=true\n    ;;\n  NONSTOP* )\n    nonstop=true\n    ;;\nesac\n\nCLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar\n\n# Determine the Java command to use to start the JVM.\nif [ -n \"$JAVA_HOME\" ] ; then\n    if [ -x \"$JAVA_HOME/jre/sh/java\" ] ; then\n        # IBM's JDK on AIX uses strange locations for the executables\n        JAVACMD=\"$JAVA_HOME/jre/sh/java\"\n    else\n        JAVACMD=\"$JAVA_HOME/bin/java\"\n    fi\n    if [ ! -x \"$JAVACMD\" ] ; then\n        die \"ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME\n\nPlease set the JAVA_HOME variable in your environment to match the\nlocation of your Java installation.\"\n    fi\nelse\n    JAVACMD=\"java\"\n    which java >/dev/null 2>&1 || die \"ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.\n\nPlease set the JAVA_HOME variable in your environment to match the\nlocation of your Java installation.\"\nfi\n\n# Increase the maximum file descriptors if we can.\nif [ \"$cygwin\" = \"false\" -a \"$darwin\" = \"false\" -a \"$nonstop\" = \"false\" ] ; then\n    MAX_FD_LIMIT=`ulimit -H -n`\n    if [ $? -eq 0 ] ; then\n        if [ \"$MAX_FD\" = \"maximum\" -o \"$MAX_FD\" = \"max\" ] ; then\n            MAX_FD=\"$MAX_FD_LIMIT\"\n        fi\n        ulimit -n $MAX_FD\n        if [ $? -ne 0 ] ; then\n            warn \"Could not set maximum file descriptor limit: $MAX_FD\"\n        fi\n    else\n        warn \"Could not query maximum file descriptor limit: $MAX_FD_LIMIT\"\n    fi\nfi\n\n# For Darwin, add options to specify how the application appears in the dock\nif $darwin; then\n    GRADLE_OPTS=\"$GRADLE_OPTS \\\"-Xdock:name=$APP_NAME\\\" \\\"-Xdock:icon=$APP_HOME/media/gradle.icns\\\"\"\nfi\n\n# For Cygwin, switch paths to Windows format before running java\nif $cygwin ; then\n    APP_HOME=`cygpath --path --mixed \"$APP_HOME\"`\n    CLASSPATH=`cygpath --path --mixed \"$CLASSPATH\"`\n    JAVACMD=`cygpath --unix \"$JAVACMD\"`\n\n    # We build the pattern for arguments to be converted via cygpath\n    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`\n    SEP=\"\"\n    for dir in $ROOTDIRSRAW ; do\n        ROOTDIRS=\"$ROOTDIRS$SEP$dir\"\n        SEP=\"|\"\n    done\n    OURCYGPATTERN=\"(^($ROOTDIRS))\"\n    # Add a user-defined pattern to the cygpath arguments\n    if [ \"$GRADLE_CYGPATTERN\" != \"\" ] ; then\n        OURCYGPATTERN=\"$OURCYGPATTERN|($GRADLE_CYGPATTERN)\"\n    fi\n    # Now convert the arguments - kludge to limit ourselves to /bin/sh\n    i=0\n    for arg in \"$@\" ; do\n        CHECK=`echo \"$arg\"|egrep -c \"$OURCYGPATTERN\" -`\n        CHECK2=`echo \"$arg\"|egrep -c \"^-\"`                                 ### Determine if an option\n\n        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition\n            eval `echo args$i`=`cygpath --path --ignore --mixed \"$arg\"`\n        else\n            eval `echo args$i`=\"\\\"$arg\\\"\"\n        fi\n        i=$((i+1))\n    done\n    case $i in\n        (0) set -- ;;\n        (1) set -- \"$args0\" ;;\n        (2) set -- \"$args0\" \"$args1\" ;;\n        (3) set -- \"$args0\" \"$args1\" \"$args2\" ;;\n        (4) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" ;;\n        (5) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" ;;\n        (6) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" ;;\n        (7) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" ;;\n        (8) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" \"$args7\" ;;\n        (9) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" \"$args7\" \"$args8\" ;;\n    esac\nfi\n\n# Escape application args\nsave () {\n    for i do printf %s\\\\n \"$i\" | sed \"s/'/'\\\\\\\\''/g;1s/^/'/;\\$s/\\$/' \\\\\\\\/\" ; done\n    echo \" \"\n}\nAPP_ARGS=$(save \"$@\")\n\n# Collect all arguments for the java command, following the shell quoting and substitution rules\neval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS \"\\\"-Dorg.gradle.appname=$APP_BASE_NAME\\\"\" -classpath \"\\\"$CLASSPATH\\\"\" org.gradle.wrapper.GradleWrapperMain \"$APP_ARGS\"\n\n# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong\nif [ \"$(uname)\" = \"Darwin\" ] && [ \"$HOME\" = \"$PWD\" ]; then\n  cd \"$(dirname \"$0\")\"\nfi\n\nexec \"$JAVACMD\" \"$@\"\n"
  },
  {
    "path": "help/404.html",
    "content": "\n<!doctype html>\n<html lang=\"en\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Manage manifest permissions and AppOps, set reference value for every permission, watch for unexpected changes to permission states, and more.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n      \n      \n      \n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/de/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/es/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/fr/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/pt-BR/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/ru/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/ar/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/zh/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"/PermissionManagerX/help/img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"/PermissionManagerX/help/assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"/PermissionManagerX/help/assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"/PermissionManagerX/help/css/extra.css\">\n    \n    <script>__md_scope=new URL(\"/PermissionManagerX/help/\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Header\">\n    <a href=\"/PermissionManagerX/help/.\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"/PermissionManagerX/help/img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              \n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Select language\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/de/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/es/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/fr/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/pt-BR/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/ru/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/ar/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/zh/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Search\" placeholder=\"Search\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Search\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Clear\" aria-label=\"Clear\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Initializing search\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"/PermissionManagerX/help/.\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"/PermissionManagerX/help/img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/.\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    What is PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Manifest Permissions and AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission References\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    User interface explained\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Search\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Scheduled Check\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission Watcher\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission View\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Batch Operations\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integration with WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Using PMX with ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX Versions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Paid features\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX FAQs\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Screenshots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ratings / Reviews / Comments / Upvotes / Stars\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contact Us\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Apps\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Apps\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission Manager X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android FAQs\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android FAQs\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Frequently Asked Questions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB Guide\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB Guide\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Pair/connect the app to ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n  <h1>404 - Not found</h1>\n\n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Back to top\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"/PermissionManagerX/help/\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"/PermissionManagerX/help/assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copied to clipboard\", \"clipboard.copy\": \"Copy to clipboard\", \"search.result.more.one\": \"1 more on this page\", \"search.result.more.other\": \"# more on this page\", \"search.result.none\": \"No matching documents\", \"search.result.one\": \"1 matching document\", \"search.result.other\": \"# matching documents\", \"search.result.placeholder\": \"Type to start searching\", \"search.result.term.missing\": \"Missing\", \"select.version\": \"Select version\"}, \"version\": null}</script>\n    \n    \n      <script src=\"/PermissionManagerX/help/assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"/PermissionManagerX/help/javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/ar/batch-operations/index.html",
    "content": "\n<!doctype html>\n<html lang=\"ar\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"إنشاء وتعديل وتطبيق ملفات التصاريح الشخصية لتطبيقات أندرويد متعددة مع PMX — قوالب الدفعات، ملفات التعريف الافتراضية وإدارة الأذونات بالجملة.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/batch-operations/\">\n      \n      \n        <link rel=\"prev\" href=\"../permission-view/\">\n      \n      \n        <link rel=\"next\" href=\"../whatsrunning-integration/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../batch-operations/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/batch-operations/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/batch-operations/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/batch-operations/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/batch-operations/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/batch-operations/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/batch-operations/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>عمليات الدفعات - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"rtl\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#permission-profiles\" class=\"md-skip\">\n          انتقل إلى المحتوى\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"عنوان العارضة\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              عمليات الدفعات\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"إختر اللغة\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../batch-operations/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/batch-operations/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/batch-operations/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/batch-operations/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/batch-operations/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/batch-operations/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/batch-operations/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"بحث\" placeholder=\"بحث\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"إبحث\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"مسح كلي\" aria-label=\"مسح كلي\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            بدء البحث\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"تصفح\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ما هو PMX؟\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أذونات البيان والتطبيقات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مراجع الصلاحيات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    تم شرح واجهة المستخدم\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    بحث\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    الفحص المجدول\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مراقب الأذونات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    عرض الإذن\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    عمليات الدفعات\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    عمليات الدفعات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"جدول المحتويات\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      جدول المحتويات\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#permission-profiles\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ملفات تعريف الأذونات\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#operations-with-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        العمليات ذات المراجع\n      \n    </span>\n  </a>\n  \n    <nav class=\"md-nav\" aria-label=\"العمليات ذات المراجع\">\n      <ul class=\"md-nav__list\">\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#set-permissions\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        تعيين الأذونات\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#set-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        تعيين المراجع\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#cleanup-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        تنظيف المراجع\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#reset-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        إعادة تعيين المراجع\n      \n    </span>\n  </a>\n  \n</li>\n        \n      </ul>\n    </nav>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التكامل مع WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    استخدام PMX مع ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    إصدارات PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ar/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ميزات مدفوعة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أسئلة PMX المتكررة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التنزيلات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    لقطات الشاشة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ar/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التقييمات / المراجعات / التعليقات / التصويتات / النجوم\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    اتصل بنا\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التطبيقات\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    التطبيقات\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مدير الصلاحيّات X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أسئلة أندرويد الشائعة\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    أسئلة أندرويد الشائعة\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    الأسئلة المتكررة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    دليل ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    دليل ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    إقران/ربط التطبيق بـ ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>عمليات الدفعات</h1>\n\n<h2 id=\"permission-profiles\">ملفات تعريف الأذونات<a class=\"headerlink\" href=\"#permission-profiles\" title=\"Permanent link\">&para;</a></h2>\n<ul>\n<li>إنشاء وتعديل ملفات التعريف للصلاحيات (قوالب).</li>\n<li>تطبيق ملف شخصي على قائمة التطبيقات المحددة.</li>\n<li>حدد <strong>الملف الشخصي الافتراضي</strong> لتطبيقه على التطبيقات المثبتة حديثا (إذا تم تمكين <a href=\"../permission-watcher/\">مراقب الإذن</a>.</li>\n</ul>\n<p><img alt=\"ملفات تعريف الأذونات\" class=\"media\" src=\"../../img/perm_profiles.webp\" /></p>\n<p><a href=\"../faqs/#faq39\">Here</a> هو مثال لدليل فيديو كيفية إنشاء وتطبيق ملف شخصي.</p>\n<hr />\n<h2 id=\"operations-with-references\">العمليات ذات المراجع<a class=\"headerlink\" href=\"#operations-with-references\" title=\"Permanent link\">&para;</a></h2>\n<h3 id=\"set-permissions\">تعيين الأذونات<a class=\"headerlink\" href=\"#set-permissions\" title=\"Permanent link\">&para;</a></h3>\n<p>انتقل إلى قائمة من التطبيقات المحددة وقم بإنشاء أذونات <font color=\"#FF0000\">RED</font> <font color=\"#90EE90\">GREEN</font> عن طريق إعداد حالاتهم وفقاً لـ <a href=\"../permission-references/\">القيم المرجعية</a>. يتم تجاهل الأذونات مع الدول الخضراء والبرتقالية.</p>\n<p>عادة ما يكون هذا الخيار مفيداً عندما تستعيد للتو نسخة احتياطية وهناك العديد من الأذونات مع حالة <font color=\"#FF0000\">RED</font>.</p>\n<h3 id=\"set-references\">تعيين المراجع<a class=\"headerlink\" href=\"#set-references\" title=\"Permanent link\">&para;</a></h3>\n<p>انتقل إلى قائمة من التطبيقات المحددة وقم بجعل <font color=\"#FF0000\">RED</font> و <font color=\"#FFC107\">ORANGE</font> أذونات <font color=\"#90EE90\">GREEN</font> من خلال تحديد <a href=\"../permission-references/\">القيم المرجعية</a> الخاصة بهم وفقًا لحالة الأذونات.</p>\n<p>هذا الخيار عادة ما يكون مفيداً أثناء الإعداد الأولي. لقد قمت للتو بتثبيت تطبيق PMX وقضت بضع ساعات في تعيين الأذونات. هذا الخيار سيجعلها كلها <font color=\"#90EE90\">خضراء</font> بنقرة واحدة.</p>\n<h3 id=\"cleanup-references\">تنظيف المراجع<a class=\"headerlink\" href=\"#cleanup-references\" title=\"Permanent link\">&para;</a></h3>\n<p>تنظيف أذونات قاعدة بيانات المراجع سيتم حذف المراجع غير المستخدمة.</p>\n<p>إذا كانت هناك قائمة كبيرة من المراجع غير المستخدمة، فإن التنظيف قد يحسن تحميل قائمة التطبيقات.</p>\n<h3 id=\"reset-references\">إعادة تعيين المراجع<a class=\"headerlink\" href=\"#reset-references\" title=\"Permanent link\">&para;</a></h3>\n<p>إعادة تعيين قاعدة بيانات مراجع الأذونات. سيتم حذف جميع المراجع.</p>\n<p>ليس المقصود أن تستخدم بشكل طبيعي. ولكن في حالة رغبتك في البدء من الصفر.</p>\n<p><img alt=\"تعيين المراجع - عملية الدفعة\" class=\"media\" src=\"../../img/set_refs.webp\" /></p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  عد إلى الأعلى\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"هامش سفلي\" >\n        \n          \n          <a href=\"../permission-view/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"السابقة: عرض الإذن\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                السابقة\n              </span>\n              <div class=\"md-ellipsis\">\n                عرض الإذن\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../whatsrunning-integration/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"التالية: التكامل مع WhatsRunning\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                التالية\n              </span>\n              <div class=\"md-ellipsis\">\n                التكامل مع WhatsRunning\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u062a\\u0645 \\u0627\\u0644\\u0646\\u0633\\u062e \\u0627\\u0644\\u0649 \\u0627\\u0644\\u062d\\u0627\\u0641\\u0638\\u0629\", \"clipboard.copy\": \"\\u0646\\u0633\\u062e \\u0625\\u0644\\u0649 \\u0627\\u0644\\u062d\\u0627\\u0641\\u0638\\u0629\", \"search.result.more.one\": \"\\u0623\\u0643\\u062b\\u0631 \\u0645\\u0646 1 \\u0641\\u064a \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0635\\u0641\\u062d\\u0629\", \"search.result.more.other\": \"\\u0623\\u0643\\u062b\\u0631 \\u0645\\u0646 # \\u0641\\u064a \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0635\\u0641\\u062d\\u0629\", \"search.result.none\": \"\\u0644\\u0627 \\u062a\\u0648\\u062c\\u062f \\u0646\\u062a\\u0627\\u0626\\u062c\", \"search.result.one\": \"\\u0646\\u062a\\u0627\\u0626\\u062c \\u0627\\u0644\\u0628\\u062d\\u062b \\u0645\\u0633\\u062a\\u0646\\u062f \\u0648\\u0627\\u062d\\u062f\", \"search.result.other\": \"\\u0646\\u062a\\u0627\\u0626\\u062c \\u0627\\u0644\\u0628\\u062d\\u062b # \\u0645\\u0633\\u062a\\u0646\\u062f\\u0627\\u062a\", \"search.result.placeholder\": \"\\u0627\\u0643\\u062a\\u0628 \\u0644\\u0628\\u062f\\u0621 \\u0627\\u0644\\u0628\\u062d\\u062b\", \"search.result.term.missing\": \"\\u0645\\u0641\\u0642\\u0648\\u062f\", \"select.version\": \"\\u0625\\u062e\\u062a\\u0631 \\u0627\\u0644\\u0625\\u0635\\u062f\\u0627\\u0631\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/ar/details/index.html",
    "content": "\n<!doctype html>\n<html lang=\"ar\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"عرض وإدارة الأذونات الخاصة بالتطبيقات في PMX: تفاصيل التطبيق، قوائم الأذونات، امنح/إلغاء عناصر التحكم ومعلومات وضع UID-لتطبيقات الأندرويد.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/details/\">\n      \n      \n        <link rel=\"prev\" href=\"../permission-references/\">\n      \n      \n        <link rel=\"next\" href=\"../search/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../details/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/details/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/details/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/details/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/details/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/details/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/details/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>تم شرح واجهة المستخدم - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"rtl\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#apps-list\" class=\"md-skip\">\n          انتقل إلى المحتوى\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"عنوان العارضة\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              تم شرح واجهة المستخدم\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"إختر اللغة\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../details/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/details/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/details/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/details/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/details/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/details/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/details/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"بحث\" placeholder=\"بحث\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"إبحث\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"مسح كلي\" aria-label=\"مسح كلي\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            بدء البحث\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"تصفح\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ما هو PMX؟\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أذونات البيان والتطبيقات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مراجع الصلاحيات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    تم شرح واجهة المستخدم\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    تم شرح واجهة المستخدم\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"جدول المحتويات\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      جدول المحتويات\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#apps-list\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        قائمة التطبيقات\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#permissions-list\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        قائمة الأذونات\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    بحث\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    الفحص المجدول\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مراقب الأذونات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    عرض الإذن\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    عمليات الدفعات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التكامل مع WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    استخدام PMX مع ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    إصدارات PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ar/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ميزات مدفوعة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أسئلة PMX المتكررة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التنزيلات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    لقطات الشاشة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ar/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التقييمات / المراجعات / التعليقات / التصويتات / النجوم\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    اتصل بنا\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التطبيقات\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    التطبيقات\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مدير الصلاحيّات X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أسئلة أندرويد الشائعة\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    أسئلة أندرويد الشائعة\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    الأسئلة المتكررة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    دليل ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    دليل ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    إقران/ربط التطبيق بـ ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>تم شرح واجهة المستخدم</h1>\n\n<h2 id=\"apps-list\">قائمة التطبيقات<a class=\"headerlink\" href=\"#apps-list\" title=\"Permanent link\">&para;</a></h2>\n<p><img alt=\"قائمة عناصر التطبيقات التفاصيل\" class=\"media\" src=\"../../img/pkg.webp\" /></p>\n<ol>\n<li>\n<p>الشريط الملون على اليسار يشير إلى <strong>الحالة المرجعية</strong></p>\n</li>\n<li>\n<p>التطبيق <strong>أيقونة</strong></p>\n</li>\n<li>\n<p>السطر الأول يظهر الحزمة <strong>تسمية</strong></p>\n</li>\n<li>\n<p>السطر الثاني يظهر الحزمة <strong>الاسم</strong> و</p>\n</li>\n<li>\n<p><strong>UID</strong></p>\n</li>\n<li>\n<p>السطر الثالث (اختياريا) يظهر حالة الحزمة: <strong>الحرج</strong> (إطار)، <strong>إطار</strong> أو <strong>نظام</strong> تطبيق. أيضًا إذا كان التطبيق <strong>معطل</strong>. لا يظهر أي حالة لـ <strong>ممكّن</strong>، <strong>تطبيقات المستخدم</strong>.</p>\n</li>\n<li>\n<p>السطر الأخير يظهر <strong>عد</strong> مرئي من مجموع أذونات manifest و</p>\n</li>\n<li>\n<p>أذونات AppOps.</p>\n<p>الأذونات غير المرئية هي تلك المستبعدة في <em>مرشحات الاستبعاد</em>.</p>\n</li>\n<li>\n<p>إذا فرز حسب وقت التثبيت أو التحديث، فإن السطر الأخير يظهر أيضا التاريخ أو الوقت على الجانب الأيمن.</p>\n</li>\n</ol>\n<h2 id=\"permissions-list\">قائمة الأذونات<a class=\"headerlink\" href=\"#permissions-list\" title=\"Permanent link\">&para;</a></h2>\n<p><img alt=\"تفاصيل قائمة الأذونات\" class=\"media\" src=\"../../img/perm.webp\" /></p>\n<p><img alt=\"تفاصيل قائمة الأذونات\" class=\"media\" src=\"../../img/perm2.webp\" /></p>\n<ol>\n<li>الشريط الملون على اليسار يشير إلى <strong>الحالة المرجعية</strong></li>\n<li>Manifest الأذونات تظهر العلم في الزاوية اليمنى العليا</li>\n<li>إذن <strong>أيقونة</strong></li>\n<li>السطر الأول يظهر <strong>اسم الإذن</strong></li>\n<li>السطر الثاني يعرض إذن <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">مستوى الحماية</a>: <strong>طبيعية</strong>، <strong>خطر</strong>، <strong>توقيع</strong>، <strong>تطوير</strong>، <strong>امتياز</strong>، <strong>ثابت</strong>، <strong>AppOps</strong> أو <strong>مجهول</strong>. أيضًا إذا كان AppOp <strong>لكل حزمة</strong> أو <strong>لكل UID</strong>. وإذا كان <strong>Extra</strong> AppOp (لم يتم استبعاده أبدا في إعدادات التصفية).</li>\n<li>السطر الثالث (في حالة AppOp) يظهر <strong>آخر وصول أو رفض الوقت</strong></li>\n<li>السطر الرابع (في حالة AppOp) يظهر القيمة المرجعية إذا كانت لا تتطابق مع قيمة المجموعة الحالية.</li>\n<li>التبديل لتغيير حالة الإذن</li>\n<li>الحالة الحالية (في حالة AppOp)</li>\n<li><strong>الافتراضي</strong> يشير إلى أن حالة AppOp لم تتغير أبدا</li>\n</ol>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  عد إلى الأعلى\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"هامش سفلي\" >\n        \n          \n          <a href=\"../permission-references/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"السابقة: مراجع الصلاحيات\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                السابقة\n              </span>\n              <div class=\"md-ellipsis\">\n                مراجع الصلاحيات\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../search/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"التالية: بحث\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                التالية\n              </span>\n              <div class=\"md-ellipsis\">\n                بحث\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u062a\\u0645 \\u0627\\u0644\\u0646\\u0633\\u062e \\u0627\\u0644\\u0649 \\u0627\\u0644\\u062d\\u0627\\u0641\\u0638\\u0629\", \"clipboard.copy\": \"\\u0646\\u0633\\u062e \\u0625\\u0644\\u0649 \\u0627\\u0644\\u062d\\u0627\\u0641\\u0638\\u0629\", \"search.result.more.one\": \"\\u0623\\u0643\\u062b\\u0631 \\u0645\\u0646 1 \\u0641\\u064a \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0635\\u0641\\u062d\\u0629\", \"search.result.more.other\": \"\\u0623\\u0643\\u062b\\u0631 \\u0645\\u0646 # \\u0641\\u064a \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0635\\u0641\\u062d\\u0629\", \"search.result.none\": \"\\u0644\\u0627 \\u062a\\u0648\\u062c\\u062f \\u0646\\u062a\\u0627\\u0626\\u062c\", \"search.result.one\": \"\\u0646\\u062a\\u0627\\u0626\\u062c \\u0627\\u0644\\u0628\\u062d\\u062b \\u0645\\u0633\\u062a\\u0646\\u062f \\u0648\\u0627\\u062d\\u062f\", \"search.result.other\": \"\\u0646\\u062a\\u0627\\u0626\\u062c \\u0627\\u0644\\u0628\\u062d\\u062b # \\u0645\\u0633\\u062a\\u0646\\u062f\\u0627\\u062a\", \"search.result.placeholder\": \"\\u0627\\u0643\\u062a\\u0628 \\u0644\\u0628\\u062f\\u0621 \\u0627\\u0644\\u0628\\u062d\\u062b\", \"search.result.term.missing\": \"\\u0645\\u0641\\u0642\\u0648\\u062f\", \"select.version\": \"\\u0625\\u062e\\u062a\\u0631 \\u0627\\u0644\\u0625\\u0635\\u062f\\u0627\\u0631\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/ar/faqs/index.html",
    "content": "\n<!doctype html>\n<html lang=\"ar\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"أسئلة متكررة حول PMX: لماذا استخدم PMXو AppOp/manifest تفسيرات و ADB نصائح و استكشاف الأخطاء في التحكم في أذونات الأندرويد.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/faqs/\">\n      \n      \n        <link rel=\"prev\" href=\"../versions/\">\n      \n      \n      \n        \n          <link rel=\"alternate\" href=\"../../faqs/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/faqs/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/faqs/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/faqs/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/faqs/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/faqs/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/faqs/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>أسئلة PMX المتكررة - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"rtl\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#faq36\" class=\"md-skip\">\n          انتقل إلى المحتوى\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"عنوان العارضة\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              أسئلة PMX المتكررة\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"إختر اللغة\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../faqs/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/faqs/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/faqs/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/faqs/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/faqs/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/faqs/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/faqs/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"بحث\" placeholder=\"بحث\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"إبحث\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"مسح كلي\" aria-label=\"مسح كلي\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            بدء البحث\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"تصفح\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ما هو PMX؟\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أذونات البيان والتطبيقات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مراجع الصلاحيات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    تم شرح واجهة المستخدم\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    بحث\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    الفحص المجدول\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مراقب الأذونات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    عرض الإذن\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    عمليات الدفعات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التكامل مع WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    استخدام PMX مع ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    إصدارات PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ar/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ميزات مدفوعة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أسئلة PMX المتكررة\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أسئلة PMX المتكررة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"جدول المحتويات\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      جدول المحتويات\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq36\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        لماذا أحتاج إلى استخدام PMX؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq1\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        لماذا يتطلب PMX وصولاً إلى الجذر أو ADB ؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq33\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        جهازي غير متجذر. كيف يمكنني استخدام PMX؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq42\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        لماذا لا يعمل PMX أو يعمل بشكل صحيح على أحدث أندرويد؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq43\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        لماذا لا يعمل PMX بشكل صحيح على أنظمة تشغيل OEM أو ROMs المخصصة؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq2\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        كيف يغير PMX أذونات التطبيقات الأخرى؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq34\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        هل تبقى الأذونات متغيرة بعد إيقاف تشغيل ADB ، أو تم رفض الجذر، أو تم إلغاء تثبيت PMX؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq15\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        لماذا لا يمكنني تغيير أذونات XYZ؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq37\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        لقد غيرت إذنًا لكن ذلك لا يعمل. لماذا؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq3\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        لماذا لا يمكن تغيير بعض AppOps؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq6\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        لماذا لا أرى تطبيق XYZ في قائمة الحزم؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq7\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        لماذا لا أرى إذن XYZ في حزمة ABC ؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq8\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        لماذا لا أرى XYZ AppOp في حزمة ABC ؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq5\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ما الذي يجب أن أختره لمعرف دايمون المميز في الإعدادات المتقدمة؟ النظام أو ADB؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq9\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ما هي \"الأذونات غير صالحة\" في فلاتر الاستبعاد؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq10\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ما هي \"إضافية\" AppOpsفي فلاتر الاستبعاد؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq11\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ما هي أنماط AppOp المختلفة وأيها يجب علي استخدامه؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq12\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ما الفرق بين وضعي \"تجاهل\" و\"رفض\" AppOp؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq41\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        لماذا لا يمكنني تعيين وضع AppOp إلى المقدمة؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq14\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ما هي وظيفة إذن WAKE_LOCK ؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq16\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        كيف يمكنني تغيير أذونات INTERNET؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq40\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ما هي الصلاحيات الثابتة؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq17\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        كيف يمكنني تغيير أذونات النظام الثابتة أو أذونات التوقيع/الامتيازات أو أذونات تطبيقات إطار العمل؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq18\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ما هو \"وضع UID\" في أذونات AppOp؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq39\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        هل يمكنني التحكم في ميزة أندرويد \"إزالة أذونات إذا لم يستخدم التطبيق\" من PMX؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq31\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        لماذا تظهر لي الكثير من النوافذ المنبثقة \"Bad ROM\"؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq19\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ما الذي تفعله أزرار \"إخفاء من القائمة\" (عند الضغط لمدة طويلة)؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq21\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        هل هناك قائمة كاملة بجميع الأذونات متاحة مع الشرح؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq22\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        كيفية استخدام التطبيق في الملف الشخصي للعمل / بيئة تعدد المستخدمين؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq24\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        كيف يقارن PMX بـ XPrivacyLua؟ هل يمكن أن يحل أحدهما محل الآخر؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq32\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        هل يمكن أن يقوم PMX بإزالة الأذونات تلقائياً عند إغلاق التطبيق، كما تفعل Bouncer؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq35\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        هل يمكنني الحصول على إشعار عندما يتم تثبيت تطبيق جديد؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq38\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        عند تثبيت تطبيق جديد، هل يمكن لـ PMX إلغاء أذوناته بشكل افتراضي؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq25\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        لماذا يحتاج تطبيق PMX إلى إذن الإنترنت؟\n      \n    </span>\n  </a>\n  \n    <nav class=\"md-nav\" aria-label=\"لماذا يحتاج تطبيق PMX إلى إذن الإنترنت؟\">\n      <ul class=\"md-nav__list\">\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#optional-use-of-internet-permission\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        الاستخدام الاختياري للإذن android.permission.INTERNET\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#on-device-use-of-internet-permission\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        الاستخدام المحلي (على الجهاز) للإذن android.permission.INTERNET\n      \n    </span>\n  </a>\n  \n</li>\n        \n      </ul>\n    </nav>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq26\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        كم هو صديق للخصوصية PMX؟ هل تجمع بيانات المستخدمين؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq27\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        هل يقوم موقع PMX بالتجسس عليّ باستخدام ADB عبر الشبكة؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq28\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        هل يقوم PMX بإساءة استخدام امتيازات الجذر لجمع بياناتي؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq29\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        أعتقد أن PMX عديم الفائدة. لماذا تم إنشاؤها؟\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التنزيلات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    لقطات الشاشة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ar/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التقييمات / المراجعات / التعليقات / التصويتات / النجوم\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    اتصل بنا\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التطبيقات\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    التطبيقات\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مدير الصلاحيّات X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أسئلة أندرويد الشائعة\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    أسئلة أندرويد الشائعة\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    الأسئلة المتكررة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    دليل ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    دليل ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    إقران/ربط التطبيق بـ ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>أسئلة PMX المتكررة</h1>\n\n<h3 id=\"faq36\">لماذا أحتاج إلى استخدام PMX؟<a class=\"headerlink\" href=\"#faq36\" title=\"Permanent link\">&para;</a></h3>\n<p>لأن:</p>\n<ul>\n<li>يوفر PMX جميع المعلومات المتفرقة (أو غير المتاحة) المتصلة بالأذونات <strong>المعلومات</strong> و <strong>التحكم</strong> على شاشة واحدة بحيث يمكنك مشاهدتها والتحكم فيها بطريقة شاملة وملائمة.</li>\n<li>لا توجد أداة رسمية متاحة في المخزن أندرويد لتغيير <strong>AppOps</strong>. فقط مجموعة فرعية من <strong>أذونات manifest</strong> معرضة للمستخدم في إعدادات الأذونات. PMX يكشف جميع الأذونات في شكل خام. ذات الصلة: <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\">Manifest الأذونات و AppOps</a>.</li>\n<li>PMX يجعل من السهل عليك تتبع أي <strong>تغييرات غير مرغوب فيها</strong> إلى الأذونات.</li>\n<li>يتيح لك PMX التحكم على جهازك <strong>حفظ موارد الجهاز</strong> مثل البطارية وعرض النطاق الترددي للشبكة، و <strong>حماية خصوصيتك</strong>. أنت لست متروك بالكامل لرحمة التطبيق والمطورين ROM. اقرأ هذا <a href=\"https://www.buzzfeednews.com/article/nicolenguyen/how-apps-take-your-data-and-sell-it-without-you-even\">article</a> للحصول على فكرة.</li>\n<li>PMX يمكنه <strong>مراقبة تغييرات الأذونات</strong> في الوقت الحقيقي، وعودتها تلقائيًا عند التوقف عن استخدام التطبيق. أو يمكنه إجراء <strong>مسح مجدول</strong> من الأذونات. لذا لا يتوجب عليك أن تتذكر الأشياء.</li>\n<li>PMX يجعل من السهل لك <strong>النسخ الاحتياطي واستعادة الأذونات</strong> حالة التطبيقات المثبتة حتى لا تضطر إلى تعديل أذونات التطبيق مرة تلو الأخرى.</li>\n</ul>\n<p>يرجى أيضا الاطلاع على <a href=\"../\">ما هو PMX</a>؟</p>\n<hr />\n<h3 id=\"faq1\">لماذا يتطلب PMX وصولاً إلى الجذر أو ADB ؟<a class=\"headerlink\" href=\"#faq1\" title=\"Permanent link\">&para;</a></h3>\n<p>يقوم أندرويد عن عمد بتقييد التطبيقات من تعديل أذونات التطبيقات الأخرى manifest أو AppOps (وفي كثير من الحالات من تغيير بعض منها الخاص). وتحمي ضمانات المنصة هذه خصوصية المستعملين وسلامتهم للنظام.</p>\n<p>لتنفيذ الإجراءات التي تتطلب امتيازات مرتفعة، يستخدم PMX مساعداً صغيراً ومتميزاً منفصلاً بدلاً من محاولة فعل كل شيء من عملية التطبيق العادية. بشكل افتراضي أن المساعد يعمل تحت ADB UID (<code>2000</code>) عند بدء تشغيله عبر ADB، أو تحت اسم UID النظام (<code>1000</code>) على الأجهزة ذات الجذر. إذا كان لديك جهاز جذر ، فيمكنك تغيير معرف المستخدم الخاص بالمساعد في <em>إعدادات متقدمة</em>.</p>\n<hr />\n<h3 id=\"faq33\">جهازي غير متجذر. كيف يمكنني استخدام PMX؟<a class=\"headerlink\" href=\"#faq33\" title=\"Permanent link\">&para;</a></h3>\n<p>استخدم <a href=\"../use-with-adb/\">PMX مع ADB</a>. يرجى قراءة الملاحظة في البداية. وقد تكون هناك بعض القيود على بعض الأجهزة.</p>\n<hr />\n<h3 id=\"faq42\">لماذا لا يعمل PMX أو يعمل بشكل صحيح على أحدث أندرويد؟<a class=\"headerlink\" href=\"#faq42\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX يعتمد على واجهات برمجة التطبيقات المخفية في Android أو واجهات غير SDK غير موثقة (على <a href=\"https://developer.android.com/\">Android Developers</a>) على عكس واجهات برمجة التطبيقات القياسية. إذاً مع كل إصدار جديد للأندرويد، يجب أن نمر عبر رمز مصدر Android لمعرفة أي واجهات برمجة التطبيقات التي كسرت (تغيرت أو أزيل).</p>\n<p>كما أن إصلاح واجهات برمجة التطبيقات المعطلة يستغرق وقتًا طويلاً؛ أحيانًا أسابيع، وأحيانًا شهورًا. وليس مضمونا أننا سنكون دائما قادرين على إصلاح API المكسورة. في بعض الأحيان، تعمد Google جعل استمرار استخدامنا للواجهات البرمجية للتطبيقات (APIs) المخفية أمراً صعباً أو مستحيلاً.</p>\n<p>لذلك ليس من الممكن لنا أن نجعل PMX يعمل على الفور على كل إصدار جديد من أندرويد (خاصة في مرحلة بيتا) طالما أن رمز المصدر النهائي AOSP لم يتم نشره علنا (على <a href=\"https://cs.android.com/\">البحث في التعليمات البرمجية</a> أو <a href=\"https://android.googlesource.com/\">مستودع Git Reposy</a>).</p>\n<p>نسخة أندرويد الأخيرة المدعومة من PMXمذكورة في وصف التطبيق على GitHub و Play Store. عند تشغيل التطبيق على إصدار غير مدعوم لأول مرة، يظهر تحذيرا كهذا:</p>\n<p><img alt=\"تحذير نسخة الأندرويد غير معتمدة\" class=\"media\" src=\"../../img/unsupported_android_version_warning.webp\" /></p>\n<hr />\n<h3 id=\"faq43\">لماذا لا يعمل PMX بشكل صحيح على أنظمة تشغيل OEM أو ROMs المخصصة؟<a class=\"headerlink\" href=\"#faq43\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX يعتمد على واجهات برمجة التطبيقات المخفية في Android أو واجهات غير SDK غير موثقة (على <a href=\"https://developer.android.com/\">Android Developers</a>) على عكس واجهات برمجة التطبيقات القياسية. لذا نحن بحاجة إلى الوصول إلى شفرة المصدر الخاصة بك ROM لمعرفة بالضبط كيف تعمل واجهات برمجة التطبيقات المخفية.</p>\n<p>حسناً، AOSP (الذي تطوره جوجل) مفتوح المصدر. ولكن إذا قام مطورك OEM أو ROM بإدخال بعض التغييرات على AOSP لغرض التخصيص، ليس لدينا طريقة لمعرفة ما هي التغييرات التي أدخلوها على رمز AOSP المخزن. نحن عاجزون عن العمل هنا. وهذه الحقيقة مذكورة في وصف التطبيق على GitHub و Play Store. عذراً.</p>\n<hr />\n<h3 id=\"faq2\">كيف يغير PMX أذونات التطبيقات الأخرى؟<a class=\"headerlink\" href=\"#faq2\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX نفسه لا يمكن ولا يمكن منح أو إلغاء أذونات التطبيقات الأخرى. في الواقع لا يوجد تطبيق طرف ثالث مميز للقيام بذلك. هو نظام تشغيل Android الذي يتحكم في أذونات التطبيقات. PMX يرسل فقط طلبًا إلى إطار عمل Android لتغيير حالة الإذن. الآن يتوقف الأمر كليا على أندرويد إلى أي مدى يلبي طلبنا. ليست كل الأذونات قابلة للتغيير. وإذا لم تتمكن من تغيير حالة الصلاحية باستخدام PMX، لن تتمكن من تغييرها بأي طريقة أخرى أيضا.</p>\n<hr />\n<h3 id=\"faq34\">هل تبقى الأذونات متغيرة بعد إيقاف تشغيل ADB ، أو تم رفض الجذر، أو تم إلغاء تثبيت PMX؟<a class=\"headerlink\" href=\"#faq34\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX نفسه لا يمكن ولا يمكن منح أو إلغاء أذونات التطبيقات الأخرى. في الواقع لا يوجد تطبيق طرف ثالث مميز للقيام بذلك. هو نظام تشغيل Android الذي يتحكم في أذونات التطبيقات. PMX يرسل فقط طلبًا إلى إطار عمل Android لتغيير حالة الإذن.</p>\n<p>لذلك بمجرد تغيير الإذن، لن يكون هناك فرق إذا قمت بإلغاء تثبيت PMX أو إسقاط امتيازاته. يبقى الإذن في أي حالة كانت، ما لم يتم تغييره مرة أخرى من قبلك أو من قبل نظام التشغيل.</p>\n<hr />\n<h3 id=\"faq15\">لماذا لا يمكنني تغيير أذونات XYZ؟<a class=\"headerlink\" href=\"#faq15\" title=\"Permanent link\">&para;</a></h3>\n<p>أذونات البيان مع <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">مستوى الحماية</a> الخطير فقط (و بضعة أخرى) قابلة للتغيير. AppOps لا تعتمد على بعض العوامل الأخرى AppOp قابلة للتغيير. هكذا يعمل أندرويد، لا يمكننا تغيير السلوك. انظر <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\">Manifest الأذونات و AppOps</a>.</p>\n<p>بالإضافة إلى ذلك، يحمي PMX بعض التطبيقات والأذونات الإطارية الحرجة؛ وقد يؤدي تغييرها إلى طوب الجهاز. انظر <a href=\"#faq17\">السؤال ذي الصلة</a>.</p>\n<p>انظر أيضا <a href=\"#faq3\">لماذا لا يمكن تغيير بعض AppOps ؟</a></p>\n<p>لاحظ أنه بدءًا من Android 15، لا يمكن إلغاء أذونات manifest لتطبيقات النظام ذات مستوى الحماية <em>Development</em>. أندرويد يتجاهل الطلب بصمت.</p>\n<hr />\n<h3 id=\"faq37\">لقد غيرت إذنًا لكن ذلك لا يعمل. لماذا؟<a class=\"headerlink\" href=\"#faq37\" title=\"Permanent link\">&para;</a></h3>\n<p>بعد تغيير الإذن بنجاح، إذا لم تحصل على النتائج المطلوبة، أي إنها تعود مباشرة أو بعد بضع ساعات أو أيام، إنه نظام تشغيل أندرويد ليلقى عليه اللوم. رجاءً أرا:</p>\n<ul>\n<li><a href=\"#faq2\">كيف يغير PMX أذونات التطبيقات الأخرى؟</a></li>\n<li><a href=\"#faq3\">لماذا لا يمكن تغيير بعض AppOps ؟</a></li>\n</ul>\n<p>عند استخدام التطبيقات، قد يغير أندرويد أذوناته. ولسوء الطالع، ليس لدينا طريقة لمنع هذا. <a href=\"../permission-watcher/\">مراقب الأذونات</a> و <a href=\"../scheduled-check/\">المدقق المجدول</a> قد يساعد في هذا الصدد.</p>\n<hr />\n<h3 id=\"faq3\">لماذا لا يمكن تغيير بعض AppOps؟<a class=\"headerlink\" href=\"#faq3\" title=\"Permanent link\">&para;</a></h3>\n<p>في بعض الأحيان تظهر عبارة \"AppOp mode not changed\" (لم يتم تغيير وضع الترجمة). وهذا يعني أن أندرويد رفض طلب تغيير الوضع AppOp. لا يمكنك تغييرها بغض النظر عن الطريقة أو التطبيق الذي تستخدمه. ويمكن أن تكون هناك أسباب محتملة متعددة.</p>\n<ul>\n<li>\n<p>يعتمد بعض AppOps على أذونات manifest المقابلة. لذلك لا يمكن تغييرها بشكل مستقل. على سبيل المثال، قد لا تكون قادراً على رفض <code>READ_CONTACTS</code> AppOp إذا تم منح الإذن <code>android.permission.READ_CONTACTS</code> manifest.</p>\n<p>أيضًا إذا لم يطلب التطبيق الإذن manifest في ملفه manifest ، لا يمكن أيضا منح الإذن AppOp. ولكن قد تظهر في قائمة إذن التطبيق إذا حاول التطبيق استخدامها (وتم رفضها). <code>SYSTEM_ALERT_WINDOW</code> هو أحد هذه الأمثلة.</p>\n</li>\n<li>\n<p>بعض AppOps يستخدم فقط من قبل أندرويد للتوافق (على سبيل المثال <code>LEGACY_STORAGE</code>) ولا يتحكم في أي شيء. إذا استكشفنا عملهم الأساسي فإنه يكشف أن منح/إلغاء هذه الأذونات لا معنى لها.</p>\n</li>\n<li>\n<p>لا يمكن تغيير بعض الأذونات إذا كان التطبيق قيد التشغيل أو يستهدف إصدار أندرويد قديم أو أحدث.</p>\n</li>\n<li>\n<p>بعض OEM ROMs تصرف غريب عندما يتعلق الأمر بـ AppOps. انظر <a href=\"#faq43\">لماذا لا يعمل PMX بشكل صحيح على أنظمة تشغيل OEM أو ROMs?</a></p>\n</li>\n<li>\n<p>يمكن أن يحتوي العديد من AppOps على وضوعين: وضع الحزمة ووضع UID. من الممكن أن يتغير أحدهما بينما الآخر لا يمكن أن يكون كذلك.</p>\n<p>عادة ما يكون UID AppOps له الأسبقية على حزمة AppOp نظرائه. في هذه الحالة، الوضع الفعال للحزمة AppOp هو نفس الوضع الخاص ب UID AppOps الخاص بها. لذلك لا يمكنك تغيير الحزمة AppOp وحدها.</p>\n<p>بعض AppOps يفضل أن يتم تعيينه في وضع الحزمة، وليس وضع UID. لكن إذا تم تعيينه خطأ في وضع UID (مع أداة الأوامر أو بواسطة تطبيق آخر)، فإنه يصبح غير مستجيب لأي تغييرات. قم بإعادة تعيين AppOpsمن القائمة اليمنى العليا لجعلها تعمل مرة أخرى. هذه هي الحالة أيضا مع AppOps الأخرى التي لديها إذن مناظر من manifest مع <em>AppOp</em> <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">مستوى الحماية</a>.</p>\n</li>\n</ul>\n<p>في الواقع هناك المزيد من التفسيرات إذا قمنا بحفر كل تطبيق وإذن فردي (والذي لا يبدو عملياً). كما ذكر أعلاه، لا يغير PMX أذونات التطبيقات الأخرى بمفرده. حتى لو كان لسبب غير معروف لا يغير أندرويد إذن, أو يعيدها على الفور، لا يوجد شيء يمكننا فعله لإجباره لأن هذه هي القيود في نهاية اندرويد. بدلاً من ذلك، يجب أن أقول هذه هي الطريقة التي يعمل بها أندرويد.</p>\n<p>ذات الصلة:</p>\n<ul>\n<li><a href=\"#faq11\">ما هي أنماط AppOp المختلفة وأيها يجب علي استخدامه؟</a></li>\n<li><a href=\"#faq41\">لماذا لا يمكنني تعيين وضع AppOp إلى المقدمة؟</a></li>\n</ul>\n<hr />\n<h3 id=\"faq6\">لماذا لا أرى تطبيق XYZ في قائمة الحزم؟<a class=\"headerlink\" href=\"#faq6\" title=\"Permanent link\">&para;</a></h3>\n<p>الرجاء التحقق من <strong>مرشحات الاستبعاد</strong>. يتم استبعاد جميع حزم Android القياسية تقريبًا بشكل افتراضي. يمكنك استبعاد / إدراج أي حزمة تريدها من / إلى قائمة مرئية.</p>\n<hr />\n<h3 id=\"faq7\">لماذا لا أرى إذن XYZ في حزمة ABC ؟<a class=\"headerlink\" href=\"#faq7\" title=\"Permanent link\">&para;</a></h3>\n<p>الرجاء التحقق من <strong>مرشحات الاستبعاد</strong>. الأذونات التي لا يمكن تغييرها مستبعدة من القائمة المرئية الافتراضية.</p>\n<hr />\n<h3 id=\"faq8\">لماذا لا أرى XYZ AppOp في حزمة ABC ؟<a class=\"headerlink\" href=\"#faq8\" title=\"Permanent link\">&para;</a></h3>\n<p>الرجاء التحقق من <strong>مرشحات الاستبعاد</strong> إذا كان XYZ AppOp مستبعداً من القائمة المرئية. أو قد لا تستخدم حزمة ABC عملية XYZ. لست بحاجة إلى أن تكون قلقا حيال هذا.</p>\n<p>ولكن إذا كنت ترغب في رؤية XYZ AppOp لجميع التطبيقات، انتقل إلى <strong>مرشحات الاستبعاد → Extra AppOps، لم تستبعد</strong> و تحقق من XYZ AppOp في القائمة.</p>\n<p>على سبيل المثال، كتابة <code>_CLIPBOARD</code> في مربع البحث (مع <strong>البحث العميق</strong> المربع) وستحصل على جميع التطبيقات التي استخدمت (أو حاولت استخدام) <code>READ_CLIPBOARD</code> أو أذونات <code>WRITE_CLIPBOARD</code>. الطوابع الزمنية معروضة أيضا (ولكن ليس لجميع AppOps).</p>\n<p>لذا إذا كان التطبيق الذي تهتم به ليس في نتائج البحث، تحقق من كل من AppOps في قائمة <strong>مرشحات الاستبعاد</strong> المذكورة أعلاه.</p>\n<hr />\n<h3 id=\"faq5\">ما الذي يجب أن أختره لمعرف دايمون المميز في الإعدادات المتقدمة؟ النظام أو ADB؟<a class=\"headerlink\" href=\"#faq5\" title=\"Permanent link\">&para;</a></h3>\n<p>لا يهم إلا إذا كنت تستخدم الجذر، أو <code>adbd</code> على جهازك يعمل مع الجذر (وهذا ليس هو الحال مع أجهزة المستخدم النهائية).</p>\n<p>يفضل استخدام <strong>النظام</strong> (UID <code>1000</code>) لأنه يسمح بامتيازات أكثر من <strong>ADB</strong> (UID <code>2000</code>). على سبيل المثال. تغيير أذونات \"<em>System-Fixed</em>\" ممكن فقط عند تشغيل النظام.</p>\n<hr />\n<h3 id=\"faq9\">ما هي \"الأذونات غير صالحة\" في فلاتر الاستبعاد؟<a class=\"headerlink\" href=\"#faq9\" title=\"Permanent link\">&para;</a></h3>\n<p>إذا كان التطبيق يطلب إذن manifest ولكنه غير معلن (توفر) من خلال إطار أندرويد أو أي من الحزم المثبتة، إنه إذن غير صالح. على سبيل المثال، <code>com.android.vending.BILLING</code> هو إذن غير صالح إذا لم يتم تثبيت تطبيق Play Store على جهازك.</p>\n<hr />\n<h3 id=\"faq10\">ما هي \"إضافية\" AppOpsفي فلاتر الاستبعاد؟<a class=\"headerlink\" href=\"#faq10\" title=\"Permanent link\">&para;</a></h3>\n<p>ليس كل AppOps يستخدم لجميع التطبيقات المثبتة. ولكن يمكنك فرض AppOp على أي تطبيق. تظهر إضافية AppOps المحددة في قوائم أذونات جميع التطبيقات حتى تتمكن من تعيينها.</p>\n<hr />\n<h3 id=\"faq11\">ما هي أنماط AppOp المختلفة وأيها يجب علي استخدامه؟<a class=\"headerlink\" href=\"#faq11\" title=\"Permanent link\">&para;</a></h3>\n<p>عادة يجب عليك السماح أو تجاهله. أو قد ترغب في السماح بالعملية فقط عندما يكون التطبيق في <strong>Foreground</strong> (فقط على Android 9 وما فوق). <strong>رفض</strong> هو النسخة المكثفة من تجاهل والتي قد تؤدي إلى تعطل التطبيق الطالب. <strong>الافتراضي</strong> هو السلوك الافتراضي للنظام الذي يختلف عن AppOps المختلفة.</p>\n<p>يرجى ملاحظة أنه لا يمكن تعيين كل وضع AppOp على كل AppOp لكل تطبيق. على سبيل المثال في إصدارات الأندرويد الأخيرة يسمح لـ <code>CAMERA</code> و <code>MICROPHONE</code> باستخدام تطبيقات المستخدم فقط في المقدمة (حتى إذا كان وضع التعيين <strong>مسموح</strong>). وبالمثل، لا يمكن أبدًا ضبط بعض AppOps على وضع <strong>Foreground</strong>.</p>\n<p>متصل: <a href=\"#faq3\">لماذا لا يمكن تغيير بعض AppOps ؟</a></p>\n<p>الوثائق الرسمية: <a href=\"https://developer.android.com/reference/android/app/AppOpsManager#access-control\">AppOpsManager</a>.</p>\n<hr />\n<h3 id=\"faq12\">ما الفرق بين وضعي \"تجاهل\" و\"رفض\" AppOp؟<a class=\"headerlink\" href=\"#faq12\" title=\"Permanent link\">&para;</a></h3>\n<p><a href=\"https://developer.android.com/reference/android/app/AppOpsManager#MODE_IGNORED\">Ignore</a> فشل صامتا بينما <a href=\"https://developer.android.com/reference/android/app/AppOpsManager#MODE_ERRORED\">Deny</a> يعيد خطأ إلى التطبيق الذي قد لا يتوقعه التطبيق وقد يتعطل. يجب أن تستخدم عادة <strong>التجاهل</strong>.</p>\n<hr />\n<h3 id=\"faq41\">لماذا لا يمكنني تعيين وضع AppOp إلى المقدمة؟<a class=\"headerlink\" href=\"#faq41\" title=\"Permanent link\">&para;</a></h3>\n<p>لا يمكن ضبط وضع المقدمة لجميع AppOps. وحتى عندما يتم تحديده فإنه قد لا يعطي نتائج متوقعة.</p>\n<p>ذات الصلة:</p>\n<ul>\n<li><a href=\"#faq11\">ما هي أنماط AppOp المختلفة وأيها يجب علي استخدامه؟</a></li>\n<li><a href=\"#faq3\">لماذا لا يمكن تغيير بعض AppOps ؟</a></li>\n</ul>\n<p>يرجى ملاحظة أن وضع الإذن \"السماح فقط أثناء استخدام التطبيق\" لا يقوم دائماً بتعيين وضع AppOp إلى \"Foreground\":</p>\n<p><img alt=\"المقدمة و وضع الإذن لمرة واحدة\" class=\"media\" src=\"../../img/fg_and_one_time_perm_modes.webp\" /></p>\n<p>عادة ما نرى ولايتين فقط للحصول على إذن manifest : تم منحه وإلغائه. لكن أندرويد يستخدم <a href=\"https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-13.0.0_r1/core/java/android/content/pm/PackageManager.java#4655\">flags</a> لتقسيم هاتين الولايتين إلى العديد من الولايات الفرعية. لبعض الأذونات يتم استخدام نفس الظاهرة لتحقيق سلوك \"منح فقط عندما يكون التطبيق مرئي\". لا يستخدم الإذن AppOp في هذه الحالة.</p>\n<p>لمزيد من التفاصيل، راجع الوثائق الرسمية الخاصة بـ <a href=\"https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-13.0.0_r1/core/java/android/permission/Permissions.md#background-access\">الوصول في الخلفية</a> و<a href=\"https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-13.0.0_r1/core/java/android/app/AppOps.md#foreground\">الوصول في المقدمة</a>.</p>\n<p>من أجل البساطة، لا يشاهد PMX أعلام الإذن في الوقت الراهن. ولكن في المستقبل يمكن إضافة خيار لتتبع التغييرات إلى أعلام الأذونات حتى لو بقي الوضع الممنوح / الملغاة دون تغيير.</p>\n<hr />\n<h3 id=\"faq14\">ما هي وظيفة إذن <code>WAKE_LOCK</code> ؟<a class=\"headerlink\" href=\"#faq14\" title=\"Permanent link\">&para;</a></h3>\n<p>تقوم التطبيقات بتشغيل قفل الإيقاظ للحفاظ على الجهاز مستيقظ، أي عدم إدخال <a href=\"https://developer.android.com/training/monitoring-device-state/doze-standby#understand_doze\">وضع الإزاحة</a>.</p>\n<hr />\n<h3 id=\"faq16\">كيف يمكنني تغيير أذونات <code>INTERNET</code>؟<a class=\"headerlink\" href=\"#faq16\" title=\"Permanent link\">&para;</a></h3>\n<p>لا يسمح أندرويد بتغيير جميع الأذونات، مثل تلك التي تحتوي على <strong>عادية</strong> <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">مستوى الحماية</a> (e. . <code>INTERNET</code>) أو أولئك الذين لديهم مستوى حماية <strong>ثابت</strong> أو <strong>التوقيع</strong> (عادة النظام أو تطبيقات الإطار). انظر <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\">Manifest الأذونات و AppOps</a>.</p>\n<p>ولكن إذا كان لديك جذر، <a href=\"https://github.com/mirfatif/Fyrypt\">Fyrypt</a> يمنحك سيطرة قوية جدا على نشاط الشبكة الذي يحدث على جهازك.</p>\n<hr />\n<h3 id=\"faq40\">ما هي الصلاحيات الثابتة؟<a class=\"headerlink\" href=\"#faq40\" title=\"Permanent link\">&para;</a></h3>\n<p>يتم منح أذونات <strong>ثابت النظام</strong> للتطبيقات المثبتة مسبقاً من قبل مطوري OEMS أو ROM. وليس المقصود منها أن تتغير. ولكن إذا كان جهازك متجذرا، يمكن لـ PMX تغيير أذونات النظام الثابتة.</p>\n<p>يتم منح (أو رفض) أذونات <strong>السياسة الثابتة</strong> من قبل مشرفي تكنولوجيا المعلومات على الأجهزة المدارة. ولا يمكن تغييرها.</p>\n<p>يتم تثبيت أذونات <strong>المستخدم الثابتة</strong> من قبل المستخدم. إذا رفض المستخدم الإذن عدة مرات عندما يطلب التطبيق ذلك، نظام التشغيل يشير إلى الإذن كمستخدم ثابت ولا يظهر أي طلبات أخرى للمستخدم لمنح الإذن إذا طلب التطبيق نفس الإذن مرة أخرى. يمكن تغيير هذا النوع من الأذونات الثابتة بسهولة كلما يريد المستخدم.</p>\n<hr />\n<h3 id=\"faq17\">كيف يمكنني تغيير أذونات النظام الثابتة أو أذونات التوقيع/الامتيازات أو أذونات تطبيقات إطار العمل؟<a class=\"headerlink\" href=\"#faq17\" title=\"Permanent link\">&para;</a></h3>\n<p>إذا كان جهازك متجرد، في الإصدار المدفوع يمكنك <strong>السماح للتغييرات الحرجة</strong> في <strong>الإعدادات المتقدمة</strong> لإجراء تغييرات على الأذونات مع علم <strong>إصلاح النظام</strong>، مستوى الحماية <strong>التوقيع</strong> أو <strong>الامتياز</strong>، أو تلك الخاصة بالتطبيق الإطاري. لكن ليس من المستحسن أن تلعب مع تطبيقات النظام والإطار. يمكنك طوب جهازك.</p>\n<hr />\n<h3 id=\"faq18\">ما هو \"وضع UID\" في أذونات AppOp؟<a class=\"headerlink\" href=\"#faq18\" title=\"Permanent link\">&para;</a></h3>\n<p>إنه وضع للإذن AppOp الذي يشير إلى أن تغيير هذا AppOp سيؤثر أيضًا على تطبيقات أخرى (مع نفس UID)، إذا تم تثبيته. انظر <a href=\"https://developer.android.com/guide/topics/manifest/manifest-element#uid\"><code>sharedUserId</code></a>.</p>\n<p>لاحظ أن وضع UID له الأسبقية على وضع الحزمة لكثير من AppOps.</p>\n<hr />\n<h3 id=\"faq39\">هل يمكنني التحكم في ميزة أندرويد \"إزالة أذونات إذا لم يستخدم التطبيق\" من PMX؟<a class=\"headerlink\" href=\"#faq39\" title=\"Permanent link\">&para;</a></h3>\n<p>نعم. هذه الميزة متوفرة منذ <a href=\"https://developer.android.com/about/versions/11/privacy/permissions#auto-reset\">Android 11</a>. كما أنه يُسمى <strong>\"إيقاف نشاط التطبيق إذا لم يتم استخدامه\"</strong> في بعض الأجهزة.</p>\n<p><img alt=\"الإزالة التلقائية للصلاحيات غير المستخدمة\" class=\"media\" src=\"../../img/remove_unused_perms.webp\" /></p>\n<p>لتغيير هذا الخيار من PMX:</p>\n<ol>\n<li>انتقل إلى <strong>مرشحات الاستبعاد → قائمة إضافية AppOps</strong> و تحقق من <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code>.</li>\n<li>العودة على الشاشة الرئيسية، اكتب <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code> في شريط البحث العلوي. تأكد من تمكين البحث العميق في إعدادات البحث.</li>\n<li>عيّن الوضع <strong>السماح</strong> أو <strong>التجاهل</strong> لأي تطبيق تريده.</li>\n</ol>\n<p>يمكنك أيضا استخدام <a href=\"../permission-view/\">عرض الإذن</a> أو <a href=\"../batch-operations/\">عمليات الدفعة</a> بدلا من الخطوة 2 و 3. إليك دليل كيفية القيام بذلك باستخدام عمليات الدفعات:</p>\n<video class=\"media\" controls muted>\n    <source src=\"../../img/remove_unused_perms.mp4\" type=\"video/webm\">\n    Remove permissions if app isn't used\n</video>\n\n<hr />\n<h3 id=\"faq31\">لماذا تظهر لي الكثير من النوافذ المنبثقة \"Bad ROM\"؟<a class=\"headerlink\" href=\"#faq31\" title=\"Permanent link\">&para;</a></h3>\n<p>يقوم OEMS بتغييرات ضخمة في رمز AOSP (والذي تقوم بتطويره جوجل). لذا فإن إطار العمل AppOps على بعض المخصصات / OEM ROMs يعود بنتائج غير متوقعة لا يمكن أن يفهمها PMX. يمكنك تجاهل هذه النوافذ المنبثقة، لكنها تعني أن الوظيفة محدودة بعض الشيء.</p>\n<p>يمكنك إيقاف تشغيل هذه النوافذ المنبثقة في <strong>الإعدادات</strong> → <strong>الإعدادات العامة</strong> → <strong>تعطيل النوافذ السيئة ROM</strong>.</p>\n<p>انظر <a href=\"#faq43\">لماذا لا يعمل PMX بشكل صحيح على أنظمة تشغيل OEM أو ROMs?</a></p>\n<hr />\n<h3 id=\"faq19\">ما الذي تفعله أزرار \"إخفاء من القائمة\" (عند الضغط لمدة طويلة)؟<a class=\"headerlink\" href=\"#faq19\" title=\"Permanent link\">&para;</a></h3>\n<p>كل منهما يخفي التطبيق أو الإذن من القائمة المرئية. إذا كنت لا تريد تغيير إذن لأي تطبيق، يمكنك إخفائه. ولن يظهر لأي تطبيق. لفك الإخفاء، انتقل مرة أخرى إلى إعدادات <strong>مرشحات الاستبعاد</strong>.</p>\n<p>وبالمثل، يمكنك استبعاد تطبيق من القائمة المرئية إذا كنت لا تشعر بالقلق إزاء أذوناته.</p>\n<p><img alt=\"إخفاء التطبيق من القائمة الظاهرة\" class=\"media\" src=\"../../img/hide_app_from_list.webp\" /> <img alt=\"إخفاء الإذن من القائمة الظاهرة\" class=\"media\" src=\"../../img/hide_perm_from_list.webp\" /></p>\n<hr />\n<h3 id=\"faq21\">هل هناك قائمة كاملة بجميع الأذونات متاحة مع الشرح؟<a class=\"headerlink\" href=\"#faq21\" title=\"Permanent link\">&para;</a></h3>\n<p>لا توجد قائمة كاملة من الأذونات مع الوصف، على الأقل في معرفتي. PMX تُظهر النسخة الاحترافية وصفًا موجزًا للأذونات الشائعة manifest و AppOp .</p>\n<p>هناك مصادر طرف ثالث مثل <a href=\"https://android.izzysoft.de/applists.php?topic=perms\">هذه</a> بواسطة Izzy. أندرويد <a href=\"https://developer.android.com/\">موقع المطور الرسمي</a> و <a href=\"https://cs.android.com/\">مصدر التعليمة البرمجية</a> هي أيضا مصادر جيدة للتعلم.</p>\n<p>مع كل إصدار جديد من أندرويد يتم إضافة بعض الأذونات الجديدة، وبعضها أيضا يصبح عتيقا. كما أنه ليس هناك حاجة إلى أن يقوم كل مستخدم برعاية جميع الأذونات.</p>\n<hr />\n<h3 id=\"faq22\">كيفية استخدام التطبيق في الملف الشخصي للعمل / بيئة تعدد المستخدمين؟<a class=\"headerlink\" href=\"#faq22\" title=\"Permanent link\">&para;</a></h3>\n<p>النسخة الاحترافية تدعم ملفات تعريف العمل ومستخدمين متعددين. حدد مستخدم من القائمة المنسدلة.</p>\n<p><img alt=\"قائمة المستخدمين المتعددين\" class=\"media\" src=\"../../img/multi_users.webp\" /></p>\n<hr />\n<h3 id=\"faq24\">كيف يقارن PMX بـ XPrivacyLua؟ هل يمكن أن يحل أحدهما محل الآخر؟<a class=\"headerlink\" href=\"#faq24\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX ليس مصمماً ليحل محل بل ليكمل المشاريع مثل XPrivacyLua. لديهم أهداف تصميم مختلفة.</p>\n<p>XPrivacyLua يخترق الوظائف القياسية لنظام Android عن طريق ربطه بواجهات برمجة التطبيقات الداخلية، باستخدام Xposed الذي يستبدل بعض مكتبات Android بمكتبات مخترقة. لذلك نحصل على وظيفة إضافية مثل تغذية البيانات المزيفة للتطبيقات والحصول على إشعار بالأحداث ذات الصلة بالإذن التي لا يمكننا أن نعرف عنها بأي وسيلة عادية أخرى.</p>\n<p>PMX من ناحية أخرى ليس مستهدفاً أن يكون وحدة إطارية. يوفر الوصول المريح إلى بعض واجهات برمجة التطبيقات المتميزة التي لا يمكن للتطبيقات العادية استخدامها. إنها لا تخترق وظائف الأندرويد القياسية بأي وسيلة. يمكن أيضا تنفيذ معظم المهام PMX من القيادة، باستثناء القليل منها مثل تغيير أذونات النظام الثابتة.</p>\n<p>التجذير و Xposed هما شرطان صارمان لاستخدام XPrivacyLua. PMX لا يتطلب أيا من كليهما لمعظم الجهات. وكلاهما غير متاح للعديد من الأجهزة أو أن العديد من المستعملين لا يعتبرونه خياراً بسبب الصعوبات التقنية التي ينطوي عليها الأمر. ضمان الفراغ، و SafetyNet فشلت و مسائل أخرى.</p>\n<p>مزيد من التفسير <a href=\"https://github.com/mirfatif/PermissionManagerX/issues/9\">here</a> و <a href=\"https://github.com/mirfatif/PermissionManagerX/issues/56#issuecomment-2790539931\">here</a>.</p>\n<hr />\n<h3 id=\"faq32\">هل يمكن أن يقوم PMX بإزالة الأذونات تلقائياً عند إغلاق التطبيق، كما تفعل Bouncer؟<a class=\"headerlink\" href=\"#faq32\" title=\"Permanent link\">&para;</a></h3>\n<p>نعم. انظر <a href=\"../permission-watcher/\">مراقب الأذونات</a> و <a href=\"../scheduled-check/\">Scheduled Check</a>. لكنه لا يستخدم ميزة <strong>الوصول إلى الأندرويد</strong> لأداء النقرات / النقرات على الشاشة نيابة عن المستخدم (رغم أنها ميزة جيدة دون الحاجة إلى أي إعداد إضافي). PMX يعتمد على امتيازات الجذر أو ADB. لذا فإنه يمكن أن يفعل أكثر (انظر <a href=\"../\">ما هو PMX?</a>) مما يمكن فعله باستخدام ميزات إمكانية الوصول.</p>\n<p>إذا كنت تستخدم ADB، وليس الجذر، فإن <strong>مراقب الأذونات</strong> قد لا يعمل على بعض الأجهزة. يرجى الاطلاع على <a href=\"../use-with-adb/#limitations-of-adb\">حدود ADB</a>.</p>\n<hr />\n<h3 id=\"faq35\">هل يمكنني الحصول على إشعار عندما يتم تثبيت تطبيق جديد؟<a class=\"headerlink\" href=\"#faq35\" title=\"Permanent link\">&para;</a></h3>\n<p>نعم. انظر <a href=\"../permission-watcher/\">مراقب الأذونات</a>.</p>\n<p>منذ أندرويد 8 من غير الممكن للتطبيقات الخلفية (غير العاملة) الحصول على إشعار بحدث تثبيت التطبيق الجديد. لذا فقد قمنا بتشغيل خدمة أمامية (مع إشعار مستمر) لاستلام هذا الحدث. أو قد تفكر في استخدام <a href=\"../scheduled-check/\">التحقق المجدول</a> للحفاظ على الأمور في مكانها.</p>\n<hr />\n<h3 id=\"faq38\">عند تثبيت تطبيق جديد، هل يمكن لـ PMX إلغاء أذوناته بشكل افتراضي؟<a class=\"headerlink\" href=\"#faq38\" title=\"Permanent link\">&para;</a></h3>\n<p>نعم. ولكن لا توجد أذونات يمكن حذفها. تم إلغاء جميع أذونات manifest القابلة للإلغاء بالفعل والبقاء ملغاة ما لم يمنحها المستخدم صراحة. فيما يتعلق بـ AppOps ، الكثير منها لا يظهر حتى مرة واحدة على الأقل من قبل التطبيق مثل <code>VIBRATE</code> و <code>READ_CLIPBOARD</code>. العديد من الآخرين (على سبيل المثال <code>READ_CONTACTS</code>) لديهم أذونات manifest المقابلة التي تم إسقاطها بالفعل، كما أشير إلى ذلك. لذلك لا يمكن التنبؤ به وقت تثبيت التطبيق الذي يجب إزالته AppOps.</p>\n<p>ولكن يتم عرض إشعار عند تثبيت تطبيق جديد (إذا استخدم <a href=\"../permission-watcher/\">مراقب الأذونات</a>) حتى يتمكن المستخدم من تعيين أذونات واحدة تلو الأخرى أو <a href=\"../batch-operations/#permission-profiles\">تطبيق ملف تعريف</a>.</p>\n<hr />\n<h3 id=\"faq25\">لماذا يحتاج تطبيق PMX إلى إذن الإنترنت؟<a class=\"headerlink\" href=\"#faq25\" title=\"Permanent link\">&para;</a></h3>\n<p>يتطلب <a href=\"https://mirfatif.github.io/mirfatif/getpro\">إصدار برو المستقل</a> الاتصال بالإنترنت للتحقق من الترخيص. أخرى <a href=\"../versions/\">versions</a> يمكن أن تعمل دون اتصال تمامًا. على الرغم من أن تطبيق Play Store يحتاج إلى اتصال بالإنترنت للتحقق من الترخيص.</p>\n<h4 id=\"optional-use-of-internet-permission\">الاستخدام الاختياري للإذن <code>android.permission.INTERNET</code><a class=\"headerlink\" href=\"#optional-use-of-internet-permission\" title=\"Permanent link\">&para;</a></h4>\n<ul>\n<li>التحقق من وجود تحديثات التطبيق. يمكنك تعطيل هذا في إعدادات التطبيق.</li>\n</ul>\n<h4 id=\"on-device-use-of-internet-permission\">الاستخدام المحلي (على الجهاز) للإذن <code>android.permission.INTERNET</code><a class=\"headerlink\" href=\"#on-device-use-of-internet-permission\" title=\"Permanent link\">&para;</a></h4>\n<p>لا يسمح أندرويد للتطبيقات بإنشاء مقابس شبكة بدون الحصول على إذن <a href=\"https://developer.android.com/reference/android/Manifest.permission#INTERNET\"><code>INTERNET</code></a> حتى لو كان المقصود استخدامها فقط محليا وليس للاتصال بالإنترنت. PMX لديه إستخدامان للاتصال المحلي (على الجهاز) (القدرة على إنشاء مقابس <code>localhost</code> في <code>127.0.0.1</code>) للاتصال الداخلي (IPC):</p>\n<ul>\n<li>PMX يبدأ عملية في الخلفية بامتيازات الجذر / ADB ويتواصل مع تلك العملية عبر مقبس الشبكة. بعد المصافحة اليدوية الأولية، تبدأ كلتا العمليتين في التحدث عبر الباندر. ليس لدينا طريقة أفضل للقيام بذلك لأن أندرويد لا يسمح للتطبيقات بالتحدث عبر مقابس نطاقات UNIX أيضا.</li>\n<li>إذا لم يكن جهازك متجذراً و <a href=\"../use-with-adb/\">استخدم PMX مع ADB</a>، فإن الاتصال بـ <code>adbd</code> يتطلب أذونات الإنترنت. انظر <a href=\"#faq27\">هل يقوم موقع PMX بالتجسس عليّ باستخدام ADB عبر الشبكة؟</a></li>\n</ul>\n<p>إذا لم يتمكن التطبيق من إنشاء أو استخدام مقابس الشبكة المحلية، فسيفشل. وإذا كنت ترغب في إيقاف PMX من استخدام الإنترنت، يجب أن لا يوقف التطبيق من التحدث إلى العمليات على الجهاز عبر <a href=\"https://superuser.com/questions/263142\">واجهة التراجع لـ IPC</a>. هذه هي الحالة عادة مع جدران الحماية المستندة إلى <code>iptables</code>مثل <a href=\"https://github.com/mirfatif/Fyrypt\">Fyrypt</a> وجدران الحماية المستندة إلى VPN مثل NetGuard. لكن بعض ROMs لديه ميزة مدمجة لمنع الوصول إلى الشبكة:</p>\n<p><img alt=\"السماح بإعدادات الوصول إلى الشبكة\" class=\"media\" src=\"../../img/allow_network_access.webp\" /></p>\n<p>وهذا لا يمنع التطبيق من استخدام الإنترنت فحسب، بل يعطل أيضا قدرته على إنشاء مناظر لحلقة الارتداد لIPC. لذلك <strong>PMX لن يتمكن من الحصول على امتيازات الجذر / ADB إذا تم رفض هذا الإذن</strong>.</p>\n<hr />\n<h3 id=\"faq26\">كم هو صديق للخصوصية PMX؟ هل تجمع بيانات المستخدمين؟<a class=\"headerlink\" href=\"#faq26\" title=\"Permanent link\">&para;</a></h3>\n<p>لا. نحن لا نجمع بياناتك. أبداً. حتى بايت واحد PMX لديه إصدار مفتوح المصدر. نحن نؤمن بأن مستخدمينا يتم تعليمهم وإطلاعهم جيدا على سبب استخدامهم PMX. نحن نحترم خصوصيتك، لذلك لا يتم جمع أي بيانات على الإطلاق، حتى سجلات الأعطال. قد ترغب أيضا في رؤية <a href=\"https://mirfatif.github.io/PermissionManagerX/PRIVACY\">سياسة الخصوصية</a>.</p>\n<hr />\n<h3 id=\"faq27\">هل يقوم موقع PMX بالتجسس عليّ باستخدام ADB عبر الشبكة؟<a class=\"headerlink\" href=\"#faq27\" title=\"Permanent link\">&para;</a></h3>\n<p>لا.</p>\n<p>PMX يتحدث إلى عملية <code>adbd</code> عبر اللغة المحلية المضيف (<code>127.0.0.1</code>). ولكن لا توجد طريقة لبدء الاستماع ل <code>adbd</code> على اللغة المحلية فقط، وليس على واجهات الشبكة الأخرى (لأن المقصود أن يستخدم ADB خارجيا من جهاز كمبيوتر شخصي). يمكنك بالتأكيد إيقاف الاستماع <code>adbd</code> من عناوين IP الخارجية، إذا استطعت. سيظل PMX يعمل، دون الكشف عن أي منفذ خارجي.</p>\n<p>يمكنك أيضا تغيير منفذ <code>5555</code> إلى أي رقم تريده في <strong>إعدادات متقدمة</strong>. إنه ليس مبرمجًا بشكل ثابت.</p>\n<p>أيضًا ADB منذ أندرويد 4.2 من المفترض أن يكون محميًا بواسطة <strong>مصادقة مفتاح RSA</strong> (واحدة من أقوى آلية المصادقة). لذلك، حتى لو كان الجهاز متاحًا عبر الإنترنت (وهو أمر <a href=\"https://android.stackexchange.com/a/205807/218526\">غير محتمل</a>)، لا يمكن لأحد إجراء اتصال ADB دون مصادقة.</p>\n<p>يمكنك التحقق من هذه الادعاءات بأي طريقة تريدها. نحن هنا لمساعدتكم تقنيا.</p>\n<hr />\n<h3 id=\"faq28\">هل يقوم PMX بإساءة استخدام امتيازات الجذر لجمع بياناتي؟<a class=\"headerlink\" href=\"#faq28\" title=\"Permanent link\">&para;</a></h3>\n<p>ونحن نؤمن بـ <a href=\"https://wikipedia.org/wiki/Principle_of_least_privilege\">مبدأ أقل الامتياز</a>. لكن بسبب الطبيعة المقيدة لنظام تشغيل أندرويد، لا يمكن لـ PMX أن يعمل دون أن يكون لديه امتيازات عالية. ما يمكننا أن نقدمه هو، إذا كنت شخصا محترفا في التكنولوجيا يمكننا أن نعلمكم كيف نجعل من الصعب على التطبيقات إجراء اتصالات بالإنترنت، حتى مع امتيازات الجذر.</p>\n<hr />\n<h3 id=\"faq29\">أعتقد أن PMX عديم الفائدة. لماذا تم إنشاؤها؟<a class=\"headerlink\" href=\"#faq29\" title=\"Permanent link\">&para;</a></h3>\n<p>ونحن نحترم رأيكم. PMX ليس للجميع (ولهذا السبب لم يتم صقله وإصداره للجمهور لسنوات لأننا كنا نعلم أن جمهورنا صغير جدًا). انه فقط لبعض الناس ذوي الخبرة التقنية والذين يهتمون بالخصوصية و التحكم في أجهزتهم. غالبية مستخدمي الهاتف هم فقط في أيدي مستخدمي برمجيات التشغيل ومطوري التطبيقات. إنهم ليسوا على علم بما يتم القيام به لهم و بياناتهم. وتفضل الأغلبية الراحة على الخصوصية. و هذا جيد.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  عد إلى الأعلى\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"هامش سفلي\" >\n        \n          \n          <a href=\"../versions/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"السابقة: إصدارات PMX\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                السابقة\n              </span>\n              <div class=\"md-ellipsis\">\n                إصدارات PMX\n              </div>\n            </div>\n          </a>\n        \n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u062a\\u0645 \\u0627\\u0644\\u0646\\u0633\\u062e \\u0627\\u0644\\u0649 \\u0627\\u0644\\u062d\\u0627\\u0641\\u0638\\u0629\", \"clipboard.copy\": \"\\u0646\\u0633\\u062e \\u0625\\u0644\\u0649 \\u0627\\u0644\\u062d\\u0627\\u0641\\u0638\\u0629\", \"search.result.more.one\": \"\\u0623\\u0643\\u062b\\u0631 \\u0645\\u0646 1 \\u0641\\u064a \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0635\\u0641\\u062d\\u0629\", \"search.result.more.other\": \"\\u0623\\u0643\\u062b\\u0631 \\u0645\\u0646 # \\u0641\\u064a \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0635\\u0641\\u062d\\u0629\", \"search.result.none\": \"\\u0644\\u0627 \\u062a\\u0648\\u062c\\u062f \\u0646\\u062a\\u0627\\u0626\\u062c\", \"search.result.one\": \"\\u0646\\u062a\\u0627\\u0626\\u062c \\u0627\\u0644\\u0628\\u062d\\u062b \\u0645\\u0633\\u062a\\u0646\\u062f \\u0648\\u0627\\u062d\\u062f\", \"search.result.other\": \"\\u0646\\u062a\\u0627\\u0626\\u062c \\u0627\\u0644\\u0628\\u062d\\u062b # \\u0645\\u0633\\u062a\\u0646\\u062f\\u0627\\u062a\", \"search.result.placeholder\": \"\\u0627\\u0643\\u062a\\u0628 \\u0644\\u0628\\u062f\\u0621 \\u0627\\u0644\\u0628\\u062d\\u062b\", \"search.result.term.missing\": \"\\u0645\\u0641\\u0642\\u0648\\u062f\", \"select.version\": \"\\u0625\\u062e\\u062a\\u0631 \\u0627\\u0644\\u0625\\u0635\\u062f\\u0627\\u0631\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/ar/index.html",
    "content": "\n<!doctype html>\n<html lang=\"ar\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"نظرة عامة على PMX ومجموعة الميزات المجانية مقابل المدفوعات — الفحوص المجدولة، مراقبة الأذونات، الإلغاء التلقائي، عمليات الدفعة وأدوات الإذن المتقدمة.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/\">\n      \n      \n      \n        <link rel=\"next\" href=\"permission-references/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/de/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/es/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/fr/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/pt-BR/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/ru/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/ar/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/zh/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>ما هو PMX؟ - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"rtl\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#rate-review\" class=\"md-skip\">\n          انتقل إلى المحتوى\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"عنوان العارضة\">\n    <a href=\"./\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              ما هو PMX؟\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"إختر اللغة\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/de/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/es/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/fr/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/pt-BR/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/ru/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/ar/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/zh/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"بحث\" placeholder=\"بحث\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"إبحث\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"مسح كلي\" aria-label=\"مسح كلي\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            بدء البحث\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"تصفح\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"./\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ما هو PMX؟\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ما هو PMX؟\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"جدول المحتويات\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      جدول المحتويات\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#rate-review\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        التقييمات / المراجعات / التعليقات / التصويت/ النجوم\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أذونات البيان والتطبيقات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مراجع الصلاحيات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    تم شرح واجهة المستخدم\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    بحث\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    الفحص المجدول\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مراقب الأذونات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    عرض الإذن\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    عمليات الدفعات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التكامل مع WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    استخدام PMX مع ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    إصدارات PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ar/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ميزات مدفوعة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أسئلة PMX المتكررة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التنزيلات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    لقطات الشاشة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ar/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التقييمات / المراجعات / التعليقات / التصويتات / النجوم\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    اتصل بنا\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التطبيقات\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    التطبيقات\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مدير الصلاحيّات X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أسئلة أندرويد الشائعة\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    أسئلة أندرويد الشائعة\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    الأسئلة المتكررة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    دليل ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    دليل ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    إقران/ربط التطبيق بـ ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>ما هو PMX؟</h1>\n\n<p>إنه تطبيق eXtended Manager الأذونات للأندرويد الذي يجعل من السهل تعيين واستعراض الأذونات المطلوبة في التطبيقات المثبتة، تتبع أي تغييرات غير مرغوب فيها. يوفر السيطرة على جهازك، يمكنك من حماية خصوصيتك وحفظ الموارد مثل استخدام البطارية.</p>\n<p>يوفر PMX جميع المعلومات المتفرقة (أو غير المتاحة) المتعلقة بالسماح والتحكم بها على شاشة واحدة بحيث يمكنك مشاهدتها والتحكم بها بطريقة شاملة وملائمة.</p>\n<p>يمكنك استخدام PMX:</p>\n<ul>\n<li>عرض / منح / إلغاء جميع <strong>الأذونات manifest</strong> التي يمكن أو لا يمكن تعيينها باستخدام شاشة إعدادات التطبيق. قائمة الأذونات التي لا يمكن تعيينها من واجهة المستخدم هي طويلة جداً.</li>\n<li>عرض جميع <strong>أذوناتAppOp</strong> التي عادة ما لا تحتوي على أي إعدادات واجهة المستخدم. على سبيل المثال. <code>VIBRATE</code> و <code>READ_CLIPBOARD</code>. يمكنك تعيين وضع AppOps المرغوب مثلاً: <em>تجاهل</em> أو <em>Foreground</em>.</li>\n<li>عرض جميع الأذونات المطلوبة من قبل تطبيق <strong>غير قابل للتغيير</strong>.</li>\n<li>عرض آخر وقت مستخدم للعديد من أذونات AppOp.</li>\n<li>تغيير أذونات <strong>النظام الثابتة</strong> التي لا يمكن تغييرها بأي وسيلة أخرى.</li>\n<li>شاهد في الوقت الحقيقي تغيير الأذونات أو إجراء عمليات مسح مجدولة.</li>\n<li>فرز التطبيقات والأذونات حسب العديد من المعلمات، بما في ذلك تاريخ التثبيت وعدد الأذونات.</li>\n<li>اصنع استفسارات البحث المتقدمة في التطبيقات والأذونات الخاصة بها.</li>\n<li>وأكثر من ذلك بكثير.</li>\n</ul>\n<p>انظر أيضا Github <a href=\"https://mirfatif.github.io/PermissionManagerX\">README</a> و <a href=\"https://play.google.com/store/apps/details?id=com.mirfatif.permissionmanagerx\">Play Store</a> وصف. أو فقط جرب ذلك. نحن نقدم نسخة مجانية وتجربة مجانية لمدة شهر واحد.</p>\n<hr />\n<p><strong>هل هذا مدهش؟</strong> دعونا ندخل في التفاصيل.</p>\n<ul>\n<li><a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\">أذونات البيان وعمليات التطبيقات</a></li>\n<li><a href=\"permission-references/\">مراجع الإذن</a></li>\n<li><a href=\"details/\">تم شرح واجهة المستخدم</a></li>\n<li><a href=\"search/\">بحث</a></li>\n<li><a href=\"scheduled-check/\">التحقق المجدول</a></li>\n<li><a href=\"permission-watcher/\">مراقب الأذونات</a></li>\n<li><a href=\"permission-view/\">عرض الصلاحية</a></li>\n<li><a href=\"batch-operations/\">عمليات الدفعة</a></li>\n<li><a href=\"whatsrunning-integration/\">التكامل مع WhatsRunning</a></li>\n<li><a href=\"use-with-adb/\">استخدام PMX مع ADB</a></li>\n<li><a href=\"versions/\">إصدارات PMX</a></li>\n<li><a href=\"/PermissionManagerX/help/versions/#paid-features\">الميزات المدفوعة</a></li>\n<li><a href=\"faqs/\">الأسئلة الشائعة حول PMX</a></li>\n<li><a href=\"https://mirfatif.github.io/PermissionManagerX\">التنزيلات</a></li>\n<li><a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\">لقطات شاشة</a></li>\n<li><a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\">اتصل بنا</a></li>\n</ul>\n<hr />\n<h2 id=\"rate-review\">التقييمات / المراجعات / التعليقات / التصويت/ النجوم<a class=\"headerlink\" href=\"#rate-review\" title=\"Permanent link\">&para;</a></h2>\n<ul>\n<li><a href=\"https://play.google.com/store/apps/details?id=com.mirfatif.permissionmanagerx\">متجر اللعب</a></li>\n<li><a href=\"https://forum.xda-developers.com/t/app-7-0-permission-manager-x-manage-appops-and-manifest-permissions.4187657\">XDA</a></li>\n<li><a href=\"https://github.com/mirfatif/PermissionManagerX\">GitHub</a></li>\n</ul>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  عد إلى الأعلى\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"هامش سفلي\" >\n        \n        \n          \n          <a href=\"permission-references/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"التالية: مراجع الصلاحيات\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                التالية\n              </span>\n              <div class=\"md-ellipsis\">\n                مراجع الصلاحيات\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u062a\\u0645 \\u0627\\u0644\\u0646\\u0633\\u062e \\u0627\\u0644\\u0649 \\u0627\\u0644\\u062d\\u0627\\u0641\\u0638\\u0629\", \"clipboard.copy\": \"\\u0646\\u0633\\u062e \\u0625\\u0644\\u0649 \\u0627\\u0644\\u062d\\u0627\\u0641\\u0638\\u0629\", \"search.result.more.one\": \"\\u0623\\u0643\\u062b\\u0631 \\u0645\\u0646 1 \\u0641\\u064a \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0635\\u0641\\u062d\\u0629\", \"search.result.more.other\": \"\\u0623\\u0643\\u062b\\u0631 \\u0645\\u0646 # \\u0641\\u064a \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0635\\u0641\\u062d\\u0629\", \"search.result.none\": \"\\u0644\\u0627 \\u062a\\u0648\\u062c\\u062f \\u0646\\u062a\\u0627\\u0626\\u062c\", \"search.result.one\": \"\\u0646\\u062a\\u0627\\u0626\\u062c \\u0627\\u0644\\u0628\\u062d\\u062b \\u0645\\u0633\\u062a\\u0646\\u062f \\u0648\\u0627\\u062d\\u062f\", \"search.result.other\": \"\\u0646\\u062a\\u0627\\u0626\\u062c \\u0627\\u0644\\u0628\\u062d\\u062b # \\u0645\\u0633\\u062a\\u0646\\u062f\\u0627\\u062a\", \"search.result.placeholder\": \"\\u0627\\u0643\\u062a\\u0628 \\u0644\\u0628\\u062f\\u0621 \\u0627\\u0644\\u0628\\u062d\\u062b\", \"search.result.term.missing\": \"\\u0645\\u0641\\u0642\\u0648\\u062f\", \"select.version\": \"\\u0625\\u062e\\u062a\\u0631 \\u0627\\u0644\\u0625\\u0635\\u062f\\u0627\\u0631\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/ar/permission-references/index.html",
    "content": "\n<!doctype html>\n<html lang=\"ar\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"حفظ، قارن واستعادة حالات إشارة الإذن في PMX بحيث يمكن النسخ الاحتياطي لتهيئة الصلاحيات المطلوبة وإعادة تطبيقها عبر التثبيت.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/permission-references/\">\n      \n      \n        <link rel=\"prev\" href=\"../\">\n      \n      \n        <link rel=\"next\" href=\"../details/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../permission-references/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/permission-references/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/permission-references/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/permission-references/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/permission-references/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/permission-references/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/permission-references/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>مراجع الصلاحيات - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"rtl\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"عنوان العارضة\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              مراجع الصلاحيات\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"إختر اللغة\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../permission-references/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/permission-references/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/permission-references/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/permission-references/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/permission-references/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/permission-references/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/permission-references/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"بحث\" placeholder=\"بحث\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"إبحث\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"مسح كلي\" aria-label=\"مسح كلي\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            بدء البحث\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"تصفح\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ما هو PMX؟\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أذونات البيان والتطبيقات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مراجع الصلاحيات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    تم شرح واجهة المستخدم\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    بحث\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    الفحص المجدول\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مراقب الأذونات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    عرض الإذن\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    عمليات الدفعات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التكامل مع WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    استخدام PMX مع ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    إصدارات PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ar/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ميزات مدفوعة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أسئلة PMX المتكررة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التنزيلات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    لقطات الشاشة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ar/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التقييمات / المراجعات / التعليقات / التصويتات / النجوم\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    اتصل بنا\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التطبيقات\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    التطبيقات\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مدير الصلاحيّات X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أسئلة أندرويد الشائعة\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    أسئلة أندرويد الشائعة\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    الأسئلة المتكررة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    دليل ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    دليل ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    إقران/ربط التطبيق بـ ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>مراجع الصلاحيات</h1>\n\n<p>لنفترض أنك قضت كامل وقت إعداد يوم الأحد المطلوب على أكثر من 200 تطبيق مثبت. و:</p>\n<ul>\n<li>في الشهر التالي قمت بترقية جهازك، أو تثبيت ROM جديد.</li>\n<li>أو قمت بإلغاء تثبيت وإعادة تثبيت بعض من التطبيقات لسبب ما.</li>\n<li>أو منحت بعض الأذونات، كما طلبته التطبيقات.</li>\n</ul>\n<p>هل ستخوض كل هذه المتاعب مرة أخرى؟</p>\n<p>لا تحتاج إلى ذلك. يمكنك جعل PMX يتذكر حالة الصلاحية المطلوبة لديك. قم بتعيين إذن، واجعله <font color=\"#90EE90\">أخضر،</font> وانتهى الأمر. سوف يستغرق الأمر بضع لحظات للنظر في جميع الحزم المثبتة واكتشف الأذونات التي لم يتم تعيينها بشكل صحيح. . بإجراء بحث سريع: <code>:RED|:ORANGE</code> أو <code>!:GREEN</code>. راجع <a href=\"../search/\">Search</a> لمزيد من التفاصيل.</p>\n<p><strong>الحالات المرجعية</strong> الثلاث هي:</p>\n<ul>\n<li>تشير الحالة <font color=\"#FFC107\">البرتقالية</font> إلى عدم تعيين أي قيمة مرجعية.</li>\n<li>يشير <font color=\"#90EE90\">اللون الأخضر</font> إلى أن القيمة المرجعية تتطابق مع القيمة المحددة حاليًا.</li>\n<li>يشير <font color=\"#FF0000\">اللون الأحمر</font> إلى اختلاف القيمة المرجعية والقيمة المحددة.</li>\n</ul>\n<p>يمكن <strong>النسخ الاحتياطي</strong> و<strong>الاستعادة</strong> لحالات المرجع بسهولة. بعد الاستعادة، هناك طريقة مناسبة لتعيين جميع الأذونات وفقا للمراجع المستعادة. انظر <a href=\"../batch-operations/\">عمليات الدفعة</a>.</p>\n<p>هناك طرق متعددة يمكنك تعيين مرجع:</p>\n<ul>\n<li>اضغط مطولاً على إذن واضغط على زر \"تعيين المرجع\" / \"مسح المرجع\".</li>\n<li>هناك خيار القائمة العليا في كل شاشة قائمة إذن التطبيق لتعيين أو مسح جميع المراجع.</li>\n<li>تعيين المراجع بالجملة مع <a href=\"../batch-operations/\">عمليات الدفعة</a>.</li>\n<li>تمكين تفضيل \"تعيين المرجع التلقائي\" تحت الإعدادات → الإعدادات العامة. لذا كلما قمت بتغيير حالة الإذن، يتم تعيينها كمرجع.</li>\n</ul>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  عد إلى الأعلى\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"هامش سفلي\" >\n        \n          \n          <a href=\"../\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"السابقة: ما هو PMX؟\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                السابقة\n              </span>\n              <div class=\"md-ellipsis\">\n                ما هو PMX؟\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../details/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"التالية: تم شرح واجهة المستخدم\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                التالية\n              </span>\n              <div class=\"md-ellipsis\">\n                تم شرح واجهة المستخدم\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u062a\\u0645 \\u0627\\u0644\\u0646\\u0633\\u062e \\u0627\\u0644\\u0649 \\u0627\\u0644\\u062d\\u0627\\u0641\\u0638\\u0629\", \"clipboard.copy\": \"\\u0646\\u0633\\u062e \\u0625\\u0644\\u0649 \\u0627\\u0644\\u062d\\u0627\\u0641\\u0638\\u0629\", \"search.result.more.one\": \"\\u0623\\u0643\\u062b\\u0631 \\u0645\\u0646 1 \\u0641\\u064a \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0635\\u0641\\u062d\\u0629\", \"search.result.more.other\": \"\\u0623\\u0643\\u062b\\u0631 \\u0645\\u0646 # \\u0641\\u064a \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0635\\u0641\\u062d\\u0629\", \"search.result.none\": \"\\u0644\\u0627 \\u062a\\u0648\\u062c\\u062f \\u0646\\u062a\\u0627\\u0626\\u062c\", \"search.result.one\": \"\\u0646\\u062a\\u0627\\u0626\\u062c \\u0627\\u0644\\u0628\\u062d\\u062b \\u0645\\u0633\\u062a\\u0646\\u062f \\u0648\\u0627\\u062d\\u062f\", \"search.result.other\": \"\\u0646\\u062a\\u0627\\u0626\\u062c \\u0627\\u0644\\u0628\\u062d\\u062b # \\u0645\\u0633\\u062a\\u0646\\u062f\\u0627\\u062a\", \"search.result.placeholder\": \"\\u0627\\u0643\\u062a\\u0628 \\u0644\\u0628\\u062f\\u0621 \\u0627\\u0644\\u0628\\u062d\\u062b\", \"search.result.term.missing\": \"\\u0645\\u0641\\u0642\\u0648\\u062f\", \"select.version\": \"\\u0625\\u062e\\u062a\\u0631 \\u0627\\u0644\\u0625\\u0635\\u062f\\u0627\\u0631\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/ar/permission-view/index.html",
    "content": "\n<!doctype html>\n<html lang=\"ar\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"تصفح الأذونات حسب الاسم ومستوى الحماية، راجع عدد التطبيقات التي تستخدم كل إذن، والحفر إلى عناصر تحكم الإذن لكل تطبيق باستخدام PMX.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/permission-view/\">\n      \n      \n        <link rel=\"prev\" href=\"../permission-watcher/\">\n      \n      \n        <link rel=\"next\" href=\"../batch-operations/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../permission-view/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/permission-view/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/permission-view/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/permission-view/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/permission-view/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/permission-view/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/permission-view/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>عرض الإذن - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"rtl\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"عنوان العارضة\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              عرض الإذن\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"إختر اللغة\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../permission-view/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/permission-view/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/permission-view/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/permission-view/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/permission-view/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/permission-view/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/permission-view/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"بحث\" placeholder=\"بحث\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"إبحث\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"مسح كلي\" aria-label=\"مسح كلي\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            بدء البحث\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"تصفح\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ما هو PMX؟\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أذونات البيان والتطبيقات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مراجع الصلاحيات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    تم شرح واجهة المستخدم\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    بحث\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    الفحص المجدول\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مراقب الأذونات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    عرض الإذن\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    عمليات الدفعات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التكامل مع WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    استخدام PMX مع ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    إصدارات PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ar/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ميزات مدفوعة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أسئلة PMX المتكررة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التنزيلات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    لقطات الشاشة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ar/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التقييمات / المراجعات / التعليقات / التصويتات / النجوم\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    اتصل بنا\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التطبيقات\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    التطبيقات\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مدير الصلاحيّات X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أسئلة أندرويد الشائعة\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    أسئلة أندرويد الشائعة\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    الأسئلة المتكررة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    دليل ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    دليل ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    إقران/ربط التطبيق بـ ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>عرض الإذن</h1>\n\n<p>يعرض عرض الإذن قائمة بجميع الأذونات مع عدد من التطبيقات التي تستخدم هذه الأذونات.</p>\n<p><img alt=\"عرض الصلاحية\" class=\"media\" src=\"../../img/perm_view.webp\" /></p>\n<ol>\n<li>اسم الصلاحيّة</li>\n<li>مستوى الحماية</li>\n<li>عدد التطبيقات</li>\n<li>تم منح عدد الصلاحيات من إجمالي عدد الأذونات. يمكن أن يكون الأخير أكبر من عدد التطبيقات لأن بعض التطبيقات قد تستخدم إذن AppOp مرتين (في <a href=\"../faqs/#faq18\">وضع UID</a>.</li>\n</ol>\n<p>عند تحديد الإذن، تظهر قائمة التطبيقات التي تستخدم هذا الإذن:</p>\n<p><img alt=\"عرض الصلاحية\" class=\"media\" src=\"../../img/perm_view2.webp\" /></p>\n<ol>\n<li>اسم الصلاحيّة</li>\n<li>وصف الصلاحية</li>\n<li>العلم الذي يشير إلى أن الإذن ممنوح</li>\n<li>أيقونة التطبيق</li>\n<li>تسمية التطبيق</li>\n<li>اسم الحزمة</li>\n<li>معرف التطبيق</li>\n</ol>\n<p>عند تحديد تطبيق، تفتح <a href=\"../details/#permissions-list\">قائمة الأذونات</a> حيث يمكنك تغيير حالة الإذن.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  عد إلى الأعلى\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"هامش سفلي\" >\n        \n          \n          <a href=\"../permission-watcher/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"السابقة: مراقب الأذونات\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                السابقة\n              </span>\n              <div class=\"md-ellipsis\">\n                مراقب الأذونات\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../batch-operations/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"التالية: عمليات الدفعات\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                التالية\n              </span>\n              <div class=\"md-ellipsis\">\n                عمليات الدفعات\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u062a\\u0645 \\u0627\\u0644\\u0646\\u0633\\u062e \\u0627\\u0644\\u0649 \\u0627\\u0644\\u062d\\u0627\\u0641\\u0638\\u0629\", \"clipboard.copy\": \"\\u0646\\u0633\\u062e \\u0625\\u0644\\u0649 \\u0627\\u0644\\u062d\\u0627\\u0641\\u0638\\u0629\", \"search.result.more.one\": \"\\u0623\\u0643\\u062b\\u0631 \\u0645\\u0646 1 \\u0641\\u064a \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0635\\u0641\\u062d\\u0629\", \"search.result.more.other\": \"\\u0623\\u0643\\u062b\\u0631 \\u0645\\u0646 # \\u0641\\u064a \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0635\\u0641\\u062d\\u0629\", \"search.result.none\": \"\\u0644\\u0627 \\u062a\\u0648\\u062c\\u062f \\u0646\\u062a\\u0627\\u0626\\u062c\", \"search.result.one\": \"\\u0646\\u062a\\u0627\\u0626\\u062c \\u0627\\u0644\\u0628\\u062d\\u062b \\u0645\\u0633\\u062a\\u0646\\u062f \\u0648\\u0627\\u062d\\u062f\", \"search.result.other\": \"\\u0646\\u062a\\u0627\\u0626\\u062c \\u0627\\u0644\\u0628\\u062d\\u062b # \\u0645\\u0633\\u062a\\u0646\\u062f\\u0627\\u062a\", \"search.result.placeholder\": \"\\u0627\\u0643\\u062a\\u0628 \\u0644\\u0628\\u062f\\u0621 \\u0627\\u0644\\u0628\\u062d\\u062b\", \"search.result.term.missing\": \"\\u0645\\u0641\\u0642\\u0648\\u062f\", \"select.version\": \"\\u0625\\u062e\\u062a\\u0631 \\u0627\\u0644\\u0625\\u0635\\u062f\\u0627\\u0631\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/ar/permission-watcher/index.html",
    "content": "\n<!doctype html>\n<html lang=\"ar\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"مراقبة تلقائية لتغييرات أذونات التطبيق باستخدام PMX: الحصول على إشعارات أو إرجاع التغييرات غير المرغوب فيها أو الإلغاء التلقائي عندما تغادر التطبيقات المقدمة.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/permission-watcher/\">\n      \n      \n        <link rel=\"prev\" href=\"../scheduled-check/\">\n      \n      \n        <link rel=\"next\" href=\"../permission-view/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../permission-watcher/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/permission-watcher/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/permission-watcher/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/permission-watcher/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/permission-watcher/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/permission-watcher/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/permission-watcher/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>مراقب الأذونات - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"rtl\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"عنوان العارضة\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              مراقب الأذونات\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"إختر اللغة\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../permission-watcher/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/permission-watcher/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/permission-watcher/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/permission-watcher/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/permission-watcher/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/permission-watcher/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/permission-watcher/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"بحث\" placeholder=\"بحث\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"إبحث\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"مسح كلي\" aria-label=\"مسح كلي\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            بدء البحث\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"تصفح\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ما هو PMX؟\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أذونات البيان والتطبيقات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مراجع الصلاحيات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    تم شرح واجهة المستخدم\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    بحث\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    الفحص المجدول\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مراقب الأذونات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    عرض الإذن\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    عمليات الدفعات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التكامل مع WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    استخدام PMX مع ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    إصدارات PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ar/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ميزات مدفوعة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أسئلة PMX المتكررة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التنزيلات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    لقطات الشاشة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ar/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التقييمات / المراجعات / التعليقات / التصويتات / النجوم\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    اتصل بنا\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التطبيقات\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    التطبيقات\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مدير الصلاحيّات X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أسئلة أندرويد الشائعة\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    أسئلة أندرويد الشائعة\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    الأسئلة المتكررة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    دليل ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    دليل ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    إقران/ربط التطبيق بـ ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>مراقب الأذونات</h1>\n\n<p>بعض التطبيقات لا تعمل بدون الحصول على إذن معين. لكنك تريد منح الإذن لهذا الوقت فقط عندما تستخدم التطبيق، وألغي الإذن حالما تغادر التطبيق.</p>\n<p>مراقب الأذونات يفعل ذلك بالضبط. بمجرد مغادرة التطبيق، أو بعد انقضاء الوقت المحدد، يلغي أذونات التطبيق (manifest و AppOp) من تلقاء نفسه، أو يطلب منك القيام بذلك، اعتماداً على التفضيلات التي قمت بتعيينها.</p>\n<p><img alt=\"مراقب الإذن\" class=\"media\" src=\"../../img/perm_watcher.gif\" /></p>\n<p>يقوم مراقب الأذونات أيضا بإعلامك بتعيين الأذونات على التطبيقات المثبتة حديثا (في الملف الشخصي للمستخدم الرئيسي / المالك فقط).</p>\n<p><img alt=\"إعدادات مراقب الأذونات\" class=\"media\" src=\"../../img/watcher_settings.webp\" /></p>\n<p>ملاحظة:</p>\n<ul>\n<li>يتم إلغاء فقط الأذونات مع حالة المرجع <font color=\"#FF0000\">RED</font> ، وليس تلك مع الحالة <font color=\"#FFC107\">ORANGE</font>. لذا فأنت <strong>MUST</strong> أولاً تقوم بتعيين البيانات المرجعية. انظر <a href=\"../permission-references/\">مراجع الأذونات</a>.</li>\n<li>Manifest الأذونات فقط مع <em>خطر</em> <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">مستوى الحماية</a> يتم مراقبتها. هذه هي التي تتغير عادة. الأذونات التي تحتوي على <em>توقيع</em> أو <em>تطوير</em> مستوى حماية أو تلك التي تحمل <em>نظام محدد</em> العلم لا تخضع للمراقبة، على الرغم من أنها قابلة للتغيير.</li>\n<li>PMX يشاهد فقط <em>المستخدم</em>-المثبت أو تطبيقات <em>النظام</em> العادية، وليس تطبيقات <em>الإطار</em>. قد يؤدي تغييرها إلى طوب الجهاز.</li>\n<li>في بعض الأجهزة قد لا يعمل مراقب الأذونات بشكل موثوق للتطبيقات في المستخدم الثانوي/الملف الشخصي. يوصى باستخدامه مع المدقق المجدول.</li>\n</ul>\n<hr />\n<p><strong id=\"perm-watcher-fails\">لماذا فشل بدء مراقبة الأذونات؟</strong></p>\n<p>هل تستخدم ADB؟ بعض مصنعي المعدات الأصلية يزيلون الإذن <code>OBSERVE_GRANT_REVOKE_PERMISSIONS</code> أو <code>SET_ACTIVITY_WATCHER</code> من حزمة <em>Shell</em>. وإذا كانت هذه هي الحالة معكم، فإننا نأسف لذلك. وهذا شيء لا يمكننا إصلاحه. على هذه الأجهزة لا يمكن مراقبة الأذونات العمل إلا مع الجذر. انظر <a href=\"../use-with-adb/#limitations-of-adb\">حدود ADB</a>.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  عد إلى الأعلى\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"هامش سفلي\" >\n        \n          \n          <a href=\"../scheduled-check/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"السابقة: الفحص المجدول\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                السابقة\n              </span>\n              <div class=\"md-ellipsis\">\n                الفحص المجدول\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../permission-view/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"التالية: عرض الإذن\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                التالية\n              </span>\n              <div class=\"md-ellipsis\">\n                عرض الإذن\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u062a\\u0645 \\u0627\\u0644\\u0646\\u0633\\u062e \\u0627\\u0644\\u0649 \\u0627\\u0644\\u062d\\u0627\\u0641\\u0638\\u0629\", \"clipboard.copy\": \"\\u0646\\u0633\\u062e \\u0625\\u0644\\u0649 \\u0627\\u0644\\u062d\\u0627\\u0641\\u0638\\u0629\", \"search.result.more.one\": \"\\u0623\\u0643\\u062b\\u0631 \\u0645\\u0646 1 \\u0641\\u064a \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0635\\u0641\\u062d\\u0629\", \"search.result.more.other\": \"\\u0623\\u0643\\u062b\\u0631 \\u0645\\u0646 # \\u0641\\u064a \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0635\\u0641\\u062d\\u0629\", \"search.result.none\": \"\\u0644\\u0627 \\u062a\\u0648\\u062c\\u062f \\u0646\\u062a\\u0627\\u0626\\u062c\", \"search.result.one\": \"\\u0646\\u062a\\u0627\\u0626\\u062c \\u0627\\u0644\\u0628\\u062d\\u062b \\u0645\\u0633\\u062a\\u0646\\u062f \\u0648\\u0627\\u062d\\u062f\", \"search.result.other\": \"\\u0646\\u062a\\u0627\\u0626\\u062c \\u0627\\u0644\\u0628\\u062d\\u062b # \\u0645\\u0633\\u062a\\u0646\\u062f\\u0627\\u062a\", \"search.result.placeholder\": \"\\u0627\\u0643\\u062a\\u0628 \\u0644\\u0628\\u062f\\u0621 \\u0627\\u0644\\u0628\\u062d\\u062b\", \"search.result.term.missing\": \"\\u0645\\u0641\\u0642\\u0648\\u062f\", \"select.version\": \"\\u0625\\u062e\\u062a\\u0631 \\u0627\\u0644\\u0625\\u0635\\u062f\\u0627\\u0631\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/ar/scheduled-check/index.html",
    "content": "\n<!doctype html>\n<html lang=\"ar\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"أتمتة مراجعات الأذونات الدورية مع PMX. الفحوص المجدولة تكشف عن تغييرات غير مرغوب فيها، وتبلغك وإلغاء المنح المحفوفة بالمخاطر تلقائياً اختيارياً.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/scheduled-check/\">\n      \n      \n        <link rel=\"prev\" href=\"../search/\">\n      \n      \n        <link rel=\"next\" href=\"../permission-watcher/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../scheduled-check/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/scheduled-check/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/scheduled-check/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/scheduled-check/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/scheduled-check/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/scheduled-check/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/scheduled-check/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>الفحص المجدول - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"rtl\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"عنوان العارضة\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              الفحص المجدول\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"إختر اللغة\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../scheduled-check/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/scheduled-check/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/scheduled-check/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/scheduled-check/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/scheduled-check/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/scheduled-check/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/scheduled-check/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"بحث\" placeholder=\"بحث\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"إبحث\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"مسح كلي\" aria-label=\"مسح كلي\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            بدء البحث\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"تصفح\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ما هو PMX؟\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أذونات البيان والتطبيقات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مراجع الصلاحيات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    تم شرح واجهة المستخدم\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    بحث\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    الفحص المجدول\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مراقب الأذونات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    عرض الإذن\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    عمليات الدفعات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التكامل مع WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    استخدام PMX مع ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    إصدارات PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ar/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ميزات مدفوعة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أسئلة PMX المتكررة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التنزيلات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    لقطات الشاشة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ar/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التقييمات / المراجعات / التعليقات / التصويتات / النجوم\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    اتصل بنا\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التطبيقات\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    التطبيقات\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مدير الصلاحيّات X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أسئلة أندرويد الشائعة\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    أسئلة أندرويد الشائعة\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    الأسئلة المتكررة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    دليل ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    دليل ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    إقران/ربط التطبيق بـ ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>الفحص المجدول</h1>\n\n<p>هل تريد تتبع أي تغييرات غير مرغوب فيها على أذونات جميع التطبيقات المثبتة؟ يمكن للفحص المجدول القيام بذلك من أجلك على فترات منتظمة (بالدقائق أو الساعات أو الأيام).</p>\n<p>تعيين <a href=\"../permission-references/\">مراجع الأذونات</a> إلى <font color=\"#90EE90\">GREEN</font> وترك الباقي إلى PMX. إذا تم العثور على أي إذن تم تغييره (بحالة <font color=\"#FF0000\">حمراء</font> ) أو عند العثور على تطبيق جديد تم تثبيته (بأذونات بحالة <font color=\"#FFC107\">برتقالية</font> )، PMX يذكرك بأن هناك شيئًا ما يحتاج إلى اهتمامك.</p>\n<p>بالإضافة إلى ذلك، إذا تم تكوينه في التفضيلات، يمكن للفحص المجدول أن يلغي تلقائياً الأذونات الممنوحة يعقبها إشعار معلوماتي.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  عد إلى الأعلى\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"هامش سفلي\" >\n        \n          \n          <a href=\"../search/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"السابقة: بحث\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                السابقة\n              </span>\n              <div class=\"md-ellipsis\">\n                بحث\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../permission-watcher/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"التالية: مراقب الأذونات\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                التالية\n              </span>\n              <div class=\"md-ellipsis\">\n                مراقب الأذونات\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u062a\\u0645 \\u0627\\u0644\\u0646\\u0633\\u062e \\u0627\\u0644\\u0649 \\u0627\\u0644\\u062d\\u0627\\u0641\\u0638\\u0629\", \"clipboard.copy\": \"\\u0646\\u0633\\u062e \\u0625\\u0644\\u0649 \\u0627\\u0644\\u062d\\u0627\\u0641\\u0638\\u0629\", \"search.result.more.one\": \"\\u0623\\u0643\\u062b\\u0631 \\u0645\\u0646 1 \\u0641\\u064a \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0635\\u0641\\u062d\\u0629\", \"search.result.more.other\": \"\\u0623\\u0643\\u062b\\u0631 \\u0645\\u0646 # \\u0641\\u064a \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0635\\u0641\\u062d\\u0629\", \"search.result.none\": \"\\u0644\\u0627 \\u062a\\u0648\\u062c\\u062f \\u0646\\u062a\\u0627\\u0626\\u062c\", \"search.result.one\": \"\\u0646\\u062a\\u0627\\u0626\\u062c \\u0627\\u0644\\u0628\\u062d\\u062b \\u0645\\u0633\\u062a\\u0646\\u062f \\u0648\\u0627\\u062d\\u062f\", \"search.result.other\": \"\\u0646\\u062a\\u0627\\u0626\\u062c \\u0627\\u0644\\u0628\\u062d\\u062b # \\u0645\\u0633\\u062a\\u0646\\u062f\\u0627\\u062a\", \"search.result.placeholder\": \"\\u0627\\u0643\\u062a\\u0628 \\u0644\\u0628\\u062f\\u0621 \\u0627\\u0644\\u0628\\u062d\\u062b\", \"search.result.term.missing\": \"\\u0645\\u0641\\u0642\\u0648\\u062f\", \"select.version\": \"\\u0625\\u062e\\u062a\\u0631 \\u0627\\u0644\\u0625\\u0635\\u062f\\u0627\\u0631\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/ar/search/index.html",
    "content": "\n<!doctype html>\n<html lang=\"ar\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"بحث قوي PMX : العثور على التطبيقات عن طريق التسمية أو الحزمة أو UID؛ استخدام البحث العميق عن أسماء الأذونات ومشغلي التشغيل منطقي لمراجعة الأذونات السريعة.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/search/\">\n      \n      \n        <link rel=\"prev\" href=\"../details/\">\n      \n      \n        <link rel=\"next\" href=\"../scheduled-check/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../search/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/search/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/search/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/search/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/search/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/search/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/search/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>بحث - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"rtl\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"عنوان العارضة\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              بحث\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"إختر اللغة\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../search/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/search/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/search/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/search/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/search/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/search/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/search/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"بحث\" placeholder=\"بحث\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"إبحث\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"مسح كلي\" aria-label=\"مسح كلي\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            بدء البحث\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"تصفح\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ما هو PMX؟\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أذونات البيان والتطبيقات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مراجع الصلاحيات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    تم شرح واجهة المستخدم\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    بحث\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    الفحص المجدول\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مراقب الأذونات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    عرض الإذن\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    عمليات الدفعات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التكامل مع WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    استخدام PMX مع ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    إصدارات PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ar/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ميزات مدفوعة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أسئلة PMX المتكررة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التنزيلات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    لقطات الشاشة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ar/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التقييمات / المراجعات / التعليقات / التصويتات / النجوم\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    اتصل بنا\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التطبيقات\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    التطبيقات\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مدير الصلاحيّات X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أسئلة أندرويد الشائعة\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    أسئلة أندرويد الشائعة\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    الأسئلة المتكررة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    دليل ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    دليل ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    إقران/ربط التطبيق بـ ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>بحث</h1>\n\n<p><img alt=\"بحث\" class=\"media\" src=\"../../img/search.webp\" /></p>\n<p>عادة يتم البحث عن تسمية الحزمة والاسم و UID من قائمة مرئية.</p>\n<p>مع <strong>البحث العميق</strong>، يتم الاستعلام عن اسم الإذن والمعلمات الأخرى.</p>\n<p>لاحظ أن <strong>مرشحات الاستبعاد</strong> فعالة عند إجراء البحث.</p>\n<p>يمكنك استخدام الكلمات الرئيسية الخاصة التالية في البحث:</p>\n<ul>\n<li>\n<p>حالة التطبيق:</p>\n<p><code>:Critical</code> <code>:Framework</code> <code>:System</code> <code>:User</code> <code>:Disabled</code></p>\n</li>\n<li>\n<p>الحالة المرجعية:</p>\n<p><code>:ORANGE</code> <code>:GREEN</code> <code>:RED</code></p>\n</li>\n<li>\n<p>الأذونات <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">مستوى الحماية</a>:</p>\n<p><code>:Normal</code> <code>:Dangerous</code> <code>:Signature</code> <code>:Internal</code> <code>:Development</code> <code>:Privileged</code> <code>:Fixed</code> <code>:AppOps</code> <code>:Unknown</code></p>\n</li>\n<li>\n<p>لكل UID AppOps:</p>\n<p><code>:UID</code></p>\n</li>\n<li>\n<p>AppOps مع آخر وقت للوصول أو الرفض:</p>\n<p><code>:TIME</code></p>\n</li>\n<li>\n<p>اضافية AppOps (لم يتم استبعادها أبدا في إعدادات التصفية):</p>\n<p><code>:EXTRA</code></p>\n</li>\n<li>\n<p><code>&amp;</code> (AND) و <code>|</code> (OR) و <code>!</code> (NOT) المشغلات:</p>\n<p><code>Foo|Bar&amp;Baz</code></p>\n<p><code>Foo&amp;!Bar&amp;!Baz</code></p>\n</li>\n</ul>\n<p>وتظهر النسخة المدفوعة أيضا اقتراحات البحث (إذا تم تعيينها في تفضيلات) لتسهيل عملية البحث.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  عد إلى الأعلى\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"هامش سفلي\" >\n        \n          \n          <a href=\"../details/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"السابقة: تم شرح واجهة المستخدم\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                السابقة\n              </span>\n              <div class=\"md-ellipsis\">\n                تم شرح واجهة المستخدم\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../scheduled-check/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"التالية: الفحص المجدول\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                التالية\n              </span>\n              <div class=\"md-ellipsis\">\n                الفحص المجدول\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u062a\\u0645 \\u0627\\u0644\\u0646\\u0633\\u062e \\u0627\\u0644\\u0649 \\u0627\\u0644\\u062d\\u0627\\u0641\\u0638\\u0629\", \"clipboard.copy\": \"\\u0646\\u0633\\u062e \\u0625\\u0644\\u0649 \\u0627\\u0644\\u062d\\u0627\\u0641\\u0638\\u0629\", \"search.result.more.one\": \"\\u0623\\u0643\\u062b\\u0631 \\u0645\\u0646 1 \\u0641\\u064a \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0635\\u0641\\u062d\\u0629\", \"search.result.more.other\": \"\\u0623\\u0643\\u062b\\u0631 \\u0645\\u0646 # \\u0641\\u064a \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0635\\u0641\\u062d\\u0629\", \"search.result.none\": \"\\u0644\\u0627 \\u062a\\u0648\\u062c\\u062f \\u0646\\u062a\\u0627\\u0626\\u062c\", \"search.result.one\": \"\\u0646\\u062a\\u0627\\u0626\\u062c \\u0627\\u0644\\u0628\\u062d\\u062b \\u0645\\u0633\\u062a\\u0646\\u062f \\u0648\\u0627\\u062d\\u062f\", \"search.result.other\": \"\\u0646\\u062a\\u0627\\u0626\\u062c \\u0627\\u0644\\u0628\\u062d\\u062b # \\u0645\\u0633\\u062a\\u0646\\u062f\\u0627\\u062a\", \"search.result.placeholder\": \"\\u0627\\u0643\\u062a\\u0628 \\u0644\\u0628\\u062f\\u0621 \\u0627\\u0644\\u0628\\u062d\\u062b\", \"search.result.term.missing\": \"\\u0645\\u0641\\u0642\\u0648\\u062f\", \"select.version\": \"\\u0625\\u062e\\u062a\\u0631 \\u0627\\u0644\\u0625\\u0635\\u062f\\u0627\\u0631\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/ar/use-with-adb/index.html",
    "content": "\n<!doctype html>\n<html lang=\"ar\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"إعداد واستخدام مدير الأذونات X مع ADB على أجهزة الأندرويد غير الجذر - الإقران، الأوامر المفيدة ADB والقيود والنصائح العملية.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/use-with-adb/\">\n      \n      \n        <link rel=\"prev\" href=\"../whatsrunning-integration/\">\n      \n      \n        <link rel=\"next\" href=\"../versions/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../use-with-adb/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/use-with-adb/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/use-with-adb/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/use-with-adb/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/use-with-adb/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/use-with-adb/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/use-with-adb/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>استخدام PMX مع ADB - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"rtl\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#limitations-of-adb\" class=\"md-skip\">\n          انتقل إلى المحتوى\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"عنوان العارضة\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              استخدام PMX مع ADB\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"إختر اللغة\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../use-with-adb/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/use-with-adb/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/use-with-adb/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/use-with-adb/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/use-with-adb/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/use-with-adb/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/use-with-adb/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"بحث\" placeholder=\"بحث\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"إبحث\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"مسح كلي\" aria-label=\"مسح كلي\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            بدء البحث\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"تصفح\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ما هو PMX؟\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أذونات البيان والتطبيقات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مراجع الصلاحيات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    تم شرح واجهة المستخدم\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    بحث\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    الفحص المجدول\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مراقب الأذونات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    عرض الإذن\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    عمليات الدفعات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التكامل مع WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    استخدام PMX مع ADB\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    استخدام PMX مع ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"جدول المحتويات\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      جدول المحتويات\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#limitations-of-adb\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        قيود ADB\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#adb-guide\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        دليل ADB\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    إصدارات PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ar/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ميزات مدفوعة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أسئلة PMX المتكررة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التنزيلات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    لقطات الشاشة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ar/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التقييمات / المراجعات / التعليقات / التصويتات / النجوم\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    اتصل بنا\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التطبيقات\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    التطبيقات\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مدير الصلاحيّات X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أسئلة أندرويد الشائعة\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    أسئلة أندرويد الشائعة\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    الأسئلة المتكررة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    دليل ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    دليل ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    إقران/ربط التطبيق بـ ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>استخدام PMX مع ADB</h1>\n\n<h2 id=\"limitations-of-adb\">قيود ADB<a class=\"headerlink\" href=\"#limitations-of-adb\" title=\"Permanent link\">&para;</a></h2>\n<p>ADB ليس قوي مثل الجذر يمكنك التحقق من الحالة الحالية لما يمكن أن يقوم به ADB في <strong>حول</strong> → <strong>الامتيازات</strong> (عنصر القائمة):</p>\n<p><img alt=\"PMX امتيازات\" class=\"media\" src=\"../../img/privs.webp\" /></p>\n<p>لمزيد من التفاصيل، انظر <a href=\"https://mirfatif.github.io/adb-guide/adb-limits/\">حدود ADB</a>. انظر أيضا <a href=\"../faqs/#faq43\">لماذا لا يعمل PMX بشكل صحيح على أنظمة تشغيل OEM أو مخصص ROMs?</a></p>\n<hr />\n<h2 id=\"adb-guide\">دليل ADB<a class=\"headerlink\" href=\"#adb-guide\" title=\"Permanent link\">&para;</a></h2>\n<p>يرجى الاطلاع على <a href=\"https://mirfatif.github.io/adb-guide/\">ADB الاقتران / دليل الاتصال</a>.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  عد إلى الأعلى\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"هامش سفلي\" >\n        \n          \n          <a href=\"../whatsrunning-integration/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"السابقة: التكامل مع WhatsRunning\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                السابقة\n              </span>\n              <div class=\"md-ellipsis\">\n                التكامل مع WhatsRunning\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../versions/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"التالية: إصدارات PMX\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                التالية\n              </span>\n              <div class=\"md-ellipsis\">\n                إصدارات PMX\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u062a\\u0645 \\u0627\\u0644\\u0646\\u0633\\u062e \\u0627\\u0644\\u0649 \\u0627\\u0644\\u062d\\u0627\\u0641\\u0638\\u0629\", \"clipboard.copy\": \"\\u0646\\u0633\\u062e \\u0625\\u0644\\u0649 \\u0627\\u0644\\u062d\\u0627\\u0641\\u0638\\u0629\", \"search.result.more.one\": \"\\u0623\\u0643\\u062b\\u0631 \\u0645\\u0646 1 \\u0641\\u064a \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0635\\u0641\\u062d\\u0629\", \"search.result.more.other\": \"\\u0623\\u0643\\u062b\\u0631 \\u0645\\u0646 # \\u0641\\u064a \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0635\\u0641\\u062d\\u0629\", \"search.result.none\": \"\\u0644\\u0627 \\u062a\\u0648\\u062c\\u062f \\u0646\\u062a\\u0627\\u0626\\u062c\", \"search.result.one\": \"\\u0646\\u062a\\u0627\\u0626\\u062c \\u0627\\u0644\\u0628\\u062d\\u062b \\u0645\\u0633\\u062a\\u0646\\u062f \\u0648\\u0627\\u062d\\u062f\", \"search.result.other\": \"\\u0646\\u062a\\u0627\\u0626\\u062c \\u0627\\u0644\\u0628\\u062d\\u062b # \\u0645\\u0633\\u062a\\u0646\\u062f\\u0627\\u062a\", \"search.result.placeholder\": \"\\u0627\\u0643\\u062a\\u0628 \\u0644\\u0628\\u062f\\u0621 \\u0627\\u0644\\u0628\\u062d\\u062b\", \"search.result.term.missing\": \"\\u0645\\u0641\\u0642\\u0648\\u062f\", \"select.version\": \"\\u0625\\u062e\\u062a\\u0631 \\u0627\\u0644\\u0625\\u0635\\u062f\\u0627\\u0631\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/ar/versions/index.html",
    "content": "\n<!doctype html>\n<html lang=\"ar\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"قارن PMX Free مقابل Ppay: تشمل الميزات المدفوعة الفحوص المجدولة، ومراقب الأذونات، والإلغاء التلقائي، والدعم المتعدد المستخدمين وعمليات الدفعات.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/versions/\">\n      \n      \n        <link rel=\"prev\" href=\"../use-with-adb/\">\n      \n      \n        <link rel=\"next\" href=\"../faqs/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../versions/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/versions/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/versions/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/versions/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/versions/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/versions/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/versions/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>إصدارات PMX - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"rtl\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#paid-features\" class=\"md-skip\">\n          انتقل إلى المحتوى\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"عنوان العارضة\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              إصدارات PMX\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"إختر اللغة\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../versions/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/versions/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/versions/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/versions/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/versions/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/versions/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/versions/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"بحث\" placeholder=\"بحث\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"إبحث\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"مسح كلي\" aria-label=\"مسح كلي\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            بدء البحث\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"تصفح\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ما هو PMX؟\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أذونات البيان والتطبيقات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مراجع الصلاحيات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    تم شرح واجهة المستخدم\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    بحث\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    الفحص المجدول\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مراقب الأذونات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    عرض الإذن\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    عمليات الدفعات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التكامل مع WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    استخدام PMX مع ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    إصدارات PMX\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    إصدارات PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"جدول المحتويات\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      جدول المحتويات\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#paid-features\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        الميزات المدفوعة\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ar/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ميزات مدفوعة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أسئلة PMX المتكررة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التنزيلات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    لقطات الشاشة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ar/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التقييمات / المراجعات / التعليقات / التصويتات / النجوم\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    اتصل بنا\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التطبيقات\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    التطبيقات\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مدير الصلاحيّات X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أسئلة أندرويد الشائعة\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    أسئلة أندرويد الشائعة\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    الأسئلة المتكررة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    دليل ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    دليل ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    إقران/ربط التطبيق بـ ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>إصدارات PMX</h1>\n\n<p>PMX متوفر في متغيرين: <strong>مدفوع</strong> و <strong>مجاني</strong>. الإصدار المدفوع متاح في اثنين من المتغيرات: <strong>Play Store</strong> و <strong>Pro</strong>. يتم اطلاق أحدث APKs في متجر Play و GitHub وقناة Telegram</p>\n<h2 id=\"paid-features\">الميزات المدفوعة<a class=\"headerlink\" href=\"#paid-features\" title=\"Permanent link\">&para;</a></h2>\n<p>الإصدار المدفوع يتضمن كل شيء في الإصدار المجاني، بالإضافة إلى الميزات الإضافية التالية التي ترد أيضًا في وصف متجر بلاي:</p>\n<ul>\n<li>التحقق المجدول لإشعار الحالات المرجعية السيئة</li>\n<li>راقب التغييرات في الصلاحيات و التراجع عنها</li>\n<li>الإلغاء التلقائي للصلاحيات الممنوحة مع حالات RED</li>\n<li>إجراء تغييرات على التطبيقات والأذونات الحرجة</li>\n<li>مستخدمين متعددين / دعم الملف الشخصي للعمل</li>\n<li>عمليات الدُفعات (الملفات الشخصية)</li>\n<li>عرض الأذونات</li>\n</ul>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  عد إلى الأعلى\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"هامش سفلي\" >\n        \n          \n          <a href=\"../use-with-adb/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"السابقة: استخدام PMX مع ADB\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                السابقة\n              </span>\n              <div class=\"md-ellipsis\">\n                استخدام PMX مع ADB\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../faqs/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"التالية: أسئلة PMX المتكررة\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                التالية\n              </span>\n              <div class=\"md-ellipsis\">\n                أسئلة PMX المتكررة\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u062a\\u0645 \\u0627\\u0644\\u0646\\u0633\\u062e \\u0627\\u0644\\u0649 \\u0627\\u0644\\u062d\\u0627\\u0641\\u0638\\u0629\", \"clipboard.copy\": \"\\u0646\\u0633\\u062e \\u0625\\u0644\\u0649 \\u0627\\u0644\\u062d\\u0627\\u0641\\u0638\\u0629\", \"search.result.more.one\": \"\\u0623\\u0643\\u062b\\u0631 \\u0645\\u0646 1 \\u0641\\u064a \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0635\\u0641\\u062d\\u0629\", \"search.result.more.other\": \"\\u0623\\u0643\\u062b\\u0631 \\u0645\\u0646 # \\u0641\\u064a \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0635\\u0641\\u062d\\u0629\", \"search.result.none\": \"\\u0644\\u0627 \\u062a\\u0648\\u062c\\u062f \\u0646\\u062a\\u0627\\u0626\\u062c\", \"search.result.one\": \"\\u0646\\u062a\\u0627\\u0626\\u062c \\u0627\\u0644\\u0628\\u062d\\u062b \\u0645\\u0633\\u062a\\u0646\\u062f \\u0648\\u0627\\u062d\\u062f\", \"search.result.other\": \"\\u0646\\u062a\\u0627\\u0626\\u062c \\u0627\\u0644\\u0628\\u062d\\u062b # \\u0645\\u0633\\u062a\\u0646\\u062f\\u0627\\u062a\", \"search.result.placeholder\": \"\\u0627\\u0643\\u062a\\u0628 \\u0644\\u0628\\u062f\\u0621 \\u0627\\u0644\\u0628\\u062d\\u062b\", \"search.result.term.missing\": \"\\u0645\\u0641\\u0642\\u0648\\u062f\", \"select.version\": \"\\u0625\\u062e\\u062a\\u0631 \\u0627\\u0644\\u0625\\u0635\\u062f\\u0627\\u0631\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/ar/whatsrunning-integration/index.html",
    "content": "\n<!doctype html>\n<html lang=\"ar\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"PMX يتكامل مع WhatsRunning — انتقل بين الأدوات لترى ما إذا كانت التطبيقات ذات الأذونات المقيدة قيد التشغيل وتفقد استخدامها للموارد.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/whatsrunning-integration/\">\n      \n      \n        <link rel=\"prev\" href=\"../batch-operations/\">\n      \n      \n        <link rel=\"next\" href=\"../use-with-adb/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../whatsrunning-integration/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/whatsrunning-integration/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/whatsrunning-integration/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/whatsrunning-integration/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/whatsrunning-integration/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/whatsrunning-integration/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/whatsrunning-integration/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>التكامل مع WhatsRunning - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"rtl\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"عنوان العارضة\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              التكامل مع WhatsRunning\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"إختر اللغة\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../whatsrunning-integration/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/whatsrunning-integration/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/whatsrunning-integration/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/whatsrunning-integration/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/whatsrunning-integration/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/whatsrunning-integration/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/whatsrunning-integration/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"بحث\" placeholder=\"بحث\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"إبحث\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"مسح كلي\" aria-label=\"مسح كلي\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            بدء البحث\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"تصفح\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ما هو PMX؟\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أذونات البيان والتطبيقات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مراجع الصلاحيات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    تم شرح واجهة المستخدم\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    بحث\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    الفحص المجدول\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مراقب الأذونات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    عرض الإذن\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    عمليات الدفعات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التكامل مع WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    استخدام PMX مع ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    إصدارات PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ar/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ميزات مدفوعة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أسئلة PMX المتكررة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التنزيلات\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    لقطات الشاشة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ar/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التقييمات / المراجعات / التعليقات / التصويتات / النجوم\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    اتصل بنا\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    التطبيقات\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    التطبيقات\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    مدير الصلاحيّات X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    أسئلة أندرويد الشائعة\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    أسئلة أندرويد الشائعة\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    الأسئلة المتكررة\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    دليل ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    دليل ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    إقران/ربط التطبيق بـ ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>التكامل مع WhatsRunning</h1>\n\n<p>تم دمج PMX مع <a href=\"https://github.com/mirfatif/WhatsRunning\">WhatsRunning</a> حتى تتمكن من فتح واحد من الآخر.</p>\n<p><img alt=\"WhatsRunning integration\" class=\"media\" src=\"../../img/wrun_integration1.jpg\" /> <img alt=\"WhatsRunning integration\" class=\"media\" src=\"../../img/wrun_integration2.webp\" /></p>\n<p>لذا من PMX يمكنك التبديل إلى WhatsRunning لمعرفة ما إذا كان التطبيق ذو الأذونات المقيدة لا يزال قيد التشغيل. إذا كان الجواب بالإيجاب، فما هي هذه الحالة وما هي الموارد التي تستخدمها.</p>\n<p>وبالمثل، من WhatsRunning يمكنك التبديل إلى PMX لمعرفة ما هي الأذونات الممنوحة للتطبيق قيد التشغيل (أو الميت).</p>\n<p>هذا مفيد بشكل خاص عند تحليل تأثير الأذونات مثل <code>RUN_IN_BACKGROUND</code>.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  عد إلى الأعلى\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"هامش سفلي\" >\n        \n          \n          <a href=\"../batch-operations/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"السابقة: عمليات الدفعات\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                السابقة\n              </span>\n              <div class=\"md-ellipsis\">\n                عمليات الدفعات\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../use-with-adb/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"التالية: استخدام PMX مع ADB\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                التالية\n              </span>\n              <div class=\"md-ellipsis\">\n                استخدام PMX مع ADB\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u062a\\u0645 \\u0627\\u0644\\u0646\\u0633\\u062e \\u0627\\u0644\\u0649 \\u0627\\u0644\\u062d\\u0627\\u0641\\u0638\\u0629\", \"clipboard.copy\": \"\\u0646\\u0633\\u062e \\u0625\\u0644\\u0649 \\u0627\\u0644\\u062d\\u0627\\u0641\\u0638\\u0629\", \"search.result.more.one\": \"\\u0623\\u0643\\u062b\\u0631 \\u0645\\u0646 1 \\u0641\\u064a \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0635\\u0641\\u062d\\u0629\", \"search.result.more.other\": \"\\u0623\\u0643\\u062b\\u0631 \\u0645\\u0646 # \\u0641\\u064a \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0635\\u0641\\u062d\\u0629\", \"search.result.none\": \"\\u0644\\u0627 \\u062a\\u0648\\u062c\\u062f \\u0646\\u062a\\u0627\\u0626\\u062c\", \"search.result.one\": \"\\u0646\\u062a\\u0627\\u0626\\u062c \\u0627\\u0644\\u0628\\u062d\\u062b \\u0645\\u0633\\u062a\\u0646\\u062f \\u0648\\u0627\\u062d\\u062f\", \"search.result.other\": \"\\u0646\\u062a\\u0627\\u0626\\u062c \\u0627\\u0644\\u0628\\u062d\\u062b # \\u0645\\u0633\\u062a\\u0646\\u062f\\u0627\\u062a\", \"search.result.placeholder\": \"\\u0627\\u0643\\u062a\\u0628 \\u0644\\u0628\\u062f\\u0621 \\u0627\\u0644\\u0628\\u062d\\u062b\", \"search.result.term.missing\": \"\\u0645\\u0641\\u0642\\u0648\\u062f\", \"select.version\": \"\\u0625\\u062e\\u062a\\u0631 \\u0627\\u0644\\u0625\\u0635\\u062f\\u0627\\u0631\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/assets/javascripts/lunr/tinyseg.js",
    "content": "/**\n * export the module via AMD, CommonJS or as a browser global\n * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js\n */\n;(function (root, factory) {\n    if (typeof define === 'function' && define.amd) {\n        // AMD. Register as an anonymous module.\n        define(factory)\n    } else if (typeof exports === 'object') {\n        /**\n         * Node. Does not work with strict CommonJS, but\n         * only CommonJS-like environments that support module.exports,\n         * like Node.\n         */\n        module.exports = factory()\n    } else {\n        // Browser globals (root is window)\n        factory()(root.lunr);\n    }\n}(this, function () {\n    /**\n     * Just return a value to define the module export.\n     * This example returns an object, but the module\n     * can return a function as the exported value.\n     */\n\n    return function(lunr) {\n        // TinySegmenter 0.1 -- Super compact Japanese tokenizer in Javascript\n        // (c) 2008 Taku Kudo <taku@chasen.org>\n        // TinySegmenter is freely distributable under the terms of a new BSD licence.\n        // For details, see http://chasen.org/~taku/software/TinySegmenter/LICENCE.txt\n\n        function TinySegmenter() {\n          var patterns = {\n            \"[一二三四五六七八九十百千万億兆]\":\"M\",\n            \"[一-龠々〆ヵヶ]\":\"H\",\n            \"[ぁ-ん]\":\"I\",\n            \"[ァ-ヴーｱ-ﾝﾞｰ]\":\"K\",\n            \"[a-zA-Zａ-ｚＡ-Ｚ]\":\"A\",\n            \"[0-9０-９]\":\"N\"\n          }\n          this.chartype_ = [];\n          for (var i in patterns) {\n            var regexp = new RegExp(i);\n            this.chartype_.push([regexp, patterns[i]]);\n          }\n\n          this.BIAS__ = -332\n          this.BC1__ = {\"HH\":6,\"II\":2461,\"KH\":406,\"OH\":-1378};\n          this.BC2__ = {\"AA\":-3267,\"AI\":2744,\"AN\":-878,\"HH\":-4070,\"HM\":-1711,\"HN\":4012,\"HO\":3761,\"IA\":1327,\"IH\":-1184,\"II\":-1332,\"IK\":1721,\"IO\":5492,\"KI\":3831,\"KK\":-8741,\"MH\":-3132,\"MK\":3334,\"OO\":-2920};\n          this.BC3__ = {\"HH\":996,\"HI\":626,\"HK\":-721,\"HN\":-1307,\"HO\":-836,\"IH\":-301,\"KK\":2762,\"MK\":1079,\"MM\":4034,\"OA\":-1652,\"OH\":266};\n          this.BP1__ = {\"BB\":295,\"OB\":304,\"OO\":-125,\"UB\":352};\n          this.BP2__ = {\"BO\":60,\"OO\":-1762};\n          this.BQ1__ = {\"BHH\":1150,\"BHM\":1521,\"BII\":-1158,\"BIM\":886,\"BMH\":1208,\"BNH\":449,\"BOH\":-91,\"BOO\":-2597,\"OHI\":451,\"OIH\":-296,\"OKA\":1851,\"OKH\":-1020,\"OKK\":904,\"OOO\":2965};\n          this.BQ2__ = {\"BHH\":118,\"BHI\":-1159,\"BHM\":466,\"BIH\":-919,\"BKK\":-1720,\"BKO\":864,\"OHH\":-1139,\"OHM\":-181,\"OIH\":153,\"UHI\":-1146};\n          this.BQ3__ = {\"BHH\":-792,\"BHI\":2664,\"BII\":-299,\"BKI\":419,\"BMH\":937,\"BMM\":8335,\"BNN\":998,\"BOH\":775,\"OHH\":2174,\"OHM\":439,\"OII\":280,\"OKH\":1798,\"OKI\":-793,\"OKO\":-2242,\"OMH\":-2402,\"OOO\":11699};\n          this.BQ4__ = {\"BHH\":-3895,\"BIH\":3761,\"BII\":-4654,\"BIK\":1348,\"BKK\":-1806,\"BMI\":-3385,\"BOO\":-12396,\"OAH\":926,\"OHH\":266,\"OHK\":-2036,\"ONN\":-973};\n          this.BW1__ = {\",と\":660,\",同\":727,\"B1あ\":1404,\"B1同\":542,\"、と\":660,\"、同\":727,\"」と\":1682,\"あっ\":1505,\"いう\":1743,\"いっ\":-2055,\"いる\":672,\"うし\":-4817,\"うん\":665,\"から\":3472,\"がら\":600,\"こう\":-790,\"こと\":2083,\"こん\":-1262,\"さら\":-4143,\"さん\":4573,\"した\":2641,\"して\":1104,\"すで\":-3399,\"そこ\":1977,\"それ\":-871,\"たち\":1122,\"ため\":601,\"った\":3463,\"つい\":-802,\"てい\":805,\"てき\":1249,\"でき\":1127,\"です\":3445,\"では\":844,\"とい\":-4915,\"とみ\":1922,\"どこ\":3887,\"ない\":5713,\"なっ\":3015,\"など\":7379,\"なん\":-1113,\"にし\":2468,\"には\":1498,\"にも\":1671,\"に対\":-912,\"の一\":-501,\"の中\":741,\"ませ\":2448,\"まで\":1711,\"まま\":2600,\"まる\":-2155,\"やむ\":-1947,\"よっ\":-2565,\"れた\":2369,\"れで\":-913,\"をし\":1860,\"を見\":731,\"亡く\":-1886,\"京都\":2558,\"取り\":-2784,\"大き\":-2604,\"大阪\":1497,\"平方\":-2314,\"引き\":-1336,\"日本\":-195,\"本当\":-2423,\"毎日\":-2113,\"目指\":-724,\"Ｂ１あ\":1404,\"Ｂ１同\":542,\"｣と\":1682};\n          this.BW2__ = {\"..\":-11822,\"11\":-669,\"――\":-5730,\"−−\":-13175,\"いう\":-1609,\"うか\":2490,\"かし\":-1350,\"かも\":-602,\"から\":-7194,\"かれ\":4612,\"がい\":853,\"がら\":-3198,\"きた\":1941,\"くな\":-1597,\"こと\":-8392,\"この\":-4193,\"させ\":4533,\"され\":13168,\"さん\":-3977,\"しい\":-1819,\"しか\":-545,\"した\":5078,\"して\":972,\"しな\":939,\"その\":-3744,\"たい\":-1253,\"たた\":-662,\"ただ\":-3857,\"たち\":-786,\"たと\":1224,\"たは\":-939,\"った\":4589,\"って\":1647,\"っと\":-2094,\"てい\":6144,\"てき\":3640,\"てく\":2551,\"ては\":-3110,\"ても\":-3065,\"でい\":2666,\"でき\":-1528,\"でし\":-3828,\"です\":-4761,\"でも\":-4203,\"とい\":1890,\"とこ\":-1746,\"とと\":-2279,\"との\":720,\"とみ\":5168,\"とも\":-3941,\"ない\":-2488,\"なが\":-1313,\"など\":-6509,\"なの\":2614,\"なん\":3099,\"にお\":-1615,\"にし\":2748,\"にな\":2454,\"によ\":-7236,\"に対\":-14943,\"に従\":-4688,\"に関\":-11388,\"のか\":2093,\"ので\":-7059,\"のに\":-6041,\"のの\":-6125,\"はい\":1073,\"はが\":-1033,\"はず\":-2532,\"ばれ\":1813,\"まし\":-1316,\"まで\":-6621,\"まれ\":5409,\"めて\":-3153,\"もい\":2230,\"もの\":-10713,\"らか\":-944,\"らし\":-1611,\"らに\":-1897,\"りし\":651,\"りま\":1620,\"れた\":4270,\"れて\":849,\"れば\":4114,\"ろう\":6067,\"われ\":7901,\"を通\":-11877,\"んだ\":728,\"んな\":-4115,\"一人\":602,\"一方\":-1375,\"一日\":970,\"一部\":-1051,\"上が\":-4479,\"会社\":-1116,\"出て\":2163,\"分の\":-7758,\"同党\":970,\"同日\":-913,\"大阪\":-2471,\"委員\":-1250,\"少な\":-1050,\"年度\":-8669,\"年間\":-1626,\"府県\":-2363,\"手権\":-1982,\"新聞\":-4066,\"日新\":-722,\"日本\":-7068,\"日米\":3372,\"曜日\":-601,\"朝鮮\":-2355,\"本人\":-2697,\"東京\":-1543,\"然と\":-1384,\"社会\":-1276,\"立て\":-990,\"第に\":-1612,\"米国\":-4268,\"１１\":-669};\n          this.BW3__ = {\"あた\":-2194,\"あり\":719,\"ある\":3846,\"い.\":-1185,\"い。\":-1185,\"いい\":5308,\"いえ\":2079,\"いく\":3029,\"いた\":2056,\"いっ\":1883,\"いる\":5600,\"いわ\":1527,\"うち\":1117,\"うと\":4798,\"えと\":1454,\"か.\":2857,\"か。\":2857,\"かけ\":-743,\"かっ\":-4098,\"かに\":-669,\"から\":6520,\"かり\":-2670,\"が,\":1816,\"が、\":1816,\"がき\":-4855,\"がけ\":-1127,\"がっ\":-913,\"がら\":-4977,\"がり\":-2064,\"きた\":1645,\"けど\":1374,\"こと\":7397,\"この\":1542,\"ころ\":-2757,\"さい\":-714,\"さを\":976,\"し,\":1557,\"し、\":1557,\"しい\":-3714,\"した\":3562,\"して\":1449,\"しな\":2608,\"しま\":1200,\"す.\":-1310,\"す。\":-1310,\"する\":6521,\"ず,\":3426,\"ず、\":3426,\"ずに\":841,\"そう\":428,\"た.\":8875,\"た。\":8875,\"たい\":-594,\"たの\":812,\"たり\":-1183,\"たる\":-853,\"だ.\":4098,\"だ。\":4098,\"だっ\":1004,\"った\":-4748,\"って\":300,\"てい\":6240,\"てお\":855,\"ても\":302,\"です\":1437,\"でに\":-1482,\"では\":2295,\"とう\":-1387,\"とし\":2266,\"との\":541,\"とも\":-3543,\"どう\":4664,\"ない\":1796,\"なく\":-903,\"など\":2135,\"に,\":-1021,\"に、\":-1021,\"にし\":1771,\"にな\":1906,\"には\":2644,\"の,\":-724,\"の、\":-724,\"の子\":-1000,\"は,\":1337,\"は、\":1337,\"べき\":2181,\"まし\":1113,\"ます\":6943,\"まっ\":-1549,\"まで\":6154,\"まれ\":-793,\"らし\":1479,\"られ\":6820,\"るる\":3818,\"れ,\":854,\"れ、\":854,\"れた\":1850,\"れて\":1375,\"れば\":-3246,\"れる\":1091,\"われ\":-605,\"んだ\":606,\"んで\":798,\"カ月\":990,\"会議\":860,\"入り\":1232,\"大会\":2217,\"始め\":1681,\"市\":965,\"新聞\":-5055,\"日,\":974,\"日、\":974,\"社会\":2024,\"ｶ月\":990};\n          this.TC1__ = {\"AAA\":1093,\"HHH\":1029,\"HHM\":580,\"HII\":998,\"HOH\":-390,\"HOM\":-331,\"IHI\":1169,\"IOH\":-142,\"IOI\":-1015,\"IOM\":467,\"MMH\":187,\"OOI\":-1832};\n          this.TC2__ = {\"HHO\":2088,\"HII\":-1023,\"HMM\":-1154,\"IHI\":-1965,\"KKH\":703,\"OII\":-2649};\n          this.TC3__ = {\"AAA\":-294,\"HHH\":346,\"HHI\":-341,\"HII\":-1088,\"HIK\":731,\"HOH\":-1486,\"IHH\":128,\"IHI\":-3041,\"IHO\":-1935,\"IIH\":-825,\"IIM\":-1035,\"IOI\":-542,\"KHH\":-1216,\"KKA\":491,\"KKH\":-1217,\"KOK\":-1009,\"MHH\":-2694,\"MHM\":-457,\"MHO\":123,\"MMH\":-471,\"NNH\":-1689,\"NNO\":662,\"OHO\":-3393};\n          this.TC4__ = {\"HHH\":-203,\"HHI\":1344,\"HHK\":365,\"HHM\":-122,\"HHN\":182,\"HHO\":669,\"HIH\":804,\"HII\":679,\"HOH\":446,\"IHH\":695,\"IHO\":-2324,\"IIH\":321,\"III\":1497,\"IIO\":656,\"IOO\":54,\"KAK\":4845,\"KKA\":3386,\"KKK\":3065,\"MHH\":-405,\"MHI\":201,\"MMH\":-241,\"MMM\":661,\"MOM\":841};\n          this.TQ1__ = {\"BHHH\":-227,\"BHHI\":316,\"BHIH\":-132,\"BIHH\":60,\"BIII\":1595,\"BNHH\":-744,\"BOHH\":225,\"BOOO\":-908,\"OAKK\":482,\"OHHH\":281,\"OHIH\":249,\"OIHI\":200,\"OIIH\":-68};\n          this.TQ2__ = {\"BIHH\":-1401,\"BIII\":-1033,\"BKAK\":-543,\"BOOO\":-5591};\n          this.TQ3__ = {\"BHHH\":478,\"BHHM\":-1073,\"BHIH\":222,\"BHII\":-504,\"BIIH\":-116,\"BIII\":-105,\"BMHI\":-863,\"BMHM\":-464,\"BOMH\":620,\"OHHH\":346,\"OHHI\":1729,\"OHII\":997,\"OHMH\":481,\"OIHH\":623,\"OIIH\":1344,\"OKAK\":2792,\"OKHH\":587,\"OKKA\":679,\"OOHH\":110,\"OOII\":-685};\n          this.TQ4__ = {\"BHHH\":-721,\"BHHM\":-3604,\"BHII\":-966,\"BIIH\":-607,\"BIII\":-2181,\"OAAA\":-2763,\"OAKK\":180,\"OHHH\":-294,\"OHHI\":2446,\"OHHO\":480,\"OHIH\":-1573,\"OIHH\":1935,\"OIHI\":-493,\"OIIH\":626,\"OIII\":-4007,\"OKAK\":-8156};\n          this.TW1__ = {\"につい\":-4681,\"東京都\":2026};\n          this.TW2__ = {\"ある程\":-2049,\"いった\":-1256,\"ころが\":-2434,\"しょう\":3873,\"その後\":-4430,\"だって\":-1049,\"ていた\":1833,\"として\":-4657,\"ともに\":-4517,\"もので\":1882,\"一気に\":-792,\"初めて\":-1512,\"同時に\":-8097,\"大きな\":-1255,\"対して\":-2721,\"社会党\":-3216};\n          this.TW3__ = {\"いただ\":-1734,\"してい\":1314,\"として\":-4314,\"につい\":-5483,\"にとっ\":-5989,\"に当た\":-6247,\"ので,\":-727,\"ので、\":-727,\"のもの\":-600,\"れから\":-3752,\"十二月\":-2287};\n          this.TW4__ = {\"いう.\":8576,\"いう。\":8576,\"からな\":-2348,\"してい\":2958,\"たが,\":1516,\"たが、\":1516,\"ている\":1538,\"という\":1349,\"ました\":5543,\"ません\":1097,\"ようと\":-4258,\"よると\":5865};\n          this.UC1__ = {\"A\":484,\"K\":93,\"M\":645,\"O\":-505};\n          this.UC2__ = {\"A\":819,\"H\":1059,\"I\":409,\"M\":3987,\"N\":5775,\"O\":646};\n          this.UC3__ = {\"A\":-1370,\"I\":2311};\n          this.UC4__ = {\"A\":-2643,\"H\":1809,\"I\":-1032,\"K\":-3450,\"M\":3565,\"N\":3876,\"O\":6646};\n          this.UC5__ = {\"H\":313,\"I\":-1238,\"K\":-799,\"M\":539,\"O\":-831};\n          this.UC6__ = {\"H\":-506,\"I\":-253,\"K\":87,\"M\":247,\"O\":-387};\n          this.UP1__ = {\"O\":-214};\n          this.UP2__ = {\"B\":69,\"O\":935};\n          this.UP3__ = {\"B\":189};\n          this.UQ1__ = {\"BH\":21,\"BI\":-12,\"BK\":-99,\"BN\":142,\"BO\":-56,\"OH\":-95,\"OI\":477,\"OK\":410,\"OO\":-2422};\n          this.UQ2__ = {\"BH\":216,\"BI\":113,\"OK\":1759};\n          this.UQ3__ = {\"BA\":-479,\"BH\":42,\"BI\":1913,\"BK\":-7198,\"BM\":3160,\"BN\":6427,\"BO\":14761,\"OI\":-827,\"ON\":-3212};\n          this.UW1__ = {\",\":156,\"、\":156,\"「\":-463,\"あ\":-941,\"う\":-127,\"が\":-553,\"き\":121,\"こ\":505,\"で\":-201,\"と\":-547,\"ど\":-123,\"に\":-789,\"の\":-185,\"は\":-847,\"も\":-466,\"や\":-470,\"よ\":182,\"ら\":-292,\"り\":208,\"れ\":169,\"を\":-446,\"ん\":-137,\"・\":-135,\"主\":-402,\"京\":-268,\"区\":-912,\"午\":871,\"国\":-460,\"大\":561,\"委\":729,\"市\":-411,\"日\":-141,\"理\":361,\"生\":-408,\"県\":-386,\"都\":-718,\"｢\":-463,\"･\":-135};\n          this.UW2__ = {\",\":-829,\"、\":-829,\"〇\":892,\"「\":-645,\"」\":3145,\"あ\":-538,\"い\":505,\"う\":134,\"お\":-502,\"か\":1454,\"が\":-856,\"く\":-412,\"こ\":1141,\"さ\":878,\"ざ\":540,\"し\":1529,\"す\":-675,\"せ\":300,\"そ\":-1011,\"た\":188,\"だ\":1837,\"つ\":-949,\"て\":-291,\"で\":-268,\"と\":-981,\"ど\":1273,\"な\":1063,\"に\":-1764,\"の\":130,\"は\":-409,\"ひ\":-1273,\"べ\":1261,\"ま\":600,\"も\":-1263,\"や\":-402,\"よ\":1639,\"り\":-579,\"る\":-694,\"れ\":571,\"を\":-2516,\"ん\":2095,\"ア\":-587,\"カ\":306,\"キ\":568,\"ッ\":831,\"三\":-758,\"不\":-2150,\"世\":-302,\"中\":-968,\"主\":-861,\"事\":492,\"人\":-123,\"会\":978,\"保\":362,\"入\":548,\"初\":-3025,\"副\":-1566,\"北\":-3414,\"区\":-422,\"大\":-1769,\"天\":-865,\"太\":-483,\"子\":-1519,\"学\":760,\"実\":1023,\"小\":-2009,\"市\":-813,\"年\":-1060,\"強\":1067,\"手\":-1519,\"揺\":-1033,\"政\":1522,\"文\":-1355,\"新\":-1682,\"日\":-1815,\"明\":-1462,\"最\":-630,\"朝\":-1843,\"本\":-1650,\"東\":-931,\"果\":-665,\"次\":-2378,\"民\":-180,\"気\":-1740,\"理\":752,\"発\":529,\"目\":-1584,\"相\":-242,\"県\":-1165,\"立\":-763,\"第\":810,\"米\":509,\"自\":-1353,\"行\":838,\"西\":-744,\"見\":-3874,\"調\":1010,\"議\":1198,\"込\":3041,\"開\":1758,\"間\":-1257,\"｢\":-645,\"｣\":3145,\"ｯ\":831,\"ｱ\":-587,\"ｶ\":306,\"ｷ\":568};\n          this.UW3__ = {\",\":4889,\"1\":-800,\"−\":-1723,\"、\":4889,\"々\":-2311,\"〇\":5827,\"」\":2670,\"〓\":-3573,\"あ\":-2696,\"い\":1006,\"う\":2342,\"え\":1983,\"お\":-4864,\"か\":-1163,\"が\":3271,\"く\":1004,\"け\":388,\"げ\":401,\"こ\":-3552,\"ご\":-3116,\"さ\":-1058,\"し\":-395,\"す\":584,\"せ\":3685,\"そ\":-5228,\"た\":842,\"ち\":-521,\"っ\":-1444,\"つ\":-1081,\"て\":6167,\"で\":2318,\"と\":1691,\"ど\":-899,\"な\":-2788,\"に\":2745,\"の\":4056,\"は\":4555,\"ひ\":-2171,\"ふ\":-1798,\"へ\":1199,\"ほ\":-5516,\"ま\":-4384,\"み\":-120,\"め\":1205,\"も\":2323,\"や\":-788,\"よ\":-202,\"ら\":727,\"り\":649,\"る\":5905,\"れ\":2773,\"わ\":-1207,\"を\":6620,\"ん\":-518,\"ア\":551,\"グ\":1319,\"ス\":874,\"ッ\":-1350,\"ト\":521,\"ム\":1109,\"ル\":1591,\"ロ\":2201,\"ン\":278,\"・\":-3794,\"一\":-1619,\"下\":-1759,\"世\":-2087,\"両\":3815,\"中\":653,\"主\":-758,\"予\":-1193,\"二\":974,\"人\":2742,\"今\":792,\"他\":1889,\"以\":-1368,\"低\":811,\"何\":4265,\"作\":-361,\"保\":-2439,\"元\":4858,\"党\":3593,\"全\":1574,\"公\":-3030,\"六\":755,\"共\":-1880,\"円\":5807,\"再\":3095,\"分\":457,\"初\":2475,\"別\":1129,\"前\":2286,\"副\":4437,\"力\":365,\"動\":-949,\"務\":-1872,\"化\":1327,\"北\":-1038,\"区\":4646,\"千\":-2309,\"午\":-783,\"協\":-1006,\"口\":483,\"右\":1233,\"各\":3588,\"合\":-241,\"同\":3906,\"和\":-837,\"員\":4513,\"国\":642,\"型\":1389,\"場\":1219,\"外\":-241,\"妻\":2016,\"学\":-1356,\"安\":-423,\"実\":-1008,\"家\":1078,\"小\":-513,\"少\":-3102,\"州\":1155,\"市\":3197,\"平\":-1804,\"年\":2416,\"広\":-1030,\"府\":1605,\"度\":1452,\"建\":-2352,\"当\":-3885,\"得\":1905,\"思\":-1291,\"性\":1822,\"戸\":-488,\"指\":-3973,\"政\":-2013,\"教\":-1479,\"数\":3222,\"文\":-1489,\"新\":1764,\"日\":2099,\"旧\":5792,\"昨\":-661,\"時\":-1248,\"曜\":-951,\"最\":-937,\"月\":4125,\"期\":360,\"李\":3094,\"村\":364,\"東\":-805,\"核\":5156,\"森\":2438,\"業\":484,\"氏\":2613,\"民\":-1694,\"決\":-1073,\"法\":1868,\"海\":-495,\"無\":979,\"物\":461,\"特\":-3850,\"生\":-273,\"用\":914,\"町\":1215,\"的\":7313,\"直\":-1835,\"省\":792,\"県\":6293,\"知\":-1528,\"私\":4231,\"税\":401,\"立\":-960,\"第\":1201,\"米\":7767,\"系\":3066,\"約\":3663,\"級\":1384,\"統\":-4229,\"総\":1163,\"線\":1255,\"者\":6457,\"能\":725,\"自\":-2869,\"英\":785,\"見\":1044,\"調\":-562,\"財\":-733,\"費\":1777,\"車\":1835,\"軍\":1375,\"込\":-1504,\"通\":-1136,\"選\":-681,\"郎\":1026,\"郡\":4404,\"部\":1200,\"金\":2163,\"長\":421,\"開\":-1432,\"間\":1302,\"関\":-1282,\"雨\":2009,\"電\":-1045,\"非\":2066,\"駅\":1620,\"１\":-800,\"｣\":2670,\"･\":-3794,\"ｯ\":-1350,\"ｱ\":551,\"ｸﾞ\":1319,\"ｽ\":874,\"ﾄ\":521,\"ﾑ\":1109,\"ﾙ\":1591,\"ﾛ\":2201,\"ﾝ\":278};\n          this.UW4__ = {\",\":3930,\".\":3508,\"―\":-4841,\"、\":3930,\"。\":3508,\"〇\":4999,\"「\":1895,\"」\":3798,\"〓\":-5156,\"あ\":4752,\"い\":-3435,\"う\":-640,\"え\":-2514,\"お\":2405,\"か\":530,\"が\":6006,\"き\":-4482,\"ぎ\":-3821,\"く\":-3788,\"け\":-4376,\"げ\":-4734,\"こ\":2255,\"ご\":1979,\"さ\":2864,\"し\":-843,\"じ\":-2506,\"す\":-731,\"ず\":1251,\"せ\":181,\"そ\":4091,\"た\":5034,\"だ\":5408,\"ち\":-3654,\"っ\":-5882,\"つ\":-1659,\"て\":3994,\"で\":7410,\"と\":4547,\"な\":5433,\"に\":6499,\"ぬ\":1853,\"ね\":1413,\"の\":7396,\"は\":8578,\"ば\":1940,\"ひ\":4249,\"び\":-4134,\"ふ\":1345,\"へ\":6665,\"べ\":-744,\"ほ\":1464,\"ま\":1051,\"み\":-2082,\"む\":-882,\"め\":-5046,\"も\":4169,\"ゃ\":-2666,\"や\":2795,\"ょ\":-1544,\"よ\":3351,\"ら\":-2922,\"り\":-9726,\"る\":-14896,\"れ\":-2613,\"ろ\":-4570,\"わ\":-1783,\"を\":13150,\"ん\":-2352,\"カ\":2145,\"コ\":1789,\"セ\":1287,\"ッ\":-724,\"ト\":-403,\"メ\":-1635,\"ラ\":-881,\"リ\":-541,\"ル\":-856,\"ン\":-3637,\"・\":-4371,\"ー\":-11870,\"一\":-2069,\"中\":2210,\"予\":782,\"事\":-190,\"井\":-1768,\"人\":1036,\"以\":544,\"会\":950,\"体\":-1286,\"作\":530,\"側\":4292,\"先\":601,\"党\":-2006,\"共\":-1212,\"内\":584,\"円\":788,\"初\":1347,\"前\":1623,\"副\":3879,\"力\":-302,\"動\":-740,\"務\":-2715,\"化\":776,\"区\":4517,\"協\":1013,\"参\":1555,\"合\":-1834,\"和\":-681,\"員\":-910,\"器\":-851,\"回\":1500,\"国\":-619,\"園\":-1200,\"地\":866,\"場\":-1410,\"塁\":-2094,\"士\":-1413,\"多\":1067,\"大\":571,\"子\":-4802,\"学\":-1397,\"定\":-1057,\"寺\":-809,\"小\":1910,\"屋\":-1328,\"山\":-1500,\"島\":-2056,\"川\":-2667,\"市\":2771,\"年\":374,\"庁\":-4556,\"後\":456,\"性\":553,\"感\":916,\"所\":-1566,\"支\":856,\"改\":787,\"政\":2182,\"教\":704,\"文\":522,\"方\":-856,\"日\":1798,\"時\":1829,\"最\":845,\"月\":-9066,\"木\":-485,\"来\":-442,\"校\":-360,\"業\":-1043,\"氏\":5388,\"民\":-2716,\"気\":-910,\"沢\":-939,\"済\":-543,\"物\":-735,\"率\":672,\"球\":-1267,\"生\":-1286,\"産\":-1101,\"田\":-2900,\"町\":1826,\"的\":2586,\"目\":922,\"省\":-3485,\"県\":2997,\"空\":-867,\"立\":-2112,\"第\":788,\"米\":2937,\"系\":786,\"約\":2171,\"経\":1146,\"統\":-1169,\"総\":940,\"線\":-994,\"署\":749,\"者\":2145,\"能\":-730,\"般\":-852,\"行\":-792,\"規\":792,\"警\":-1184,\"議\":-244,\"谷\":-1000,\"賞\":730,\"車\":-1481,\"軍\":1158,\"輪\":-1433,\"込\":-3370,\"近\":929,\"道\":-1291,\"選\":2596,\"郎\":-4866,\"都\":1192,\"野\":-1100,\"銀\":-2213,\"長\":357,\"間\":-2344,\"院\":-2297,\"際\":-2604,\"電\":-878,\"領\":-1659,\"題\":-792,\"館\":-1984,\"首\":1749,\"高\":2120,\"｢\":1895,\"｣\":3798,\"･\":-4371,\"ｯ\":-724,\"ｰ\":-11870,\"ｶ\":2145,\"ｺ\":1789,\"ｾ\":1287,\"ﾄ\":-403,\"ﾒ\":-1635,\"ﾗ\":-881,\"ﾘ\":-541,\"ﾙ\":-856,\"ﾝ\":-3637};\n          this.UW5__ = {\",\":465,\".\":-299,\"1\":-514,\"E2\":-32768,\"]\":-2762,\"、\":465,\"。\":-299,\"「\":363,\"あ\":1655,\"い\":331,\"う\":-503,\"え\":1199,\"お\":527,\"か\":647,\"が\":-421,\"き\":1624,\"ぎ\":1971,\"く\":312,\"げ\":-983,\"さ\":-1537,\"し\":-1371,\"す\":-852,\"だ\":-1186,\"ち\":1093,\"っ\":52,\"つ\":921,\"て\":-18,\"で\":-850,\"と\":-127,\"ど\":1682,\"な\":-787,\"に\":-1224,\"の\":-635,\"は\":-578,\"べ\":1001,\"み\":502,\"め\":865,\"ゃ\":3350,\"ょ\":854,\"り\":-208,\"る\":429,\"れ\":504,\"わ\":419,\"を\":-1264,\"ん\":327,\"イ\":241,\"ル\":451,\"ン\":-343,\"中\":-871,\"京\":722,\"会\":-1153,\"党\":-654,\"務\":3519,\"区\":-901,\"告\":848,\"員\":2104,\"大\":-1296,\"学\":-548,\"定\":1785,\"嵐\":-1304,\"市\":-2991,\"席\":921,\"年\":1763,\"思\":872,\"所\":-814,\"挙\":1618,\"新\":-1682,\"日\":218,\"月\":-4353,\"査\":932,\"格\":1356,\"機\":-1508,\"氏\":-1347,\"田\":240,\"町\":-3912,\"的\":-3149,\"相\":1319,\"省\":-1052,\"県\":-4003,\"研\":-997,\"社\":-278,\"空\":-813,\"統\":1955,\"者\":-2233,\"表\":663,\"語\":-1073,\"議\":1219,\"選\":-1018,\"郎\":-368,\"長\":786,\"間\":1191,\"題\":2368,\"館\":-689,\"１\":-514,\"Ｅ２\":-32768,\"｢\":363,\"ｲ\":241,\"ﾙ\":451,\"ﾝ\":-343};\n          this.UW6__ = {\",\":227,\".\":808,\"1\":-270,\"E1\":306,\"、\":227,\"。\":808,\"あ\":-307,\"う\":189,\"か\":241,\"が\":-73,\"く\":-121,\"こ\":-200,\"じ\":1782,\"す\":383,\"た\":-428,\"っ\":573,\"て\":-1014,\"で\":101,\"と\":-105,\"な\":-253,\"に\":-149,\"の\":-417,\"は\":-236,\"も\":-206,\"り\":187,\"る\":-135,\"を\":195,\"ル\":-673,\"ン\":-496,\"一\":-277,\"中\":201,\"件\":-800,\"会\":624,\"前\":302,\"区\":1792,\"員\":-1212,\"委\":798,\"学\":-960,\"市\":887,\"広\":-695,\"後\":535,\"業\":-697,\"相\":753,\"社\":-507,\"福\":974,\"空\":-822,\"者\":1811,\"連\":463,\"郎\":1082,\"１\":-270,\"Ｅ１\":306,\"ﾙ\":-673,\"ﾝ\":-496};\n          \n          return this;\n        }\n        TinySegmenter.prototype.ctype_ = function(str) {\n          for (var i in this.chartype_) {\n            if (str.match(this.chartype_[i][0])) {\n              return this.chartype_[i][1];\n            }\n          }\n          return \"O\";\n        }\n\n        TinySegmenter.prototype.ts_ = function(v) {\n          if (v) { return v; }\n          return 0;\n        }\n\n        TinySegmenter.prototype.segment = function(input) {\n          if (input == null || input == undefined || input == \"\") {\n            return [];\n          }\n          var result = [];\n          var seg = [\"B3\",\"B2\",\"B1\"];\n          var ctype = [\"O\",\"O\",\"O\"];\n          var o = input.split(\"\");\n          for (i = 0; i < o.length; ++i) {\n            seg.push(o[i]);\n            ctype.push(this.ctype_(o[i]))\n          }\n          seg.push(\"E1\");\n          seg.push(\"E2\");\n          seg.push(\"E3\");\n          ctype.push(\"O\");\n          ctype.push(\"O\");\n          ctype.push(\"O\");\n          var word = seg[3];\n          var p1 = \"U\";\n          var p2 = \"U\";\n          var p3 = \"U\";\n          for (var i = 4; i < seg.length - 3; ++i) {\n            var score = this.BIAS__;\n            var w1 = seg[i-3];\n            var w2 = seg[i-2];\n            var w3 = seg[i-1];\n            var w4 = seg[i];\n            var w5 = seg[i+1];\n            var w6 = seg[i+2];\n            var c1 = ctype[i-3];\n            var c2 = ctype[i-2];\n            var c3 = ctype[i-1];\n            var c4 = ctype[i];\n            var c5 = ctype[i+1];\n            var c6 = ctype[i+2];\n            score += this.ts_(this.UP1__[p1]);\n            score += this.ts_(this.UP2__[p2]);\n            score += this.ts_(this.UP3__[p3]);\n            score += this.ts_(this.BP1__[p1 + p2]);\n            score += this.ts_(this.BP2__[p2 + p3]);\n            score += this.ts_(this.UW1__[w1]);\n            score += this.ts_(this.UW2__[w2]);\n            score += this.ts_(this.UW3__[w3]);\n            score += this.ts_(this.UW4__[w4]);\n            score += this.ts_(this.UW5__[w5]);\n            score += this.ts_(this.UW6__[w6]);\n            score += this.ts_(this.BW1__[w2 + w3]);\n            score += this.ts_(this.BW2__[w3 + w4]);\n            score += this.ts_(this.BW3__[w4 + w5]);\n            score += this.ts_(this.TW1__[w1 + w2 + w3]);\n            score += this.ts_(this.TW2__[w2 + w3 + w4]);\n            score += this.ts_(this.TW3__[w3 + w4 + w5]);\n            score += this.ts_(this.TW4__[w4 + w5 + w6]);\n            score += this.ts_(this.UC1__[c1]);\n            score += this.ts_(this.UC2__[c2]);\n            score += this.ts_(this.UC3__[c3]);\n            score += this.ts_(this.UC4__[c4]);\n            score += this.ts_(this.UC5__[c5]);\n            score += this.ts_(this.UC6__[c6]);\n            score += this.ts_(this.BC1__[c2 + c3]);\n            score += this.ts_(this.BC2__[c3 + c4]);\n            score += this.ts_(this.BC3__[c4 + c5]);\n            score += this.ts_(this.TC1__[c1 + c2 + c3]);\n            score += this.ts_(this.TC2__[c2 + c3 + c4]);\n            score += this.ts_(this.TC3__[c3 + c4 + c5]);\n            score += this.ts_(this.TC4__[c4 + c5 + c6]);\n        //  score += this.ts_(this.TC5__[c4 + c5 + c6]);    \n            score += this.ts_(this.UQ1__[p1 + c1]);\n            score += this.ts_(this.UQ2__[p2 + c2]);\n            score += this.ts_(this.UQ3__[p3 + c3]);\n            score += this.ts_(this.BQ1__[p2 + c2 + c3]);\n            score += this.ts_(this.BQ2__[p2 + c3 + c4]);\n            score += this.ts_(this.BQ3__[p3 + c2 + c3]);\n            score += this.ts_(this.BQ4__[p3 + c3 + c4]);\n            score += this.ts_(this.TQ1__[p2 + c1 + c2 + c3]);\n            score += this.ts_(this.TQ2__[p2 + c2 + c3 + c4]);\n            score += this.ts_(this.TQ3__[p3 + c1 + c2 + c3]);\n            score += this.ts_(this.TQ4__[p3 + c2 + c3 + c4]);\n            var p = \"O\";\n            if (score > 0) {\n              result.push(word);\n              word = \"\";\n              p = \"B\";\n            }\n            p1 = p2;\n            p2 = p3;\n            p3 = p;\n            word += seg[i];\n          }\n          result.push(word);\n\n          return result;\n        }\n\n        lunr.TinySegmenter = TinySegmenter;\n    };\n\n}));"
  },
  {
    "path": "help/assets/javascripts/lunr/wordcut.js",
    "content": "(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}(g.lunr || (g.lunr = {})).wordcut = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){\nvar _ = require(\"underscore\");\n\nvar Acceptors = {\n  creators: null,\n  current: null,\n  tag: null,\n\n  init: function() {\n    this.creators = [];\n    this.current = [];\n    this.tag = {};\n  },\n\n  reset: function() {\n    this.current = [];\n    this.tag = {}\n  },\n\n  transit: function(ch) {\n    var self = this;\n\n    self.creators.forEach(function(creator) {\n      var acceptor = creator.createAcceptor(self.tag);\n      if (acceptor) \n        self.current.push(acceptor);\n    });\n    \n    var _current = [];\n    self.tag = {};\n\n    for (var i = 0; i < self.current.length; i++) {\n      var _acceptor = self.current[i]\n        , acceptor = _acceptor.transit(ch);\n      \n      if (!acceptor.isError) {\n        _current.push(acceptor);\n        self.tag[acceptor.tag] = acceptor;\n      }\n    }\n    self.current = _current;\n\n  },\n\n  getFinalAcceptors: function() {    \n    return this.current.filter(function(acceptor) {\n      return acceptor.isFinal;\n    });\n  }\n};\n\nmodule.exports = function() {\n  var acceptors = _.clone(Acceptors);\n  acceptors.init();\n  return acceptors;\n};\n\n},{\"underscore\":25}],2:[function(require,module,exports){\n(function (__dirname){\n\nvar LEFT = 0;\nvar RIGHT = 1;\nvar path = require(\"path\");\nvar glob = require(\"glob\");\n\nvar WordcutDict = {\n\n\n  init: function (dictPathFile, withDefault, words) {\n    withDefault = withDefault || false\n    var defaultDict = path.normalize(__dirname + \"/..\") + \"/data/tdict-*.txt\";\n    this.dict=[]\n    var dictPathIsDefined = dictPathFile !== undefined\n    var dictPath = (withDefault || !dictPathIsDefined) ? [defaultDict]: [];\n    var dictPathFile = dictPathFile || defaultDict\n\n    if(dictPathIsDefined){\n      if (Array.isArray(dictPathFile)) {\n        dictPath.concat.apply(dictPath, dictPathFile);\n      } else {\n        dictPath.push(dictPathFile)\n      }\n    }\n\n    this.addFiles(dictPath, false)\n\n    if(words!==undefined){\n      this.addWords(words, false)\n    }\n    this.finalizeDict();\n  },\n\n  addWords: function(words, finalize){\n    finalize = finalize===undefined || finalize;\n    this.dict.push.apply(this.dict, words)\n    if(finalize){\n      this.finalizeDict();\n    }\n  },\n\n  finalizeDict: function(){\n    this.dict = this.sortuniq(this.dict);\n  },\n\n  addFiles: function(files, finalize){\n    finalize = finalize===undefined || finalize;\n    \n    for (var i = 0; i < 1; i++) {\n      var words = \"ก.ก.\\nก.ก.น.\\nก.ข.ค.\\nก.ค.\\nก.จ.\\nก.ช.น.\\nก.ฌ.\\nก.ต.\\nก.ต.ง.\\nก.ต.ช.\\nก.ตร.\\nก.ท.\\nก.น.ช.\\nก.บช.\\nก.บถ.\\nก.ป.ส.\\nก.พ.\\nก.ม.\\nก.ย.\\nก.ร.\\nก.ล.ต.\\nก.ว.\\nก.ศ.ว.\\nก.ส.ท.\\nก.ส.ธ.\\nก.ส.อ.\\nก.อ.\\nกก.ตชด.\\nกก.ตร.น.\\nกก.ภ.จว.\\nกก.รสช.\\nกกบ.ขส.ทบ.\\nกกล.รพน.\\nกง.กห.\\nกง.ทบ.\\nกง.ทร.\\nกซข.ป.\\nกซม.ป.\\nกทม.กรุงเทพมหานคร\\nกบ.ทบ.\\nกป.สป.\\nกพ.ทบ.\\nกพ.ทร.\\nกพ.ทหาร\\nกร.ทบ.\\nกรป.กลาง\\nกรอ.พอ.\\nกศ.ด.\\nกศ.บ.\\nกศ.บป.\\nกศ.ม.\\nกษ.ด.\\nกษ.บ.\\nกษ.ม.\\nกส.ด.\\nกส.ทบ.\\nกส.บ.\\nกส.ม.\\nกอ.ปค.\\nกอ.รพน.\\nกอ.รมน.\\nกอ.รสต.\\nข.ต.ว.\\nขว.ทบ.\\nขว.ทร.\\nขว.ทหาร\\nขส.ทบ.\\nขส.ทร.\\nขส.ทอ.\\nค.ด.\\nค.บ.\\nค.พ.ศ.\\nค.ม.\\nค.ร.น.\\nค.ร.ฟ.\\nค.ร.ม.\\nค.ศ.\\nค.อ.ด.\\nค.อ.บ.\\nค.อ.ม.\\nคศ.ด.\\nคศ.บ.\\nคศ.ม.\\nง.ด.\\nจ.จ.\\nจ.จ.จ.\\nจ.ช.\\nจ.ต.\\nจ.ท.\\nจ.ป.ร.\\nจ.ม.\\nจ.ศ.\\nจ.ส.ต.\\nจ.ส.ท.\\nจ.ส.อ.\\nจ.อ.\\nจ.อ.ร.\\nจ.๑๘\\nจก.ธน.\\nจก.สน.\\nช.ค.\\nช.ค.บ.\\nช.พ.ค.\\nช.ส.\\nช.ส.ค.\\nฌ.ป.ค.\\nฌ.ศ.ร.\\nฌ.ส.อ.\\nฐท.สห.\\nด.ช.\\nด.ญ.\\nด.ต.\\nด.ศ.ค.\\nด.ศ.ร.\\nดย.ทร.\\nต.ก.\\nต.ค.\\nต.จ.\\nต.จ.ว.\\nต.ช.\\nต.ต.\\nต.บ.\\nต.ม.\\nต.ร.\\nต.ศ.ร.\\nต.ห.\\nต.อ.\\nต.อ.จ.\\nตร.กม.\\nตร.ซม.\\nตร.ต.\\nตร.ทล.\\nตร.น.\\nตร.ปม.\\nตร.ภ.\\nตร.ม.\\nตร.รฟ.\\nตร.ว.\\nตร.ส.\\nตร.สข.\\nท.จ.\\nท.จ.ว.\\nท.ช.\\nท.ญ.\\nท.ด.\\nท.ท.ท.\\nท.ทบ.\\nท.บ.\\nท.พ.\\nท.ม.\\nท.ศ.\\nทก.ด.\\nทก.บ.\\nทก.ม.\\nทส.ปช.\\nทส.รมว.กห.\\nทุ.ส.นิ.ม.\\nธ.ก.ส.\\nธ.ค.\\nธ.ญ\\nธ.บ.\\nน.ช.\\nน.ญ.\\nน.ด.\\nน.ต.\\nน.ท.\\nน.น.\\nน.บ.\\nน.บ.ท.\\nน.ป.ท.\\nน.พ.\\nน.ม.\\nน.ร.\\nน.ว.\\nน.ศ.\\nน.ส.\\nน.ส.พ.\\nน.ส.๓\\nน.สพ.\\nน.อ.\\nนปพ.ภ.\\nนศ.ด.\\nนศ.บ.\\nนศ.ม.\\nบ.ก.\\nบ.ข.ส.\\nบ.ช.\\nบ.ด.ท.\\nบ.ตร.\\nบ.ภ.\\nบ.ม.\\nบก.จร.\\nบก.ตชด.\\nบก.ตม.\\nบก.ทล.\\nบก.น.\\nบก.ป.\\nบก.ปค.\\nบก.ปม.\\nบก.ภ.เขต\\nบก.รน.\\nบก.รฟ.\\nบก.ร้อย.ตชด.\\nบก.ส.\\nบกข.ป.\\nบจพ.ป.\\nบช.ก.\\nบช.ด.\\nบช.ตชด.\\nบช.น.\\nบช.บ.\\nบช.ปส.\\nบช.ภ.\\nบช.ม.\\nบชท.ป.\\nบชน.ป.\\nบชส.ป.\\nบธ.ด.\\nบธ.บ.\\nบธ.ม.\\nบนท.ป.\\nบนอ.ป.\\nบปช.ป.\\nป.กท.\\nป.กศ.\\nป.กศ.สูง\\nป.จ.\\nป.จ.ว.\\nป.ช.\\nป.ธ.\\nป.ป.\\nป.ป.ก.\\nป.ป.ช.\\nป.ป.ป.\\nป.ป.ร.\\nป.ป.ส.\\nป.พ.\\nป.พ.พ.\\nป.พย.\\nป.ม.\\nป.ม.ก.\\nป.ม.ช.\\nป.ม.ธ.\\nป.ม.ศ.\\nป.ม.อ.\\nป.ร.ร.๔\\nป.ร.ร.๕\\nป.ร.ร.๖\\nป.ล.\\nป.ว.พ.\\nป.วิ.อ.\\nป.ส.ส.\\nป.อ.\\nป.อ.ร.ส.\\nป.๑\\nปม.วส.\\nปอ.พ.\\nผกก.ภ.\\nผช.ผอ.\\nผต.มท.\\nผบ.ตร.\\nผบ.ทบ.\\nผบ.ทร.\\nผบ.ทสส.\\nผบ.ทอ.\\nผบก.น.\\nผบก.ป.\\nผบก.ปค.\\nผบก.ปม.\\nผบก.ภ.\\nผบช.ก.\\nผบช.ตชด.\\nผบช.น.\\nผบช.ภ.\\nผว.กทม.\\nผอ.ปจ.\\nพ.ก.ง.\\nพ.กศ.\\nพ.ข.ต.\\nพ.ค.\\nพ.ค.ช.\\nพ.ค.ว.\\nพ.ค.ศ.\\nพ.จ.ต.\\nพ.จ.ท.\\nพ.จ.อ.\\nพ.ช.\\nพ.ช.ค.\\nพ.ด.\\nพ.ต.\\nพ.ต.ต.\\nพ.ต.ท.\\nพ.ต.อ.\\nพ.ต.อ.พิเศษ\\nพ.ท.\\nพ.บ.\\nพ.ป.\\nพ.ภ.ม.\\nพ.ม.\\nพ.ม.ช.\\nพ.ย.\\nพ.ร.ก.\\nพ.ร.ฎ.\\nพ.ร.ต.\\nพ.ร.ธ.\\nพ.ร.บ.\\nพ.ศ.\\nพ.ศ.บ.\\nพ.ส.ร.\\nพ.ส.ล.\\nพ.อ.\\nพ.อ.ต.\\nพ.อ.ท.\\nพ.อ.พิเศษ\\nพ.อ.อ.\\nพณ.ด.\\nพณ.บ.\\nพณ.ม.\\nพธ.ด.\\nพธ.บ.\\nพธ.ม.\\nพบ.ด.\\nพบ.บ.\\nพบ.ม.\\nพย.ด.\\nพย.บ.\\nพย.ม.\\nพล.จ.\\nพล.ต.\\nพล.ต.จ.\\nพล.ต.ต.\\nพล.ต.ท.\\nพล.ต.อ.\\nพล.ท.\\nพล.ปตอ.\\nพล.ม.\\nพล.ม.๒\\nพล.ร.จ.\\nพล.ร.ต.\\nพล.ร.ท.\\nพล.ร.อ.\\nพล.อ.\\nพล.อ.จ.\\nพล.อ.ต.\\nพล.อ.ท.\\nพล.อ.อ.\\nพลา.ทร.\\nพศ.ด.\\nพศ.บ.\\nพศ.ม.\\nพอ.สว.\\nภ.ง.ด.\\nภ.ง.ด.๙\\nภ.ด.\\nภ.บ.\\nภ.บ.ท.๕\\nภ.ป.ร.\\nภ.พ.\\nภ.ม.\\nภ.สถ.บ.\\nม.ค.\\nม.จ.\\nม.ป.ท.\\nม.ป.ป.\\nม.ป.พ.\\nม.ร.ว.\\nม.ศ.\\nม.อ.\\nม.อ.ปัตตานี\\nมิ.ย.\\nมี.ค.\\nยศ.ทบ.\\nยศ.ทร.\\nยศ.ทอ.\\nร.ง.\\nร.ด.\\nร.ต.\\nร.ต.ต.\\nร.ต.ท.\\nร.ต.อ.\\nร.ท.\\nร.น.\\nร.บ.\\nร.พ.\\nร.ฟ.ล.\\nร.ย.ล.\\nร.ย.ส.ท.\\nร.ล.\\nร.ศ.\\nร.ส.พ.\\nร.อ.\\nรป.ม.\\nรร.จปร.\\nรร.จอ.\\nรร.ชท.\\nรร.ตท.\\nรร.นร.\\nรร.นรต.\\nรร.นอ.\\nล.ญ.\\nล.ว.\\nลส.ชบ.\\nว.ค.\\nว.ฉ.\\nว.ช.\\nว.ด.ป.\\nว.ป.ถ.\\nวท.บ.\\nศ.บ.\\nศ.ป.ก.\\nศ.ศ.ป.\\nศฝร.ภ.\\nศศ.บ.\\nศษ.บ.\\nศส.บ.\\nส.ก.\\nส.ก.ศ.ท.\\nส.ค.\\nส.ค.1\\nส.ค.ร.\\nส.ค.ส.\\nส.ต.\\nส.ต.ต.\\nส.ต.ท.\\nส.ต.อ.\\nส.ท.\\nส.ทร.\\nส.ป.ช.\\nส.ป.ส.ท.\\nส.ป.อ.\\nส.ร.\\nส.ล.น.\\nส.ว.\\nส.ว.ท.\\nส.ว.ส.ท.\\nส.ส.\\nส.ส.ท.\\nส.ส.ร.\\nส.ห.\\nส.อ.\\nสถ.บ.\\nสนง.สสอ.\\nสพ.ญ.\\nสพ.บ.\\nสว.จร.\\nสว.ธร.\\nสว.ส.\\nสว.สป.\\nสว.สส.\\nสว.อก.\\nสส.บ.\\nสุ.จิ.ปุ.ลิ.\\nห.ร.ม.\\nอ.ก.ค.\\nอ.ก.จ.\\nอ.จ.\\nอ.ช.พ.\\nอ.ตร.\\nอ.บ.\\nอ.ส.ท.\\nอ.ส.ม.ท.\\nอ.ส.ย.\\nอ.อ.ป.\\nอส.รด.\\nอุ.อา.ก.ส.\\nฮ.จ.\\nฮ.ท.\\nฮ.ฝ.\\nฮ.ล.\\nฮ.ศ.\\nเม.ย.\\n\\nกรีนิช\\nกลันตัน\\nกัลกัตตา\\nกัวลาลัมเปอร์\\nกัศมีร์\\nกาฐมาณฑุ\\nโกลกาตา\\nควิเบก\\nคอนเนตทิคัต\\nคาบูล\\nคุชราต\\nคุนหมิง\\nเคนตักกี\\nเคนทักกี\\nเคมบริดจ์\\nแคชเมียร์\\nแคนซัส\\nแคนเบอร์รา\\nแคโรไลนา\\nแคลิฟอร์เนีย\\nโคเปนเฮเกน\\nโคลัมโบ\\nโคโลราโด\\nไครสต์เชิร์ช\\nไคโร\\nจาการ์ตา\\nจำปาศักดิ์\\nเจนไน\\nเจนีวา\\nเจ้อเจียง\\nฉงชิ่ง\\nเฉิงตู\\nชานตง\\nชิคาโก\\nเชนไน\\nเชอร์โนบิล\\nซัปโปโร\\nซานมารีโน\\nซาบาห์\\nซาราเยโว\\nซาราวัก\\nซิดนีย์\\nซีอาน\\nซีแอตเทิล\\nซูริก\\nซูริค\\nเซเชลส์\\nเซนได\\nเซี่ยงไฮ้\\nโซเฟีย\\nโซล\\nโซโลมอน\\nไซ่ง่อน\\nไซบีเรีย\\nดัลลัส\\nดาโคตา\\nดานัง\\nดีทรอยต์\\nดูไบ\\nเดนเวอร์\\nเดลาแวร์\\nเดียนเบียนฟู\\nโดเวอร์\\nโดฮา\\nไดฟุกุ\\nไดฟูกุ\\nตรังกานู\\nตริโปลี\\nตูวาลู\\nเตหะราน\\nโตเกียว\\nโตรอนโต\\nทมิฬนาฑู\\nทริโปลี\\nทิเบต\\nเทกซัส\\nเท็กซัส\\nเทนเนสซี\\nเทลอาวีฟ\\nแทสเมเนีย\\nโทรอนโต\\nไทเป\\nธากา\\nนางาซากิ\\nนาริตะ\\nนิวเจอร์ซีย์\\nนิวเดลี\\nนิวยอร์ก\\nนิวยอร์ค\\nนิวแฮมป์เชียร์\\nเนบราสกา\\nเนแบรสกา\\nเนวาดา\\nบรัสเซลส์\\nบราซิเลีย\\nบอมเบย์\\nบอสตัน\\nบังกาลอร์\\nบังคาลอร์\\nบูคาเรสต์\\nบูดาเปสต์\\nเบงกาซี\\nเบนกาซี\\nเบรุต\\nเบลเกรด\\nเบอร์ลิน\\nแบกแดด\\nปอยเปต\\nปะลิส\\nปะหัง\\nปักกิ่ง\\nปัญจาบ\\nปัฏนา\\nปารีส\\nปีนัง\\nเประ\\nเปียงยาง\\nพนมเปญ\\nพระตะบอง\\nพะโค\\nพะสิม\\nพาราณสี\\nพิหารี\\nเพนซิลวาเนีย\\nเพนซิลเวเนีย\\nฟรานซ์\\nฟลอริดา\\nฟิลาเดลเฟีย\\nฟุกุชิมะ\\nฟุกุชิมา\\nฟุกุโอกะ\\nฟูกูโอกะ\\nแฟรงก์เฟิร์ต\\nมอสโก\\nมะนิลา\\nมะละแหม่ง\\nมัณฑะเลย์\\nมัทราส\\nมาดริด\\nมิชิแกน\\nมินนิโซตา\\nมิยางิ\\nมิลาน\\nมิวนิก\\nมิสซูรี\\nมุมไบ\\nเมน\\nเมลเบิร์น\\nเมาะตะมะ\\nเมาะลำเลิง\\nแมนจูเรีย\\nแมนเชสเตอร์\\nแมนฮัตตัน\\nแมริแลนด์\\nแมรีแลนด์\\nแมสซาชูเซตส์\\nยะไข่\\nย่างกุ้ง\\nยูทาห์\\nยูนนาน\\nเยรูซาเล็ม\\nโยโกฮามา\\nริยาด\\nรีโอเดจาเนโร\\nโรดไอแลนด์\\nลอนดอน\\nลอสแองเจลิส\\nลาปาซ\\nลาสเวกัส\\nลิสบอน\\nลุยเซียนา\\nโลซาน\\nโลซานน์\\nวอชิงตัน\\nวอร์ซอ\\nวิสคอนซิน\\nเวนิส\\nเวลส์\\nเวอร์จิเนีย\\nเวอร์มอนต์\\nเวียงจันทน์\\nเวียนนา\\nแวนคูเวอร์\\nไวโอมิง\\nสกอตแลนด์\\nสก็อตแลนด์\\nสตอกโฮล์ม\\nสลังงอร์\\nเสฉวน\\nเสียมราฐ\\nเสียมเรียบ\\nหงสา\\nหงสาวดี\\nหนานไห่\\nหลวงพระบาง\\nหูเป่ย\\nหูเป่ย์\\nหูหนาน\\nเหอเป่ย\\nเหอเป่ย์\\nเหอหนาน\\nอชันตา\\nอลาสกา\\nอวันตี\\nออริกอน\\nออสโล\\nอะแลสกา\\nอัตตะปือ\\nอัมมาน\\nอัมสเตอร์ดัม\\nอัสสัม\\nอาบูดาบี\\nอาร์คันซอ\\nอินเดียนา\\nอิบารากิ\\nอิลลินอยส์\\nอิสตันบูล\\nอิสลามาบัด\\nอุรุมชี\\nอูลานบาตอร์\\nเอดินบะระ\\nเอเธนส์\\nแอตแลนตา\\nแอริโซนา\\nแอลเจียร์\\nโอคลาโฮมา\\nโอค็อตสค์\\nโอกินาวา\\nโอซากา\\nโอริสสา\\nโอเรกอน\\nโอไฮโอ\\nไอดาโฮ\\nไอโอวา\\nฮอนโนลูลู\\nฮานอย\\nฮาเนดะ\\nฮาราเร\\nฮาวาย\\nฮิโรชิมา\\nฮุสตัน\\nเฮลซิงกิ\\n\\nมกรา\\nกุมภา\\nมีนา\\nเมษา\\nพฤษภา\\nมิถุนา\\nกรกฎา\\nสิงหา\\nกันยา\\nตุลา\\nพฤศจิกา\\nธันวา\\nเอ\\nบี\\nซี\\nดี\\nอี\\nเอฟ\\nจี\\nเอช\\nไอ\\nเจ\\nเค\\nแอล\\nเอ็ม\\nเอ็น\\nโอ\\nพี\\nคิว\\nอาร์\\nเอส\\nที\\nยู\\nวี\\nดับเบิล\\nดับบลิว\\nเอ็กซ์\\nเอ๊กซ์\\nวาย\\nแซด\\nแอลฟา\\nแอลฟ่า\\nเบตา\\nเบต้า\\nแกมมา\\nแกมม่า\\nเดลตา\\nเดลต้า\\nโอเมกา\\nโอเมก้า\\nเมกะ\\nกิกะ\\nนาโน\\nไมโคร\\n\\nกรรมาชน\\nกรอบรูป\\nกระดี๊กระด๊า\\nกระบับ\\nกราวนด์\\nกรีน\\nกรุ๊ป\\nกฤษณ์\\nกลาส\\nก๊วน\\nกษัตริยา\\nกษัตริยาธิราช\\nก่อนหน้า\\nกะบับ\\nกับดัก\\nกัมมันตะ\\nก๊าก\\nก๋ากั่น\\nกาญจน์\\nกาญจนาภิเษก\\nกามิกาเซ่\\nการันตี\\nกาหลิบ\\nกิฟท์\\nกิมจิ\\nกีวี\\nกึ๊ก\\nกึ๋ย\\nกุนซือ\\nกุมภาพันธ์\\nกู๋\\nเกจิ\\nเกมส์\\nเกย์\\nเกรด\\nเกรย์\\nเกสต์เฮาส์\\nเก๊ะ\\nเก๋ากี้\\nเกิร์ล\\nแกงค์\\nแกรนด์\\nแกสโซฮอล์\\nแก๊สโซฮอล์\\nโกเต็กซ์\\nโกลด์\\nโกะ\\nโก๊ะ\\nไกด์\\nขั้นตอน\\nเขวี้ยง\\nคณาญาติ\\nครัวซอง\\nครัวซองต์\\nคร่ำครวญ\\nครีเอทีฟ\\nครูเสด\\nคลับ\\nคลาสสิก\\nคลิตอริส\\nคลิป\\nความหมาย\\nควิก\\nควีน\\nคองเกรส\\nคอนซูเมอร์\\nคอนเซปต์\\nคอนเซ็ปต์\\nคอนโด\\nคอนโดมิเนียม\\nคอนเทนเนอร์\\nคอนแทค\\nคอนแท็ค\\nคอนโทรล\\nคอนเฟิร์ม\\nคอปเตอร์\\nคอมพ์\\nคอมเพล็กซ์\\nคอมมอนส์\\nคอมเมนท์\\nคอมเมนต์\\nคอร์ป\\nคอร์ปอเรชั่น\\nคอร์รัปชัน\\nคอร์รัปชั่น\\nคอรัปชัน\\nคอรัปชั่น\\nคอร์ส\\nคอลเล็กชั่น\\nคอลัมน์\\nคอลัมนิสต์\\nคัตเอาต์\\nคันคาก\\nคันถธุระ\\nคันธาระ\\nคันยิ\\nคัสตาร์ด\\nคาราโอเกะ\\nคีตกวี\\nคีตปฏิภาณ\\nคีตราชัน\\nคาปูชิโน\\nคามิคาเซ่\\nคาเฟ่\\nคาร์\\nคาร์โก้\\nคาราเมล\\nคาแรกเตอร์\\nคาแร็กเตอร์\\nคาแรคเตอร์\\nคาแร็คเตอร์\\nคาวบอย\\nคาสิโน\\nคิกขุ\\nคิวบิก\\nคูลเลอร์\\nเคบับ\\nเครป\\nเคลม\\nเคลียร์\\nเคลื่อนย้าย\\nเคส\\nเคอร์ฟิว\\nแคชเชียร์\\nแคทวอล์ค\\nแคนดิเดต\\nแคนตาลูป\\nแคนยอน\\nแคนู\\nแคป\\nแคมป์\\nแคมปัส\\nแคมเปญ\\nแคร์\\nแครกเกอร์\\nแคร็กเกอร์\\nแครอท\\nแคสต์\\nแคสติง\\nแคสติ้ง\\nโค้ก\\nโค้ช\\nโคโยตี\\nโคโยตี้\\nโครนา\\nโคอะล่า\\nโคอาลา\\nโคอาล่า\\nไคลแมกซ์\\nไคลแม็กซ์\\nงั้น\\nง่าว\\nงี้\\nเง็ง\\nโง่เขลา\\nไง\\nจตุคาม\\nจ๊อกกี้\\nจอหงวน\\nจังโก้\\nจัมโบ้\\nจ๊าบ\\nจารกรรม\\nจารชน\\nจิ๊ก\\nจิ๊กโก๋\\nจิ๊กซอว์\\nจิตพิสัย\\nจิตเภท\\nจีดีพี\\nจึ๊ก\\nจุ๊ย\\nจูน\\nจูเนียร์\\nเจ๊\\nเจได\\nเจ็ต\\nเจล\\nเจ๊าะแจ๊ะ\\nเจี๊ยว\\nแจ็กเก็ต\\nแจ๊กเก็ต\\nแจ็กพอต\\nแจ็กพ็อต\\nแจ๊กพอต\\nแจ๊กพ็อต\\nแจม\\nแจ๊ส\\nโจ๋\\nฉลุย\\nเฉิ่ม\\nชนะเลิศ\\nช็อค\\nช็อต\\nช็อป\\nช็อปปิ้ง\\nช็อปเปอร์\\nชะโนด\\nชัตเตอร์\\nชัวร์\\nชาร์จ\\nชาร์ต\\nชาร์ป\\nชินบัญชร\\nชิฟฟอน\\nชีส\\nชีอะห์\\nเช็ก\\nเช็งเม้ง\\nเชฟ\\nเชลียร์\\nเชอร์รี่\\nแชเชือน\\nแช่แข็ง\\nแชมป์\\nแชมปิยอง\\nแชมเปญ\\nแชมเปี้ยน\\nแชมพู\\nโชว์รูม\\nโชห่วย\\nใช้งาน\\nไชน่า\\nซ้อ\\nซอมบี้\\nซะ\\nซังเต\\nซันตาคลอส\\nซัพพลาย\\nซัพพลายเออร์\\nซัมเมอร์\\nซากุระ\\nซาดิสต์\\nซาดิสม์\\nซาตาน\\nซานตาคลอส\\nซาฟารี\\nซาบะ\\nซามูไร\\nซาร์\\nซาร์ดีน\\nซาเล้ง\\nซิง\\nซิ่ง\\nซิงเกิล\\nซิตี\\nซิตี้\\nซินโดรม\\nซิม\\nซิ้ม\\nซิมโฟนี\\nซิมโฟนี่\\nซิลเวอร์\\nซี้\\nซี้ซั้ว\\nซีดาน\\nซีน\\nซีนีเพล็กซ์\\nซีเนียร์\\nซีร็อกซ์\\nซีรีส์\\nซีเรียส\\nซีอีโอ\\nซื่อบื้อ\\nซุนหนี่\\nซุปเปอร์\\nซูชิ\\nซูเปอร์\\nซูม\\nซูโม่\\nซูเอี๋ย\\nซูฮก\\nเซ็กซ์\\nเซ็กซี่\\nเซ็กส์\\nเซนเซอร์\\nเซ็นเซอร์\\nเซนเตอร์\\nเซ็นเตอร์\\nเซ็นทรัล\\nเซนส์\\nเซ่นไหว้\\nเซฟตี้\\nเซรามิก\\nเซลส์\\nเซลส์แมน\\nเซอร์\\nเซอร์ไพรส์\\nเซอร์วิส\\nเซาท์\\nเซี้ยว\\nแซ็ก\\nแซกโซโฟน\\nแซ็กโซโฟน\\nแซนด์วิช\\nแซมบ้า\\nแซลมอน\\nแซว\\nโซเชียล\\nโซน\\nโซนี่\\nโซลาร์\\nโซโล\\nโซโล่\\nญาณทัสสนะ\\nดยุก\\nดยุค\\nดร็อป\\nดรัมเมเยอร์\\nดรามา\\nดราม่า\\nดอกเตอร์\\nด็อกเตอร์\\nดัมพ์\\nดั๊มพ์\\nดาวน์\\nดิกชันนารี\\nดิสเครดิต\\nดีกรี\\nดีเจ\\nดีไซน์\\nดีไซน์เนอร์\\nดีไซเนอร์\\nดีเบต\\nดีพาร์ตเมนต์\\nดีพาร์ตเมนท์\\nดีพาร์ทเมนต์\\nดีพาร์ทเมนท์\\nดีมานด์\\nดีล\\nดีลเลอร์\\nดีเลย์\\nเดชานุภาพ\\nเดบิต\\nเดโม\\nเดย์\\nเด้อ\\nเดอะ\\nเด๊ะ\\nเดี้ยง\\nเดี๊ยะ\\nแดนซ์\\nแดนเซอร์\\nแดรี่\\nโดนัท\\nโดมิโน\\nโดรายากิ\\nไดเอ็ต\\nตถตา\\nตนเอง\\nตรวจทาน\\nตรวจสอบ\\nตอกย้ำ\\nต๊อง\\nต่อยอด\\nต่อรอง\\nตะหงิด\\nตังค์\\nตันเถียน\\nตัวตน\\nตัวเอง\\nตาปรือ\\nต้าอ่วย\\nติงต๊อง\\nติ๋ม\\nติ่มซำ\\nติว\\nติวเตอร์\\nตี๋\\nตื้บ\\nตุ๊ก\\nตุ๊กตุ๊ก\\nตุ๊ด\\nตุ๋ย\\nตู้เซฟ\\nเต๊ะ\\nเตี๊ยม\\nแตงกวา\\nแตงโม\\nแต๋ว\\nโต๋เต๋\\nโต๊ะจีน\\nไตรมาส\\nถ่ายทำ\\nถูกต้อง\\nทงคัตสึ\\nทริป\\nทรู\\nทอม\\nท็อป\\nทอร์นาโด\\nทอล์ค\\nทักซิโด\\nทันตกรรม\\nทันตแพทยศาสตร์\\nทับซ้อน\\nทัวร์\\nทัวร์นาเมนต์\\nทัวร์นาเมนท์\\nทัวริสต์\\nทาเลนต์\\nทาวน์\\nทาวน์เฮาส์\\nทำงาน\\nทิป\\nทิพยสมบัติ\\nทิวลิป\\nทีรามิสุ\\nทีวี\\nทูน่า\\nเท็กซ์\\nเทค\\nเทคโน\\nเทคโนแครต\\nเทควันโด\\nเทป\\nเทรด\\nเทรนด์\\nเทรนเนอร์\\nเทรลเลอร์\\nเทรลเล่อร์\\nเทเลกราฟ\\nเทวบัญชา\\nเทวบุตร\\nเทวา\\nเทวาธิราช\\nเทโวโรหนะ\\nเทอร์โบ\\nเที่ยงคืน\\nเที่ยงวัน\\nเทียมทาน\\nแทกติค\\nแทคติค\\nแทงกั๊ก\\nแทงโก้\\nโทมาฮอก\\nโทมาฮอว์ก\\nโทมาฮอว์ค\\nโทร\\nโทรโข่ง\\nไทม์\\nไทยแลนด์\\nไทเฮา\\nธรรมา\\nธรรมาภิบาล\\nธัมโม\\nธีม\\nธุรกรรม\\nธุหร่ำ\\nเธค\\nนพมาศ\\nนรีแพทย์\\nน็อก\\nน็อค\\nน้องใหม่\\nนอมินี\\nนอร์ท\\nน่ะ\\nนางแบบ\\nนาฏยศาลา\\nนายแบบ\\nนายพราน\\nนินจา\\nนิรันดร์\\nนิว\\nนิวส์\\nนู้ด\\nเนอะ\\nเนิร์สเซอรี\\nเนิร์สเซอรี่\\nเนี้ยบ\\nโนติส\\nไนท์\\nไนน์\\nบรรพชน\\nบร็อกโคลี\\nบร็อคโคลี\\nบรา\\nบริกร\\nบริวเวอรี่ส์\\nบลอนด์\\nบลูเบอร์รี\\nบลูเบอร์รี่\\nบ๊วย\\nบอกซ์\\nบ็อกซ์\\nบ๊อกซ์\\nบอดี้\\nบอนด์\\nบ๊อบ\\nบอมบ์\\nบ๋อย\\nบอยคอต\\nบอยคอตต์\\nบอร์ด\\nบังเกอร์\\nบัตเตอร์\\nบัลลาสต์\\nบัส\\nบาบูน\\nบาร์บีคิว\\nบาร์บี้\\nบาลานซ์\\nบิ๊ก\\nบิล\\nบึม\\nบึ้ม\\nบุญคุณ\\nบุ๋น\\nบุปผา\\nบู๊\\nบูชิโด\\nบูติก\\nบูติค\\nบูม\\nเบเกอรี่\\nเบญจมบพิตร\\nเบตาดีน\\nเบนโตะ\\nเบนโล\\nเบบี้\\nเบลอ\\nเบอร์เกอร์\\nเบอร์รี\\nเบิร์ด\\nเบิร์น\\nแบ็กโฮ\\nแบคโฮ\\nแบด\\nแบต\\nแบนเนอร์\\nแบรนด์\\nแบล็ก\\nแบล็ค\\nไบโอ\\nโบกี้\\nโบตั๋น\\nโบ้ย\\nโบรกเกอร์\\nโบรชัวร์\\nโบว์\\nโบว์ลิ่ง\\nไบเบิล\\nปฏิสัมพันธ์\\nป๊อก\\nปอดแหก\\nป๊อป\\nป๋อหลอ\\nปักขคณนา\\nปัจเจกชน\\nปัจฉิมนิเทศ\\nป๊า\\nป๋า\\nป่าไม้\\nปาร์ตี้\\nปาสกาล\\nปาสคาล\\nปาสเตอร์\\nปิกอัพ\\nปิ๊ง\\nปิโตรเคมี\\nปิยมิตร\\nปึ้ก\\nปูอัด\\nเปโซ\\nเป็นไง\\nเปปเปอร์มินต์\\nเปเปอร์\\nเปราะบาง\\nเป๊ะ\\nเป่ายิงฉุบ\\nเป่ายิ้งฉุบ\\nเปียโน\\nแป้ก\\nแป๋ว\\nแป๊ะเจี๊ยะ\\nโปร\\nโปรเจกต์\\nโปรเจ็กต์\\nโปรเจกเตอร์\\nโปรเจ็กเตอร์\\nโปรเจคท์\\nโปรเจ็คท์\\nโปรดักชั่น\\nโปรดิวเซอร์\\nโปรโมชั่น\\nโปรโมต\\nโปรโมเตอร์\\nโปรโมท\\nโปลิศ\\nโปสเตอร์\\nผลไม้\\nผลักดัน\\nผ้าห่ม\\nผิดพลาด\\nผู้นำ\\nแผดเผา\\nเฝอ\\nพงษ์\\nพริตตี้\\nพรีเซนต์\\nพรีเซ็นเตอร์\\nพรีเมียม\\nพรีเมียร์\\nพฤหัส\\nพล็อต\\nพลาซ่า\\nพลานุภาพ\\nพ่อค้า\\nพอเพียง\\nพะเรอ\\nพันธกิจ\\nพันธุวิศวกรรม\\nพาร์\\nพาร์ตเนอร์\\nพาร์ทเนอร์\\nพาวเวอร์\\nพาสเจอร์ไรส์\\nพาสตา\\nพาสต้า\\nพาสปอร์ต\\nพาเหรด\\nพิซซ่า\\nพีเรียด\\nพุดดิ้ง\\nพุทธภูมิ\\nพุทธศตวรรษ\\nพุทโธ\\nพูล\\nเพทนาการ\\nเพนกวิน\\nเพนตากอน\\nเพรส\\nเพรียวบาง\\nเพลซ\\nเพลท\\nเพลย์บอย\\nเพียบแปร้\\nเพียว\\nเพาเวอร์\\nแพกเกจ\\nแพ็ค\\nแพตเทิร์น\\nแพทเทิร์น\\nแพทยสภา\\nแพนงเชิญ\\nแพนดา\\nแพนด้า\\nแพลน\\nโพลล์\\nโพลารอยด์\\nโพสต์\\nไพลิน\\nฟยอร์ด\\nฟรังก์\\nฟรุต\\nฟลอร์\\nฟลุก\\nฟลุค\\nฟลุต\\nฟลุท\\nฟอยล์\\nฟอร์ม\\nฟันด์\\nฟาวล์\\nฟาสต์ฟู้ด\\nฟินิกซ์\\nฟิวเจอร์\\nฟีด\\nฟีเวอร์\\nฟุตบาท\\nเฟรช\\nเฟรชชี่\\nเฟรม\\nเฟมินิสต์\\nเฟส\\nเฟอร์นิเจอร์\\nเฟอร์รี่\\nเฟิร์ม\\nเฟี้ยวฟ้าว\\nแฟกซ์\\nแฟ็กซ์\\nแฟนซี\\nแฟนตาซี\\nแฟ้บ\\nแฟร์\\nแฟรนไชส์\\nแฟรี\\nแฟรี่\\nแฟลช\\nแฟล็ต\\nโฟน\\nโฟม\\nโฟล์ค\\nไฟต์\\nไฟแนนซ์\\nไฟลต์\\nไฟลท์\\nภควัทคีตา\\nภควัมบดี\\nภควัมปติ\\nภคันทลาพาธ\\nภววิสัย\\nภารตะ\\nภูมิทัศน์\\nม้ง\\nมวลชน\\nมยุราภิรมย์\\nมลภาวะ\\nมหภาค\\nมหาอุปราชา\\nมอคคา\\nมอคค่า\\nมอนสเตอร์\\nม็อบ\\nมอบตัว\\nมอยส์เจอไรเซอร์\\nมอลล์\\nมะกัน\\nมั้ง\\nมัฟฟิน\\nมั้ย\\nม้านั่ง\\nมาเฟีย\\nมาม่า\\nมายองเนส\\nมายาคติ\\nมาร์ก\\nมาร์เก็ต\\nมาร์เก็ตติ้ง\\nมาร์ค\\nมาร์จิน\\nมาร์ช\\nมาร์ต\\nมาร์ท\\nมาราธอน\\nม้าหินอ่อน\\nมินต์\\nมินท์\\nมินิ\\nมิลค์\\nมิวสิค\\nมิสซัง\\nมิสไซล์\\nมิสเตอร์\\nมือถือ\\nมุมมอง\\nเมคอัพ\\nเมจิก\\nเมจิค\\nเมทัล\\nเมเปิล\\nเมาท์\\nเมี่ยงคำ\\nแมกกาซีน\\nแม็กกาซีน\\nแมคเคอเรล\\nแม่ค้า\\nแมชชีน\\nแมชีน\\nแมนชั่น\\nแมมบ้า\\nแมมโบ้\\nโมจิ\\nโมเดล\\nโมเดิร์น\\nโมเต็ล\\nโมโนเรล\\nโมหจริต\\nไมค์\\nไมเกรน\\nยนตรกรรม\\nยอมรับ\\nยะเยือก\\nยังไง\\nยากูซ่า\\nยาวี\\nยิม\\nยิว\\nยุวทูต\\nยูโทเปีย\\nยูโร\\nยูวี\\nเยน\\nเยลลี่\\nเย้ว\\nเยอบีรา\\nเยอบีร่า\\nเยอร์บีรา\\nเยอร์บีร่า\\nแยมโรล\\nโยเกิร์ต\\nโยโย่\\nรวมมิตร\\nร็อค\\nร็อคเก็ต\\nรองรับ\\nรอมฎอน\\nรอยัลตี้\\nระโงก\\nรันเวย์\\nรัม\\nรากหญ้า\\nราชบัณฑิตยสถาน\\nราชานุญาต\\nราชานุสาวรีย์\\nรามเทพ\\nรามาธิบดี\\nรามายณะ\\nราเม็ง\\nราเมน\\nรายชื่อ\\nราสเบอร์รี\\nริกเตอร์\\nริคเตอร์\\nรีไซเคิล\\nรีดไถ\\nรีทัช\\nรีเทิร์น\\nรีไทร์\\nรีแบรนด์\\nรีพอร์ท\\nรีโมต\\nรีโมท\\nรีวิว\\nรีสอร์ต\\nรีสอร์ท\\nรีเสิร์ช\\nรุมบ้า\\nรุสโซ\\nรูบิก\\nรูบิค\\nเรซิน\\nเรซิ่น\\nเรดิโอ\\nเรต\\nเรตติ้ง\\nแรงใจ\\nแรงดูด\\nแรงผลัก\\nแรลลี\\nแรลลี่\\nโรดแมป\\nโรเนียว\\nโรแมนติก\\nโรแมนติค\\nโรล\\nโรลออน\\nไรเฟิล\\nล็อกเกอร์\\nลอจิสติกส์\\nล็อต\\nล็อบบี้\\nลอร์ด\\nล้มเหลว\\nละติน\\nละอ่อน\\nลาซานญ่า\\nลาติน\\nลาเต้\\nลานีญา\\nลามะ\\nลิมิต\\nลิมูซีน\\nลิสต์\\nลีก\\nลีด\\nลีดเดอร์\\nลีเมอร์\\nลีลาวดี\\nลุค\\nลูกชาย\\nลูกสาว\\nเลกเชอร์\\nเลคเชอร์\\nเลดี้\\nเลสเบี้ยน\\nเลิฟ\\nแลนด์\\nแล็บ\\nโลโก้\\nโลชั่น\\nไลท์\\nไลน์\\nไลฟ์\\nวนาราม\\nวราราม\\nวโรกาส\\nว้อดก้า\\nวอเตอร์\\nวอฟเฟิล\\nว้อย\\nวอร์ม\\nวอร์มอัพ\\nวอร์รูม\\nวอล์ก\\nวอล์ค\\nวอลซ์\\nวอลนัต\\nวอลนัท\\nวอลล์\\nว่ะ\\nวันเวย์\\nวัสสา\\nวาซาบิ\\nวาทกรรม\\nวาทะ\\nวานิลลา\\nวานิลา\\nวาฟเฟิล\\nวาริชศาสตร์\\nว้าว\\nวัคค์\\nวัจนะ\\nวาไรตี้\\nวิก\\nวิดีโอ\\nวิทย์\\nวิน\\nวิป\\nวิปปิ้ง\\nวิภัชภาค\\nวิว\\nวิลล์\\nวิลเลจ\\nวีเจ\\nวีซ่า\\nวีดิทัศน์\\nวีน\\nวีไอพี\\nวืด\\nเวณิกา\\nเวเฟอร์\\nเวสต์\\nเวอร์\\nเวิร์ก\\nเวิร์กช็อป\\nเวิร์ค\\nเวิร์ลด์\\nเวิลด์\\nแวมไพร์\\nไวกิ้ง\\nไวเบรเตอร์\\nไวอะกร้า\\nไวอากร้า\\nศากยบุตร\\nศิรินทร์\\nศิลปวัฒนธรรม\\nศิลปากร\\nศิวิไลซ์\\nศึกษาศาสตร์\\nสกรัม\\nสกาย\\nสกู๊ป\\nสเกตช์\\nสเก็ตช์\\nสคริปต์\\nสแควร์\\nสงบสุข\\nสจ๊วต\\nสตรอเบอร์รี\\nสตรอเบอรี\\nสตรอว์เบอร์รี\\nสตริง\\nสต็อก\\nสต๊อก\\nสต็อค\\nสต๊อค\\nสตอรี\\nสตาร์\\nสตาร์ท\\nสติกเกอร์\\nสติ๊กเกอร์\\nสตีล\\nสตูดิโอ\\nสเตชัน\\nสเตชั่น\\nสเตเดียม\\nสเตนเลส\\nสเต็ป\\nสเตย์\\nสเตริโอ\\nสเตอริโอ\\nสแตนดาร์ด\\nสแตนเลส\\nสโตน\\nสโตร์\\nสไตรค์\\nสไตล์\\nสถาปัตย์\\nสไนเปอร์\\nสปอต\\nสป็อต\\nสปอนเซอร์\\nสปอร์ต\\nสปา\\nสปาย\\nสปิริต\\nสเปก\\nสเปค\\nสไปเดอร์\\nสมณพราหมณ์\\nสมาพันธ์\\nสมิติเวช\\nสโรชา\\nสลัม\\nสแล็ก\\nสโลแกน\\nสโลว์\\nสไลด์\\nสวีท\\nสหรัฐ\\nสหัชญาณ\\nสหัสวรรษ\\nสะกอม\\nสะเด่า\\nสะบึม\\nสะบึมส์\\nสะออน\\nสังโฆ\\nสะโหลสะเหล\\nสันทนาการ\\nสัมนา\\nสามช่า\\nสามแยก\\nสารขัณฑ์\\nสี่แยก\\nสึนามิ\\nสุนทรีย์\\nสุริยยาตร\\nสุริยยาตร์\\nสุหนี่\\nเสกสรรค์\\nเสพติด\\nเสือโคร่ง\\nหงวน\\nหน่อมแน้ม\\nหมวย\\nหมั่นโถว\\nหม่านโถว\\nหมายปอง\\nหมิง\\nหยวน\\nหลวงตา\\nหลวงปู่\\nหลวงพี่\\nหล่อฮังก้วย\\nหลินจือ\\nห่วย\\nเห็นด้วย\\nเหมย\\nเห่ย\\nเหี่ยวย่น\\nแหม็บ\\nแหวว\\nโหงว\\nโหงวเฮ้ง\\nโหลน\\nโหลยโท่ย\\nไหง\\nไหร่\\nอพาร์ตเมนต์\\nอพาร์ตเมนท์\\nอพาร์ทเมนต์\\nอพาร์ทเมนท์\\nอมาตยาธิปไตย\\nอยุติธรรม\\nอริยสงฆ์\\nอ่วม\\nอวอร์ด\\nออกแบบ\\nออดิชั่น\\nออดิทอเรียม\\nออเดอร์\\nออโต้\\nออทิสติก\\nอ่อนด้อย\\nออฟ\\nออยล์\\nออร์แกน\\nออร์แกนิก\\nออร์แกนิค\\nออร์เดอร์\\nออรัล\\nออสซี่\\nอะ\\nอัตลักษณ์\\nอัตวิสัย\\nอันเดอร์\\nอันตรกิริยา\\nอัลตรา\\nอัลไซเมอร์\\nอัลบัม\\nอัลบั้ม\\nอัลมอนด์\\nอาข่า\\nอาโนเนะ\\nอาฟเตอร์\\nอาร์ติสต์\\nอาร์พีจี\\nอาว์\\nอาสวะ\\nอิกัวนา\\nอินดอร์\\nอินดัสตรีส์\\nอินเตอร์\\nอิ่มแปร้\\nอิมพีเรียล\\nอิเล็กทริก\\nอิเล็กทริค\\nอิเลียด\\nอิสรชน\\nอิเหนา\\nอิออน\\nอีแต๋น\\nอีโรติก\\nอีเวนท์\\nอีสต์\\nอีสเตอร์\\nอึ๊บ\\nอึ้ม\\nอึ๋ม\\nอึมครึม\\nอุด้ง\\nอุตสาหการ\\nอุเทน\\nอุปการคุณ\\nอุปทาน\\nอุปนายก\\nอุปนายิกา\\nอุปสงค์\\nอุปัทวเหตุ\\nอุรังคธาตุ\\nอูคูเลเล่\\nอู้ฟู่\\nเอ๋\\nเอ็กซ์โป\\nเอ็กซ์เพรส\\nเอ็กโซเซต์\\nเอ็กโซเซ่ต์\\nเอเซีย\\nเอ็นจีโอ\\nเอ็นเตอร์เทน\\nเอนทรานซ์\\nเอ็นทรานซ์\\nเอฟเฟ็กต์\\nเอเยนต์\\nเอลนีโญ\\nเอสเปรสโซ\\nเอสเพรสโซ\\nเอ๋อ\\nเอาต์\\nเอาท์\\nเอาท์ดอร์\\nเอ๊าะ\\nแอ็กชั่น\\nแอ็คชั่น\\nแอคทีฟ\\nแอดมิชชั่น\\nแอดมิสชัน\\nแอนด์\\nแอ๊บแบ๊ว\\nแอปเปิล\\nแอปเปิ้ล\\nแอปพริคอท\\nแอพพริคอท\\nแอพริคอต\\nแอร์\\nแอโรบิก\\nแอโรบิค\\nแอลมอนด์\\nแอสเตอร์\\nโอเค\\nโอเปอเรเตอร์\\nโอเปร่า\\nโอเพ่น\\nโอ้ย\\nโอยัวะ\\nโอรสาธิราช\\nโอเลี้ยง\\nโอวัลติน\\nโอเวอร์\\nไอซ์\\nไอซียู\\nไอดอล\\nไอเดีย\\nไอติม\\nฮวงจุ้ย\\nฮ่องเต้\\nฮองเฮา\\nฮอต\\nฮ็อต\\nฮอตดอก\\nฮ็อตด็อก\\nฮันนีมูน\\nฮัม\\nฮัลโลวีน\\nฮัลโหล\\nฮากกา\\nฮาร์ด\\nฮาราคีรี\\nฮาลาล\\nฮาโลวีน\\nฮิ\\nฮิต\\nฮิบรู\\nฮิปโป\\nฮิปฮอป\\nฮีโร่\\nฮูลาฮูป\\nฮูล่าฮูป\\nเฮฟวี\\nเฮฟวี่\\nเฮอร์ริเคน\\nเฮีย\\nแฮนด์\\nแฮปปี้\\nแฮมเบอร์เกอร์\\nโฮป\\nโฮม\\nโฮลดิงส์\\nโฮลวีต\\nโฮสเตส\\nไฮกุ\\nไฮแจ็ค\\nไฮโซ\\nไฮเทค\\nไฮบริด\\nไฮเปอร์\\nไฮไลต์\\nไฮไลท์\\nไฮเวย์\\nไฮสคูล\\nไฮเอนด์\\n\\nกรีซ\\nกัมพูชา\\nกัวเตมาลา\\nกาตาร์\\nกานา\\nกาบอง\\nกายอานา\\nกินี\\nเกรนาดีนส์\\nเกรเนดา\\nเกาหลี\\nแกมเบีย\\nโกตดิวัวร์\\nคองโก\\nคอโมโรส\\nคอสตาริกา\\nคาซัคสถาน\\nคิตส์\\nคิริบาตี\\nคิริบาส\\nคิวบา\\nคีร์กีซสถาน\\nคูเวต\\nเคนยา\\nเคปเวิร์ด\\nเคย์แมน\\nแคนาดา\\nแคเมอรูน\\nโครเอเชีย\\nโคลอมเบีย\\nจอร์เจีย\\nจอร์แดน\\nจาเมกา\\nจิบูตี\\nจีน\\nชาด\\nชิลี\\nเช็ก\\nซามัว\\nซาอุ\\nซิมบับเว\\nซีเรีย\\nซูดาน\\nซูรินาเม\\nเซนต์\\nเซเนกัล\\nเซอร์เบีย\\nเซาตูเม\\nเซียร์รา\\nแซมเบีย\\nโซมาเลีย\\nโซเวียต\\nไซปรัส\\nญี่ปุ่น\\nดารุสซาลาม\\nเดนมาร์ก\\nโดมินิกัน\\nโดมินิกา\\nตรินิแดด\\nตองกา\\nติมอร์\\nตุรกี\\nตูนิเซีย\\nเติร์กเมนิสถาน\\nโตโก\\nโตเบโก\\nไต้หวัน\\nทาจิกิสถาน\\nแทนซาเนีย\\nนอร์เวย์\\nนามิเบีย\\nนาอูรู\\nนิการากัว\\nนิวซีแลนด์\\nเนเธอร์แลนด์\\nเนปาล\\nเนวิส\\nไนจีเรีย\\nไนเจอร์\\nบราซิล\\nบริติช\\nบริเตน\\nบรูไน\\nบอตสวานา\\nบอสเนีย\\nบังกลาเทศ\\nบังคลาเทศ\\nบัลแกเรีย\\nบาร์บูดา\\nบาร์เบโดส\\nบาห์เรน\\nบาฮามาส\\nบิสเซา\\nบุรุนดี\\nบูร์กินาฟาโซ\\nเบนิน\\nเบลเยียม\\nเบลารุส\\nเบลีซ\\nเบอร์มิวดา\\nโบลิเวีย\\nปรินซิปี\\nปากีสถาน\\nปานามา\\nปาปัวนิวกินี\\nปารากวัย\\nปาเลสไตน์\\nปาเลา\\nเปรู\\nเปอร์เซีย\\nเปอร์โตริโก\\nโปรตุเกส\\nโปแลนด์\\nฝรั่งเศส\\nพม่า\\nฟิจิ\\nฟินแลนด์\\nฟิลิปปินส์\\nเฟรนช์\\nภูฏาน\\nภูฐาน\\nมองโกเลีย\\nมอนเตเนโกร\\nมอนแทนา\\nมอริเชียส\\nมอริเตเนีย\\nมอลโดวา\\nมอลตา\\nมัลดีฟส์\\nมาเก๊า\\nมาซิโดเนีย\\nมาดากัสการ์\\nมาร์แชลล์\\nมาลาวี\\nมาลี\\nมาเลเซีย\\nเม็กซิโก\\nเมียนมาร์\\nโมซัมบิก\\nโมนาโก\\nโมนาโค\\nโมร็อกโก\\nไมโครนีเซีย\\nยูกันดา\\nยูโกสลาเวีย\\nยูเครน\\nเยเมน\\nเยอรมนี\\nรวันดา\\nรัสเซีย\\nโรมาเนีย\\nลักเซมเบิร์ก\\nลัตเวีย\\nลาว\\nลิกเตนสไตน์\\nลิทัวเนีย\\nลิเบีย\\nลีโอน\\nลูเซีย\\nเลโซโท\\nเลบานอน\\nเลสเต\\nไลบีเรีย\\nวาติกัน\\nวานูอาตู\\nวินเซนต์\\nเวเนซุเอลา\\nเวียดนาม\\nศรีลังกา\\nสเปน\\nสโลวะเกีย\\nสโลวัก\\nสโลวีเนีย\\nสวาซิแลนด์\\nสวิตเซอร์แลนด์\\nสวีเดน\\nสหรัฐ\\nสหราชอาณาจักร\\nสิกขิม\\nสิงคโปร์\\nอเมริกา\\nออสเตรเลีย\\nออสเตรีย\\nอันดอร์รา\\nอัฟกานิสถาน\\nอาเซอร์ไบจาน\\nอาร์เจนตินา\\nอาร์เมเนีย\\nอาระเบีย\\nอิเควทอเรียล\\nอิตาลี\\nอินเดีย\\nอินโดนีเซีย\\nอิรัก\\nอิสราเอล\\nอิหร่าน\\nอียิปต์\\nอุซเบกิสถาน\\nอุรุกวัย\\nเอกวาดอร์\\nเอธิโอเปีย\\nเอมิเรตส์\\nเอริเทรีย\\nเอลซัลวาดอร์\\nเอสโตเนีย\\nแองโกลา\\nแอนติกา\\nแอลจีเรีย\\nแอลเบเนีย\\nโอมาน\\nไอซ์แลนด์\\nไอร์แลนด์\\nฮ่องกง\\nฮอนดูรัส\\nฮังการี\\nเฮติ\\nเฮอร์เซโกวีนา\\n\\nกระบี่\\nกรุงเทพ\\nกาญจนบุรี\\nกาฬสินธุ์\\nกำแพงเพชร\\nขอนแก่น\\nจันทบุรี\\nฉะเชิงเทรา\\nชลบุรี\\nชัยนาท\\nชัยภูมิ\\nชุมพร\\nเชียงราย\\nเชียงใหม่\\nตรัง\\nตราด\\nตาก\\nนครนายก\\nนครปฐม\\nนครพนม\\nนครราชสีมา\\nนครศรีธรรมราช\\nนครสวรรค์\\nนนทบุรี\\nนราธิวาส\\nน่าน\\nบึงกาฬ\\nบุรีรัมย์\\nปทุมธานี\\nประจวบคีรีขันธ์\\nปราจีนบุรี\\nปัตตานี\\nพะเยา\\nพังงา\\nพัทลุง\\nพิจิตร\\nพิษณุโลก\\nเพชรบุรี\\nเพชรบูรณ์\\nแพร่\\nภูเก็ต\\nมหาสารคาม\\nมุกดาหาร\\nแม่ฮ่องสอน\\nยโสธร\\nยะลา\\nร้อยเอ็ด\\nระนอง\\nระยอง\\nราชบุรี\\nลพบุรี\\nลำปาง\\nลำพูน\\nเลย\\nศรีสะเกษ\\nสกลนคร\\nสงขลา\\nสตูล\\nสมุทรปราการ\\nสมุทรสงคราม\\nสมุทรสาคร\\nสระแก้ว\\nสระบุรี\\nสิงห์บุรี\\nสุโขทัย\\nสุพรรณบุรี\\nสุราษฎร์\\nสุราษฎร์ธานี\\nสุรินทร์\\nหนองคาย\\nหนองบัวลำภู\\nอยุธยา\\nอ่างทอง\\nอำนาจเจริญ\\nอุดรธานี\\nอุตรดิตถ์\\nอุทัยธานี\\nอุบลราชธานี\\nกันทรลักษ์\\nจตุจักร\\nไชยา\\nซีคอน\\nดอนเมือง\\nถลาง\\nไทรโยค\\nธนบุรี\\nธัญบุรี\\nบางกอก\\nบางปะกง\\nบางระจัน\\nปะทิว\\nปาย\\nพญาไท\\nพัฒน์พงษ์\\nพัทยา\\nพารากอน\\nภูมิซรอล\\nรัตนาธิเบศร์\\nรังสิต\\nลันตา\\nลาดพร้าว\\nวโรรส\\nวิภาวดี\\nสตึก\\nสมุย\\nสัตหีบ\\nสิมิลัน\\nสุขุมวิท\\nสุไหง\\nเสลภูมิ\\nอังรีดูนังต์\\nอ่างขาง\\nอินทนนท์\\nเอ็มโพเรียม\\n\\nคิวชู\\nแคริบเบียน\\nแคสเปียน\\nดานูบ\\nตะนาวศรี\\nนอร์วีเจียน\\nนิโคบาร์\\nเนรัญชรา\\nไนล์\\nบอร์เนียว\\nบอลติก\\nเบงกอล\\nปิง\\nแปซิฟิก\\nมะละกา\\nมินดาเนา\\nมิสซิสซิปปี\\nเมดิเตอร์เรเนียน\\nเมโสโปเตเมีย\\nยมุนา\\nยุโรป\\nยูเรเชีย\\nยูเรเซีย\\nแยงซี\\nแยงซีเกียง\\nสแกนดิเนเวีย\\nสะโตง\\nสาละวิน\\nสุมาตรา\\nสุเอซ\\nอะเมซอน\\nอันดามัน\\nอัลไต\\nอาร์กติก\\nอาหรับ\\nอินโดจีน\\nอิรวดี\\nอิระวดี\\nอีเจียน\\nอุษาคเณย์\\nอูราล\\nเอเชีย\\nเอเดรียติก\\nเอเวอเรสต์\\nแอตแลนติก\\nแอนตาร์กติก\\nแอนตาร์กติกา\\nแอฟริกา\\nโอลิมปัส\\nไอโอเนียน\\nฮวงโห\\nฮอกไกโด\\nฮอนชู\\n\\nกบิลพัสดุ์\\nกุสินารา\\nโกลิยะ\\nโกสัมพี\\nโคตรบอง\\nโคตรบูรณ์\\nตองอู\\nทรอย\\nทวารวดี\\nทวาราวดี\\nเทวทหะ\\nไทรบุรี\\nนาลันทา\\nไบแซนไทน์\\nปรัสเซีย\\nปัลลวะ\\nปาฏลีบุตร\\nพุทธคยา\\nมถุรา\\nมายัน\\nมิถิลา\\nราชคฤห์\\nล้านช้าง\\nล้านนา\\nลุมพินี\\nวัชชี\\nเวสาลี\\nสารนาถ\\nสาวัตถี\\nหริภุญชัย\\nอโยธยา\\nออตโตมัน\\nอังวะ\\nอินทปัตถ์\\nอุชเชนี\\n\\nกราฟิก\\nกราฟิกส์\\nกราฟิค\\nกริด\\nกิกะไบต์\\nกูเกิล\\nกูเกิ้ล\\nเกตเวย์\\nโกลบอล\\nคลัสเตอร์\\nคลาส\\nคลิก\\nคลิปอาร์ต\\nคอนโซล\\nคอนเทนต์\\nคอมพิวติ้ง\\nคอมไพล์\\nคอมไพเลอร์\\nคอมมูนิเคชั่น\\nคอร์\\nคีย์\\nคีย์บอร์ด\\nเครือข่าย\\nเคอร์เซอร์\\nเคอร์เนล\\nแคช\\nแคมฟรอก\\nแคมฟร็อก\\nแคร็ก\\nโค้ด\\nจาวา\\nจีพีเอส\\nชิป\\nชิพ\\nเชลล์\\nแช็ต\\nแชนเนล\\nแชนแนล\\nซ็อกเก็ต\\nซอฟต์แวร์\\nซอฟท์แวร์\\nซอร์ส\\nซัพพอร์ต\\nซัพพอร์ท\\nซีดี\\nซีดีรอม\\nซีเนอร์\\nเซิร์ฟเวอร์\\nโซลูชัน\\nโซลูชั่น\\nไซต์\\nไซเบอร์\\nทรานแซกชัน\\nทรานแซกชั่น\\nทรานแซ็กชัน\\nทรานแซ็กชั่น\\nทรานแซคชัน\\nทรานแซคชั่น\\nทรานแซ็คชัน\\nทรานแซ็คชั่น\\nทวิตเตอร์\\nทวีต\\nทัชแพด\\nเทมเพลต\\nเทอร์มินัล\\nแท็ก\\nแท็บ\\nแทบเล็ต\\nโทรจัน\\nเน็ต\\nเน็ตบุ๊ก\\nเน็ตบุค\\nเน็ตบุ๊ค\\nเน็ตเวิร์ก\\nเน็ตเวิร์ค\\nโน้ตบุ๊ก\\nโน้ตบุค\\nโน้ตบุ๊ค\\nดอส\\nดาวน์เกรด\\nดาวน์โหลด\\nดิจิตอล\\nดิจิทัล\\nดีบั๊ก\\nดีวีดี\\nดีไวซ์\\nเดเบียน\\nเดลไฟ\\nเดสก์ท็อป\\nโดเมน\\nไดรว์\\nไดรเวอร์\\nไดเรกทอรี\\nไดโอด\\nเทเลคอม\\nบล็อกเกอร์\\nบรอดแบนด์\\nบราวเซอร์\\nบลูทูท\\nบลูทูธ\\nบลูเรย์\\nบั๊ก\\nบัฟเฟอร์\\nบิต\\nบิท\\nบูต\\nเบราว์เซอร์\\nแบนด์วิดท์\\nไบต์\\nไบนารี\\nโปรแกรมเมอร์\\nโปรเซส\\nโปรเซสเซอร์\\nโปรโตคอล\\nพร็อกซี\\nพอร์ต\\nพอร์ท\\nพาเนล\\nพาร์ทิชัน\\nพารามิเตอร์\\nพาสเวิร์ด\\nพิกเซล\\nเพจ\\nเพจเจอร์\\nแพกเก็ต\\nแพตช์\\nแพลตฟอร์ม\\nโพรเซส\\nโพรเซสเซอร์\\nโพรโทคอล\\nไพธอน\\nฟล็อปส์\\nฟอนต์\\nฟอร์แมต\\nฟอร์เวิร์ด\\nฟอรัม\\nฟีเจอร์\\nเฟซบุ๊ก\\nเฟิร์มแวร์\\nแฟล็ก\\nโฟลเดอร์\\nไฟร์ฟอกซ์\\nไฟร์วอลล์\\nไฟล์\\nมอดูล\\nมอนิเตอร์\\nมัลติ\\nมัลติทัช\\nมัลติเพล็กซ์\\nมัลแวร์\\nมาสเตอร์\\nมีเดีย\\nเมนู\\nเมมโมรี\\nเมล\\nเมาส์\\nแมค\\nโมดูล\\nโมเด็ม\\nโมบาย\\nโมบายล์\\nโมไบล์\\nไมโครซอฟท์\\nยูนิกซ์\\nยูนิโคด\\nยูนิโค้ด\\nริงโทน\\nรีเฟรช\\nรีเลย์\\nเราเตอร์\\nเรียลไทม์\\nลิงก์\\nลินุกซ์\\nลีนุกซ์\\nลูป\\nเลเยอร์\\nแล็ปท็อป\\nไลเซนส์\\nไลบรารี\\nวิกิ\\nวิกิพีเดีย\\nวินโดวส์\\nวินโดว์ส\\nเว็บ\\nเวอร์ชวล\\nเวอร์ชัน\\nเวอร์ชั่น\\nเวิร์กสเตชัน\\nเวิร์กสเตชั่น\\nเวิร์คสเตชัน\\nเวิร์คสเตชั่น\\nเวิร์ด\\nเวิร์ม\\nไวแมกซ์\\nสกรีน\\nสแกน\\nสแกนเนอร์\\nสแต็ก\\nสนิฟเฟอร์\\nสปายแวร์\\nสเปซ\\nสแปม\\nสมาร์ท\\nสล็อต\\nเสิร์ช\\nโหลด\\nออนไลน์\\nออปติก\\nออปติคอล\\nออปติคัล\\nออฟไลน์\\nออราเคิล\\nอัพเกรด\\nอัพเดต\\nอัพโหลด\\nอัปเกรด\\nอัปเดต\\nอัปโหลด\\nอัลกอริทึม\\nอาร์กิวเมนต์\\nอินเตอร์เน็ต\\nอินทิเกรเตอร์\\nอินเทอร์เน็ต\\nอินเทอร์เฟซ\\nอินเทล\\nอินพุต\\nอินพุท\\nอีเมล\\nอีเมล์\\nอูบุนตู\\nอูบันตู\\nเอนจิน\\nเอ็นจิน\\nเอาต์พุต\\nเอาต์พุท\\nเอาท์พุต\\nเอาท์พุท\\nแอนะล็อก\\nแอนิเมชัน\\nแอนิเมชั่น\\nแอปพลิเคชัน\\nแอปพลิเคชั่น\\nแอพพลิเคชัน\\nแอพพลิเคชั่น\\nแอสเซมบลี\\nแอสเซมเบลอร์\\nโอเพน\\nไอคอน\\nไอซี\\nไอพอด\\nไอพ็อด\\nไอแพด\\nไอโฟน\\nฮับ\\nฮาร์ดดิสก์\\nฮาร์ดแวร์\\nแฮกเกอร์\\nแฮ็กเกอร์\\nแฮนด์เฮลด์\\nโฮสต์\\n\\nกรีก\\nกัณณาฑ\\nกัศมีรี\\nคันจิ\\nคาตาคานะ\\nคุชราตี\\nคุรุมุขี\\nซีริลลิก\\nซูลู\\nเซลติก\\nเซิร์บ\\nตากาล็อก\\nเตลุคู\\nเติร์ก\\nทราวิฑ\\nเบงกาลี\\nปัญจาบี\\nพินอิน\\nมลยาฬัม\\nมองโกล\\nมาราฐี\\nมาเลย์\\nเม็กซิกัน\\nแมนจู\\nแมนดาริน\\nไมถิลี\\nเยอรมัน\\nรัสเซียน\\nสวาฮิลี\\nสวิส\\nสินธี\\nอูรดู\\nอัสสมี\\nอารบิก\\nอิตาเลียน\\nอุยกูร์\\nแอฟริกัน\\nโอริยา\\nไอริช\\nฮันกึล\\nฮินดี\\nฮิรางานะ\\nฮีบรู\\n\\nกรีนพีซ\\nกรือเซะ\\nกวนอิม\\nกวนอู\\nกัดดาฟี\\nกัลยาณวัตร\\nกัสสปะ\\nกาลิเลโอ\\nกินเนส\\nกุมภกรรณ\\nกูเตนเบิร์ก\\nเกตส์\\nเกษมณี\\nโกณฑัญญะ\\nขงเบ้ง\\nคริสโตเฟอร์\\nคองคอร์ด\\nคอลเกต\\nคานธี\\nคาเบรียล\\nคาร์ฟูร์\\nคาร์สัน\\nคาราบาว\\nคาสิโอ\\nคิริน\\nคุนลุ้น\\nคูโบต้า\\nเครมลิน\\nแคทรีนา\\nโคตมะ\\nโคตมี\\nโคลัมบัส\\nไคฟง\\nไครสเลอร์\\nง้อไบ๊\\nจตุพร\\nจ็อบส์\\nจอห์น\\nจิ้น\\nจิม\\nจิ๋ม\\nจิว\\nจุฬาภรณ์\\nจุฬาลงกรณ์\\nเจมส์\\nแจ็กสัน\\nโจเซฟ\\nโจว\\nชมัยมรุเชฐ\\nชมัยมรุเชษฐ์\\nชเวดากอง\\nชาร์ลส์\\nชินราช\\nชินวัตร\\nชุนชิว\\nเช็ง\\nเชตวัน\\nเชฟรอน\\nเชฟโรเลต\\nเชลซี\\nไชยานุชิต\\nซ่ง\\nซังฮี้\\nซัดดัม\\nซันซิล\\nซัมซุง\\nซัวเจ๋ง\\nซินหัว\\nซีซาร์\\nซีแพค\\nซูซาน\\nซูซูกิ\\nซูบารุ\\nเซ็นทารา\\nเซเวน\\nเซเว่น\\nโซฟิเทล\\nโซยุซ\\nโซยูซ\\nณัฐวุฒิ\\nดาร์ลี่\\nดาวโจนส์\\nดิสนีย์\\nดีแทค\\nดูปองท์\\nเดโมแครต\\nเดลล์\\nเดลินิวส์\\nเดวิด\\nแดวู\\nโดนัลด์\\nโดราเอมอน\\nโดเรมอน\\nต๋อง\\nตั๊กม้อ\\nตากสิน\\nตาเมือน\\nตาลีบัน\\nตูน\\nเตมีย์\\nโต๋\\nโตชิบา\\nโตโยต้า\\nถังซัมจั๋ง\\nถังซำจั๋ง\\nทรพา\\nทราเวล\\nทรูมูฟ\\nทีปังกร\\nเทปโก\\nเทพรัตน\\nเทวทัต\\nเทสโก้\\nโทมัส\\nไททานิก\\nไททานิค\\nไทยรัฐ\\nธีออส\\nนครินทรา\\nนโปเลียน\\nนพดล\\nนราดูร\\nนเรนทร\\nนอสตราดามุส\\nนาซา\\nนาซ่า\\nนาซี\\nนาโต\\nนาโต้\\nนาลแก\\nนิคอน\\nนิโคลัส\\nนิด้า\\nนินเทนโด\\nนิปปอน\\nนิวตัน\\nนิสสัน\\nเนคเทค\\nเนชั่น\\nเนชันแนล\\nเนชั่นแนล\\nเนวิน\\nเนสเล่\\nเนสาด\\nแนท\\nแนสแดค\\nโนเกีย\\nโนเบล\\nโนเวลล์\\nโนโวเทล\\nไนเม็กซ์\\nบรอดเวย์\\nบรัดเลย์\\nบรู๊ซ\\nบัลเมอร์\\nบารัก\\nบารัค\\nบู๊ตึ๊ง\\nเบญกาย\\nเบนซ์\\nเบ็นซ์\\nเบนจามิน\\nโบตัน\\nไบโอเทค\\nประชาธิปัตย์\\nปวีณา\\nปอเต็กตึ๊ง\\nปอเต๊กตึ๊ง\\nป่อเต็กตึ๊ง\\nปัตตะโชติ\\nปารุสก์\\nปีเตอร์\\nปูติน\\nเป๊ปซี่\\nเป้ย\\nเปอร์โยต์\\nเปาบุ้นจิ้น\\nโปเกมอน\\nโป๊ยก่าย\\nพรหมทัต\\nพลาโต\\nพอลล่า\\nพานาโซนิค\\nพานาโซนิก\\nพิทยานุกูล\\nพิมพิสาร\\nเพนแทกซ์\\nเพลโต\\nไพโอเนียร์\\nฟรอยด์\\nฟรังซิส\\nฟรานซิส\\nฟลอเรนซ์\\nฟอร์ด\\nฟิลิปส์\\nฟูจิ\\nแฟซ่า\\nโฟร์โมสต์\\nภูมิพล\\nภูริทัต\\nมงฟอร์ต\\nมณโฑ\\nมติชน\\nมหิตลาธิเบศร\\nมโหสถ\\nมัจฉานุ\\nมาร์กาเร็ต\\nมาร์ติน\\nมาสด้า\\nมิตซูบิชิ\\nมิราเคิล\\nมุสโสลินี\\nเม้ง\\nเมจิ\\nเมอร์ซีเดส\\nเมอร์เซเดส\\nแมกซ์เวลล์\\nแมกไซไซ\\nแมคอินทอช\\nแมชีนเนอรี่\\nโมคคัลลานะ\\nโมโตโรลา\\nโมโตโรล่า\\nโมเนีย\\nไมเคิล\\nไมยราพณ์\\nยโสธรา\\nยะโฮวา\\nยะโฮวาห์\\nยามาฮ่า\\nยาเวห์\\nยาฮู\\nยูนิเซฟ\\nยูเนสโก\\nยูไล\\nเยโฮวาห์\\nรอยเตอร์\\nรอยัล\\nรัชดา\\nรัสปูติน\\nราฟาเอล\\nรามาวตาร\\nราเมศวร\\nราหุล\\nริชาร์ด\\nรีพับลิกัน\\nรูนีย์\\nเรนโบว์\\nแรมโบ้\\nโรตารี\\nโรนัลโด\\nโรนัลโด้\\nโรบินสัน\\nโรเบิร์ต\\nล็อกซเล่ย์\\nลิงคอล์น\\nลิจฉวี\\nลิไท\\nลิไทย\\nลินคอล์น\\nลิเวอร์พูล\\nเลโนโว\\nเลียดก๊ก\\nโลตัส\\nวชิราลงกรณ์\\nวลาดิเมียร์\\nวอลล์สตรีท\\nวาเลนไทน์\\nวิกตอเรีย\\nวิทยานุสรณ์\\nวิทยายน\\nวิมเบิลดัน\\nวิลเลียม\\nวีระ\\nวุฒิชัย\\nเวียดกง\\nไวตามิลค์\\nศกุนตลา\\nศรีวิชัย\\nศิริพงษ์\\nศิริราช\\nศุภชลาศัย\\nสดกก๊อกธม\\nสดายุ\\nสตาลิน\\nสตีฟ\\nสแตนฟอร์ด\\nสวรินทิรา\\nสังกัจจายน์\\nสาทิตย์\\nสารีบุตร\\nสิริกิติ์\\nสิรินธร\\nสิหิงค์\\nสีวลี\\nสีหนุ\\nสีหมุนี\\nสีหโมนี\\nสุครีพ\\nสุทโธทนะ\\nสุเทพ\\nสุนทราภรณ์\\nสุนีย์\\nสุรนารี\\nสุรยุทธ์\\nสุริยาสน์\\nเส้าหลิน\\nโสกราตีส\\nโสภิต\\nหนุมาน\\nหลินฮุ่ย\\nหลุยส์\\nเห้งเจีย\\nไหหม่า\\nองคต\\nองคุลิมาล\\nอชาตศัตรู\\nอดุลยเดช\\nอพอลโล\\nอริสโตเติล\\nอริสมันต์\\nอลิซาเบธ\\nอ๋อม\\nออร์คิด\\nออสการ์\\nอะพอลโล\\nอับราฮัม\\nอั้ม\\nอัลกออิดะห์\\nอัลคาเทล\\nอัลจาซีราห์\\nอัลเฟรด\\nอัลเลาะห์\\nอัสซุส\\nอัสสชิ\\nอัสสัมชัญ\\nอาเซม\\nอาเซ็ม\\nอาเซียน\\nอาฟต้า\\nอาร์เซนอล\\nอินทรชิต\\nอินทราทิตย์\\nอีซูซุ\\nอีเลฟเวน\\nอีเลฟเว่น\\nอุณรุท\\nอุบลรัตน์\\nอุบาลี\\nอุ๋ย\\nเอกทัศน์\\nเอเซอร์\\nเอ็ดเวิร์ด\\nเอดิสัน\\nเอแบค\\nเอลิซาเบธ\\nเอสพลานาด\\nเอสพลานาร์ด\\nแอคคอร์\\nแอคคอร์ด\\nแองเจลิน่า\\nแอตแลนติส\\nแอน\\nแอ๋ม\\nแอมบาสซาเดอร์\\nแอมบาสเดอร์\\nแอมเวย์\\nแอ๋ว\\nโอดีสซีย์\\nโอเดียน\\nโอบามา\\nโอรสาราม\\nโอลิมเปีย\\nโออิชิ\\nไอน์สไตน์\\nฮอนด้า\\nฮอปกินส์\\nฮอลลีวูด\\nฮอลลีวู้ด\\nฮานามิ\\nฮามาส\\nฮิตเลอร์\\nฮิตาชิ\\nฮุนเซน\\nฮุนเซ็น\\nฮุนได\\nฮุสเซ็น\\nเฮนรี\\nเฮนรี่\\nเฮเลน\\nโฮจิมินห์\\nโฮปเวลล์\\nโฮเมอร์\\n\\nกลีเซอรีน\\nกำทอน\\nแกนีมีด\\nครอส\\nคริสตัล\\nคลอโรพลาสต์\\nคลอไรด์\\nควอนตัม\\nคอนดักเตอร์\\nคอปเปอร์\\nคอลลาเจน\\nคอเลสเตอรอล\\nคอสมิก\\nคูลอมบ์\\nเคอราติน\\nแคโรทีน\\nแคสสินี\\nโครมาโทกราฟี\\nไคโตซาน\\nจีโนม\\nจุลชีววิทยา\\nชิคุนกุนยา\\nซัลฟิวริก\\nซัลเฟต\\nซัลไฟด์\\nซิงค์\\nซิริอุส\\nซิลิกา\\nซิลิเกต\\nซิลิโคน\\nซีเทน\\nซีเวิร์ต\\nเซ็กเตอร์\\nเซ็กเมนต์\\nเซมิ\\nโซนาร์\\nไซบอร์ก\\nดอปเปลอร์\\nดอปเพลอร์\\nไดนามิก\\nไดนามิกส์\\nไดนามิค\\nไดนามิคส์\\nไดออกไซด์\\nทรานส์\\nทามิฟลู\\nเทฟลอน\\nเทสโทสเตอโรน\\nเทอร์โม\\nแทนนิน\\nไททัน\\nไทฟอยด์\\nไทรอยด์\\nธาลัสซีเมีย\\nเนกาตีฟ\\nโนวา\\nบอแรกซ์\\nโบทอกซ์\\nโบท็อกซ์\\nไบโอติน\\nปฏิยานุพันธ์\\nโปรเจสเตอโรน\\nพอลิเมอร์\\nพันธุศาสตร์\\nพัลซาร์\\nพาร์กินสัน\\nพาราเซตามอล\\nพาราโบลา\\nเพอร์ออกไซด์\\nโพรเจสเทอโรน\\nโพลาไรซ์\\nโพลิเมอร์\\nโพลีเอทิลีน\\nไพรเมต\\nฟลาโวนอยด์\\nฟลูออเรสเซนซ์\\nฟลูออไรด์\\nฟอสซิล\\nฟิชชัน\\nฟิวชัน\\nฟีโรโมน\\nไฟเบอร์\\nมอนอกไซด์\\nมิราจ\\nเมตริกซ์\\nเมทริกซ์\\nเมลานิน\\nเมลามีน\\nโมเมนตัม\\nไมโตคอนเดรีย\\nไมโทคอนเดรีย\\nยีสต์\\nยูริก\\nยูเรีย\\nรูมาตอยด์\\nวีก้า\\nเวกเตอร์\\nเวก้า\\nเวสิเคิล\\nโวลต์\\nสเกล\\nสเกลาร์\\nสเต็ม\\nสเตียรอยด์\\nสปีชีส์\\nสเปิร์ม\\nสัมพัทธภาพ\\nสุริยจักรวาล\\nออกเทน\\nออโรรา\\nออโรร่า\\nอะคริลิก\\nอะครีลิก\\nอะซีติก\\nอะซีโตน\\nอะมิโน\\nอะลูมินา\\nอันโดรเมดา\\nอัลคาไลน์\\nอัลตราซาวด์\\nอัลตราซาวนด์\\nอัลลอยด์\\nอินทิกรัล\\nอินทิเกรต\\nอีโบลา\\nอีโบล่า\\nเอ็กซ์โพเนนเชียล\\nเอทานอล\\nเอทิลีน\\nเอนโทรปี\\nเอสเตอร์\\nเอสโตรเจน\\nเอสโทรเจน\\nแอนดรอยด์\\nแอนแทร็กซ์\\nแอมพลิจูด\\nแอมโมเนียม\\nแอลกอฮอลิซึม\\nแอสพาร์แตม\\nโอเซลทามิเวียร์\\nฮับเบิล\\nฮิวมัส\\nไฮดรอกไซด์\\nไฮดรอลิก\\nไฮโดรลิก\\nไฮเพอร์โบลา\\n\\nกงเต็ก\\nกฎุมพี\\nกฏ\\nกฏหมาย\\nกบฎ\\nกราไฟต์\\nก๊อปปี้\\nกะทะ\\nกังวาล\\nกุฎฐัง\\nกุฏุมพี\\nฃวด\\nคฑา\\nคลินิค\\nคลีนิก\\nคลีนิค\\nคาทอลิค\\nคึ่นฉ่าย\\nแคตตาล็อก\\nโควต้า\\nฅน\\nจุมพฎ\\nช็อคโกแลต\\nแซ่ด\\nดัทช์\\nทนง\\nทรมาณ\\nทราก\\nทะแยง\\nทิฏฐิ\\nบล็อค\\nบ๊องแบ๊ว\\nบัลเล่ต์\\nเบรค\\nแบงค์\\nปรากฎ\\nปัคคหะ\\nปาฏิโมกข์\\nปิติ\\nปิรามิด\\nโปรเตสแตนท์\\nพนิช\\nพยักเพยิด\\nพริ้ว\\nพลูโตเนียม\\nพากษ์\\nเฟิร์น\\nยากี้\\nเยภุยยสิกา\\nรุสเซีย\\nฤาษี\\nล็อค\\nล็อคเกอร์\\nวันทยาหัตถ์\\nวานิช\\nวิญญาน\\nวิศิษฐ์\\nศรีษะ\\nสเปกโทรสโคป\\nสฤษฎ์\\nสลิ่ม\\nสัตตสดก\\nสาราณียากร\\nสุกี้\\nสุกี้ยากี้\\nสูญญากาศ\\nหยอมแหยม\\nหยอย\\nหล่ะ\\nอะดรีนาลีน\\nอะหลั่ย\\nอัตคัต\\nอัฟริกา\\nอานิสงค์\\nอาฟริกา\\nอิริยาบท\\nอิเลคโทรนิคส์\\nอีรุงตุงนัง\\nอุตรายัน\\nอุลตรา\\nอุลตร้า\\nโอกาศ\\n\\nกกหู\\nกงการ\\nกงจักร\\nกฎเกณฑ์\\nกฎบัตร\\nกฎหมาย\\nกฎหมู่\\nกดขี่\\nกดดัน\\nก้นกบ\\nก้นบึ้ง\\nก้นปล่อง\\nกนิษฐภคินี\\nกนิษฐภาดา\\nกรงเล็บ\\nกรมการ\\nกรมท่า\\nกรมธรรม์\\nกรมนา\\nกรมวัง\\nกรรมกร\\nกรรมการ\\nกรรมฐาน\\nกรรมบถ\\nกรรมพันธุ์\\nกรรมวิธี\\nกรรมสิทธิ์\\nกระจกเงา\\nกระจกตา\\nกระจกนูน\\nกระจกเว้า\\nกระจอกชวา\\nกระจอกเทศ\\nกระจ้อยร่อย\\nกระจับบก\\nกระจับปิ้ง\\nกระจับปี่\\nกระโชกโฮกฮาก\\nกระดานดำ\\nกระดานหก\\nกระดาษแก้ว\\nกระดาษไข\\nกระดาษทราย\\nกระดาษสา\\nกระดูกงู\\nกระทาชาย\\nกระเท่เร่\\nกระบวนการ\\nกระบองเพชร\\nกระผีกริ้น\\nกระยาทิพย์\\nกระยาสารท\\nกระยาหาร\\nกระสอบทราย\\nกระสุนปืน\\nกระแสจิต\\nกระแสน้ำ\\nกระแสลม\\nกรับคู่\\nกรับพวง\\nกรับเสภา\\nกราดเกรี้ยว\\nกราวรูด\\nกริ่งเกรง\\nกรีฑาสถาน\\nกรีดกราย\\nกรี๊ดกร๊าด\\nกลไก\\nกลบท\\nกลเม็ด\\nกลยุทธ์\\nกลวิธี\\nกลศาสตร์\\nกลอักษร\\nกลบเกลื่อน\\nกลมกล่อม\\nกลมกลืน\\nกลมเกลียว\\nกล้วยแขก\\nกล้วยไม้\\nกล่องเสียง\\nกล่อมเกลา\\nกล่อมเกลี้ยง\\nกลัดกลุ้ม\\nกลัดมัน\\nกลั่นกรอง\\nกลั่นแกล้ง\\nกลับกลอก\\nกลางคน\\nกลางคัน\\nกลางค่ำ\\nกลางคืน\\nกลางแจ้ง\\nกลางแปลง\\nกลางวัน\\nกลาดเกลื่อน\\nกล่าวขวัญ\\nกล่าวโทษ\\nกล่าวหา\\nกล้ำกราย\\nกล้ำกลืน\\nกลิ้งกลอก\\nกลิ้งเกลือก\\nกลิ่นอาย\\nกลียุค\\nกวดขัน\\nกวัดแกว่ง\\nกวัดไกว\\nกวีนิพนธ์\\nก่อกวน\\nก่อการ\\nก่อตั้ง\\nก่อสร้าง\\nก่อหวอด\\nก้อร่อก้อติก\\nกองกลาง\\nกองเกิน\\nกองโจร\\nกองทัพ\\nกองทุน\\nกองพล\\nกองพัน\\nกองฟอน\\nกองร้อย\\nกองหนุน\\nกอบโกย\\nกะเกณฑ์\\nกะบังลม\\nกักกัน\\nกักขัง\\nกักตัว\\nกักตุน\\nกัณฑ์เทศน์\\nกัดฟัน\\nกันชน\\nกันท่า\\nกันสาด\\nกันเอง\\nกับแกล้ม\\nกับข้าว\\nกับระเบิด\\nกากเพชร\\nกากหมู\\nกาชาด\\nกาญจนาภิเษก\\nก้านคอ\\nกาฝาก\\nก้ามกราม\\nกามกิจ\\nกามคุณ\\nกามเทพ\\nกามโรค\\nก้ามปู\\nกายกรรม\\nกายบริหาร\\nกายภาพ\\nกายวิภาค\\nกายสิทธิ์\\nก่ายกอง\\nการคลัง\\nการเงิน\\nการบ้าน\\nการเปรียญ\\nการเมือง\\nการเรือน\\nการละเล่น\\nกาลกิริยา\\nกาลเทศะ\\nก้าวก่าย\\nก้าวร้าว\\nก้าวหน้า\\nกาสาวพัสตร์\\nกาฬพฤกษ์\\nกาฬโรค\\nกำปั้น\\nกำมือ\\nกำแพงขาว\\nกำลังใจ\\nกำลังม้า\\nกี่งอำเภอ\\nกิจกรรม\\nกิจการ\\nกิจวัตร\\nกิจจะลักษณะ\\nกิตติคุณ\\nกิตติศัพท์\\nกินขาด\\nกินใจ\\nกินดอง\\nกินโต๊ะ\\nกินแบ่ง\\nกินเปล่า\\nกินเลี้ยง\\nกินเส้น\\nกินแหนง\\nกิโลกรัม\\nกิโลเมตร\\nกิโลลิตร\\nกิโลเฮิรตซ์\\nกีดกัน\\nกีดกั้น\\nกีดขวาง\\nกึกก้อง\\nกึกกัก\\nกึกกือ\\nกึ่งกลาง\\nกุกกัก\\nกุ๊กกิ๊ก\\nกุ้งฝอย\\nกุ้งมังกร\\nกุ้งแห้ง\\nกุ้งเต้น\\nกุ้งยิง\\nกุญแจผี\\nกุญแจมือ\\nกุญแจเลื่อน\\nกุญแจเสียง\\nกุลธิดา\\nกุลบุตร\\nกุลสตรี\\nกู้ยืม\\nเก้งก้าง\\nเก็บกวาด\\nเก็บเกี่ยว\\nเก็บงำ\\nเก็บตก\\nเกรงกลัว\\nเกรงใจ\\nเกรงขาม\\nเกรียงไกร\\nเกรียมกรม\\nเกรี้ยวกราด\\nเกล็ดเลือด\\nเกลี้ยกล่อม\\nเกลี้ยงเกลา\\nเกลือกกลั้ว\\nเกลือกกลิ้ง\\nเกลื่อนกล่น\\nเกลื่อนกลาด\\nเกศธาตุ\\nเกษตรกร\\nเกษตรกรรม\\nเกษตรศาสตร์\\nเกษมสันต์\\nเกษียรสมุทร\\nเก้อเขิน\\nเกาะแกะ\\nเกี่ยงงอน\\nเกียจคร้าน\\nเกียรติคุณ\\nเกียรตินิยม\\nเกียรติประวัติ\\nเกียรติภูมิ\\nเกียรติยศ\\nเกียรติศักดิ์\\nเกียรติมุข\\nเกี่ยวข้อง\\nเกี่ยวดอง\\nเกี่ยวพัน\\nเกี่ยวโยง\\nเกี้ยวพาน\\nเกี้ยวพาราสี\\nแก่แดด\\nแก้ขัด\\nแก้ไข\\nแก้ตัว\\nแก้เผ็ด\\nแก้ลำ\\nแกงคั่ว\\nแกงจืด\\nแกงบวด\\nแกงป่า\\nแกงเผ็ด\\nแกงส้ม\\nแก่งแย่ง\\nแก่นแก้ว\\nแก่นสาร\\nแก้วตา\\nแก้วหู\\nแกว่งกวัด\\nแกว่งไกว\\nแกะรอย\\nโก้เก๋\\nโกรธเกรี้ยว\\nโกรธขึ้ง\\nไก่เขี่ย\\nไก่ชน\\nไก่บ้าน\\nไก่ป่า\\nไก่ฟ้า\\nไกล่เกลี่ย\\nขจัดขจาย\\nขนเพชร\\nขนสัตว์\\nขนหนู\\nขนส่ง\\nขนมจีน\\nขบขัน\\nขบวนการ\\nข่มขี่\\nข่มขู่\\nข่มขืน\\nข่มเหง\\nขมหิน\\nขมิ้นชัน\\nขมุบขมิบ\\nขยะแขยง\\nขยักขย่อน\\nขยักขย้อน\\nขยับขยาย\\nขยับเขยื้อน\\nขวดโหล\\nขวยเขิน\\nขวัญใจ\\nขวัญตา\\nขวัญอ่อน\\nขวากหนาม\\nขวางโลก\\nของ้าว\\nขอสับ\\nขอขมา\\nขอทาน\\nขอโทษ\\nขอร้อง\\nขออภัย\\nข้อเขียน\\nข้อความ\\nข้อเท็จจริง\\nของกลาง\\nของขวัญ\\nของแข็ง\\nของชำ\\nของลับ\\nของเล่น\\nของว่าง\\nของเหลว\\nของไหล\\nของไหว้\\nข้องใจ\\nข้องแวะ\\nขอบข่าย\\nขอบเขต\\nขอบคุณ\\nขอบใจ\\nขอบพระคุณ\\nข้อมูล\\nข้อแม้\\nข้อหา\\nข้อสังเกต\\nขัดข้อง\\nขัดขืน\\nขัดเขิน\\nขัดจังหวะ\\nขัดดอก\\nขัดแตะ\\nขัดยอก\\nขัดแย้ง\\nขัดสมาธิ\\nขันหมาก\\nขันอาสา\\nขับขี่\\nขับเคี่ยว\\nขั้วโลก\\nขาจร\\nขาประจำ\\nข้าราชการ\\nข้าศึก\\nข้าหลวง\\nขาดแคลน\\nขาดใจ\\nขาดตอน\\nขาดตัว\\nขาดทุน\\nขาดเหลือ\\nขายหน้า\\nข่าวกรอง\\nข่าวคราว\\nข่าวล่า\\nข่าวลือ\\nข่าวสาร\\nข้าวเกรียบ\\nข้าวแกง\\nข้าวของ\\nข้าวจี่\\nข้าวเจ้า\\nข้าวซอย\\nข้าวต้ม\\nข้าวตอก\\nข้าวตัง\\nข้าวแตน\\nข้าวทิพย์\\nข้าวบิณฑ์\\nข้าวเปลือก\\nข้าวโพด\\nข้าวฟ่าง\\nข้าวเม่า\\nข้าวสวย\\nข้าวสาร\\nข้าวเหนียว\\nข้าวหมาก\\nข้าวหลาม\\nขี้เกียจ\\nขี้ข้า\\nขี้ครอก\\nขี้คร้าน\\nขี้คุก\\nขี้ไคล\\nขี้เซา\\nขีดขั้น\\nขีดคร่อม\\nขีดคั่น\\nขีดฆ่า\\nขี้ตา\\nขี้ตืด\\nขี้เถ้า\\nขี้ทูด\\nขี้ปะติ๋ว\\nขี้ผึ้ง\\nขี้มูก\\nขี้ยา\\nขี้แย\\nขี้ริ้ว\\nขี้เรื้อน\\nขี้เล็บ\\nขี้หู\\nขี้หน้า\\nขี้เหนียว\\nขี้เหล็ก\\nขี้เหร่\\nขึงขัง\\nขึงพืด\\nขึ้งโกรธ\\nขึ้นใจ\\nขึ้นชื่อ\\nขึ้นมือ\\nขืนใจ\\nขื่นขม\\nขุดคุ้ย\\nขุนทอง\\nขุนนาง\\nขุนพล\\nขุนศึก\\nขุนหลวง\\nขูดรีด\\nเข็มกลัด\\nเข็มขัด\\nเข้มข้น\\nเข้มแข็ง\\nเข้มงวด\\nเข็มทิศ\\nเข็มหมุด\\nเข้าขา\\nเข้าเค้า\\nเข้าใจ\\nเข้าชื่อ\\nเข้าตัว\\nเข้าถึง\\nเข้าทรง\\nเข้าท่า\\nเข้าที\\nเข้าเนื้อ\\nเข้าเล่ม\\nเขียวเสวย\\nเขียวหวาน\\nแขกเต้า\\nแข็งกร้าว\\nแข็งกล้า\\nแข็งแกร่ง\\nแข็งข้อ\\nแข็งขัน\\nแข่งขัน\\nแข็งใจ\\nแข็งตัว\\nแข็งเมือง\\nแข็งแรง\\nแขวนลอย\\nโขกสับ\\nโขยกเขยก\\nไขข้อ\\nไขควง\\nไขมัน\\nไข่มุก\\nไขว่ห้าง\\nไขสันหลัง\\nไขสือ\\nไข่เค็ม\\nไข่เยี่ยวม้า\\nไข่หงส์\\nไข่เหี้ย\\nคงกระพัน\\nคงตัว\\nคงทน\\nคงที่\\nคชลักษณ์\\nคชสาร\\nคชสีห์\\nคชราช\\nคณิตศาสตร์\\nคดเคี้ยว\\nคติธรรม\\nคติพจน์\\nคนกลาง\\nคนไข้\\nคนใช้\\nคนทรง\\nคบไฟ\\nคบเพลิง\\nคบค้า\\nคบคิด\\nคบหา\\nคมคาย\\nครบครัน\\nครบถ้วน\\nครอบครอง\\nครอบคลุม\\nครอบครัว\\nครอบงำ\\nครอบจักรวาล\\nคริสตกาล\\nคริสตจักร\\nคริสต์มาส\\nคริสต์ศตวรรษ\\nคริสต์ศักราช\\nคริสตัง\\nคริสเตียน\\nครุกรรม\\nครุภัณฑ์\\nครุศาสตร์\\nครุฑพ่าห์\\nครุ่นคิด\\nคลอเคลีย\\nคล่องแคล่ว\\nคล่องตัว\\nคล่องมือ\\nคลั่งไคล้\\nคลาคล่ำ\\nคลาไคล\\nคลาดเคลื่อน\\nคลาดแคล้ว\\nคลี่คลาย\\nคลึงเคล้น\\nคลึงเคล้า\\nคลื่นไส้\\nคลื่นเหียน\\nคลุกคลี\\nคลุกคลาน\\nคลุมเครือ\\nคลุมโปง\\nคลุ้มคลั่ง\\nควงสว่าน\\nควบคุม\\nควบคู่\\nควบแน่น\\nควันหลง\\nความคิด\\nความหลัง\\nความเห็น\\nคอหอย\\nคอห่าน\\nคอแห้ง\\nค่อนขอด\\nค่อนแคะ\\nค้อนควัก\\nคั่งค้าง\\nคั่งแค้น\\nคัดค้าน\\nคัดง้าง\\nคัดท้าย\\nคัดเลือก\\nคันจาม\\nคันฉ่อง\\nคันฉาย\\nคันชัก\\nคันชั่ง\\nคันไถ\\nคันนา\\nคันเร่ง\\nคับขัน\\nคับคั่ง\\nคับแค้น\\nคับแคบ\\nคางทูม\\nคางหมู\\nค้างคืน\\nค้างปี\\nคาดคั้น\\nคาดเชือก\\nคาดโทษ\\nคาดหมาย\\nคานหาม\\nคาบเกี่ยว\\nคาบศิลา\\nคาบสมุทร\\nคำขาด\\nคำนำ\\nคิดค้น\\nคืนดี\\nคืนตัว\\nคุกเข่า\\nคุณค่า\\nคุณชาย\\nคุณธรรม\\nคุณนาย\\nคุณภาพ\\nคุณลักษณะ\\nคุณวุฒิ\\nคุณศัพท์\\nคุณสมบัติ\\nคุณหญิง\\nคุณากร\\nคุณูปการ\\nคุโณปการ\\nคุมเชิง\\nคุ้มกัน\\nคุยเขื่อง\\nคุยโต\\nคุ้ยเขี่ย\\nคุ้มครอง\\nคู่กรณี\\nคู่กัด\\nคู่ขา\\nคู่แข่ง\\nคู่ครอง\\nคู่ควร\\nคู่คิด\\nคู่คี่\\nคู่ใจ\\nคู่ชีพ\\nคู่ชีวิต\\nคู่บารมี\\nคู่บุญ\\nคู่ปรปักษ์\\nคู่ปรับ\\nคู่ผสม\\nคู่มือ\\nคู่รัก\\nคู่ลำดับ\\nคู่สาย\\nคู่หมั้น\\nคู่หู\\nคู่อริ\\nคู่อาฆาต\\nเคมีภัณฑ์\\nเคยตัว\\nเคร่งขรึม\\nเคร่งครัด\\nเคร่งเครียด\\nเครดิตฟองซิเอร์\\nเครื่องกล\\nเครื่องกัณฑ์\\nเครื่องแกง\\nเครื่องเขิน\\nเครื่องครัว\\nเครื่องเคียง\\nเครื่องเงิน\\nเครื่องจักร\\nเครื่องเซ่น\\nเครื่องดนตรี\\nเครื่องต้น\\nเครื่องทุ่นแรง\\nเครื่องเทศ\\nเครื่องใน\\nเครื่องบิน\\nเครื่องบูชา\\nเครื่องแบบ\\nเครื่องประดับ\\nเครื่องปรุง\\nเครื่องปรุงรส\\nเครื่องมือ\\nเครื่องยนต์\\nเครื่องร่อน\\nเครื่องราง\\nเครื่องเรือน\\nเครื่องล่าง\\nเครื่องเล่น\\nเครื่องสาย\\nเครื่องสำอาง\\nเครื่องสุกำศพ\\nเครื่องหมาย\\nเครือรัฐ\\nเคลียคลอ\\nเคลื่อนที่\\nเคลื่อนไหว\\nเคลือบแคลง\\nเคลือบแฝง\\nเคลือบฟัน\\nเคว้งคว้าง\\nเคหสถาน\\nเค้าโครง\\nเคียดแค้น\\nเคี่ยวเข็ญ\\nเคี้ยวเอื้อง\\nเคืองขุ่น\\nโคนม\\nโคบาล\\nโคมูตร\\nโคมลอย\\nโครงการ\\nโครงเรื่อง\\nโครงงาน\\nโครงสร้าง\\nโครมคราม\\nโคลงเคลง\\nฆ้องกระแต\\nฆ้องชัย\\nฆ้องวง\\nฆ้องหุ่ย\\nฆ้องเหม่ง\\nฆ้องโหม่ง\\nฆาตกร\\nฆาตกรรม\\nฆานประสาท\\nงงงวย\\nงงงัน\\nงดเว้น\\nงบดุล\\nงบประมาณ\\nงมโข่ง\\nงมงาย\\nง่วงงุน\\nง่วงเหงา\\nงอหาย\\nง้องอน\\nงอนง้อ\\nงอมแงม\\nงาช้าง\\nง่าเงย\\nงานการ\\nง่ายดาย\\nงึมงำ\\nเงินเดือน\\nเงินตรา\\nเงินยวง\\nเงียบกริบ\\nเงียบเชียบ\\nเงียบเหงา\\nเงื่องหงอย\\nเงื่อนไข\\nเงื่อนงำ\\nเงื่อนเวลา\\nเงื้อมมือ\\nแง่งอน\\nจงใจ\\nจงรัก\\nจดจ่อ\\nจดจำ\\nจดหมาย\\nจดหมายเหตุ\\nจรจัด\\nจรรยาบรรณ\\nจริงจัง\\nจริงใจ\\nจอมขวัญ\\nจอมใจ\\nจอมทัพ\\nจอมปลวก\\nจอมพล\\nจ๊ะเอ๋\\nจักสาน\\nจักรพรรดิ\\nจักรภพ\\nจักรยาน\\nจักรยานยนต์\\nจักรราศี\\nจักรวรรดิ\\nจักรวรรดินิยม\\nจักรวาล\\nจังหนับ\\nจัดการ\\nจัดจ้าน\\nจัดเจน\\nจัดแจง\\nจัดตั้ง\\nจัดสรร\\nจับกุม\\nจับจด\\nจับเจ่า\\nจ่าหน้า\\nจาตุทสี\\nจาตุมหาราช\\nจาตุมหาราชิก\\nจาตุมหาราชิกา\\nจาตุรงคสันนิบาต\\nจาตุรราชการ\\nจานเชิง\\nจานบิน\\nจานผี\\nจานเสียง\\nจาบจ้วง\\nจำเป็น\\nจำพรรษา\\nจำวัด\\nจ้ำจี้จ้ำไช\\nจำเลาะตา\\nจิงโจ้น้ำ\\nจิตใจ\\nจิตตภาวนา\\nจิตตัง\\nจิตตานุปัสสนา\\nจิตนิยม\\nจิตบำบัด\\nจิตแพทย์\\nจิตวิสัย\\nจิตรกร\\nจิตรกรรม\\nจิตรลดา\\nจิตวิทยา\\nจิตเวช\\nจิตเวชศาสตร์\\nจินตกวี\\nจินตนา\\nจินตนาการ\\nจินตภาพ\\nจุฑามณี\\nจุฑามาศ\\nจุฑารัตน์\\nจุนเจือ\\nจุ้นจ้าน\\nจุลชีพ\\nจุลชีวัน\\nจุลชีวิน\\nจุลทรรศน์\\nจุลภาค\\nจุลวรรค\\nจุลศักราช\\nจุลสาร\\nจุลินทรีย์\\nจุฬามณี\\nจุฬาลักษณ์\\nเจตคติ\\nเจตจำนง\\nเจตนารมณ์\\nเจตภูต\\nเจริญพร\\nเจ้ากรม\\nเจ้ากรรม\\nเจ้าของ\\nเจ้าขา\\nเจ้าข้า\\nเจ้าคณะ\\nเจ้าค่ะ\\nเจ้าจอม\\nเจ้าชู้\\nเจ้าตัว\\nเจ้าถิ่น\\nเจ้าท่า\\nเจ้าที่\\nเจ้าทุกข์\\nเจ้านาย\\nเจ้าเนื้อ\\nเจ้าบ้าน\\nเจ้าบ่าว\\nเจ้าประคุณ\\nเจ้าประคู้น\\nเจ้าพนักงาน\\nเจ้าพระคุณ\\nเจ้าพระยา\\nเจ้าพ่อ\\nเจ้าพายุ\\nเจ้าฟ้า\\nเจ้าภาพ\\nเจ้ามือ\\nเจ้าแม่\\nเจ้าเรือน\\nเจ้าสังกัด\\nเจ้าสัว\\nเจ้าสาว\\nเจ้าหน้าที่\\nเจ้าหนี้\\nเจ้าอาวาส\\nเจาะจง\\nเจือจาง\\nเจือจาน\\nเจือปน\\nเจื้อยแจ้ว\\nแจกจ่าย\\nแจ่มแจ้ง\\nแจ่มใส\\nโจงกระเบน\\nโจมตี\\nโจรกรรม\\nโจรสลัด\\nใจความ\\nใจคอ\\nฉกฉวย\\nฉกชิง\\nฉลองได\\nฉ้อฉล\\nฉัตรมงคล\\nฉันทลักษณ์\\nฉายาลักษณ์\\nฉิบหาย\\nฉุกเฉิน\\nฉุกละหุก\\nฉุนเฉียว\\nฉุปศาสตร์\\nเฉไฉ\\nเฉยเมย\\nเฉาโฉด\\nเฉิดฉัน\\nเฉิดฉาย\\nเฉิดฉิน\\nเฉียบขาด\\nเฉียบพลัน\\nเฉียบแหลม\\nเฉื่อยชา\\nแฉะแบะ\\nโฉดเฉา\\nโฉมงาม\\nโฉมฉาย\\nโฉมเฉลา\\nโฉมตรู\\nโฉมยง\\nโฉมศรี\\nโฉมหน้า\\nชดช้อย\\nชดเชย\\nชดใช้\\nชนบท\\nชนินทร์\\nชนกกรรม\\nชนมพรรษา\\nชนมายุ\\nชมเชย\\nชมพูทวีป\\nชมพูนท\\nชมพูนุท\\nชราธรรม\\nชราภาพ\\nชลจร\\nชลธาร\\nชลธี\\nชลนัยน์\\nชลนา\\nชลเนตร\\nชลประทาน\\nชลมารค\\nชลาธาร\\nชลาลัย\\nชลาศัย\\nชลาสินธุ์\\nชโลทร\\nช่วงชิง\\nช่วงใช้\\nชวนชม\\nชวนหัว\\nช่วยเหลือ\\nช่อฟ้า\\nช่อม่วง\\nชอกช้ำ\\nช่องเขา\\nช่องแคบ\\nช่องไฟ\\nช่องว่าง\\nช้องนาง\\nชอบกล\\nชอบใจ\\nชอบธรรม\\nชอบพอ\\nชักโครก\\nชักเงา\\nชักจูง\\nชักชวน\\nชักนำ\\nชักเนื้อ\\nชักพระ\\nชักเย่อ\\nชักใย\\nชั่งใจ\\nชังฆวิหาร\\nชัดเจน\\nชั้นเชิง\\nชั่วคน\\nชั่วคราว\\nชั่วช้า\\nชั่วโมง\\nชั่วแล่น\\nชาเย็น\\nช้านาน\\nช่างเครื่อง\\nช่างฝีมือ\\nช่างฟิต\\nช่างไฟ\\nช้างน้ำ\\nช้างเผือก\\nช้างพลาย\\nช้างพัง\\nช้างสาร\\nช้างสีดอ\\nชาติธรรม\\nชาตินิยม\\nชาติพันธุ์\\nชาติพันธุ์วิทยา\\nชาติภูมิ\\nชานชาลา\\nชายชาตรี\\nชายคา\\nชายฝั่ง\\nชายทะเล\\nชาวเล\\nชาววัง\\nช้ำใจ\\nช้ำชอก\\nชิงชัง\\nชิงพลบ\\nชินชา\\nชินบุตร\\nชิ้นเอก\\nชิมลาง\\nชีเปลือย\\nชี้ขาด\\nชี้แจง\\nชี้นำ\\nชี้แนะ\\nชี้ฟ้า\\nชีพจร\\nชีพิตักษัย\\nชื่นชม\\nชื่นบาน\\nชื่นมื่น\\nชื่อย่อ\\nชื่อรอง\\nชื่อเล่น\\nชื่อเสียง\\nชุกชุม\\nชุติมา\\nชุบตัว\\nชุบเลี้ยง\\nชุมชน\\nชุมทาง\\nชุมสาย\\nชุ่มใจ\\nชุ่มชื่น\\nชุ่มชื้น\\nชุมนุมชน\\nชูชีพ\\nชูโรง\\nชู้สาว\\nเชยชม\\nเชลยศักดิ์\\nเชลยศึก\\nเช่าซื้อ\\nเช้าตรู่\\nเช้ามืด\\nเชิงกราน\\nเชิงกล\\nเชิงชั้น\\nเชิงชาย\\nเชิงซ้อน\\nเชิงเดียว\\nเชิงเดี่ยว\\nเชิงตะกอน\\nเชิงเทิน\\nเชิงมุม\\nเชิดชู\\nเชิงอรรถ\\nเชี่ยนหมาก\\nเชี่ยวชาญ\\nเชื่องช้า\\nเชื่อใจ\\nเชื่อถือ\\nเชื่อฟัง\\nเชื่อมือ\\nเชื้อชาติ\\nเชื้อเพลิง\\nเชื้อไฟ\\nเชื้อโรค\\nเชื้อสาย\\nเชื้อเชิญ\\nเชื่องช้า\\nเชือนแช\\nเชื่อวัน\\nแช่เย็น\\nแช่อิ่ม\\nแช่มช้อย\\nแช่มชื่น\\nโชกโชน\\nโชติช่วง\\nโชติรส\\nใช้สอย\\nซบเซา\\nซมซาน\\nซวนเซ\\nซอกซอน\\nซอกแซก\\nซ่องสุม\\nซ่องเสพ\\nซ่องแซ่ง\\nซ่อนรูป\\nซ่อนเร้น\\nซ่อนหา\\nซ่อนกลิ่น\\nซ่อนทราย\\nซ่อมแซม\\nซักค้าน\\nซักซ้อม\\nซักไซ้\\nซักฟอก\\nซักแห้ง\\nซังกะตาย\\nซังตาย\\nซัดเซ\\nซัดทอด\\nซับซ้อน\\nซับใน\\nซับพระพักตร์\\nซากศพ\\nซ่านเซ็น\\nซ้ำซ้อน\\nซ้ำซาก\\nซ้ำเติม\\nซ้ำร้าย\\nซี่โครง\\nซีดเซียว\\nซึมกะทือ\\nซึมซาบ\\nซึมเซา\\nซึมทราบ\\nซึมเศร้า\\nซื่อตรง\\nซื่อสัตย์\\nซื้อขาย\\nซุกซน\\nซุกซ่อน\\nซุบซิบ\\nซู่ซ่า\\nเซซัง\\nเซ่อซ่า\\nแซ่ซ้อง\\nโซดาไฟ\\nญาณทัสนะ\\nญาณวิทยา\\nญาณศาสตร์\\nญาติกา\\nฐานราก\\nดกดื่น\\nดงดิบ\\nดลใจ\\nดลบันดาล\\nดวงแก้ว\\nดวงใจ\\nดวงเดือน\\nดวงตรา\\nดวงตา\\nดวงสมร\\nดอกจัน\\nดอกจิก\\nดอกบัว\\nดอกเบี้ย\\nดอกฟ้า\\nดอกไม้\\nดอกยาง\\nดอกเล็บ\\nดอกทอง\\nดอกสร้อย\\nดองยา\\nดักคอ\\nดักฟัง\\nดังนั้น\\nดังนี้\\nดังหนึ่ง\\nดั้งเดิม\\nดัดจริต\\nดัดแปลง\\nดันทุรัง\\nดับขันธ์\\nดับจิต\\nดับชีพ\\nด่าทอ\\nด่างทับทิม\\nด่างพร้อย\\nดาดฟ้า\\nดาราศาสตร์\\nดาลเดือด\\nดาวกระจาย\\nดาวเคราะห์\\nดาวตก\\nดาวเทียม\\nดาวรุ่ง\\nดาวเรือง\\nดาวฤกษ์\\nดาวหาง\\nดาวเหนือ\\nดาษดื่น\\nดินขาว\\nดินดาน\\nดินดำ\\nดินประสิว\\nดินปืน\\nดินระเบิด\\nดินสอ\\nดินสอพอง\\nดิ้นรน\\nดิบดี\\nดีเกลือ\\nดีใจ\\nดีซ่าน\\nดีดัก\\nดีเดือด\\nดีฝ่อ\\nดีดดิ้น\\nดึกดำบรรพ์\\nดึกดื่น\\nดึงดัน\\nดึงดูด\\nดื่มด่ำ\\nดื้อด้าน\\nดื้อดึง\\nดื้อแพ่ง\\nดื้อยา\\nดื้อรั้น\\nดุดัน\\nดุเดือด\\nดุร้าย\\nดุลการค้า\\nดุลพินิจ\\nดุลภาค\\nดุลยพินิจ\\nดุลยภาพ\\nดุษฎีนิพนธ์\\nดุษฎีบัณฑิต\\nดุษณีภาพ\\nดูแคลน\\nดูถูก\\nดูดาย\\nดูเบา\\nดูแล\\nดูหมิ่น\\nดูเหมือน\\nดูดดื่ม\\nเด็ดขาด\\nเด็ดดวง\\nเด็ดเดี่ยว\\nเดนตาย\\nเดาสวด\\nเดาสุ่ม\\nเดินทาง\\nเดินสะพัด\\nเดินสาย\\nเดินเหิน\\nเดิมพัน\\nเดียงสา\\nเดียดฉันท์\\nเดียวกัน\\nเดียวดาย\\nเดี๋ยวเดียว\\nเดี๋ยวนี้\\nเดือดดาล\\nเดือดร้อน\\nเดือนมืด\\nเดือนหงาย\\nแดดาล\\nแดดิ้น\\nแดกดัน\\nโด่เด่\\nโด่งดัง\\nโดดเดี่ยว\\nโดยสาร\\nได้การ\\nได้แก่\\nได้ใจ\\nได้ที\\nได้ยิน\\nได้เสีย\\nตกเขียว\\nตกค้าง\\nตกใจ\\nตกต่ำ\\nตกแต่ง\\nตกทอด\\nตกฟาก\\nตกมัน\\nตกยาก\\nตกลง\\nตกหล่น\\nต้นขั้ว\\nต้นคิด\\nต้นฉบับ\\nต้นตอ\\nต้นตำรับ\\nต้นทุน\\nต้นแบบ\\nต้นเพลิง\\nต้นมือ\\nต้นไม้\\nต้นร่าง\\nต้นเรื่อง\\nต้นสังกัด\\nต้นหน\\nต้นเหตุ\\nตบตา\\nตบแต่ง\\nตบแผละ\\nตบมือ\\nต้มข่า\\nต้มโคล้ง\\nต้มยำ\\nต้มส้ม\\nตรมตรอม\\nตรรกวิทยา\\nตรรกศาสตร์\\nตรวจการ\\nตรวจการณ์\\nตรวจตรา\\nตระบัดสัตย์\\nตรัสรู้\\nตราตั้ง\\nตราบาป\\nตรายาง\\nตราสาร\\nตริตรอง\\nตรีกฏุก\\nตรีกาย\\nตรีโกณ\\nตรีโกณมิติ\\nตรีคูณ\\nตรีทูต\\nตรีปิฎก\\nตรีภพ\\nตรีมูรติ\\nตรึกตรอง\\nตรึงตรา\\nตรุษจีน\\nตฤณชาติ\\nตฤณมัย\\nตลกบาตร\\nตลบตะแลง\\nตลบหลัง\\nตลาดนัด\\nตลาดน้ำ\\nตลาดมืด\\nตลาดสด\\nต่อตี\\nต่อเติม\\nต่อว่า\\nต่อสู้\\nต่อกร\\nต่อต้าน\\nต่อแย้ง\\nต้องการ\\nต้องโทษ\\nต้องหา\\nต้อนรับ\\nตอบโต้\\nตอบแทน\\nต่อยหอย\\nตะพาบน้ำ\\nตักตวง\\nตักบาตร\\nตั้งเข็ม\\nตั้งไข่\\nตั้งเค้า\\nตั้งแง่\\nตั้งใจ\\nตั้งต้น\\nตั้งแต่\\nตั้งท้อง\\nตัดขาด\\nตัดใจ\\nตัดเชือก\\nตัดตอน\\nตัดทอน\\nตัดบท\\nตัดพ้อ\\nตัดรอน\\nตัดสิน\\nตับเต่า\\nตับแลบ\\nตับอ่อน\\nตัวกลาง\\nตัวการ\\nตัวเก็ง\\nตัวดี\\nตัวตั้ง\\nตัวเต็ง\\nตัวถัง\\nตัวแทน\\nตัวประกอบ\\nตัวประกัน\\nตัวแปร\\nตัวผู้\\nตัวพิมพ์\\nตัวเมีย\\nตัวยืน\\nตัวเลข\\nตัวอย่าง\\nตั๋วเงิน\\nตั๋วแลกเงิน\\nตากล้อง\\nตาไก่\\nตาข่าย\\nตาชั่ง\\nตาตุ่ม\\nตาทวด\\nตาปลา\\nตาราง\\nต่างหาก\\nต้านทาน\\nตามใจ\\nตายใจ\\nตายซาก\\nตายด้าน\\nตายตัว\\nตายทั้งกลม\\nตายห่า\\nตายโหง\\nตาลปัตร\\nต่ำช้า\\nต่ำต้อย\\nตำส้ม\\nติเตียน\\nติณชาติ\\nติดขัด\\nติดใจ\\nติดต่อ\\nติดตั้ง\\nติดตาม\\nติดตื้น\\nติดพัน\\nติดลม\\nติดอ่าง\\nตีเกลียว\\nตีขลุม\\nตีความ\\nตีคู่\\nตีจาก\\nตีตื้น\\nตีแผ่\\nตีรวน\\nตีลังกา\\nตีวง\\nตีเสมอ\\nตีนกา\\nตีนคู้\\nตีนจก\\nตีนตะขาบ\\nตีนผี\\nตีนเหยียด\\nตึกแถว\\nตึกระฟ้า\\nตึงเครียด\\nตึงตัง\\nตื้นตัน\\nตื่นตัว\\nตื่นตูม\\nตื่นเต้น\\nตุ๊ต๊ะ\\nตุ้บตั้บ\\nตุ้มหู\\nตุลาการ\\nตุลาคม\\nตู้นิรภัย\\nตูมตาม\\nตู้เสบียง\\nเตโชธาตุ\\nเตร็ดเตร่\\nเต้นรำ\\nเตาแก๊ส\\nเตาผิง\\nเตาฟู่\\nเตาไฟ\\nเตารีด\\nเตาสูบ\\nเต่าทอง\\nเต้ารับ\\nเต้าส่วน\\nเต้าเสียบ\\nเต้าหู้ยี้\\nแต่ละ\\nแตกคอ\\nแตกคอก\\nแตกฉาน\\nแตกดับ\\nแตกตื่น\\nแตกพาน\\nแตกแยก\\nแตกร้าว\\nแตกหัก\\nแต่งงาน\\nแต่งตั้ง\\nแต้มคู\\nแต้มต่อ\\nแตรงอน\\nแตรเดี่ยว\\nแตรฝรั่ง\\nแตรฟันฟาร์\\nแตรวง\\nโต้ตอบ\\nโต้เถียง\\nโต้แย้ง\\nโต๊ะหมู่\\nโต๊ะอิหม่าม\\nใต้ถุน\\nไต้ก๋ง\\nไต่คู้\\nไต่เต้า\\nไต่ถาม\\nไต้ฝุ่น\\nไตรจักร\\nไตรจีวร\\nไตรตรึงษ์\\nไตรทวาร\\nไตรปิฎก\\nไตรเพท\\nไตรภพ\\nไตรภูมิ\\nไตรภาคี\\nไตรยางศ์\\nไตรรงค์\\nไตรรัตน์\\nไตรลักษณ์\\nไตรโลก\\nไตรสรณคมน์\\nไตรสิกขา\\nไต่สวน\\nถกเถียง\\nถดถอย\\nถนัดถนี่\\nถนิมสร้อย\\nถมถืด\\nถมเถ\\nถมไป\\nถลากไถล\\nถ้วนถี่\\nถ้วยฟู\\nถ่องแท้\\nถอดถอน\\nถ้อยคำ\\nถ้อยแถลง\\nถากถาง\\nถ่านไฟฉาย\\nถ่านหิน\\nถามไถ่\\nถ่ายทอด\\nถ่ายทุกข์\\nถ่ายเท\\nถาวรวัตถุ\\nถ้ำมอง\\nถี่ถ้วน\\nถึงใจ\\nถูกใจ\\nถูกชะตา\\nเถรวาท\\nเถ้าแก่\\nเถ้าแก่เนี้ย\\nแถมพก\\nแถลงการณ์\\nไถ่ถอน\\nไถ่ถาม\\nทดแทน\\nทดรอง\\nทดลอง\\nทดสอบ\\nทนทาน\\nทนายความ\\nทบทวน\\nทแยงมุม\\nทรงกลด\\nทรงเครื่อง\\nทรงเจ้า\\nทรัพย์สิน\\nทรามชม\\nทรามเชย\\nทรามวัย\\nทรามสงวน\\nทรามสวาท\\nทรุดโทรม\\nทฤษฎีบท\\nท้วงติง\\nท่วมท้น\\nทวาทศ\\nทวาทศมาส\\nทวาบรยุค\\nทวารบาล\\nทวิบถ\\nทวิบท\\nทวิบาท\\nทวิภาค\\nทวิภาคี\\nทวีคูณ\\nทศกัณฐ์\\nทศชาติ\\nทศทิศ\\nทศนิยม\\nทศพร\\nทศพล\\nทศพิธราชธรรม\\nทศมาส\\nทศวรรษ\\nท่อไอเสีย\\nท้อถอย\\nท้อแท้\\nทองขาว\\nทองคำ\\nทองคำขาว\\nทองคำเปลว\\nทองเค\\nทองแดง\\nทองบรอนซ์\\nทองม้วน\\nทองย้อย\\nทองสัมฤทธิ์\\nทองหยอด\\nทองหยิบ\\nทองเหลือง\\nทองเอก\\nท่องเที่ยว\\nท้องตรา\\nท้องถิ่น\\nท้องที่\\nท้องน้อย\\nท้องร่อง\\nท้องเรื่อง\\nทอดมัน\\nทอดทิ้ง\\nทอดน่อง\\nทอดยอด\\nทอดหุ่ย\\nทอยกอง\\nทะเบียนบ้าน\\nทะเลทราย\\nทะเลสาบ\\nทะเลหลวง\\nทักขิณาวัฏ\\nทักท้วง\\nทักทาย\\nทักษิณาวรรต\\nทักษิณาทาน\\nทักษิณานุประทาน\\nทั้งกลม\\nทั้งคน\\nทั้งดุ้น\\nทั้งที\\nทั้งนั้น\\nทั้งนี้\\nทั้งปวง\\nทั้งผอง\\nทั้งเพ\\nทั้งมวล\\nทั้งสิ้น\\nทั้งหมด\\nทั้งหลาย\\nทัณฑ์บน\\nทัดทาน\\nทัดเทียม\\nทันควัน\\nทันใจ\\nทันใด\\nทันตา\\nทันสมัย\\nทันที\\nทับถม\\nทับทรวง\\nทับศัพท์\\nทั่วถึง\\nทั่วไป\\nท่าทาง\\nท่าที\\nท้าทาย\\nทางการ\\nทางข้าม\\nทางด่วน\\nทางเท้า\\nทางโท\\nทางใน\\nทางผ่าน\\nทางม้าลาย\\nทางหลวง\\nทางออก\\nทางเอก\\nทานกัณฑ์\\nทานตะวัน\\nท่านชาย\\nทานบารมี\\nท่านผู้หญิง\\nท่านหญิง\\nทาบทาม\\nท้ายทอย\\nทารุณกรรม\\nทำคลอด\\nทำใจ\\nทำซ้ำ\\nทำท่า\\nทำที\\nทำแท้ง\\nทำโทษ\\nทำบาป\\nทำบุญ\\nทำพิษ\\nทำฟัน\\nทำร้าย\\nทำวัตร\\nทำสาว\\nทำเสน่ห์\\nทำหมัน\\nทำให้\\nทิ้งขว้าง\\nทิ้งทวน\\nทิ้งท้าย\\nทินกร\\nทิพจักขุ\\nทิพโสต\\nทิพยจักษุ\\nทิพยญาณ\\nทิพยเนตร\\nทิพยรส\\nทิพากร\\nทิ่มตำ\\nทิ่มแทง\\nทิวากร\\nทิวากาล\\nทิศทาง\\nทีเด็ด\\nทีท่า\\nทีนี้\\nทีหลัง\\nทีฆนิกาย\\nทีฆสระ\\nที่ดิน\\nที่นอน\\nที่นั่ง\\nที่ปรึกษา\\nที่พึ่ง\\nที่มั่น\\nที่ราบ\\nที่ว่าการ\\nที่สุด\\nที่หมาย\\nที่ไหน\\nทุกที\\nทุกเมื่อ\\nทุกข์สุข\\nทุนทรัพย์\\nทุนนิยม\\nทุนรอน\\nทุนสำรอง\\nทุ่มเถียง\\nทุ่มเท\\nทูนหัว\\nทูลกระหม่อม\\nเทกระจาด\\nเทครัว\\nเทพเจ้า\\nเทพดา\\nเทพธิดา\\nเทพนม\\nเทพนิยม\\nเทพนิยาย\\nเทพบุตร\\nเทพสังหรณ์\\nเทศกาล\\nเทศนาโวหาร\\nเทศบัญญัติ\\nเทศบาล\\nเทศมนตรี\\nเทห์ฟากฟ้า\\nเท่ากับ\\nเท่าใด\\nเท่าตัว\\nเท่าทัน\\nเท่าทุน\\nเท่าเทียม\\nเท่านั้น\\nเท่าไร\\nเท้าช้าง\\nเทิดทูน\\nเที่ยงตรง\\nเที่ยงแท้\\nเที่ยงธรรม\\nเทียนชนวน\\nเทียนพรรษา\\nเทียบเคียง\\nเทียบเท่า\\nเทือกเขา\\nเทือกเถา\\nแท็งก์น้ำ\\nแท่นพิมพ์\\nแท่นมณฑล\\nแท่นหมึก\\nแทรกซอน\\nแทรกซ้อน\\nแทรกซึม\\nแทรกแซง\\nแทะโลม\\nไทยดำ\\nไทยทาน\\nไทยธรรม\\nไทยน้อย\\nไทยใหญ่\\nธงชัย\\nธงชาติ\\nธงทิว\\nธรณีวิทยา\\nธรณีสงฆ์\\nธรรมกาย\\nธรรมการ\\nธรรมเกษตร\\nธรรมขันธ์\\nธรรมคุณ\\nธรรมจรรยา\\nธรรมจริยา\\nธรรมจักร\\nธรรมจักษุ\\nธรรมจาคะ\\nธรรมจารี\\nธรรมชาติ\\nธรรมดา\\nธรรมเนียม\\nธรรมราชา\\nธรรมศาสตร์\\nธรรมสภา\\nธรรมสังเวช\\nธัญพืช\\nธารพระกร\\nธีรภาพ\\nธีรราช\\nนกเขา\\nนกต่อ\\nนกยูง\\nนกรู้\\nนกหวีด\\nนครบาล\\nนครรัฐ\\nนงคราญ\\nนงนุช\\nนงพะงา\\nนงเยาว์\\nนงราม\\nนงลักษณ์\\nนบนอบ\\nนพเก้า\\nนพคุณ\\nนพเคราะห์\\nนพปฎล\\nนพพล\\nนพรัตน์\\nนพศก\\nนพศูล\\nนมข้น\\nนมผง\\nนมไม้\\nนมนาน\\nนมหนู\\nนมแมว\\nนรีเวช\\nนรีเวชวิทยา\\nนวดฟั้น\\nนวยนาด\\nนวลระหง\\nนวลลออ\\nนวลละออง\\nนวลจันทร์\\nนอกครู\\nนอกคอก\\nนอกจาก\\nนอกใจ\\nนอกชาน\\nนอกรีต\\nนอกเหนือ\\nนองเนือง\\nนองเลือด\\nนอนก้น\\nนอนใจ\\nนอบนบ\\nนอนเล่น\\nนอบน้อม\\nน้อมนำ\\nน้อยใจ\\nน้อยหน้า\\nนักการ\\nนักการเมือง\\nนักกีฬา\\nนักข่าว\\nนักท่องเที่ยว\\nนักเทศน์\\nนักโทษ\\nนักธรรม\\nนักบวช\\nนักบิน\\nนักบุญ\\nนักปราชญ์\\nนักพรต\\nนักรบ\\nนักเรียน\\nนักเลง\\nนักวิชาการ\\nนักศึกษา\\nนักสิทธิ์\\nนักสืบ\\nนักหนา\\nนั่งเทียน\\nนั่งร้าน\\nนัดแนะ\\nนัดหมาย\\nนั่นแหละ\\nนั่นเอง\\nนับถือ\\nนับประสา\\nนัยน์ตา\\nนาดำ\\nนาปรัง\\nนาปี\\nนาสวน\\nนาหว่าน\\nนาคบาศ\\nนาคปรก\\nนาคราช\\nนางกวัก\\nนางกำนัล\\nนางงาม\\nนางใน\\nนางบำเรอ\\nนางแบบ\\nนางพญา\\nนางฟ้า\\nนางไม้\\nนางโลม\\nนางสาว\\nนางห้าม\\nนางเอก\\nนาฏกรรม\\nนาฏดนตรี\\nนาฏศิลป์\\nนานนม\\nน่านน้ำ\\nน่านฟ้า\\nนามกร\\nนามธรรม\\nนามไธย\\nนามบัตร\\nนามปากกา\\nนามแฝง\\nนามสกุล\\nนามสงเคราะห์\\nนามสมญา\\nนายทะเบียน\\nนายท่า\\nนายท้าย\\nนายทุน\\nนายประกัน\\nนายหน้า\\nนายอำเภอ\\nนารายณ์หัตถ์\\nนารีผล\\nนาวิกโยธิน\\nนำจับ\\nนำพา\\nนำทาง\\nนำร่อง\\nนำสืบ\\nนำแสดง\\nน้ำกรด\\nน้ำกาม\\nน้ำเกลือ\\nน้ำข้าว\\nน้ำแข็ง\\nน้ำแข็งไส\\nน้ำแข็งแห้ง\\nน้ำครำ\\nน้ำคร่ำ\\nน้ำค้าง\\nน้ำค้างแข็ง\\nน้ำคาวปลา\\nน้ำคำ\\nน้ำเค็ม\\nน้ำเคย\\nน้ำเงิน\\nน้ำเงี้ยว\\nน้ำจัณฑ์\\nน้ำจิ้ม\\nน้ำใจ\\nน้ำเชื้อ\\nน้ำเชื่อม\\nน้ำซาวข้าว\\nน้ำดอกไม้\\nน้ำดี\\nน้ำตก\\nน้ำตา\\nน้ำตาล\\nน้ำท่า\\nน้ำนม\\nน้ำนวล\\nน้ำบาดาล\\nน้ำประสานทอง\\nน้ำประปา\\nน้ำปลา\\nน้ำป่า\\nน้ำผึ้ง\\nน้ำพริก\\nน้ำพริกเผา\\nน้ำพี้\\nน้ำพุ\\nน้ำมนต์\\nน้ำมนตร์\\nน้ำมัน\\nน้ำมือ\\nน้ำมูก\\nน้ำเมา\\nน้ำย่อย\\nน้ำยา\\nน้ำรัก\\nน้ำแร่\\nน้ำลาย\\nน้ำเลี้ยง\\nน้ำสต๊อก\\nน้ำส้ม\\nน้ำส้มสายชู\\nน้ำสังข์\\nน้ำสาบาน\\nน้ำเสียง\\nน้ำหนวก\\nน้ำหนอง\\nน้ำหนัก\\nน้ำหน้า\\nน้ำหนึ่ง\\nน้ำหมึก\\nน้ำหอม\\nน้ำเหลือง\\nน้ำอบ\\nน้ำอ้อย\\nน้ำอัดลม\\nนิ่งเฉย\\nนิจศีล\\nนิดเดียว\\nนิดหน่อย\\nนิติกร\\nนิติกรรม\\nนิติธรรม\\nนิตินัย\\nนิติบัญญัติ\\nนิติบุคคล\\nนิติภาวะ\\nนิติวิทยาศาสตร์\\nนิติเวช\\nนิติเวชศาสตร์\\nนิติศาสตร์\\nนิเทศศาสตร์\\nนิ่มนวล\\nนิรุกติศาสตร์\\nนิเวศวิทยา\\nนิศากร\\nนิศากาล\\nนิศาชล\\nนิศารัตน์\\nนี่แน่ะ\\nนี่แหละ\\nนี่เอง\\nนึกคิด\\nนุงถุง\\nนุ่งห่ม\\nนุ่มนวล\\nนุ่มนิ่ม\\nเนตรนารี\\nเนติบัณฑิต\\nเนยเทียม\\nเนยใส\\nเนิ่นนาน\\nเนิบนาบ\\nเนื้อความ\\nเนื้อคู่\\nเนื้อเค็ม\\nเนื้องอก\\nเนื้อตัว\\nเนื้อตาย\\nเนื้อที่\\nเนื้อแท้\\nเนื้อเปื่อย\\nเนื้อผ้า\\nเนื้อเพลง\\nเนื้อไม้\\nเนื้อเยื่อ\\nเนื้อร้อง\\nเนื้อร้าย\\nเนื้อเรื่อง\\nเนื้อหา\\nเนืองนอง\\nเนืองนิตย์\\nเนืองแน่น\\nแน่ใจ\\nแน่ชัด\\nแน่แท้\\nแน่นอน\\nแน่นิ่ง\\nแน่แน่ว\\nแน่นแฟ้น\\nแน่นหนา\\nแนบเนียน\\nแนบแน่น\\nแนวคิด\\nแนวทาง\\nแนวโน้ม\\nแนวป่า\\nแนวรบ\\nแนวร่วม\\nแนวหน้า\\nแนวหลัง\\nแน่วแน่\\nแนะนำ\\nแนะแนว\\nโน้มน้าว\\nในหลวง\\nบกพร่อง\\nบงกช\\nบงการ\\nบดบัง\\nบทกลอน\\nบทกวี\\nบทความ\\nบทคัดย่อ\\nบทเฉพาะกาล\\nบทนำ\\nบทบัญญัติ\\nบทบาท\\nบทประพันธ์\\nบทเพลง\\nบทร้อง\\nบทเรียน\\nบทลงโทษ\\nบทสนทนา\\nบทอัศจรรย์\\nบทจร\\nบทบงสุ์\\nบทมาลย์\\nบทรัช\\nบทเรศ\\nบทวลัญช์\\nบนบาน\\nบรมครู\\nบรมธาตุ\\nบรมบพิตร\\nบรมวงศานุวงศ์\\nบรมอัฐิ\\nบรรณพิภพ\\nบรรณศาลา\\nบรรณาการ\\nบรรณาธิการ\\nบรรณานุกรม\\nบรรณารักษ์\\nบรรณารักษศาสตร์\\nบรรดามี\\nบรรดาศักดิ์\\nบรรทัดฐาน\\nบรรพบุรุษ\\nบรรลัยกัลป์\\nบรรลัยจักร\\nบริคณห์สนธิ\\nบวงสรวง\\nบ่วงบาศ\\nบ้วนพระโอษฐ์\\nบ่อเกิด\\nบอกกล่าว\\nบอกบท\\nบอกบุญ\\nบอกใบ้\\nบอกปัด\\nบ้องกัญชา\\nบ้องตื้น\\nบ้องไฟ\\nบ้องหู\\nบอดสี\\nบ่อนทำลาย\\nบอบช้ำ\\nบอบบาง\\nบอบแบบ\\nบังโกลน\\nบังโคลน\\nบังใบ\\nบั้งไฟ\\nบังคับการ\\nบังคับบัญชา\\nบัญชาการ\\nบัณฑุกัมพล\\nบัดดล\\nบัดเดี๋ยว\\nบัดนั้น\\nบัดนี้\\nบัดสีบัดเถลิง\\nบัตรเครดิต\\nบัตรพลี\\nบัตรสนเท่ห์\\nบัตรสินเชื่อ\\nบั่นทอน\\nบั้นท้าย\\nบั้นปลาย\\nบั้นพระองค์\\nบั้นเอว\\nบันไดลิง\\nบันไดเลื่อน\\nบันเทิงคดี\\nบัวลอย\\nบัวบก\\nบ้าจี้\\nบ้าดีเดือด\\nบ้าน้ำลาย\\nบ้าบิ่น\\nบ้าระห่ำ\\nบ้าเลือด\\nบ้าหอบฟาง\\nบากบั่น\\nบากหน้า\\nบางตา\\nบางเบา\\nบางที\\nบาดเจ็บ\\nบาดแผล\\nบาดหมาง\\nบาตรใหญ่\\nบาทบงกช\\nบาทบงสุ์\\nบาทบริจาริกา\\nบาทวิถี\\nบานเกล็ด\\nบานตะเกียง\\nบานตะไท\\nบานเบอะ\\nบานปลาย\\nบานแผละ\\nบานพับ\\nบ้านจัดสรร\\nบ้านช่อง\\nบ้านนอก\\nบ้านพัก\\nบ้านเมือง\\nบ้านรับรอง\\nบ้านเรือน\\nบาปกรรม\\nบายศรี\\nบ่ายเบี่ยง\\nบ่ายหน้า\\nบ่าวไพร่\\nบิดเบี้ยว\\nบิดเบือน\\nบิดพลิ้ว\\nบี้แบน\\nบีบคั้น\\nบีบรัด\\nบึ้งตึง\\nบึ้งบูด\\nบุกบั่น\\nบุกเบิก\\nบุกรุก\\nบุคลิกภาพ\\nบุคลิกลักษณะ\\nบุญธรรม\\nบุญนิธิ\\nบุญฤทธิ์\\nบุบสลาย\\nบุ้ยใบ้\\nบุรุษเพศ\\nบุหงารำไป\\nบู้บี้\\nบูชายัญ\\nบูดบึ้ง\\nบูดเบี้ยว\\nเบาความ\\nเบาใจ\\nเบาบาง\\nเบาปัญญา\\nเบามือ\\nเบาแรง\\nเบาสมอง\\nเบาหวาน\\nเบาโหวง\\nเบ้าตา\\nเบาะแส\\nเบิกความ\\nเบิกบาน\\nเบี้ยล่าง\\nเบี้ยเลี้ยง\\nเบี้ยหวัด\\nเบี่ยงบ่าย\\nเบียดบัง\\nเบียดเบียน\\nเบียดเสียด\\nเบื้องต้น\\nเบื้องบน\\nเบื้องหน้า\\nเบื้องหลัง\\nแบกะดิน\\nแบเบาะ\\nแบ่งเบา\\nแบ่งปัน\\nแบ่งแยก\\nแบบฉบับ\\nแบบแปลน\\nแบบแผน\\nแบบฝึกหัด\\nแบบพิมพ์\\nแบบสอบถาม\\nแบบอย่าง\\nแบะแฉะ\\nแบะท่า\\nโบแดง\\nโบราณคดี\\nโบราณวัตถุ\\nโบราณสถาน\\nใบขับขี่\\nใบจอง\\nใบตอง\\nใบแทรก\\nใบบอก\\nใบบุญ\\nใบเบิกทาง\\nใบปลิว\\nใบพัด\\nใบโพ\\nใบไม้\\nใบระกา\\nใบรับรอง\\nใบลา\\nใบเลี้ยง\\nใบสั่ง\\nใบสำคัญ\\nใบสุทธิ\\nใบเสร็จ\\nใบหน้า\\nใบอนุญาต\\nใบระกา\\nปกครอง\\nปกคลุม\\nปกป้อง\\nปกปิด\\nปฏิบัติการ\\nปฏิบัติบูชา\\nปฐพีวิทยา\\nปฐมฌาน\\nปฐมทัศน์\\nปฐมเทศนา\\nปฐมนิเทศ\\nปฐมพยาบาล\\nปฐมยาม\\nปฐมฤกษ์\\nปฐมวัย\\nปฐมสมโพธิ\\nปนเป\\nป่นปี้\\nปมเขื่อง\\nปมเด่น\\nปมด้อย\\nปรนเปรอ\\nปรบไก่\\nปรบมือ\\nปรสิตวิทยา\\nประโปรย\\nประพรม\\nประกันชีวิต\\nประกันภัย\\nประจักษ์พยาน\\nประจัญบาน\\nประจันหน้า\\nประจำการ\\nประจำเดือน\\nประจำเมือง\\nประจำยาม\\nประชดประชัน\\nประชากร\\nประชากรศาสตร์\\nประชาคม\\nประชาชน\\nประชาราษฎร์\\nประชาชาติ\\nประชาชี\\nประชาทัณฑ์\\nประชาบาล\\nประชาพิจารณ์\\nประชาภิบาล\\nประชามติ\\nประชาสงเคราะห์\\nประชาสัมพันธ์\\nประดับประดา\\nประดามี\\nประดาน้ำ\\nประเดี๋ยวเดียว\\nประเดี๋ยวนี้\\nประทับใจ\\nประทุษร้าย\\nประเทศราช\\nประพาสต้น\\nประเพณีนิยม\\nประลัยกัลป์\\nประวัติการณ์\\nประวัติศาสตร์\\nประสบการณ์\\nประสบการณ์นิยม\\nประสาทการ\\nประสูติการ\\nประสูติกาล\\nประเส\\nปรับทุกข์\\nปรับโทษ\\nปรับปรุง\\nปรากฏการณ์\\nปราดเปรียว\\nปราดเปรื่อง\\nปราบปราม\\nปริญญาบัตร\\nปรัยัติธรรม\\nปรุโปร่ง\\nปลงใจ\\nปลงตก\\nปลดทุกข์\\nปลดปลง\\nปลดปล่อย\\nปลดเปลื้อง\\nปลดระวาง\\nปลดแอก\\nปล้นสะดม\\nปลอกกระสุน\\nปลอกคอ\\nปลอดโปร่ง\\nปลอดภัย\\nปลอมปน\\nปลอมแปลง\\nปลอบโยน\\nปล่อยใจ\\nปล่อยตัว\\nปล่อยปละ\\nปลั๊กไฟ\\nปลากริม\\nปลาเค็ม\\nปลาจ่อม\\nปลาเจ่า\\nปลาแดก\\nปลาตู้\\nปลาทอง\\nปลาร้า\\nปลาส้ม\\nปลาดาว\\nปลาบิน\\nปลาฝา\\nปลาวาฬ\\nปลาหมึก\\nปลาบปลื้ม\\nปลายข้าว\\nปลายแถว\\nปลายทาง\\nปลิ้นปลอก\\nปลิ้นปล้อน\\nปลีกตัว\\nปลีกย่อย\\nปลุกใจ\\nปลุกปล้ำ\\nปลุกปั่น\\nปลุกระดม\\nปลุกเสก\\nปลูกฝัง\\nปลูกสร้าง\\nปวดถ่วง\\nปวดมวน\\nปวดร้าว\\nป่วนปั่น\\nป่วยการ\\nปอกลอก\\nป้องกัน\\nปักใจ\\nปักดำ\\nปักหลัก\\nปัจเจกบุคคล\\nปัจเจกพุทธะ\\nปัจเจกโพธิ\\nปัจฉิมชน\\nปัจฉิมทิศ\\nปัจฉิมภาค\\nปัจฉิมยาม\\nปัจฉิมลิขิต\\nปัจฉิมวัย\\nปัจฉิมวาจา\\nปัญญาชน\\nปัญญาวิมุติ\\nปัญญาอ่อน\\nปัดเป่า\\nปันส่วน\\nปั่นป่วน\\nปั่นแปะ\\nปั่นหัว\\nปั้นจิ้ม\\nปั้นเจ๋อ\\nปั้นปึ่ง\\nปั้นสิบ\\nปั๊มน้ำมัน\\nป่าช้า\\nป่าชายเลน\\nป่าดง\\nป่าดงดิบ\\nป่าดิบ\\nป่าเถื่อน\\nป่าเบญจพรรณ\\nป่าละเมาะ\\nปากกา\\nปากขอ\\nปากแข็ง\\nปากคอ\\nปากคำ\\nปากคีบ\\nปากจัด\\nปากน้ำ\\nปากเปล่า\\nปากเสียง\\nปานกลาง\\nป่านนี้\\nป้านลม\\nป้ายสี\\nป่าวร้อง\\nปิดฉาก\\nปิดบัง\\nปิตุฆาต\\nปิตุภูมิ\\nปีมะโว้\\nปีแสง\\nปี่กลาง\\nปี่ไฉน\\nปี่ชวา\\nปี่นอก\\nปี่ใน\\nปี่พาทย์\\nปี่อ้อ\\nปีกกา\\nปีนเกลียว\\nปีนป่าย\\nปึกแผ่น\\nปึงปัง\\nปืนกล\\nปืนครก\\nปืนพก\\nปืนยา\\nปืนยาว\\nปืนลม\\nปืนเล็ก\\nปืนเล็กยาว\\nปืนสั้น\\nปืนใหญ่\\nปุบปับ\\nปุ๊บปั๊บ\\nปุ่มเปือก\\nปุยฝ้าย\\nปุ๋ยคอก\\nปุ๋ยเคมี\\nปุ๋ยวิทยาศาสตร์\\nปุ๋ยหมัก\\nปุ๋ยอินทรีย์\\nปูจ๋า\\nปูเสฉวน\\nปู่เจ้า\\nปู่ทวด\\nปูนขาว\\nปูนซีเมนต์\\nปูนดิบ\\nปูนแดง\\nปูนปลาสเตอร์\\nปูนปั้น\\nเป็ดเทศ\\nเป็ดน้ำ\\nเป็นกลาง\\nเป็นใจ\\nเป็นต้น\\nเป็นต่อ\\nเป็นรอง\\nเป็นไร\\nเป็นลม\\nเป็นห่วง\\nเป็นอยู่\\nเปรมปรีดิ์\\nเปรอะเปื้อน\\nเปรียบเทียบ\\nเปรียบเปรย\\nเปรี้ยวปาก\\nเปรี้ยวหวาน\\nเปรื่องปราด\\nเปลญวน\\nเปล่งปลั่ง\\nเปล่าดาย\\nเปล่าเปลี่ยว\\nเปลี่ยนใจ\\nเปลี่ยนตัว\\nเปลี่ยนแปลง\\nเปลี่ยนมือ\\nเปลี่ยนหน้า\\nเป๋อเหลอ\\nเปะปะ\\nเป่ากบ\\nเป้านิ่ง\\nเป้าหมาย\\nเปิดฉาก\\nเปิดเปิง\\nเปิดโปง\\nเปิดผนึก\\nเปิดเผย\\nเปียกปูน\\nแป้งสาลี\\nแป้งนวล\\nแป้งเปียก\\nแป้งมัน\\nแป้งฝุ่น\\nแป้งร่ำ\\nแป้งสิงคโปร์\\nแป้งหมี่\\nแปดปน\\nแปดเปื้อน\\nแปรปรวน\\nแปรผัน\\nแปรพักตร์\\nแปรรูป\\nแปรอักษร\\nแปลกปลอม\\nแปะโป้ง\\nโป้ปด\\nโปร่งแสง\\nโปร่งใส\\nโปรดปราน\\nโปรยทาน\\nโปรยปราย\\nโปโลน้ำ\\nผกผัน\\nผกากรอง\\nผงขาว\\nผงชูรส\\nผงซักฟอก\\nผงฟู\\nผดุงครรภ์\\nผมไฟ\\nผลพลอยได้\\nผลลัพธ์\\nผลัดเปลี่ยน\\nผลิตผล\\nผลิตภัณฑ์\\nผลุบโผล่\\nผสมเทียม\\nผสมผสาน\\nผสมผเส\\nผสมพันธุ์\\nผสมโรง\\nผสมเสร็จ\\nผ่องแผ้ว\\nผ่องใส\\nผ่อนคลาย\\nผ่อนชำระ\\nผ่อนปรน\\nผ่อนผัน\\nผ่อนส่ง\\nผอมโซ\\nผอมแห้ง\\nผักชี\\nผักตบชวา\\nผักบุ้ง\\nผังเมือง\\nผัดผ่อน\\nผันแปร\\nผันผวน\\nผ่าตัด\\nผ่าเผย\\nผ่าหมาก\\nผ่าเหล่า\\nผ้าขนหนู\\nผ้าขาวม้า\\nผ้าขี้ริ้ว\\nผ้าเช็ดตัว\\nผ้าเช็ดปาก\\nผ้าเช็ดมือ\\nผ้าเช็ดหน้า\\nผ้าดิบ\\nผ้าต่วน\\nผ้าไตร\\nผ้าถุง\\nผ้าแถบ\\nผ้านวม\\nผ้านุ่ง\\nผ้าใบ\\nผ้าป่า\\nผ้าป่าน\\nผ้าผ่อน\\nผ้าพันคอ\\nผ้าพันแผล\\nผ้าแพร\\nผ้าโพกหัว\\nผ้ามัดหมี่\\nผ้ายาง\\nผ้าลูกไม้\\nผ้าเหลือง\\nผ้าอนามัย\\nผ้าอ้อม\\nผาดโผน\\nผาติกรรม\\nผิดหวัง\\nผิวเผิน\\nผิวพรรณ\\nผิวหนัง\\nผีกระสือ\\nผีกระหัง\\nผีกองกอย\\nผีโขมด\\nผีดิบ\\nผีตองเหลือง\\nผีถ้วยแก้ว\\nผีแถน\\nผีทะเล\\nผีบุญ\\nผีปอบ\\nผีพุ่งไต้\\nผีฟ้า\\nผีเรือน\\nผีสาง\\nผีเสื้อ\\nผีห่า\\nผึ่งผาย\\nผุดผ่อง\\nผุดผาด\\nผู้คน\\nผู้คุม\\nผู้จัดการ\\nผู้ชาย\\nผู้เชี่ยวชาญ\\nผู้ดี\\nผู้โดยสาร\\nผู้ต้องขัง\\nผู้ต้องหา\\nผู้แทน\\nผู้น้อย\\nผู้บริโภค\\nผู้บังคับบัญชา\\nผู้ปกครอง\\nผู้ประกอบการ\\nผู้ป่วย\\nผู้พิพากษา\\nผู้เยาว์\\nผู้ร้าย\\nผู้วิเศษ\\nผู้สื่อข่าว\\nผู้เสียหาย\\nผู้หญิง\\nผู้ใหญ่\\nผู้ใหญ่บ้าน\\nผูกขวัญ\\nผูกขาด\\nผูกพัน\\nผูกมัด\\nเผชิญหน้า\\nเผด็จการ\\nเผด็จศึก\\nเผยแผ่\\nเผยแพร่\\nเผละผละ\\nเผ่าพันธุ์\\nเผื่อแผ่\\nแผงลอย\\nแผนการ\\nแผนงาน\\nแผนที่\\nแผนผัง\\nแผนภาพ\\nแผนภูมิ\\nแผ่นดิน\\nแผ่นเสียง\\nแผ้วพาน\\nโผงผาง\\nฝนทอง\\nฝอยทอง\\nฝักแค\\nฝักบัว\\nฝักฝ่าย\\nฝักใฝ่\\nฝังใจ\\nฝังหัว\\nฝาชี\\nฝาแฝด\\nฝาละมี\\nฝ่าพระบาท\\nฝ่าฝืน\\nฝ่าฟัน\\nฝ้าฟาง\\nฝากตัว\\nฝากฝัง\\nฝีดาษ\\nฝีมะม่วง\\nฝีจักร\\nฝีเท้า\\nฝีปาก\\nฝีพาย\\nฝีมือ\\nฝีเย็บ\\nฝึกงาน\\nฝึกปรือ\\nฝึกฝน\\nฝึกสอน\\nฝึกหัด\\nฝืดเคือง\\nใฝ่ฝัน\\nพงพี\\nพงศ์พันธุ์\\nพญาโศก\\nพญาไฟ\\nพบปะ\\nพบพาน\\nพรสวรรค์\\nพรมคด\\nพรมแดน\\nพรมมิ\\nพรรคพวก\\nพรรณราย\\nพรวดพราด\\nพรหมชาติ\\nพรหมลิขิต\\nพรหมโลก\\nพรหมวิหาร\\nพร้อมใจ\\nพร้อมพรั่ง\\nพร้อมเพรียง\\nพร้อมมูล\\nพร้อมสรรพ\\nพร้อมหน้า\\nพระครู\\nพระคุณ\\nพระเคราะห์\\nพระเครื่อง\\nพระเจ้า\\nพระเจ้าอยู่หัว\\nพระชายา\\nพระทัย\\nพระนาง\\nพระนางเจ้า\\nพระเป็นเจ้า\\nพระผู้เป็นเจ้า\\nพระพิมพ์\\nพระพุทธเจ้า\\nพระพุทธองค์\\nพระภูมิ\\nพระยา\\nพระรอง\\nพระสนม\\nพระสนมเอก\\nพระองค์\\nพระองค์เจ้า\\nพระเอก\\nพรั่งพร้อม\\nพรั่งพรู\\nพรั่นพรึง\\nพร่างพราว\\nพรายน้ำ\\nพรายแพรว\\nพราวแพรว\\nพร่ำพลอด\\nพร่ำเพรื่อ\\nพร่ำเพ้อ\\nพริกไทย\\nพริ้งพราย\\nพริ้งเพรา\\nพริ้งเพริศ\\nพริบตา\\nพริ้มพราย\\nพริ้มเพรา\\nพรุ่งนี้\\nพฤติกรรม\\nพฤติการณ์\\nพฤตินัย\\nพลการ\\nพลขับ\\nพลความ\\nพลเมือง\\nพลรบ\\nพลร่ม\\nพลเรือน\\nพลโลก\\nพลศึกษา\\nพลบค่ำ\\nพลอดรัก\\nพลังงาน\\nพลังเงียบ\\nพลังจิต\\nพลั้งปาก\\nพลั้งเผลอ\\nพลั้งพลาด\\nพลัดถิ่น\\nพลัดพราก\\nพลาดท่า\\nพลาดพลั้ง\\nพลิกแพลง\\nพลีกรรม\\nพลุ่งพล่าน\\nพวกพ้อง\\nพวงมาลัย\\nพวงมาลา\\nพวงหรีด\\nพวงคราม\\nพวงชมพู\\nพวงแสด\\nพ่วงพี\\nพวยน้ำ\\nพวยพุ่ง\\nพสกนิกร\\nพหุคูณ\\nพหุภาคี\\nพหูพจน์\\nพหูสูต\\nพอควร\\nพอใจ\\nพอใช้\\nพอใช้ได้\\nพอดี\\nพอตัว\\nพอทำเนา\\nพอประมาณ\\nพอเพียง\\nพอแรง\\nพอสมควร\\nพอเหมาะ\\nพ่อขุน\\nพ่อครัว\\nพ่อตา\\nพ่อบ้าน\\nพ่อพันธุ์\\nพ่อม่าย\\nพ่อเมือง\\nพ่อเลี้ยง\\nพ่อสื่อ\\nพอกพูน\\nพ้องพาน\\nพักผ่อน\\nพักพิง\\nพักฟื้น\\nพักร้อน\\nพักแรม\\nพัดยศ\\nพัดลม\\nพันพัว\\nพับฐาน\\nพับเพียบ\\nพัวพัน\\nพาซื่อ\\nพาดพิง\\nพิณพาทย์\\nพิธีกร\\nพิธีกรรม\\nพิธีการ\\nพิธีรีตอง\\nพิธีสาร\\nพินัยกรรม\\nพิมพ์เขียว\\nพิมพ์ใจ\\nพิมพ์ดีด\\nพิษสง\\nพี่น้อง\\nพี่เบิ้ม\\nพี่เลี้ยง\\nพึงใจ\\nพึงพอใจ\\nพึ่งพา\\nพึ่งพิง\\nพืชพันธุ์\\nพืชมงคล\\nพื้นฐาน\\nพื้นที่\\nพื้นบ้าน\\nพื้นเพ\\nพื้นเมือง\\nพื้นเสีย\\nพุพอง\\nพุทธกาล\\nพุทธคุณ\\nพุทธจักร\\nพุทธเจดีย์\\nพุทธฎีกา\\nพุทธปฏิมา\\nพุทธปฏิมากร\\nพุทธมามกะ\\nพุทธศักราช\\nพุทธศาสนิกชน\\nพุทธองค์\\nพุทธชาด\\nพุทธรักษา\\nพุ่มพวง\\nพุ่มไม้\\nพู่กัน\\nพูดจา\\nเพ่งเล็ง\\nเพดานบิน\\nเพดานปาก\\nเพริศพราย\\nเพริศพริ้ง\\nเพริศแพร้ว\\nเพรียกพร้อง\\nเพรียวลม\\nเพลงเชิด\\nเพลงยาว\\nเพลิงกัลป์\\nเพลินใจ\\nเพลินตา\\nเพลี่ยงพล้ำ\\nเพ้อฝัน\\nเพาะกาย\\nเพาะชำ\\nเพาะปลูก\\nเพิกถอน\\nเพิกเฉย\\nเพิ่มเติม\\nเพิ่มพูน\\nเพียงตา\\nเพียงพอ\\nเพียบแประ\\nเพียบพร้อม\\nเพื่อนเกลอ\\nเพื่อนตาย\\nเพื่อนบ้าน\\nเพื่อนฝูง\\nเพื่อนยาก\\nแพ้ท้อง\\nแพร่หลาย\\nแพร่งพราย\\nแพรวพราว\\nโพธิญาณ\\nโพธิบัลลังก์\\nโพธิสมภาร\\nโพธิสัตว์\\nโพ้นทะเล\\nโพยภัย\\nไพ่ตาย\\nไพ่ป๊อก\\nไพรวัน\\nไพรสณฑ์\\nไพรสัณฑ์\\nไพร่พล\\nไพร่ฟ้า\\nไพร่สม\\nไพร่ส่วย\\nไพร่หลวง\\nฟกช้ำ\\nฟองเต้าหู้\\nฟองน้ำ\\nฟองมัน\\nฟ้องกลับ\\nฟ้องร้อง\\nฟอนเฟะ\\nฟักทอง\\nฟัดเฟียด\\nฟันดาบ\\nฟันฝ่า\\nฟันแท้\\nฟันน้ำนม\\nฟันปลา\\nฟันฟาง\\nฟันเฟือง\\nฟันม้า\\nฟันเลื่อย\\nฟันหนู\\nฟั่นเฝือ\\nฟั่นเฟือน\\nฟื้นตัว\\nฟื้นฝอย\\nฟื้นฟู\\nฟุ้งซ่าน\\nฟุ้งเฟ้อ\\nฟุ้งเฟื่อง\\nฟุตบอล\\nฟูฟ่อง\\nฟูเฟื่อง\\nฟูมฟัก\\nฟูมฟาย\\nเฟะฟะ\\nเฟื่องฟ้า\\nเฟื่องฟุ้ง\\nเฟื่องฟู\\nไฟฉาย\\nไฟแช็ก\\nไฟธาตุ\\nไฟฟ้า\\nภัตกิจ\\nภาคทัณฑ์\\nภาคพื้น\\nภาคเรียน\\nภาคภูมิ\\nภาพถ่าย\\nภาพนิ่ง\\nภาพประกอบ\\nภาพพจน์\\nภาพยนตร์\\nภาพลวงตา\\nภาพลักษณ์\\nภายนอก\\nภายใน\\nภายหน้า\\nภายหลัง\\nภารกิจ\\nภารธุระ\\nภารโรง\\nภารตวิทยา\\nภาษาศาสตร์\\nภาสกร\\nภิญโญภาพ\\nภินชาติ\\nภูธร\\nภูธเรศ\\nภูบาล\\nภูเบศ\\nภูเบศวร์\\nภูเขา\\nภูเขาไฟ\\nภูผา\\nภูตคาม\\nภูตบดี\\nภูตรูป\\nภูเตศวร\\nภูมินทร์\\nภูมิบาล\\nภูมิประเทศ\\nภูมิภาค\\nภูมิรัฐศาสตร์\\nภูมิลำเนา\\nภูมิศาสตร์\\nภูมิอากาศ\\nภูมิธรรม\\nภูมิปัญญา\\nภูมิรู้\\nภูมิใจ\\nภูมิฐาน\\nภูมิคุ้มกัน\\nภูมิแพ้\\nภูษาโยง\\nเภทภัย\\nเภสัชกร\\nเภสัชกรรม\\nเภสัชวิทยา\\nเภสัชศาสตร์\\nโภคทรัพย์\\nโภคภัณฑ์\\nโภชนากร\\nโภชนาการ\\nมกุฎราชกุมาร\\nมงคลแฝด\\nมงคลสูตร\\nมงคลหัตถี\\nมณเฑียรบาล\\nมดดำ\\nมดแดง\\nมดเท็จ\\nมดยอบ\\nมดลูก\\nมธุปายาส\\nมธุรส\\nมนเทียรบาล\\nมนุษย์กบ\\nมโนกรรม\\nมโนคติ\\nมโนทุจริต\\nมโนธรรม\\nมโนภาพ\\nมโนมัย\\nมโนรถ\\nมโนรมย์\\nมโนสุจริต\\nมรรคนายก\\nมรรคผล\\nมฤคชาติ\\nมฤคทายวัน\\nมฤคราช\\nมลทิน\\nมลพิษ\\nมลสาร\\nมวกเหล็ก\\nม้วนหน้า\\nมวยไทย\\nมวยปล้ำ\\nมวยล้ม\\nมวยวัด\\nมวยสากล\\nมวยหมู่\\nมวลสาร\\nมอคราม\\nมอซอ\\nมอหมึก\\nมองเมียง\\nมอบตัว\\nมอบหมาย\\nมอมเมา\\nมะขามเทศ\\nมะขามป้อม\\nมะขามเปียก\\nมะเขือเทศ\\nมะเขือพวง\\nมะพร้าวแก้ว\\nมักคุ้น\\nมักจี่\\nมักง่าย\\nมักน้อย\\nมักมาก\\nมักใหญ่\\nมั่งคั่ง\\nมั่งมี\\nมัจจุราช\\nมัชฌิมนิกาย\\nมัชฌิมประเทศ\\nมัชฌิมยาม\\nมัชฌิมวัย\\nมัดจำ\\nมัดหมี่\\nมัธยมกาล\\nมัธยมศึกษา\\nมันแกว\\nมันเทศ\\nมันฝรั่ง\\nมันเปลว\\nมันสมอง\\nมั่นคง\\nมั่นใจ\\nมั่นหมาย\\nมั่นเหมาะ\\nมัวเมา\\nมัวหมอง\\nมั่วสุม\\nม้าเทศ\\nม้าน้ำ\\nม้ามืด\\nม้าเร็ว\\nม้าล่อ\\nม้าลาย\\nมากมาย\\nมาตรการ\\nมาตรฐาน\\nมาตราส่วน\\nมาตุคาม\\nมาตุฆาต\\nมาตุภูมิ\\nม่านตา\\nม่านบังตา\\nมายากร\\nมายากล\\nมายาการ\\nมายาวี\\nมารผจญ\\nมารวิชัย\\nมารสังคม\\nมารหัวขน\\nมาลาการ\\nมิ่งขวัญ\\nมิ่งมิตร\\nมิจฉาจาร\\nมิจฉาชีพ\\nมิดชิด\\nมิดเมี้ยน\\nมิดหมี\\nมิตรจิต\\nมิตรภาพ\\nมิตรสหาย\\nมิน่า\\nมีหน้า\\nมีดโกน\\nมีดดาบ\\nมีดโต้\\nมีดพก\\nมีดพับ\\nมีดสั้น\\nมึนงง\\nมึนชา\\nมึนตึง\\nมึนเมา\\nมืดครึ้ม\\nมืดมน\\nมืดมัว\\nมือจับ\\nมือดี\\nมือเติบ\\nมือปืน\\nมือเปล่า\\nมือมืด\\nมือสอง\\nมือเสือ\\nมือหนึ่ง\\nมือใหม่\\nมุกตลก\\nมุขปาฐะ\\nมุขมนตรี\\nมุ่งมั่น\\nมุ่งมาด\\nมุ่งหน้า\\nมุ่งหมาย\\nมุ่งหวัง\\nมุ้งลวด\\nมุ้งสายบัว\\nมุมก้ม\\nมุมกลับ\\nมุมเงย\\nมุมฉาก\\nมุมตรง\\nมุมป้าน\\nมุมมืด\\nมุมแย้ง\\nมุมสะท้อน\\nมุมหักเห\\nมุมแหลม\\nมุสาวาท\\nมูกเลือด\\nมูกมัน\\nมูกหลวง\\nมูนดิน\\nมูลฐาน\\nมูลนาย\\nมูลนิธิ\\nมูลเหตุ\\nมูลค่า\\nมูลฝอย\\nเม็ดเงิน\\nเม็ดเลือด\\nเม็ดโลหิต\\nเม่นทะเล\\nเมรุมาศ\\nเมรุราช\\nเมล์อากาศ\\nเมาดิบ\\nเมามัน\\nเมามัว\\nเมามาย\\nเมินเฉย\\nเมียน้อย\\nเมียหลวง\\nเมียงมอง\\nเมี่ยงลาว\\nเมี่ยงส้ม\\nเมื่อกี้\\nเมื่อตะกี้\\nเมื่อใด\\nเมื่อไร\\nเมื่อไหร่\\nเมื่อนั้น\\nเมืองขึ้น\\nเมืองท่า\\nเมืองนอก\\nเมืองหลวง\\nเมื่อยขบ\\nเมื่อยล้า\\nแม่กอง\\nแม่กุญแจ\\nแม่คุณ\\nแม่งาน\\nแม่เจ้า\\nแม่ชี\\nแม่ทัพ\\nแม่นม\\nแม่น้ำ\\nแม่บท\\nแม่บ้าน\\nแม่เบี้ย\\nแม่พระ\\nแม่พิมพ์\\nแม่เพลง\\nแม่มด\\nแม่ม่าย\\nแม่ไม้\\nแม่ยก\\nแม่ยาย\\nแม่ร้าง\\nแม่เรือน\\nแม่แรง\\nแม่เล้า\\nแม่เลี้ยง\\nแม่สี\\nแม่สื่อ\\nแม่เหล็ก\\nแมงมุม\\nแม่นยำ\\nแมลงช้าง\\nแมลงวัน\\nแมลงปอ\\nแมลงภู่\\nแมลงเม่า\\nแมวเซา\\nแมวน้ำ\\nแมวป่า\\nแมวมอง\\nไม้กลัด\\nไม้กวาด\\nไม้กางเขน\\nไม้เกาหลัง\\nไม้ขีดไฟ\\nไม้จิ้มฟัน\\nไม้เด็ด\\nไม้ตาย\\nไม้ตีพริก\\nไม้ที\\nไม้เท้า\\nไม้บรรทัด\\nไม้เมตร\\nไม้ระแนง\\nไม้เรียว\\nไม้หมอน\\nไม้อัด\\nไม้จัตวา\\nไม้ตรี\\nไม้ไต่คู้\\nไม้โท\\nไม้ผัด\\nไม้มลาย\\nไม้ม้วน\\nไม้ยมก\\nไม้หน้า\\nไม้หันอากาศ\\nไม้เอก\\nยกกลีบ\\nยกครู\\nยกเครื่อง\\nยกเค้า\\nยกทรง\\nยกฟ้อง\\nยกเมฆ\\nยกยอ\\nยกย่อง\\nยกเลิก\\nยกเว้น\\nย่นย่อ\\nยมทูต\\nยมบาล\\nยมราช\\nยมโลก\\nยวดยิ่ง\\nยวดยาน\\nยวนยี\\nยวบยาบ\\nย่อท้อ\\nย่อส่วน\\nย่อหน้า\\nย่อหย่อน\\nยอกย้อน\\nยองใย\\nย่องเบา\\nย่องแย่ง\\nยอดเยี่ยม\\nยอดอก\\nย้อนยอก\\nย้อนรอย\\nย้อนศร\\nย้อนแสง\\nย้อนหลัง\\nยอบแยบ\\nยอมความ\\nย่อมเยา\\nย่อยยับ\\nยักยอก\\nยักย้าย\\nยักเยื้อง\\nยัญกรรม\\nยัญพิธี\\nยัดเยียด\\nยับเยิน\\nยับยั้ง\\nยั่วยวน\\nยั่วยุ\\nยั่วเย้า\\nยากวาด\\nยากันยุง\\nยาเขียว\\nยาใจ\\nยาฉุน\\nยาชา\\nยาซัด\\nยาดอง\\nยาแดง\\nยาถ่าย\\nยาธาตุ\\nยานัตถุ์\\nยาเบื่อ\\nยาโป๊\\nยาแฝด\\nยาพิษ\\nยาระบาย\\nยาสลบ\\nยาสั่ง\\nยาสีฟัน\\nยาสูบ\\nยาเส้น\\nยาเสพติด\\nยาหม่อง\\nยาเหลือง\\nย่าทวด\\nย่านาง\\nยากแค้น\\nยากจน\\nยากเย็น\\nยากไร้\\nยางนอก\\nยางใน\\nยางมะตอย\\nยางมะตูม\\nยางลบ\\nยางสน\\nยางอาย\\nย่างกราย\\nย่างเยื้อง\\nย่างสด\\nย่างสามขุม\\nย่างเหยียบ\\nยานเกราะ\\nยานพาหนะ\\nยานอวกาศ\\nยานคาง\\nยายทวด\\nยาวเฟื้อย\\nยาวยืด\\nยาวเหยียด\\nยำทวาย\\nยำใหญ่\\nยำเกรง\\nยำเยง\\nย่ำต๊อก\\nย่ำยี\\nย่ำแย่\\nยิงเป้า\\nยิ่งนัก\\nยิ่งยวด\\nยิ่งใหญ่\\nยินดี\\nยินยอม\\nยินร้าย\\nยิ้มกริ่ม\\nยิ้มแฉ่ง\\nยิ้มแต้\\nยิ้มแป้น\\nยิ้มเผล่\\nยิ้มเยาะ\\nยิ้มแย้ม\\nยียวน\\nยึดครอง\\nยึดถือ\\nยึดมั่น\\nยึดเหนี่ยว\\nยืดยาด\\nยืดยาว\\nยืดเยื้อ\\nยืดหยุ่น\\nยืดอก\\nยืนกราน\\nยืนต้น\\nยืนพื้น\\nยืนยง\\nยืนยัน\\nยืนหยัด\\nยื้อยุด\\nยุยง\\nยุแยง\\nยุแหย่\\nยุคลบาท\\nยุคเข็ญ\\nยุคทอง\\nยุคมืด\\nยุ่งขิง\\nยุ่งยาก\\nยุ่งเหยิง\\nยุติธรรม\\nยุทธการ\\nยุทธนาวี\\nยุทธปัจจัย\\nยุทธภัณฑ์\\nยุทธภูมิ\\nยุทธวิธี\\nยุทธศาสตร์\\nยุทธหัตถี\\nยุทธนาการ\\nยุทธนาธิการ\\nยุบยับ\\nยุบยิบ\\nยุพราช\\nยู่ยี่\\nเย็นเจี๊ยบ\\nเย็นใจ\\nเย็นฉ่ำ\\nเย็นเฉียบ\\nเย็นชา\\nเย็นชืด\\nเย็นตา\\nเย็นเยียบ\\nเย็นเยือก\\nเย็นวาบ\\nเย็นวูบ\\nเย็บกี่\\nเย็บจักร\\nเย็บด้าย\\nเย้ยหยัน\\nเย้าหยอก\\nเยาะเย้ย\\nเยี่ยมกราย\\nเยี่ยมเยียน\\nเยี่ยมเยือน\\nเยี่ยมยอด\\nเยื่อเคย\\nเยื่อใย\\nเยือกเย็น\\nเยื้องกราย\\nเยื้องยัก\\nเยื้องย่าง\\nแยกย้าย\\nแยกแยะ\\nแย่งชิง\\nแยบคาย\\nแยบยล\\nแย้มพราย\\nแย้มยิ้ม\\nแย้มสรวล\\nโยเย\\nโย้เย้\\nโยกโคลง\\nโยกย้าย\\nโยกโย้\\nโยนกลอง\\nใยหิน\\nรกชัฏ\\nรกร้าง\\nรกเรี้ยว\\nรกเรื้อ\\nรกราก\\nรงควัตถุ\\nรชนีกร\\nรถกระบะ\\nรถเก๋ง\\nรถเข็น\\nรถแข่ง\\nรถจักร\\nรถจี๊ป\\nรถตู้\\nรถทัวร์\\nรถบรรทุก\\nรถพ่วง\\nรถพยาบาล\\nรถไฟ\\nรถไฟฟ้า\\nรถม้า\\nรถเมล์\\nรถยนต์\\nรถราง\\nรถลาก\\nรถสปอร์ต\\nรถสิบล้อ\\nรบกวน\\nรบรา\\nรบเร้า\\nรมดำ\\nร่มเกล้า\\nร่มชูชีพ\\nร่มเย็น\\nร่มรื่น\\nร่วงโรย\\nรวงผึ้ง\\nรวงรัง\\nรวดเร็ว\\nรวนเร\\nรวบยอด\\nรวบรวม\\nรวบรัด\\nรวมพล\\nรวมหัว\\nร่วมใจ\\nร่วมเพศ\\nร่วมมือ\\nร่วมรัก\\nร่วมสมัย\\nรวยริน\\nรวยรื่น\\nรสชาติ\\nรสนิยม\\nรองท้อง\\nรองเท้า\\nรองพื้น\\nร่องน้ำ\\nร่องรอย\\nร้องขอ\\nร้องทุกข์\\nร้องเรียน\\nร้องห่ม\\nร้องไห้\\nรองช้ำ\\nรองทรง\\nรอดชีวิต\\nรอดตัว\\nรอดตาย\\nรอนแรม\\nร่อนเร่\\nร้อนใจ\\nร้อนตัว\\nร้อนรน\\nร้อนรุ่ม\\nร้อนวิชา\\nร้อนอาสน์\\nรอบจัด\\nรอบเดือน\\nรอบรู้\\nรอยร้าว\\nร่อยหรอ\\nร้อยละ\\nร้อยกรอง\\nร้อยแก้ว\\nร้อยหวาย\\nระนาดทุ้ม\\nระนาดเอก\\nระเบิดขวด\\nระเบิดมือ\\nระเบียบการ\\nรักใคร่\\nรักษาการ\\nรักษาการณ์\\nรังไข่\\nรังแตน\\nรังนก\\nรังผึ้ง\\nรังเพลิง\\nรังมด\\nรังสรรค์\\nรังสฤษฏ์\\nรั้งรอ\\nรังสีแพทย์\\nรังสีวิทยา\\nรัชกาล\\nรัชทายาท\\nรัชนีกร\\nรัฐธรรมนูญ\\nรัฐบาล\\nรัฐบุรุษ\\nรัฐประศาสน์\\nรัฐประหาร\\nรัฐพิธี\\nรัฐมนตรี\\nรัฐวิสาหกิจ\\nรัฐศาสตร์\\nรัฐสภา\\nรัดกุม\\nรัดเกล้า\\nรัดตัว\\nรัดประคด\\nรัดรึง\\nรัดรูป\\nรัตติกาล\\nรับขวัญ\\nรับจ้าง\\nรับช่วง\\nรับใช้\\nรับซื้อ\\nรับทราบ\\nรับประกัน\\nรับประทาน\\nรับปาก\\nรับผิด\\nรับผิดชอบ\\nรับฟ้อง\\nรับฟัง\\nรับมือ\\nรับรอง\\nรับรู้\\nรับสมัคร\\nรับสั่ง\\nรับหน้า\\nรับเหมา\\nรั่วไหล\\nรามือ\\nร่าเริง\\nรากแก้ว\\nรากขวัญ\\nรากฐาน\\nรากฟัน\\nรากศัพท์\\nรากเหง้า\\nร่างกาย\\nร่างแห\\nร้างรา\\nราชกรณียกิจ\\nราชการ\\nราชกิจ\\nราชครู\\nราชฐาน\\nราชทัณฑ์\\nราชทินนาม\\nราชทูต\\nราชธานี\\nราชนาวี\\nราชบัณฑิต\\nราชบัลลังก์\\nราชบาตร\\nราชบุตร\\nราชปะแตน\\nราชภัฏ\\nราชมัล\\nราชยาน\\nราชรถ\\nราชลัญจกร\\nราชเลขาธิการ\\nราชเลขานุการ\\nราชวงศ์\\nราชวัติ\\nราชสกุล\\nราชสมบัติ\\nราชสาส์น\\nราชหัตถเลขา\\nราชองครักษ์\\nราชโองการ\\nราชาคณะ\\nราชาศัพท์\\nราชินีนาถ\\nร้านชำ\\nร้านรวง\\nราบคาบ\\nราบรื่น\\nราบเรียบ\\nรายการ\\nรายงาน\\nรายจ่าย\\nรายได้\\nรายทาง\\nรายรับ\\nรายล้อม\\nรายละเอียด\\nรายวิชา\\nร่ายยาว\\nร่ายรำ\\nร้ายกาจ\\nร้ายแรง\\nราวนม\\nราวป่า\\nร้าวฉาน\\nร้าวราน\\nรำพัด\\nรำแพน\\nรำวง\\nร่ำไป\\nร่ำร้อง\\nร่ำเรียน\\nร่ำไร\\nร่ำลา\\nร่ำไห้\\nริเริ่ม\\nริอ่าน\\nริมฝีปาก\\nริ้วรอย\\nรีบร้อน\\nรีบรุด\\nรีบเร่ง\\nรื่นรมย์\\nรื่นเริง\\nรื้อถอน\\nรื้อฟื้น\\nรุกฆาต\\nรุกราน\\nรุกล้ำ\\nรุกไล่\\nรุ่งขึ้น\\nรุ่งแจ้ง\\nรุ่งเช้า\\nรุ่งเรือง\\nรุ่งโรจน์\\nรุ่งสว่าง\\nรุ่งสาง\\nรุ่งอรุณ\\nรุจิเรข\\nรุดหน้า\\nรุนแรง\\nรุมเร้า\\nรุมล้อม\\nรุ่มรวย\\nรุ่มร้อน\\nรุ่ยร่าย\\nรู้แกว\\nรู้ความ\\nรู้คุณ\\nรู้งาน\\nรู้จัก\\nรู้แจ้ง\\nรู้ใจ\\nรู้เชิง\\nรู้ตัว\\nรู้ทัน\\nรู้เท่า\\nรู้เรื่อง\\nรู้สำนึก\\nรู้สึก\\nรู้เห็น\\nรูปการณ์\\nรูปโฉม\\nรูปฌาน\\nรูปถ่าย\\nรูปทรง\\nรูปธรรม\\nรูปแบบ\\nรูปพรรณ\\nรูปพรหม\\nรูปภพ\\nรูปภาพ\\nรูปร่าง\\nรูปสมบัติ\\nเร่ร่อน\\nเร่งด่วน\\nเร่งมือ\\nเร่งรัด\\nเร่งรีบ\\nเร่งเร้า\\nเร้นลับ\\nเร่อร่า\\nเร่าร้อน\\nเราะราย\\nเราะร้าย\\nเริงใจ\\nเริงรมย์\\nเริดร้าง\\nเริ่มต้น\\nเริ่มแรก\\nเรี่ยราด\\nเรี่ยไร\\nเรียกคืน\\nเรียกตัว\\nเรียกร้อง\\nเรียกหา\\nเรียบร้อย\\nเรียงความ\\nเรียงตัว\\nเรียงเบอร์\\nเรียงพิมพ์\\nเรียงเม็ด\\nเรียงราย\\nเรียนรู้\\nเรียบร้อย\\nเรียบเรียง\\nเรียบวุธ\\nเรี่ยมเร้\\nเรี่ยวแรง\\nเรือกลไฟ\\nเรือกอและ\\nเรือกำปั่น\\nเรือจ้าง\\nเรือดำน้ำ\\nเรือโดยสาร\\nเรือตรวจการณ์\\nเรือตังเก\\nเรือธง\\nเรือนำร่อง\\nเรือบด\\nเรือบิน\\nเรือใบ\\nเรือประมง\\nเรือพ่วง\\nเรือพิฆาต\\nเรือยนต์\\nเรือยาว\\nเรือโยง\\nเรือรบ\\nเรือลากจูง\\nเรือสำปั้น\\nเรือสำเภา\\nเรือหลวง\\nเรือหางยาว\\nเรืออีโปง\\nเรือเอี้ยมจุ๊น\\nเรื้อรัง\\nเรือกสวน\\nเรืองนาม\\nเรืองรอง\\nเรืองแสง\\nเรื่องราว\\nเรื่องสั้น\\nเรือนแก้ว\\nเรือนจำ\\nเรือนเบี้ย\\nเรือนแพ\\nเรือนหอ\\nเรื่อยเจื้อย\\nเรื่อยเฉื่อย\\nเรื่อยเปื่อย\\nแรเงา\\nแรกนา\\nแรกนาขวัญ\\nแรงงาน\\nแรงดึงดูด\\nแรงเทียน\\nแรงม้า\\nแรงเหวี่ยง\\nแรมรอน\\nแรมรา\\nแรมโรย\\nโรคจิต\\nโรงครัว\\nโรงงาน\\nโรงเจ\\nโรงเตี๊ยม\\nโรงทาน\\nโรงนา\\nโรงพยาบาล\\nโรงพัก\\nโรงพิมพ์\\nโรงเรียน\\nโรงเรือน\\nโรงแรม\\nโรงเลี้ยง\\nโรงเลื่อย\\nโรงสี\\nโรงสีข้าว\\nโรงอาหาร\\nโรมรัน\\nโรยรา\\nฤชากร\\nฤดูกาล\\nลงขัน\\nลงแขก\\nลงคอ\\nลงตัว\\nลงท้าย\\nลงทุน\\nลงโทษ\\nลงพุง\\nลงมือ\\nลงรัก\\nลงรอย\\nลงแรง\\nลงโรง\\nลงเอย\\nลดตัว\\nลดละ\\nลดเลี้ยว\\nลดหย่อน\\nลดหลั่น\\nลนลาน\\nล้นพ้น\\nล้นหลาม\\nล้นเหลือ\\nลบล้าง\\nลบเลือน\\nลบหลู่\\nลมกรด\\nลมค้า\\nลมงวง\\nลมแดด\\nลมทะเล\\nลมบก\\nลมบน\\nลมบ้าหมู\\nลมปราณ\\nลมปาก\\nลมพิษ\\nลมว่าว\\nลมเสีย\\nลมหนาว\\nลมหายใจ\\nล่มจม\\nล่มสลาย\\nล้มละลาย\\nล้มลุก\\nล้มเลิก\\nล่วงเกิน\\nล่วงรู้\\nล่วงละเมิด\\nล่วงลับ\\nล่วงล้ำ\\nล่วงเลย\\nล่วงหน้า\\nลวดลาย\\nลวดสปริง\\nลวดหนาม\\nล้วนแล้ว\\nลหุโทษ\\nล่อลวง\\nล่อหลอก\\nล่อแหลม\\nล้อต๊อก\\nล้อเลื่อน\\nล้อเล่น\\nล้อเลียน\\nล้อหลอก\\nลองเชิง\\nลองดี\\nลองภูมิ\\nล่องหน\\nลอดช่อง\\nล่อนจ้อน\\nลอบกัด\\nล้อมวง\\nลอยแก้ว\\nลอยชาย\\nลอยตัว\\nลอยนวล\\nลอยแพ\\nลอยลำ\\nละทิ้ง\\nละเลย\\nละเว้น\\nละครนอก\\nละครใน\\nละครเพลง\\nละครร้อง\\nละครรำ\\nละครลิง\\nละครสัตว์\\nละเอียดอ่อน\\nลักไก่\\nลักพา\\nลักเพศ\\nลักยิ้ม\\nลักลอบ\\nลักลั่น\\nลักหลับ\\nลัดเลาะ\\nลับตา\\nลับแล\\nลับหลัง\\nลาออก\\nล่าช้า\\nล่าทัพ\\nล้าสมัย\\nล้าหลัง\\nลากข้าง\\nล้างบาง\\nล้างผลาญ\\nลาดเขา\\nลาดตระเวน\\nลาดเท\\nลาดยาง\\nลานบิน\\nลาภปาก\\nลาภลอย\\nลามปาม\\nลามเลีย\\nลายคราม\\nลายเซ็น\\nลายแทง\\nลายน้ำ\\nลายพร้อย\\nลายมือ\\nลายลักษณ์\\nลายเส้น\\nลำกล้อง\\nลำแข้ง\\nลำธาร\\nลำแสง\\nลำไส้\\nลำตัด\\nลำนำ\\nล่ำสัน\\nล้ำยุค\\nล้ำสมัย\\nล้ำลึก\\nล้ำเลิศ\\nล้ำเส้น\\nล้ำหน้า\\nลิงจุ่น\\nลิงลม\\nลิงโลด\\nลิดรอน\\nลิ้นไก่\\nลิ้นชัก\\nลิ้นปี่\\nลิ้นควาย\\nลิ้นงูเห่า\\nลิ้นหมา\\nลิบลับ\\nลิบลิ่ว\\nลิ่มเลือด\\nลี้ภัย\\nลี้ลับ\\nลึกซึ้ง\\nลึกลับ\\nลึกล้ำ\\nลืมตน\\nลืมต้น\\nลืมตัว\\nลืมตา\\nลืมเลือน\\nลือชา\\nลือชื่อ\\nลือลั่น\\nลุล่วง\\nลุกลน\\nลุกลาม\\nลุกลี้ลุกลน\\nลุกฮือ\\nลุ่มน้ำ\\nลุ่มลึก\\nลุ่มหลง\\nลุ่ทาง\\nลูกกรง\\nลูกกรอก\\nลูกกรุง\\nลูกกลอน\\nลูกกลิ้ง\\nลูกกวาด\\nลูกกะจ๊อก\\nลูกกุญแจ\\nลูกเกด\\nลูกแก้ว\\nลูกขนไก่\\nลูกข่าง\\nลูกขุน\\nลูกเขย\\nลูกครึ่ง\\nลูกคลื่น\\nลูกความ\\nลูกคอ\\nลูกค้า\\nลูกคิด\\nลูกคู่\\nลูกจ้าง\\nลูกช้าง\\nลูกชิด\\nลูกชิ้น\\nลูกชุบ\\nลูกซอง\\nลูกโซ่\\nลูกดอก\\nลูกดิ่ง\\nลูกตะกั่ว\\nลูกตุ้ม\\nลูกเต้า\\nลูกเต๋า\\nลูกถ้วย\\nลูกทุ่ง\\nลูกเธอ\\nลูกน้อง\\nลูกน้ำ\\nลูกนิมิต\\nลูกบอล\\nลูกบ้าน\\nลูกบาศก์\\nลูกบิด\\nลูกเบี้ยว\\nลูกประคบ\\nลูกประคำ\\nลูกปัด\\nลูกปืน\\nลูกโป่ง\\nลูกผสม\\nลูกผู้ชาย\\nลูกผู้หญิง\\nลูกพรรค\\nลูกพี่\\nลูกฟูก\\nลูกไฟ\\nลูกมือ\\nลูกโม่\\nลูกไม้\\nลูกยาเธอ\\nลูกรอก\\nลูกรัง\\nลูกเรือ\\nลูกล้อ\\nลูกลอย\\nลูกเล่น\\nลูกเลี้ยง\\nลูกโลก\\nลูกวัด\\nลูกศร\\nลูกศิษย์\\nลูกสมุน\\nลูกสะใภ้\\nลูกสูบ\\nลูกเสือ\\nลูกหนัง\\nลูกหนี้\\nลูกหนู\\nลูกหมาก\\nลูกหลง\\nลูกหลาน\\nลูกหาบ\\nลูกหิน\\nลูกเห็บ\\nลูกเหม็น\\nลูกแหง่\\nลูกอม\\nลูกหม้อ\\nลูบคม\\nลูบคลำ\\nลูบไล้\\nเล็กน้อย\\nเลขคณิต\\nเลขผา\\nเลขหมาย\\nเล็ดลอด\\nเล่นงาน\\nเล่นแง่\\nเล่นชู้\\nเล่นตัว\\nเล่นลิ้น\\nเล่นหัว\\nเลนส์นูน\\nเลนส์เว้า\\nเล็บครุฑ\\nเลยเถิด\\nเลศนัย\\nเล่ห์กล\\nเล่ห์เหลี่ยม\\nเลอโฉม\\nเลอมาน\\nเลอเลิศ\\nเลอสรวง\\nเล่อล่า\\nเลอะเลือน\\nเล่าเรียน\\nเล่าลือ\\nเลาะลัด\\nเลิกรา\\nเลิกร้าง\\nเลิกล้ม\\nเลิศเลอ\\nเลี้ยงชีพ\\nเลี้ยงดู\\nเลี้ยงต้อย\\nเลียบเคียง\\nเลี้ยวลด\\nเลือกตั้ง\\nเลือกเฟ้น\\nเลือกสรร\\nเลื่องลือ\\nเลือดกำเดา\\nเลือดเนื้อ\\nเลือดฝาด\\nเลือดเย็น\\nเลือดร้อน\\nเลือดหมู\\nเลือดอุ่น\\nเลือนราง\\nเลื่อนเปื้อน\\nเลื่อนลอย\\nเลื่อมพราย\\nเลื่อมใส\\nเลื่อยฉลุ\\nเลื่อยลันดา\\nเลื่อยวงเดือน\\nเลื้อยคลาน\\nแลเหลียว\\nแลกเปลี่ยน\\nแล้วกัน\\nและเล็ม\\nโล่งใจ\\nโล่งโถง\\nโล่งอก\\nโลดเต้น\\nโลดโผน\\nโลดลิ่ว\\nโลดแล่น\\nไล่ที่\\nไล่เบี้ย\\nไล่เลี่ย\\nไล่เลียง\\nไล่หลัง\\nไล่ออก\\nวกวน\\nวงกบ\\nวงกลม\\nวงการ\\nวงแขน\\nวงเงิน\\nวงจร\\nวงนอก\\nวงใน\\nวงรี\\nวงเล็บ\\nวงเวียน\\nวงแหวน\\nวงศ์วาน\\nวจีกรรม\\nวจีเภท\\nวจีภาค\\nวนเวียน\\nวอดวาย\\nว็อบแว็บ\\nวังวน\\nวังหน้า\\nวังหลวง\\nวังหลัง\\nวัดราษฎร์\\nวัดวา\\nวัดหลวง\\nวัดผล\\nวัดพื้น\\nวัตถุนิยม\\nวัตถุประสงค์\\nวัตรปฏิบัติ\\nวันโกน\\nวันพระ\\nวันเพ็ญ\\nวัยรุ่น\\nวัยวุฒิ\\nว่ากล่าว\\nว่าจ้าง\\nว่าด้วย\\nว่าที่\\nวางก้าม\\nวางใจ\\nวางตัว\\nวางตา\\nวางโต\\nวางท่า\\nวางมวย\\nวางมาด\\nวางมือ\\nวางวาย\\nว่างเปล่า\\nว่างเว้น\\nวาดเขียน\\nว่านเครือ\\nวาบหวาม\\nวายชนม์\\nวายปราณ\\nวายวาง\\nวายวอด\\nวายร้าย\\nวายุภักษ์\\nวาววับ\\nวาววาม\\nวาวแวว\\nวาวแสง\\nวิกฤตการณ์\\nวิกฤติการณ์\\nวิกฤตกาล\\nวิกฤติกาล\\nวิกลจริต\\nวิงเวียน\\nวิ่งเต้น\\nวิ่งผลัด\\nวิ่งรอก\\nวิ่งราว\\nวิจิตรศิลป์\\nวิชาการ\\nวิชาชีพ\\nวิชาธร\\nวิญญูชน\\nวิดพื้น\\nวิตกจริต\\nวิถีทาง\\nวิทยากร\\nวิทยากล\\nวิทยาการ\\nวิทยาเขต\\nวิทยาทาน\\nวิทยาธร\\nวิทยานิพนธ์\\nวิทยาศาสตร์\\nวิเทศสัมพันธ์\\nวิธีการ\\nวินัยธร\\nวินัยปิฎก\\nวินาศกรรม\\nวินาศภัย\\nวินาศสันตะโร\\nวิภัชพยากรณ์\\nวิภัชวาที\\nวิไลวรรณ\\nวิสัญญีแพทย์\\nวิสัญญีภาพ\\nวิสัญญีวิทยา\\nวุฒิบัตร\\nวุฒิสภา\\nวุฒิสมาชิก\\nวุ่นวาย\\nวุ้นเส้น\\nวูบวาบ\\nเวจกุฎี\\nเวจมรรค\\nเวชกรรม\\nเวชภัณฑ์\\nเวชศาสตร์\\nเวทมนตร์\\nเวนคืน\\nเวรกรรม\\nเวฬุการ\\nเวฬุวัน\\nเว้าวอน\\nเวิ้งว้าง\\nเวียงวัง\\nเวียนเทียน\\nแว้งกัด\\nแวดล้อม\\nแวดวง\\nแว่นขยาย\\nแว่นแคว้น\\nแว่นตา\\nแวบวับ\\nแววตา\\nแวววาม\\nแวววาว\\nแวะเวียน\\nโวยวาย\\nไวไฟ\\nไว้ใจ\\nไว้ชื่อ\\nไว้ตัว\\nไว้ทุกข์\\nไว้ลาย\\nไว้หน้า\\nไว้อาลัย\\nศนิวาร\\nศอกกลับ\\nศอกกำ\\nศอกกำมา\\nศักดิ์ศรี\\nศักดิ์สิทธิ์\\nศารทวิษุวัติ\\nศาลแขวง\\nศาลจังหวัด\\nศาลชั้นต้น\\nศาลฎีกา\\nศาลเตี้ย\\nศาลทหาร\\nศาลปกครอง\\nศาลพระภูมิ\\nศาลเพียงตา\\nศาลแพ่ง\\nศาลรัฐธรรมนูญ\\nศาลแรงงาน\\nศาลล้มละลาย\\nศาลโลก\\nศาลสูง\\nศาลสูงสุด\\nศาลอาญา\\nศาลอุทธรณ์\\nศาลากลาง\\nศาลาดิน\\nศาลาราย\\nศาลาวัด\\nศิลาฤกษ์\\nศิลาแลง\\nศิษย์เก่า\\nศิษย์เอก\\nศีลจุ่ม\\nศีลธรรม\\nศีลวัต\\nศีลอด\\nศูนย์กลาง\\nศูนย์การค้า\\nศูนย์ถ่วง\\nศูนย์สูตร\\nศูนย์หน้า\\nเศร้าใจ\\nเศร้าโศก\\nเศร้าสร้อย\\nเศร้าสลด\\nเศร้าหมอง\\nเศวตฉัตร\\nเศษเกิน\\nเศษซ้อน\\nเศษวรรค\\nเศษส่วน\\nเศษเหล็ก\\nโศกนาฏกรรม\\nโศกศัลย์\\nโศกเศร้า\\nโศกสลด\\nสกลโลก\\nส่งเดช\\nส่งท้าย\\nส่งเสริม\\nส่งเสีย\\nส่งเสียง\\nสงบเงียบ\\nสงบเสงี่ยม\\nสง่างาม\\nสง่าราศี\\nสดชื่น\\nสดใส\\nสตรีเพศ\\nสติปัญญา\\nสถลมารค\\nสถานกงสุล\\nสถานที่\\nสถานทูต\\nสถานการณ์\\nสถานภาพ\\nสถิติศาสตร์\\nสนตะพาย\\nสนใจ\\nส้นตีน\\nสนธิสัญญา\\nสนนราคา\\nสนับแข้ง\\nสนับเพลา\\nสนับมือ\\nสนามบิน\\nสนามเพลาะ\\nสนิทสนม\\nสนิมขุม\\nสนิมสร้อย\\nสนุกสนาน\\nสบประมาท\\nสบายใจ\\nสภาพธรรม\\nสมควร\\nสมจริง\\nสมใจ\\nสมนัย\\nสมน้ำหน้า\\nสมประกอบ\\nสมส่วน\\nสมหวัง\\nสมคบ\\nสมทบ\\nสมยอม\\nสมรัก\\nสมรู้\\nสมสู่\\nส้มฉุน\\nส้มตำ\\nส้มลิ้ม\\nส้มกุ้ง\\nส้มเช้า\\nสมญานาม\\nสมมติฐาน\\nสมมุติฐาน\\nสมมติเทพ\\nสมรภูมิ\\nสมัครใจ\\nสมัยนิยม\\nสมุทรศาสตร์\\nสมุทรเสนา\\nสยดสยอง\\nสยองขวัญ\\nสยามรัฐ\\nสรรหา\\nสรวมชีพ\\nสรวลเส\\nสร้อยเศร้า\\nสร้างสรรค์\\nสร้างเสริม\\nสลดใจ\\nสลบไสล\\nสละสลวย\\nสลาเหิน\\nสลากภัต\\nสวนครัว\\nสวนป่า\\nสวนสนุก\\nสวนหย่อม\\nส่วนกลาง\\nส่วนเกิน\\nส่วนตัว\\nส่วนบุญ\\nส่วนแบ่ง\\nส่วนประกอบ\\nส่วนพระองค์\\nส่วนผสม\\nส่วนรวม\\nส่วนร่วม\\nส่วนลด\\nส่วนสัด\\nสวมกอด\\nสวมเขา\\nสวมรอย\\nสวยมภู\\nสว่างไสว\\nสวามิภักดิ์\\nสวิงสวาย\\nสสารนิยม\\nส่อเสียด\\nสอดคล้อง\\nสอดแทรก\\nสอดแนม\\nสอบถาม\\nสอบทาน\\nสอบไล่\\nสอบสวน\\nส้อมเสียง\\nสะสวย\\nสะแกวัลย์\\nสะแกแสง\\nสะใจ\\nสะเด็ดยาด\\nสะเทือนใจ\\nสะบัดช่อ\\nสั่งสม\\nสั่งสอน\\nสั่งเสีย\\nสังเกตการณ์\\nสังคมนิยม\\nสังคมวิทยา\\nสังคมศาสตร์\\nสังคมศึกษา\\nสังคมสงเคราะห์\\nสัญญาบัตร\\nสัดส่วน\\nสัตการ\\nสัตบุรุษ\\nสัตบริภัณฑ์\\nสัตภัณฑ์\\nสัตมหาสถาน\\nสัตโลหะ\\nสันเขา\\nสันดอน\\nสันหลัง\\nสั่นเทา\\nสั่นเทิ้ม\\nสันติบาล\\nสันติภาพ\\nสันติวิธี\\nสันติสุข\\nสับเปลี่ยน\\nสับสน\\nสับหลีก\\nสับหว่าง\\nสัมมาคารวะ\\nสัมมาชีพ\\nส่าเหล้า\\nสากกะเบือ\\nสาทิสลักษณ์\\nสาธุการ\\nสาธุชน\\nสาบเสือ\\nสาปสรร\\nสาปแช่ง\\nสาปส่ง\\nสามง่าม\\nสามล้อ\\nสามเหลี่ยม\\nสามเวท\\nสามัญชน\\nสามัญสำนึก\\nสายดิ่ง\\nสายดิน\\nสายตรวจ\\nสายน้ำ\\nสายบัว\\nสายพาน\\nสายฟ้า\\nสายยาง\\nสายยู\\nสายใย\\nสายรก\\nสายรุ้ง\\nสายล่อฟ้า\\nสายลับ\\nสายเลือด\\nสายโลหิต\\nสายวัด\\nสายส่ง\\nสายสวาท\\nสายสะดือ\\nสายสะพาย\\nสายสัมพันธ์\\nสายสิญจน์\\nสายสืบ\\nสายไหม\\nสายอากาศ\\nสายตา\\nสายหยุด\\nสารตรา\\nสารประกอบ\\nสารละลาย\\nสารส้ม\\nสารหนู\\nสารทฤดู\\nสาวใช้\\nสาวน้อย\\nสาวใหญ่\\nสำนักงาน\\nสำนักพิมพ์\\nสำนักสงฆ์\\nสำมะโนครัว\\nสำเร็จรูป\\nสิกขาบท\\nสิงสถิต\\nสิงสู่\\nสิ่งก่อสร้าง\\nสิ่งของ\\nสิ่งปฏิกูล\\nสิ่งพิมพ์\\nสิ่งแวดล้อม\\nสิ่งศักดิ์สิทธิ์\\nสิทธิกร\\nสิทธิ์ขาด\\nสิทธิชัย\\nสิทธิโชค\\nสิทธิบัตร\\nสินค้า\\nสินจ้าง\\nสินเชื่อ\\nสินไถ่\\nสินทรัพย์\\nสินน้ำใจ\\nสินบน\\nสินแร่\\nสินสมรส\\nสินสอด\\nสินไหม\\nสิ้นเชิง\\nสิ้นสุด\\nสีผึ้ง\\nสีลม\\nสีชอล์ก\\nสีถ่าน\\nสีเทียน\\nสีน้ำ\\nสีน้ำมัน\\nสีโปสเตอร์\\nสีฝุ่น\\nสี่เหลี่ยม\\nสีหน้า\\nสึกหรอ\\nสืบทอด\\nสืบค้น\\nสืบสวน\\nสืบสาว\\nสืบเสาะ\\nสื่อผสม\\nสื่อมวลชน\\nสื่อสาร\\nสุกงอม\\nสุกดิบ\\nสุกปลั่ง\\nสุกใส\\nสุขนาฏกรรม\\nสุขภัณฑ์\\nสุขภาพ\\nสุขลักษณะ\\nสุขวิทยา\\nสุขศาลา\\nสุขศึกษา\\nสุดท้าย\\nสุตกวี\\nสุนทรพจน์\\nสุภาพชน\\nสู่ขอ\\nสู่รู้\\nสู่สม\\nสูงส่ง\\nสูญเปล่า\\nสูญสิ้น\\nสูญเสีย\\nสูญหาย\\nเสสรวล\\nเสแสร้ง\\nเสกสรร\\nเสถียรภาพ\\nเส้นชัย\\nเส้นตรง\\nเส้นตาย\\nเส้นทาง\\nเส้นใย\\nเส้นรุ้ง\\nเส้นเลือด\\nเส้นแวง\\nเส้นสาย\\nเส้นเสียง\\nเส้นหมี่\\nเส้นเอ็น\\nเสบียงกรัง\\nเสมอภาค\\nเสมอหน้า\\nเสมอเหมือน\\nเสมียนตรา\\nเสร็จสรรพ\\nเสร็จสิ้น\\nเสริมส่ง\\nเสริมสร้าง\\nเสริมสวย\\nเสรีไทย\\nเสรีธรรม\\nเสรีนิยม\\nเสรีภาพ\\nเสาเข็ม\\nเสาธง\\nเสียใจ\\nเสียเชิง\\nเสียดาย\\nเสียที\\nเสียเที่ยว\\nเสียเปรียบ\\nเสียเปล่า\\nเสียรู้\\nเสียแรง\\nเสียสละ\\nเสียหลัก\\nเสียหาย\\nเสี่ยงทาย\\nเสียดแทง\\nเสียดแทรก\\nเสียดสี\\nเสี้ยนศึก\\nเสี้ยนหนาม\\nเสี้ยมสอน\\nเสียวซ่าน\\nเสียวไส้\\nเสือดาว\\nเสือดำ\\nเสือปลา\\nเสือป่า\\nเสือไฟ\\nเสื่อกก\\nเสื่อกระจูด\\nเสื่อน้ำมัน\\nเสื่อลำแพน\\nเสื้อกล้าม\\nเสื้อกั๊ก\\nเสื้อเกราะ\\nเสื้อครุย\\nเสื้อแสง\\nเสื้อเมือง\\nเสือกคลาน\\nเสือกสน\\nเสือกไส\\nเสื่อมคลาย\\nเสื่อมถอย\\nเสื่อมทราม\\nเสื่อมโทรม\\nเสื่อมสลาย\\nเสื่อมสูญ\\nเสื่อมเสีย\\nเสือหมอบ\\nแสกหน้า\\nแสดงออก\\nแสเถา\\nแสนกล\\nแสนรู้\\nแสร้งว่า\\nใส่ความ\\nใส่ไคล้\\nใส่ใจ\\nใส่ไฟ\\nไส้กรอก\\nไส้ไก่\\nไส้ติ่ง\\nไส้ศึก\\nไส้อั่ว\\nไส้เดือน\\nไส้ตัน\\nไสยเวท\\nไสยศาสตร์\\nหกล้ม\\nหงส์หยก\\nหงอนไก่\\nหงอยก๋อย\\nหงอยเหงา\\nหงายท้อง\\nหงายหลัง\\nหงำเหงอะ\\nหงำเหงือก\\nหดหาย\\nหดหู่\\nหนทาง\\nหนวกหู\\nหน่วงเหนี่ยว\\nหน่วยก้าน\\nหน่อไม้\\nหนองใน\\nหนองแซง\\nหนักข้อ\\nหนักใจ\\nหนักแน่น\\nหนักหน่วง\\nหนักหนา\\nหนังกลับ\\nหนังตะลุง\\nหนังเรียด\\nหนังสด\\nหนังใหญ่\\nหนังสือพิมพ์\\nหนาแน่น\\nหน้ากระดาน\\nหน้ากาก\\nหน้ากาฬ\\nหน้าแข้ง\\nหน้าจั่ว\\nหน้าฉาน\\nหน้าตัก\\nหน้าตา\\nหน้าต่าง\\nหน้าท้อง\\nหน้าทับ\\nหน้าที่\\nหน้าที่นั่ง\\nหน้าบัน\\nหน้าปัด\\nหน้าผา\\nหน้าผาก\\nหน้าม้า\\nหน้ามุข\\nหน้าไม้\\nหน้าเลือด\\nหน้าอก\\nหนามเตย\\nหน่ายหนี\\nหน่ายแหนง\\nหนาวเหน็บ\\nหนำใจ\\nหนี้สิน\\nหนี้สูญ\\nหนุนเนื่อง\\nหนุนหลัง\\nหมกมุ่น\\nหมดจด\\nหมอขวัญ\\nหมอความ\\nหมอแคน\\nหมองู\\nหมอดู\\nหมอตำแย\\nหมอทำขวัญ\\nหมอนวด\\nหมอผี\\nหมอยา\\nหมอลำ\\nหมอเสน่ห์\\nหม้อแกง\\nหม้อตาล\\nหม้อน้ำ\\nหม้อแปลง\\nหมองใจ\\nหมองมัว\\nหมองหม่น\\nหมองหมาง\\nหมอนขวาน\\nหมอนข้าง\\nหมอนทอง\\nหม่อมเจ้า\\nหม่อมฉัน\\nหม่อมราชวงศ์\\nหม่อมหลวง\\nหม่อมห้าม\\nหมั่นไส้\\nหมาป่า\\nหมาหมู่\\nหมากฝรั่ง\\nหมากสง\\nหมากหอม\\nหมากเก็บ\\nหมากรุก\\nหมากเม่า\\nหมางใจ\\nหมางเมิน\\nหมาไม้\\nหมายเกณฑ์\\nหมายขัง\\nหมายค้น\\nหมายความ\\nหมายจับ\\nหมายใจ\\nหมายตา\\nหมายปล่อย\\nหมายมั่น\\nหมายเรียก\\nหมายเลข\\nหมายเหตุ\\nหมิ่นเหม่\\nหมึกจีน\\nหมุนเวียน\\nหมูแดง\\nหมูป่า\\nหมูแผ่น\\nหมูยอ\\nหมูหย็อง\\nหมูหัน\\nหมูแฮม\\nหมู่บ้าน\\nหยดย้อย\\nหยอกเย้า\\nหยักรั้ง\\nหยักศก\\nหยั่งทราบ\\nหยั่งรู้\\nหยั่งเสียง\\nหยาบคาย\\nหยาบช้า\\nหยาบโลน\\nหยาบหยาม\\nหยิบมือ\\nหยิบยก\\nหยิบยืม\\nหยิบหย่ง\\nหยิบโหย่ง\\nหริรักษ์\\nหริวงศ์\\nหลงผิด\\nหลบฉาก\\nหลบมุม\\nหลวงจีน\\nหลวงพ่อ\\nหลวมตัว\\nหล่อลื่น\\nหล่อเลี้ยง\\nหล่อหลอม\\nหลอกลวง\\nหลอกล่อ\\nหลอกล้อ\\nหลอดลม\\nหลอดเลือด\\nหลอดอาหาร\\nหลอมตัว\\nหลอมเหลว\\nหลักการ\\nหลักเกณฑ์\\nหลักชัย\\nหลักฐาน\\nหลักทรัพย์\\nหลักเมือง\\nหลักลอย\\nหลักสูตร\\nหลักแหล่ง\\nหลักแหลม\\nหลังคา\\nหลังเต่า\\nหลั่งไหล\\nหลับนก\\nหลับใน\\nหลากใจ\\nหลากหลาย\\nหลาบจำ\\nหลายหลาก\\nหลายแหล่\\nหลุดพ้น\\nหลุดลอย\\nหลุดลุ่ย\\nหลุมโจน\\nหลุมพราง\\nหวงก้าง\\nหวงห้าม\\nหวงแหน\\nห่วงใย\\nห้วงน้ำ\\nหวังใจ\\nหวังดี\\nหวั่นกลัว\\nหวั่นเกรง\\nหวั่นใจ\\nหวั่นวิตก\\nหวั่นหวาด\\nหวั่นไหว\\nหวาดกลัว\\nหวาดเกรง\\nหวาดผวา\\nหวาดเสียว\\nหวาดหวั่น\\nหวาดไหว\\nหวานเย็น\\nหว่านล้อม\\nหอคอย\\nหอคำ\\nหอฉัน\\nหอไตร\\nหอประชุม\\nหอพัก\\nห่อหมก\\nห่อเหี่ยว\\nหอกซัด\\nห้องเครื่อง\\nห้องชุด\\nห้องแถว\\nห้องโถง\\nห้องน้ำ\\nห้องสมุด\\nหอสมุด\\nหอมหวน\\nห้อมล้อม\\nห้อยโหน\\nหักล้าง\\nหักหาญ\\nหักห้าม\\nหักเห\\nหักโหม\\nหักมุก\\nหันเห\\nหับเผย\\nหัวขโมย\\nหัวข้อ\\nหัวขั้ว\\nหัวเข่า\\nหัวโขน\\nหัวคะแนน\\nหัวค่ำ\\nหัวคิด\\nหัวจุก\\nหัวโจก\\nหัวใจ\\nหัวเทียน\\nหัวนม\\nหัวนอน\\nหัวป่า\\nหัวมุม\\nหัวเรื่อง\\nหัวแร้ง\\nหัวใส\\nหัวหน้า\\nหัวหน่าว\\nหัวหอก\\nหัวเห็ด\\nหัวไหล่\\nหัวอก\\nหัสดนตรี\\nหัสนาฏกรรม\\nหัสนิยาย\\nหัสดีลิงค์\\nหางเครื่อง\\nหางแถว\\nหางเลข\\nหางว่าว\\nหางเสียง\\nหางเสือ\\nห่างเหิน\\nหาบเร่\\nห้ามปราม\\nห้ามล้อ\\nหายตัว\\nหาวนอน\\nห้าวหาญ\\nห้ำหั่น\\nหินงอก\\nหินทราย\\nหินปูน\\nหินย้อย\\nหินอ่อน\\nหินชาติ\\nหินยาน\\nหีบเพลง\\nหีบห่อ\\nหุ่นกระบอก\\nหุ่นยนต์\\nหุ้นลม\\nหุ้นส่วน\\nหุบเขา\\nหุบผา\\nหุบเหว\\nหูกระต่าย\\nหูช้าง\\nหูรูด\\nหูกวาง\\nเหงาหงอย\\nเหงื่อกาฬ\\nเหตุการณ์\\nเหตุผล\\nเห็นแก่\\nเห็นใจ\\nเหน็บแนม\\nเหน็บชา\\nเหนียวแน่น\\nเหนี่ยวนำ\\nเหนี่ยวรั้ง\\nเหนื่อยหน่าย\\nเหมาะเจาะ\\nเหมาะสม\\nเหมาะเหม็ง\\nเหยเก\\nเหยียดหยาม\\nเหล็กกล้า\\nเหล็กจาร\\nเหล็กใน\\nเหล็กส่ง\\nเหล็กเส้น\\nเหล็กหล่อ\\nเหล็กไหล\\nเหลวแหลก\\nเหลวไหล\\nเหลอหลา\\nเหล่ากอ\\nเหลียวแล\\nเหลือเกิน\\nเหลือขอ\\nเหลือใจ\\nเหลือเชื่อ\\nเหลือเฟือ\\nเหลือร้าย\\nเหลือล้น\\nเหลือหลาย\\nเหลือแหล่\\nเหลือแสน\\nเหลือหลอ\\nเหลื่อมล้ำ\\nเห่อเหิม\\nเหินห่าง\\nเหิมเกริม\\nเหิมหาญ\\nเหี้ยมเกรียม\\nเหี้ยมหาญ\\nเหี้ยมโหด\\nเหี่ยวแห้ง\\nเหือดหาย\\nเหือดแห้ง\\nแห่แหน\\nแหนงหน่าย\\nแหลกลาญ\\nแหลกเหลว\\nแหวกแนว\\nแหวกว่าย\\nโหงพราย\\nโหดร้าย\\nโหดเหี้ยม\\nโหยหวน\\nโหวงเหวง\\nให้การ\\nให้ท่า\\nให้ท้าย\\nให้ร้าย\\nให้หลัง\\nไหมพรม\\nไหวพริบ\\nอกไก่\\nอกร่อง\\nองค์กร\\nองค์การ\\nอดกลั้น\\nอดทน\\nอดสู\\nอดอยาก\\nอดออม\\nอดีตกาล\\nอดีตชาติ\\nอดีตภพ\\nอติชาตบุตร\\nอธิการบดี\\nอนาคตกาล\\nอนิจกรรม\\nอนุชาตบุตร\\nอเนกประสงค์\\nอบรม\\nอบอวล\\nอบอ้าว\\nอบอุ่น\\nอบายภูมิ\\nอบายมุข\\nอภัพบุคคล\\nอภัยทาน\\nอภัยโทษ\\nอภิชาตบุตร\\nอมยิ้ม\\nอมรรัตน์\\nอมฤตบท\\nอมฤตรส\\nอย่างไร\\nอรรถกร\\nอรรถกวี\\nอรรถคดี\\nอรรถประโยชน์\\nอรรถรส\\nอรรธนิศา\\nอรรธภาค\\nอรรธสระ\\nอรสุมพล\\nอรูปฌาน\\nอรูปพรหม\\nอรูปภพ\\nอรูปภูมิ\\nอวชาตบุตร\\nอวดดี\\nอวดอ้าง\\nอ้วนท้วน\\nอ้วนพี\\nอวบอั๋น\\nอวยชัย\\nอวยพร\\nอสุภกรรมฐาน\\nอสุภสัญญา\\nอโหสิกรรม\\nออเจ้า\\nออกแขก\\nออกตัว\\nออกโรง\\nออกฤทธิ์\\nออกลาย\\nออกหาก\\nออดอ้อน\\nออดแอด\\nอ่อนข้อ\\nอ่อนใจ\\nอ่อนช้อย\\nอ่อนน้อม\\nอ่อนเปลี้ย\\nอ่อนเพลีย\\nอ่อนโยน\\nอ่อนหวาน\\nอ่อนหัด\\nอ่อนไหว\\nอ่อนแอ\\nอ้อนวอน\\nอ้อนออด\\nอ้อมค้อม\\nอักษรศาสตร์\\nอักษรสาส์น\\nอัคคีภัย\\nอัญชนะศักราช\\nอัดฉีด\\nอัดอั้น\\nอัตราส่วน\\nอันโตชน\\nอันโตนาที\\nอับจน\\nอับเฉา\\nอับอาย\\nอัสสุชล\\nอัสสุธารา\\nอากัปกิริยา\\nอาการนาม\\nอากาศธาตุ\\nอากาศยาน\\nอาคารชุด\\nอ่างเก็บน้ำ\\nอ้างอิง\\nอาจหาญ\\nอาจอง\\nอาชญากร\\nอาชญากรรม\\nอาชญาบัตร\\nอาชญาสิทธิ์\\nอาญาสิทธิ์\\nอาณาเขต\\nอาณาจักร\\nอาณานิคม\\nอาณาประโยชน์\\nอาโปกสิณ\\nอาโปธาตุ\\nอาภากร\\nอายุขัย\\nอายุวัฒนะ\\nอาโลกกสิณ\\nอาหารว่าง\\nอำพราง\\nอิดโรย\\nอิดออด\\nอิดเอื้อน\\nอิตถีลิงค์\\nอิทธิปาฏิหาริย์\\nอิทธิพล\\nอิทธิฤทธิ์\\nอินังขังขอบ\\nอิ่มตัว\\nอิ่มหนำ\\nอิ่มเอม\\nอิ่มเอิบ\\nอีฉัน\\nอีตัว\\nอึงคะนึง\\nอึงมี่\\nอึงอล\\nอึ่งยาง\\nอึ่งอ่าง\\nอึดใจ\\nอึดอัด\\nอืดอาด\\nอื้อฉาว\\nอื้อซ่า\\nอื้ออึง\\nอุกฉกรรจ์\\nอุกอาจ\\nอุดอู้\\nอุ่นเครื่อง\\nอุ่นใจ\\nอุบอิบ\\nอุบัติภัย\\nอุบัติเหตุ\\nอุโบสถกรรม\\nอุโบสถหัตถี\\nอุปมาโวหาร\\nอุ้มชู\\nอุ้มสม\\nอุ้ยอ้าย\\nอู้อี้\\nเอกจิต\\nเอกฉันท์\\nเอกชน\\nเอกเทศ\\nเอกนัย\\nเอกบุคคล\\nเอกบุรุษ\\nเอกพจน์\\nเอกภพ\\nเอกภาพ\\nเอกมัย\\nเอกราช\\nเอกรูป\\nเอกลักษณ์\\nเอกศก\\nเอกสาร\\nเอกสิทธิ์\\nเอกอุ\\nเอ็ดอึง\\nเอนเอียง\\nเอมอร\\nเอออวย\\nเออออ\\nเอาการ\\nเอางาน\\nเอาจริง\\nเอาใจ\\nเอาเปรียบ\\nเอาเยี่ยง\\nเอิบอาบ\\nเอียงอาย\\nเอียงเอน\\nเอื้อเฟื้อ\\nโอ่โถง\\nโอ้โถง\\nโอ่อวด\\nโอ้อวด\\nโอ่อ่า\\nโอ้โลม\\nโอดครวญ\\nโอดโอย\\nโอนอ่อน\\nโอนเอน\\nโอบอ้อม\\nโอบอุ้ม\\nโอสถกรรม\\nไอเสีย\\nไอกรน\\nฮวบฮาบ\\nฮาป่า\\nฮึกหาญ\\nฮึกห้าว\\nฮึกเหิม\\nฮึกโหม\\nฮึกฮัก\\nเฮงซวย\\nโฮกฮือ\\nโฮกฮาก\\n\\nก็\\nกก\\nก๊ก\\nกกุธภัณฑ์\\nกง\\nก่ง\\nก้ง\\nก๊ง\\nก๋ง\\nกงกอน\\nกงไฉ่\\nกงเต๊ก\\nกงสี\\nกงสุล\\nกช\\nกฎ\\nกฏุก\\nกฐิน\\nกณิกนันต์\\nกณิการ์\\nกด\\nกตเวทิตา\\nกตเวที\\nกตัญชลี\\nกตัญญุตา\\nกตัญญู\\nกตาธิการ\\nกตาภินิหาร\\nกติกา\\nกถา\\nกถิกาจารย์\\nกทลี\\nกน\\nก่น\\nก้น\\nกนก\\nกนิษฐ์\\nกนิษฐา\\nกบ\\nกบฏ\\nกบดาน\\nกบทู\\nกบาล\\nกบินทร์\\nกบิล\\nกบี่\\nกบูร\\nกเบนทร์\\nกม\\nก้ม\\nกมณฑลาภิเษก\\nกมณฑโลทก\\nกมล\\nกมลา\\nกมลาศ\\nกมลาสน์\\nกมเลศ\\nกมัณฑลุ\\nกมุท\\nกร\\nกรกฎ\\nกรกฎาคม\\nกรกฏ\\nกรง\\nกรชกาย\\nกรณฑ์\\nกรณิการ์\\nกรณี\\nกรณีย์\\nกรณียกิจ\\nกรณียะ\\nกรด\\nกรน\\nกรบ\\nกรบูร\\nกรพินธุ์\\nกรม\\nกรรกฎ\\nกรรกศ\\nกรรเกด\\nกรรไกร\\nกรรเจียก\\nกรรชิง\\nกรรเชียง\\nกรรโชก\\nกรรฐ์\\nกรรฐา\\nกรรณ\\nกรรณา\\nกรรณิกา\\nกรรณิการ์\\nกรรดิ\\nกรรดิก\\nกรรดึก\\nกรรตุ\\nกรรไตร\\nกรรทบ\\nกรรแทก\\nกรรบิด\\nกรรบูร\\nกรรภิรมย์\\nกรรม\\nกรรม์\\nกรรม์ภิรมย์\\nกรรมชวาต\\nกรรมัชวาต\\nกรรมาชีพ\\nกรรมาธิการ\\nกรรมาร\\nกรรษก\\nกรรสะ\\nกรรแสง\\nกรวด\\nกรวบ\\nกรวม\\nกร้วม\\nกรวย\\nกรวิก\\nกรสาปน์\\nกรสุทธิ์\\nกรอ\\nกร้อ\\nกรอก\\nกร็อกกร๋อย\\nกรอกแกรก\\nกรอง\\nกรองกรอย\\nกรอด\\nกร่อน\\nกรอบ\\nกรอม\\nกร่อย\\nกระ\\nกระกร\\nกระกรุ่น\\nกระกลับกลอก\\nกระกี้\\nกระเกรอก\\nกระเกริก\\nกระเกริ่น\\nกระคน\\nกระคาย\\nกระงกกระเงิ่น\\nกระง่องกระแง่ง\\nกระง่อนกระแง่น\\nกระเง้ากระงอด\\nกระโงก\\nกระจก\\nกระจง\\nกระจร\\nกระจอก\\nกระจองหง่อง\\nกระจ๋องหง่อง\\nกระจองอแง\\nกระจ้อน\\nกระจอนหู\\nกระจ้อย\\nกระจ๋อหวอ\\nกระจะ\\nกระจัก\\nกระจัง\\nกระจัด\\nกระจับ\\nกระจ่า\\nกระจ่าง\\nกระจาด\\nกระจาน\\nกระจาบ\\nกระจาม\\nกระจาย\\nกระจาว\\nกระจิก\\nกระจิ๋ง\\nกระจิด\\nกระจิบ\\nกระจิ๋ม\\nกระจิริด\\nกระจิ๋ว\\nกระจี้\\nกระจี๋\\nกระจุก\\nกระจุ๋งกระจิ๋ง\\nกระจุบ\\nกระจุ๊บ\\nกระจุ๋มกระจิ๋ม\\nกระจุย\\nกระจู้\\nกระจู๋กระจี๋\\nกระจูด\\nกระเจอะกระเจิง\\nกระเจา\\nกระเจ่า\\nกระเจ้า\\nกระเจาะ\\nกระเจิง\\nกระเจิดกระเจิง\\nกระเจี้ยง\\nกระเจี๊ยบ\\nกระเจียว\\nกระเจี๊ยว\\nกระแจะ\\nกระโจน\\nกระโจม\\nกระฉอก\\nกระฉ่อน\\nกระฉับกระเฉง\\nกระฉิ่ง\\nกระฉีก\\nกระฉูด\\nกระเฉก\\nกระเฉด\\nกระแฉก\\nกระโฉกกระเฉก\\nกระโฉม\\nกระชดกระช้อย\\nกระชอน\\nกระชอมดอก\\nกระช้อย\\nกระชัง\\nกระชั้น\\nกระชับ\\nกระชาก\\nกระชาย\\nกระชิง\\nกระชิด\\nกระชุ\\nกระชุก\\nกระชุ่มกระชวย\\nกระเชอ\\nกระเชา\\nกระเช้า\\nกระเชียง\\nกระแชง\\nกระแชะ\\nกระโชก\\nกระซ่องกระแซ่ง\\nกระซับ\\nกระซาบ\\nกระซิก\\nกระซิบ\\nกระซี้\\nกระซุง\\nกระซุบกระซิบ\\nกระซุ้ม\\nกระซู่\\nกระเซ็น\\nกระเซอ\\nกระเซอะกระเซอ\\nกระเซอะกระเซิง\\nกระเซ้า\\nกระเซิง\\nกระแซ\\nกระแซะ\\nกระโซกระเซ\\nกระฎี\\nกระฎุมพี\\nกระดก\\nกระด้ง\\nกระดนโด่\\nกระดวง\\nกระดวน\\nกระด้วมกระเดี้ยม\\nกระดอ\\nกระดอง\\nกระดองหาย\\nกระดอน\\nกระดอม\\nกระดักกระเดี้ย\\nกระดังงัว\\nกระดังงา\\nกระดาก\\nกระด้าง\\nกระดางลาง\\nกระดาด\\nกระดาดขาว\\nกระดาน\\nกระดานพน\\nกระดาษ\\nกระดำกระด่าง\\nกระดิก\\nกระดิ่ง\\nกระดิ้ง\\nกระดิบ\\nกระดี่\\nกระดี้กระเดียม\\nกระดึง\\nกระดืบ\\nกระดุ\\nกระดุกกระดิก\\nกระดุ้งกระดิ้ง\\nกระดุบ\\nกระดุบกระดิบ\\nกระดุม\\nกระดูก\\nกระเดก\\nกระเด้ง\\nกระเด็น\\nกระเด้า\\nกระเดาะ\\nกระเดิด\\nกระเดี้ย\\nกระเดียด\\nกระเดือก\\nกระเดื่อง\\nกระแด็ก\\nกระแด้ง\\nกระแด้แร่\\nกระแด่ว\\nกระแดะ\\nกระโดก\\nกระโดง\\nกระโดด\\nกระโดน\\nกระได\\nกระตรับ\\nกระตราก\\nกระตรุด\\nกระตรุม\\nกระต้วมกระเตี้ยม\\nกระต้อ\\nกระต่องกระแต่ง\\nกระต๊อบ\\nกระต้อยตีวิด\\nกระตัก\\nกระตั้ว\\nกระต่าย\\nกระติก\\nกระติ๊ด\\nกระติบ\\nกระตือรือร้น\\nกระตุก\\nกระตุ้งกระติ้ง\\nกระตุ่น\\nกระตุ้น\\nกระตูบ\\nกระเตง\\nกระเต็น\\nกระเตอะ\\nกระเตาะ\\nกระเตาะกระแตะ\\nกระเตื้อง\\nกระแต\\nกระแตแต้แว้ด\\nกระโตกกระตาก\\nกระโตน\\nกระถด\\nกระถอบ\\nกระถั่ว\\nกระถาง\\nกระถิก\\nกระถิน\\nกระเถิบ\\nกระโถน\\nกระทก\\nกระทง\\nกระทบ\\nกระทรวง\\nกระทอก\\nกระท้อน\\nกระท่อนกระแท่น\\nกระท่อม\\nกระท้อมกระแท้ม\\nกระทะ\\nกระทั่ง\\nกระทั้น\\nกระทา\\nกระทาย\\nกระทาสี\\nกระทาหอง\\nกระทำ\\nกระทิกกระทวย\\nกระทิง\\nกระทึง\\nกระทืบ\\nกระทุ\\nกระทุง\\nกระทุ้ง\\nกระทุ่ม\\nกระทู้\\nกระเท่\\nกระเทียบ\\nกระเทียม\\nกระเทือน\\nกระเทื้อม\\nกระแทก\\nกระแท่น\\nกระแทะ\\nกระไทชาย\\nกระน่อง\\nกระนั้น\\nกระนี้\\nกระแนะกระแหน\\nกระโน้น\\nกระไน\\nกระบก\\nกระบม\\nกระบวน\\nกระบวย\\nกระบวร\\nกระบอก\\nกระบอง\\nกระบะ\\nกระบัด\\nกระบั้วกระเบี้ย\\nกระบ่า\\nกระบ้า\\nกระบาก\\nกระบาย\\nกระบาล\\nกระบิ\\nกระบิ้ง\\nกระบิด\\nกระบิล\\nกระบี่\\nกระบือ\\nกระบุง\\nกระบุ่มกระบ่าม\\nกระบู้กระบี้\\nกระบูน\\nกระบูร\\nกระเบง\\nกระเบญ\\nกระเบ็ดกระบวน\\nกระเบน\\nกระเบา\\nกระเบิก\\nกระเบียด\\nกระเบียน\\nกระเบื้อง\\nกระแบก\\nกระแบะ\\nกระโบม\\nกระปมกระปำ\\nกระปมกระเปา\\nกระปรอก\\nกระปรอกว่าว\\nกระปรี้กระเปร่า\\nกระปอก\\nกระป้อกระแป้\\nกระป่อง\\nกระป๋อง\\nกระปอดกระแปด\\nกระป๋อหลอ\\nกระปั้วกระเปี้ย\\nกระป่ำ\\nกระปุก\\nกระปุ๊กลุก\\nกระปุ่ม\\nกระปุ่มกระป่ำ\\nกระปุ่มกระปิ่ม\\nกระเป๋า\\nกระเปาะ\\nกระโปก\\nกระโปรง\\nกระผม\\nกระผลีกระผลาม\\nกระผาน\\nกระผีก\\nกระพรวน\\nกระพริ้ม\\nกระพอก\\nกระพอง\\nกระพ้อม\\nกระพัก\\nกระพัง\\nกระพังเหิร\\nกระพังโหม\\nกระพัด\\nกระพัตร\\nกระพัน\\nกระพั่น\\nกระพา\\nกระพาก\\nกระพี้\\nกระพือ\\nกระพุ้ง\\nกระพุ่ม\\nกระเพาะ\\nกระเพิง\\nกระเพื่อม\\nกระแพ้ง\\nกระฟัดกระเฟียด\\nกระฟูมกระฟาย\\nกระมล\\nกระมอบ\\nกระมอมกระแมม\\nกระมัง\\nกระมัน\\nกระมิดกระเมี้ยน\\nกระมุท\\nกระเมาะ\\nกระย่อง\\nกระย่องกระแย่ง\\nกระย่อน\\nกระย่อม\\nกระยา\\nกระยาง\\nกระยาจก\\nกระยาหงัน\\nกระยิก\\nกระยิ้มกระย่อง\\nกระยึกกระยือ\\nกระยืดกระยาด\\nกระเย้อกระแหย่ง\\nกระรอก\\nกระเรียน\\nกระโรกน้ำข้าว\\nกระโรกใหญ่\\nกระไร\\nกระลด\\nกระลบ\\nกระลอก\\nกระลอม\\nกระละหล่ำ\\nกระลัด\\nกระลับ\\nกระลัมพร\\nกระลา\\nกระลำ\\nกระลำพัก\\nกระลำพุก\\nกระลิง\\nกระลี\\nกระลุมพาง\\nกระลุมพุก\\nกระลุมพู\\nกระลูน\\nกระลู่น์\\nกระเล็น\\nกระเลียด\\nกระเลือก\\nกระโลง\\nกระวน\\nกระวัด\\nกระวาด\\nกระวาน\\nกระวาย\\nกระวิน\\nกระวี\\nกระวีกระวาด\\nกระวูดกระวาด\\nกระเวน\\nกระเวยกระวาย\\nกระแวน\\nกระโวยกระวาย\\nกระษัย\\nกระษาปณ์\\nกระสง\\nกระสบ\\nกระสม\\nกระสรวล\\nกระสร้อย\\nกระสวน\\nกระสวย\\nกระสอบ\\nกระสะ\\nกระสัง\\nกระสัน\\nกระสับกระส่าย\\nกระสา\\nกระสานติ์\\nกระสาบ\\nกระสาย\\nกระสือ\\nกระสุงกระสิง\\nกระสุน\\nกระสูทธิ์\\nกระสูบ\\nกระเสด\\nกระเส็นกระสาย\\nกระเส่า\\nกระเสาะกระแสะ\\nกระเสียน\\nกระเสียร\\nกระเสือกกระสน\\nกระแส\\nกระแสง\\nกระแสะ\\nกระโสง\\nกระไส\\nกระหนก\\nกระหนาก\\nกระหนาบ\\nกระหน่ำ\\nกระหมวด\\nกระหมอบ\\nกระหม่อม\\nกระหมั่ง\\nกระหมิบ\\nกระหมุดกระหมิด\\nกระหมุบ\\nกระหย่ง\\nกระหย่อม\\nกระหยัง\\nกระหยับ\\nกระหยิ่ม\\nกระหรอด\\nกระหริ่ง\\nกระหวน\\nกระหวัด\\nกระหอง\\nกระหัง\\nกระหัด\\nกระหาง\\nกระหาย\\nกระหึม\\nกระหึ่ม\\nกระหืดกระหอบ\\nกระเห็น\\nกระเหนียด\\nกระเหม็ดกระเหมียด\\nกระเหม็ดกระแหม่\\nกระเหม่น\\nกระเหม่า\\nกระเหว่า\\nกระเห่อ\\nกระเหิม\\nกระเหี้ยนกระหือรือ\\nกระแห\\nกระแหทอง\\nกระแหนบ\\nกระแหนะ\\nกระแหมบ\\nกระแหม่ว\\nกระแหย่ง\\nกระแหร่ม\\nกระแหล่ง\\nกระโห้\\nกระโหนด\\nกระโหม\\nกระโหย\\nกระโหย่ง\\nกระอวล\\nกระอ้อกระแอ้\\nกระออดกระแอด\\nกระออบ\\nกระออม\\nกระอ้อมกระแอ้ม\\nกระอัก\\nกระอักกระอ่วน\\nกระอั้วแทงควาย\\nกระอ้า\\nกระอาน\\nกระอิด\\nกระอิดกระเอื้อน\\nกระอึก\\nกระอืด\\nกระอุ\\nกระอุก\\nกระเอา\\nกระเอิก\\nกระเอิบ\\nกระแอก\\nกระแอบ\\nกระแอม\\nกระไอ\\nกรัก\\nกรักขี\\nกรัง\\nกรัชกาย\\nกรัณฑ์\\nกรัณย์\\nกรัน\\nกรับ\\nกรัม\\nกราก\\nกราง\\nกร่าง\\nกราด\\nกราดวง\\nกราน\\nกร้าน\\nกราบ\\nกราฟ\\nกราม\\nกราย\\nกร่าย\\nกราว\\nกร้าว\\nกรำ\\nกร่ำ\\nกริก\\nกริ๊ก\\nกริกกริว\\nกริกกรี\\nกริ่ง\\nกริ๊ง\\nกริงกริว\\nกริ้งกริ้ว\\nกริช\\nกริณี\\nกริน\\nกรินทร์\\nกรินี\\nกริบ\\nกริม\\nกริ่ม\\nกริยา\\nกริยานุเคราะห์\\nกริว\\nกริ้ว\\nกรี\\nกรีฑา\\nกรีด\\nกรี๊ด\\nกรีธา\\nกรีษ\\nกรีส\\nกรึ๊บ\\nกรุ\\nกรุง\\nกรุ้งกริ่ง\\nกรุณ\\nกรุณา\\nกรุณาธิคุณ\\nกรุ่น\\nกรุบ\\nกรุ่ม\\nกรุ้มกริ่ม\\nกรุย\\nกรุยเกรียว\\nกรู\\nกรูด\\nกรูม\\nกเรณุ\\nกเรนทร\\nกเรนทร์\\nกฤช\\nกฤดาภินิหาร\\nกฤตติกา\\nกฤษฎา\\nกฤษฎาธาร\\nกฤษฎาภินิหาร\\nกฤษฎีกา\\nกฤษณา\\nกล\\nกลด\\nกล่น\\nกลบ\\nกลม\\nกลละ\\nกลวง\\nกล้วย\\nกลศ\\nกล้อ\\nกลอก\\nกลอง\\nกล่อง\\nกล้อง\\nกล้องแกล้ง\\nกลอน\\nกล่อน\\nกล้อน\\nกล่อม\\nกล้อมแกล้ม\\nกลอย\\nกลัก\\nกลัด\\nกลั่น\\nกลั้น\\nกลันทก์\\nกลันทะ\\nกลับ\\nกลัมพร\\nกลัมพัก\\nกลัว\\nกลั้ว\\nกลา\\nกล้า\\nกลาก\\nกลากลาด\\nกลาง\\nกลาด\\nกลาบาต\\nกลาป\\nกล้าม\\nกลาย\\nกล้าย\\nกลายกลอก\\nกล่าว\\nกลาโหม\\nกล่ำ\\nกล้ำ\\nกลิ้ง\\nกลิงค์\\nกลิ่น\\nกลี\\nกลีบ\\nกลึง\\nกลึงค์\\nกลืน\\nกลุ่ม\\nกลุ้ม\\nกลูโคส\\nกเลวระ\\nกวด\\nกวน\\nกวม\\nกวย\\nกวยจั๊บ\\nกวยจี๊\\nก๋วยเตี๋ยว\\nกวัก\\nกวัด\\nกวา\\nกว่า\\nกวาง\\nกว่าง\\nกว้าง\\nกว่างโซ้ง\\nกวางตุ้ง\\nกวาด\\nกว้าน\\nกว๊าน\\nกว้าว\\nกวาวเครือ\\nกวี\\nกษณะ\\nกษมา\\nกษัตร\\nกษัตรา\\nกษัตริย์\\nกษัตรี\\nกษัตรีย์\\nกษัย\\nกษาปณ์\\nกษิดิ\\nกษีร\\nกษีรธารา\\nกษีระ\\nกสานติ์\\nกสิกร\\nกสิกรรม\\nกสิณ\\nกหังปายา\\nกหาปณะ\\nกเฬวราก\\nกอ\\nก่อ\\nก้อ\\nก๊อ\\nกอก\\nก๊อก\\nกอแก\\nกอง\\nก่อง\\nก้อง\\nกองกอย\\nก๊อซ\\nกอด\\nก่อน\\nก้อน\\nกอบ\\nกอบนาง\\nก๊อบปี้\\nกอปร\\nก้อม\\nกอมก้อ\\nก่อมก้อ\\nกอย\\nก้อย\\nก๋อย\\nกอริลลา\\nกอล์ฟ\\nกอและ\\nกอเอี๊ยะ\\nกะ\\nกะกัง\\nกะง้องกะแง้ง\\nกะจัง\\nกะแจะ\\nกะชะ\\nกะชัง\\nกะชามาศ\\nกะชิง\\nกะชึ่กกะชั่ก\\nกะแช่\\nกะซวก\\nกะซ้าหอย\\nกะซี่\\nกะโซ่\\nกะโซ้\\nกะดก\\nกะดง\\nกะดวน\\nกะดอก\\nกะดะ\\nกะดังบาย\\nกะดัด\\nกะด้าง\\nกะดำกะด่าง\\nกะดี\\nกะดี่\\nกะดุ้ง\\nกะเด้\\nกะเดก\\nกะเดี๋ยว\\nกะตรุด\\nกะตอก\\nกะต่อย\\nกะตัก\\nกะตั้ก\\nกะตัง\\nกะตังกะติ้ว\\nกะต๊าก\\nกะต้ำ\\nกะติ๊กริก\\nกะติงกะแตง\\nกะตีบ\\nกะตึงกะแตง\\nกะตุ๊ก\\nกะตุด\\nกะตูก\\nกะเตง\\nกะโต๊ก\\nกะโตงกะเตง\\nกะโต้งโห่ง\\nกะถัว\\nกะทกรก\\nกะทอ\\nกะทัง\\nกะทังหัน\\nกะทัดรัด\\nกะทันหัน\\nกะทับ\\nกะทิ\\nกะทือ\\nกะทุน\\nกะเทย\\nกะเทาะ\\nกะแท้\\nกะแท่ง\\nกะแทน\\nกะนวล\\nกะนัด\\nกะบ่อนกะแบ่น\\nกะบัง\\nกะบั้ง\\nกะบิ้ง\\nกะบิล\\nกะบึงกะบอน\\nกะบุด\\nกะเบ้อ\\nกะเบียน\\nกะเบือ\\nกะปริดกะปรอย\\nกะปริบ\\nกะปริบกะปรอย\\nกะปลกกะเปลี้ย\\nกะปวกกะเปียก\\nกะปอม\\nกะปอมขาง\\nกะปะ\\nกะป้ำกะเป๋อ\\nกะปิ\\nกะปู\\nกะปูด\\nกะปูดหลูด\\nกะเปะ\\nกะเปิ๊บกะป๊าบ\\nกะเปียด\\nกะแป้น\\nกะแปะ\\nกะโปรง\\nกะโปโล\\nกะผลุบกะโผล่\\nกะเผ่น\\nกะเผลก\\nกะโผลกกะเผลก\\nกะพง\\nกะพรวดกะพราด\\nกะพร่องกะแพร่ง\\nกะพริบ\\nกะพรุน\\nกะพรูดกะพราด\\nกะพล้อ\\nกะพ้อ\\nกะเพรา\\nกะเพียด\\nกะเม็ง\\nกะร่องกะแร่ง\\nกะระตะ\\nกะระหนะ\\nกะรัง\\nกะรัต\\nกะราง\\nกะริง\\nกะรุงกะรัง\\nกะรุ่งกะริ่ง\\nกะรุน\\nกะเร\\nกะเรกะร่อน\\nกะเร่กะร่อน\\nกะเร่อ\\nกะเรี่ยกะราด\\nกะโรกะเร\\nกะลวย\\nกะลอ\\nกะล่อกะแล่\\nกะลอจี๊\\nกะล่อน\\nกะล่อมกะแล่ม\\nกะล่อยกะหลิบ\\nกะละปังหา\\nกะละมัง\\nกะละแม\\nกะละออม\\nกะลังตังไก่\\nกะลัน\\nกะลันทา\\nกะลา\\nกะลาง\\nกะลาสี\\nกะลำพอ\\nกะลิง\\nกะลิงปลิง\\nกะลิ้มกะเหลี่ย\\nกะลิอ่อง\\nกะลุมพี\\nกะเล็ง\\nกะเล่อกะล่า\\nกะเลิด\\nกะเลียว\\nกะแล\\nกะโล่\\nกะโลง\\nกะวอกกะแวก\\nกะวะ\\nกะส้มชื่น\\nกะสัง\\nกะส้าหอย\\nกะหนอกะแหน\\nกะหน็องกะแหน็ง\\nกะหนะ\\nกะหนุงกะหนิง\\nกะหร่อง\\nกะหรอด\\nกะหร็อมกะแหร็ม\\nกะหราน\\nกะหรี่\\nกะหรี่ปั๊บ\\nกะหลาป๋า\\nกะหล่ำ\\nกะหลี่\\nกะหลีกะหลอ\\nกะหลุกกะหลิก\\nกะหำ\\nกะหำแพะ\\nกะหือ\\nกะหูด\\nกะเหรี่ยง\\nกะเหลาะเปาะ\\nกะแหยก\\nกะแหะ\\nกะโหลก\\nกะโหล้ง\\nกะไหล่\\nกะอวม\\nกะออม\\nกะอาน\\nกะอาม\\nกะอูบ\\nกัก\\nกั๊ก\\nกักกรา\\nกักการุ\\nกักขฬะ\\nกัง\\nกั้ง\\nกังก้า\\nกังเกียง\\nกังขา\\nกังฉิน\\nกังฟู\\nกังวล\\nกังวาน\\nกังสดาล\\nกังไส\\nกังหัน\\nกัจฉปะ\\nกัจฉะ\\nกัจฉา\\nกัญ\\nกัญจุก\\nกัญจุการา\\nกัญชา\\nกัญญา\\nกัฐ\\nกัณฏกะ\\nกัณฐกะ\\nกัณฐชะ\\nกัณฐัศ\\nกัณฐัศว์\\nกัณฐา\\nกัณฐี\\nกัณฑ์\\nกัณณ์\\nกัณหา\\nกัด\\nกัตติกมาส\\nกัตติกา\\nกัตติเกยา\\nกัตรา\\nกัทลี\\nกัน\\nกั่น\\nกั้น\\nกันเกรา\\nกันไกร\\nกันชิง\\nกันเชอ\\nกันดาร\\nกันดาล\\nกันได\\nกันต์\\nกันตัง\\nกันไตร\\nกันทร\\nกันทรากร\\nกันภิรมย์\\nกันเมียง\\nกันย์\\nกันยา\\nกันยายน\\nกันลง\\nกันลอง\\nกันแสง\\nกั้นหยั่น\\nกับ\\nกับแก้\\nกัป\\nกัปตัน\\nกัปปาสิก\\nกัปปิยภัณฑ์\\nกัปปิยะ\\nกัมปนาท\\nกัมประโด\\nกัมปี\\nกัมพล\\nกัมพุช\\nกัมพู\\nกัมพูชา\\nกัมโพช\\nกัมมัชวาต\\nกัมมัฏฐาน\\nกัมมันตภาพรังสี\\nกัมมันตรังสี\\nกัมมาร\\nกัมลาศ\\nกัยวิกัย\\nกัลชาญ\\nกัลบก\\nกัลป์\\nกัลปนา\\nกัลปพฤกษ์\\nกัลปังหา\\nกัลปาวสาน\\nกัลปิต\\nกัลเม็ด\\nกัลยา\\nกัลยาณมิตร\\nกัลยาณี\\nกัลออม\\nกัศยป\\nกัษณ\\nกา\\nก๋า\\nกาก\\nกากบาท\\nกากะทิง\\nกากะเยีย\\nกากี\\nกาง\\nก้าง\\nกางเกง\\nกางเขน\\nก๊าซ\\nกาซะลอง\\nกาญจนา\\nกาฐ\\nกาด\\nก๊าด\\nกาน\\nก่าน\\nก้าน\\nก๊าน\\nกานดา\\nกานต์\\nกานน\\nก้านพร้าว\\nกานพลู\\nกาน้า\\nกาบ\\nก้าบ\\nกาบู\\nกาพย์\\nกาเฟอีน\\nกาแฟ\\nกาม\\nก้าม\\nกามารมณ์\\nกามินี\\nกาเมสุมิจฉาจาร\\nกาย\\nก่าย\\nกาเยน\\nการ\\nการณ์\\nการ์ด\\nการ์ตูน\\nการบูร\\nการย์\\nการวิก\\nการเวก\\nการะเกด\\nการะบุหนิง\\nการัณย์\\nการันต์\\nการางหัวขวาน\\nการิตการก\\nการิตวาจก\\nการุญ\\nการุณย์\\nกาเรการ่อน\\nกาล\\nกาลกรรณี\\nกาลกิณี\\nกาลจักร\\nกาลัญญุตา\\nกาลัญญู\\nกาลัด\\nกาลานุกาล\\nกาลิก\\nกาลี\\nกาแล\\nกาแล็กซี\\nกาแล็กโทส\\nกาว\\nก้าว\\nกาววาว\\nกาวาง\\nกาแวน\\nกาศิก\\nกาษฐะ\\nกาษา\\nกาสร\\nกาสะ\\nกาสา\\nกาสาร\\nกาสาวะ\\nกาสิโน\\nกาหล\\nกาหลง\\nกาหลา\\nกาเหว่า\\nกาไหล่\\nกาฬ\\nกาฬาวก\\nกาฮัง\\nกำ\\nก่ำ\\nกำกวม\\nกำกัด\\nกำกับ\\nก้ำกึ่ง\\nกำกูน\\nก้ำเกิน\\nกำเกียง\\nกำคูน\\nกำจร\\nกำจัด\\nกำจาย\\nกำชับ\\nกำชำ\\nกำซาบ\\nกำซำ\\nกำด้น\\nกำดัด\\nกำดาล\\nกำเดา\\nกำธร\\nกำนล\\nกำนัน\\nกำนัล\\nกำเนิด\\nกำบัง\\nก่ำบึ้ง\\nกำเบ้อ\\nกำปอ\\nกำปั่น\\nกำผลา\\nกำพง\\nกำพด\\nกำพต\\nกำพร้า\\nกำพราก\\nกำพวด\\nกำพอง\\nกำพืด\\nกำพุด\\nกำพู\\nกำเพลิง\\nกำแพง\\nกำภู\\nกำมลาศน์\\nกำมเลศ\\nกำมะถัน\\nกำมะลอ\\nกำมะหยี่\\nกำมะหริด\\nกำมังละการ\\nกำมังวิลิต\\nกำมัชพล\\nกำยาน\\nกำยำ\\nกำรอ\\nกำราบ\\nกำราล\\nกำเริบ\\nกำไร\\nกำลัง\\nกำลุง\\nกำเลา\\nกำไล\\nกำสรด\\nกำสรวล\\nกำหนด\\nกำหนัด\\nกำเหน็จ\\nกำแหง\\nกิก\\nกิ๊ก\\nกิ่ง\\nกิ้งก่า\\nกิ้งกือ\\nกิ้งโครง\\nกิจ\\nกิจจะ\\nกิจจา\\nกิดาการ\\nกิดาหยัน\\nกิตติ\\nกิตติมศักดิ์\\nกิน\\nกินนร\\nกินปลี\\nกินเปี้ยว\\nกินริน\\nกินรี\\nกิ๊บ\\nกิมตึ๋ง\\nกิมิชาติ\\nกิมิวิทยา\\nกิโมโน\\nกิโยตีน\\nกิระ\\nกิริณี\\nกิรินท\\nกิริเนศวร\\nกิริยา\\nกิเลน\\nกิเลส\\nกิโล\\nกิโลมกะ\\nกิ่ว\\nกิ๋ว\\nกี\\nกี่\\nกี้\\nกี๊\\nกี๋\\nกีฏวิทยา\\nกีด\\nกีตาร์\\nกีบ\\nกีรติ\\nกีฬา\\nกึก\\nกึง\\nกึ่ง\\nกึ๋น\\nกุ\\nกุก\\nกุ๊ก\\nกุกกุฏ\\nกุกกุร\\nกุกรรม\\nกุ้ง\\nกุงอน\\nกุงาน\\nกุโงก\\nกุจี\\nกุญแจ\\nกุญชร\\nกุฎ\\nกุฎา\\nกุฎี\\nกุฎุมพี\\nกุฏฐัง\\nกุฏิ\\nกุณฑ์\\nกุณฑล\\nกุณฑี\\nกุณโฑ\\nกุณาล\\nกุณี\\nกุด\\nกุดัง\\nกุดั่น\\nกุดา\\nกุทัณฑ์\\nกุน\\nกุ๊น\\nกุนเชียง\\nกุนที\\nกุโนกามอ\\nกุบ\\nกุบกับ\\nกุม\\nกุ่ม\\nกุมฝอย\\nกุมภ์\\nกุมภนิยา\\nกุมภัณฑ์\\nกุมภา\\nกุมภิล\\nกุมภีล์\\nกุมเหง\\nกุมาร\\nกุมารา\\nกุมารี\\nกุมุท\\nกุย\\nกุ๊ย\\nกุ๋ย\\nกุยช่าย\\nกุยเฮง\\nกุรระ\\nกุรุพินท์\\nกุเรา\\nกุล\\nกุลา\\nกุลาหล\\nกุลี\\nกุลีกุจอ\\nกุเลา\\nกุแล\\nกุเวร\\nกุศราช\\nกุศล\\nกุศโลบาย\\nกุสุม\\nกุสุมภ์\\nกุสุมา\\nกุสุมาลย์\\nกุสุมิตลดาเวลลิตา\\nกุหนี\\nกุหนุง\\nกุหร่า\\nกุหล่า\\nกุหลาบ\\nกุแหละ\\nกู\\nกู่\\nกู้\\nกู๊ก\\nกูฏ\\nกูฏา\\nกูณฑ์\\nกูด\\nกูบ\\nกูปรี\\nกูรมะ\\nกูรมาวตาร\\nเก\\nเก้\\nเก๊\\nเก๋\\nเกก\\nเก๊ก\\nเกกมะเหรก\\nเก๊กฮวย\\nเก้กัง\\nเก็ง\\nเก่ง\\nเก้ง\\nเก๋ง\\nเกงกอย\\nเก่งกาจ\\nเกงเขง\\nเก๋งเคง\\nเก็จ\\nเกจิอาจารย์\\nเกชา\\nเกณฑ์\\nเกด\\nเก็ด\\nเกตุ\\nเกน\\nเก็บ\\nเกม\\nเกย\\nเกยูร\\nเกรง\\nเกร็ง\\nเกร็ด\\nเกรน\\nเกร่อ\\nเกรอะ\\nเกราะ\\nเกริก\\nเกริน\\nเกริ่น\\nเกรียก\\nเกรียง\\nเกรียด\\nเกรียน\\nเกรียบ\\nเกรียม\\nเกรียว\\nเกรี้ยว\\nเกเร\\nเกล็ด\\nเกลศ\\nเกลอ\\nเกลา\\nเกล้า\\nเกลาะ\\nเกลี่ย\\nเกลี้ย\\nเกลียง\\nเกลี้ยง\\nเกลียด\\nเกลียว\\nเกลือ\\nเกลื้อ\\nเกลือก\\nเกลื่อน\\nเกลื้อน\\nเกวัฏ\\nเกวียน\\nเกศ\\nเกศว\\nเกศวะ\\nเกศา\\nเกศินี\\nเกศี\\nเกษตร\\nเกษม\\nเกษียณ\\nเกษียน\\nเกษียร\\nเกส\\nเกสร\\nเกสรี\\nเกสา\\nเกสี\\nเก้อ\\nเกอิชา\\nเกะ\\nเกะกะ\\nเกา\\nเก่า\\nเก้า\\nเก๋า\\nเกาต์\\nเกาทัณฑ์\\nเกาบิล\\nเกาลัด\\nเกาลิน\\nเกาไศย\\nเกาหลี\\nเกาเหลา\\nเกาเหลียง\\nเก้าอี้\\nเกาะ\\nเกิ้ง\\nเกิด\\nเกิน\\nเกิบ\\nเกีย\\nเกียกกาย\\nเกียง\\nเกี่ยง\\nเกี๋ยง\\nเกียจ\\nเกียด\\nเกียน\\nเกี้ยมไฉ่\\nเกี้ยมอี๋\\nเกียร์\\nเกียรติ\\nเกียรติ์\\nเกี่ยว\\nเกี้ยว\\nเกี๊ยว\\nเกี๊ยะ\\nเกื้อ\\nเกือก\\nเกื้อกูล\\nเกือบ\\nแก\\nแก่\\nแก้\\nแกง\\nแก่ง\\nแก้ง\\nแก๊ง\\nแกงได\\nแกงแนง\\nแกโดลิเนียม\\nแกน\\nแก่น\\nแก๊ป\\nแกม\\nแก้ม\\nแกมมา\\nแกรก\\nแกร่ง\\nแกร็น\\nแกรนิต\\nแกรไฟต์\\nแกร่ว\\nแกระ\\nแกล\\nแกล้ง\\nแกลน\\nแกลบ\\nแกล้ม\\nแกลลอน\\nแกลเลียม\\nแกล้ว\\nแกละ\\nแกแล\\nแกว\\nแก้ว\\nแกว่ง\\nแก๊ส\\nแกะ\\nโก\\nโก่\\nโก้\\nโก๋\\nโกก\\nโกกนุท\\nโกกิลา\\nโกโก้\\nโกง\\nโก่ง\\nโกงกาง\\nโก้งเก้ง\\nโกงโก้\\nโก้งโค้ง\\nโกเชาว์\\nโกญจนาท\\nโกญจา\\nโกฏิ\\nโกฐ\\nโกฐาส\\nโกณะ\\nโกดัง\\nโกทัณฑ์\\nโกน\\nโก่น\\nโก๋น\\nโกมล\\nโกมุท\\nโกเมน\\nโกเมศ\\nโกย\\nโกรก\\nโกรกกราก\\nโกรง\\nโกร่ง\\nโกร่งกร่าง\\nโกรงเกรง\\nโกร๋งเกร๋ง\\nโกรญจ\\nโกรต๋น\\nโกรธ\\nโกรธา\\nโกร๋น\\nโกรม\\nโกรย\\nโกรศ\\nโกโรโกเต\\nโกโรโกโรก\\nโกโรโกโส\\nโกลน\\nโกลาหล\\nโกไล\\nโกวิท\\nโกศ\\nโกศล\\nโกษม\\nโกสน\\nโกสัช\\nโกสินทร์\\nโกสีย์\\nโกสุม\\nโกไสย\\nโกหก\\nใกล้\\nไก\\nไก่\\nไก๊\\nไก๋\\nไก่กอม\\nไกพัล\\nไกร\\nไกรพ\\nไกรลาส\\nไกรศร\\nไกรศรี\\nไกรสร\\nไกรสรี\\nไกรสิทธิ\\nไกล\\nไกล่\\nไกลาส\\nไกว\\nไกวัล\\nขงจื๊อ\\nขจร\\nขจรจบ\\nขจัด\\nขจ่าง\\nขจาย\\nขจาว\\nขจิต\\nขจี\\nขจุย\\nขเจา\\nขณะ\\nขด\\nขน\\nข้น\\nขนง\\nขนด\\nขนบ\\nขนม\\nขนอง\\nขนอน\\nขนอบ\\nขนัด\\nขนัน\\nขนาก\\nขนาง\\nขนาด\\nขนาน\\nขนาบ\\nขนาย\\nขนำ\\nขนิษฐ\\nขนิษฐา\\nขนุน\\nขนุนนก\\nขบ\\nขบถ\\nขบวน\\nขบวร\\nขม\\nข่ม\\nขมงโกรย\\nขมวด\\nขมวน\\nขมอง\\nขม่อม\\nขมัง\\nขมับ\\nขมา\\nขม้ำ\\nขมิ้น\\nขมิบ\\nขมีขมัน\\nขมึง\\nขมึงทึง\\nขมุ\\nขมุกขมัว\\nขมุบ\\nขโมย\\nขยด\\nขยม\\nขย่ม\\nขยอก\\nขยอง\\nขย่อน\\nขย้อน\\nขยะ\\nขยัก\\nขยัน\\nขยั้น\\nขยับ\\nขยาด\\nขยาย\\nขยำ\\nขย้ำ\\nขยิก\\nขยิบ\\nขยิ่ม\\nขยี้\\nขยุกขยิก\\nขยุกขยุย\\nขยุบ\\nขยุบขยิบ\\nขยุม\\nขยุ้ม\\nขยุย\\nขรม\\nขรรค์\\nขรัว\\nขริบ\\nขรี\\nขรึม\\nขรุขระ\\nขลบ\\nขล้อ\\nขลัง\\nขลับ\\nขลาด\\nขลาย\\nขลิบ\\nขลุก\\nขลุกขลัก\\nขลุกขลิก\\nขลุบ\\nขลุม\\nขลุ่ย\\nขลู\\nขลู่\\nขวง\\nข่วง\\nขวด\\nข่วน\\nขวนขวาย\\nขวบ\\nขวย\\nขวักไขว่\\nขวัญ\\nขวั้น\\nขวับ\\nขวับเขวียว\\nขวา\\nขวาก\\nขวาง\\nขว้าง\\nขวาด\\nขวาน\\nขวายขวน\\nขวาว\\nขว้าว\\nขวิด\\nขอ\\nข่อ\\nข้อ\\nของ\\nข้อง\\nขอด\\nขอน\\nข้อน\\nขอบ\\nขอม\\nข่อย\\nข้อย\\nข่อยหยอง\\nขะแจะ\\nขะเน็ด\\nขะมอมขะแมม\\nขะมักเขม้น\\nขะมุกขะมอม\\nขะยิก\\nขะยุก\\nขะเย้อแขย่ง\\nขัค\\nขัง\\nขังขอก\\nขัช\\nขัณฑสกร\\nขัณฑสีมา\\nขัด\\nขัดมอน\\nขัตติยมานะ\\nขัน\\nขั้น\\nขันติ\\nขันตี\\nขันโตก\\nขันที\\nขันธ์\\nขันธาวาร\\nขับ\\nขัว\\nขั้ว\\nขา\\nข่า\\nข้า\\nขาก\\nขาก๊วย\\nขาง\\nข่าง\\nข้าง\\nขาณุ\\nขาด\\nขาทนียะ\\nขาน\\nขาบ\\nข้าพเจ้า\\nขาม\\nข่าม\\nข้าม\\nขาย\\nข่าย\\nขาล\\nขาว\\nข่าว\\nข้าว\\nข้าวอังกุลี\\nขำ\\nขิก\\nขิง\\nขิงแกลง\\nขิงแครง\\nขิด\\nขิปสัทโท\\nขิม\\nขี่\\nขี้\\nขี้เข็บ\\nขีณาสพ\\nขีด\\nขี้ตังนี\\nขีปนาวุธ\\nขี้ยอก\\nขีระ\\nขึง\\nขึ้ง\\nขึ้น\\nขึ้นฉ่าย\\nขืน\\nขื่น\\nขื่อ\\nขุก\\nขุด\\nขุน\\nขุ่น\\nขุนเพ็ด\\nขุม\\nขุย\\nขู่\\nขูด\\nเข\\nเข้\\nเขก\\nเข็ง\\nเข่ง\\nเขจร\\nเข็ญ\\nเข็ด\\nเขดา\\nเขต\\nเขน\\nเข็น\\nเข่น\\nเขนง\\nเขน็ด\\nเขนย\\nเขบ็จขบวน\\nเขบ็ต\\nเขม\\nเข็ม\\nเข้ม\\nเข้มขาบ\\nเขม็ง\\nเขม็ดแขม่\\nเขม่น\\nเขม้น\\nเขม้นขะมัก\\nเขมร\\nเขมา\\nเขม่า\\nเขมือบ\\nเขย\\nเขยก\\nเขย่ง\\nเขย้อแขย่ง\\nเขย่า\\nเขยิน\\nเขยิบ\\nเขยื้อน\\nเขรอะ\\nเขลง\\nเขลอะ\\nเขละ\\nเขลา\\nเขลาะ\\nเขว\\nเขษม\\nเขฬะ\\nเขะขะ\\nเขา\\nเข่า\\nเข้า\\nเขิง\\nเขิน\\nเขิบ\\nเขี่ย\\nเขียง\\nเขียด\\nเขียดตะปาด\\nเขียน\\nเขี่ยน\\nเขียม\\nเขียว\\nเขี้ยว\\nเขียะ\\nเขือ\\nเขือง\\nเขื่อง\\nเขื่อน\\nเขือม\\nแข\\nแข้\\nแขก\\nแข็ง\\nแข่ง\\nแข้ง\\nแขน\\nแข่น\\nแข้น\\nแขนง\\nแขม\\nแขม็บ\\nแขม่ว\\nแขยง\\nแขย่ง\\nแขวก\\nแขวง\\nแขวน\\nแขวะ\\nโข\\nโขก\\nโขง\\nโข่ง\\nโขด\\nโขดง\\nโขน\\nโขนง\\nโขม\\nโขมง\\nโขมด\\nโขยก\\nโขยง\\nโขย่ง\\nโขยด\\nโขลก\\nโขลง\\nโขลน\\nโขษม\\nไข\\nไข่\\nไข้\\nไขว่\\nไขว้\\nคคนะ\\nคคนัมพร\\nคคนางค์\\nคคนานต์\\nคง\\nคงคา\\nคงไคย\\nคช\\nคชาชาติ\\nคชาชีพ\\nคชาธาร\\nคชาภรณ์\\nคณนา\\nคณบดี\\nคณะ\\nคณาจารย์\\nคณาธิการ\\nคณาธิปไตย\\nคณานับ\\nคณิกา\\nคณิต\\nคเณศ\\nคด\\nคดี\\nคติ\\nคทา\\nคน\\nค้น\\nคนทา\\nคนทิสอ\\nคนที\\nคนโท\\nคนธ์\\nคันธ์\\nคนธรรพ์\\nคเนจร\\nคบ\\nคม\\nคมน์\\nคมนาการ\\nคมนาคม\\nคมิกภัต\\nครก\\nครบ\\nครรชิต\\nครรภ\\nครรภ์\\nครรลอง\\nครรโลง\\nครรไล\\nครวญ\\nครวี\\nครหา\\nครอก\\nครอง\\nครองแครง\\nคร่อเงาะ\\nคร่อเทียน\\nครอบ\\nคร่อม\\nคระเมิม\\nคระแลง\\nคระไล\\nคระแวง\\nคระหน\\nคระหวน\\nคระหาย\\nคระโหย\\nครั่ง\\nครั้ง\\nครัดเคร่ง\\nครัน\\nครั่น\\nครั้น\\nครับ\\nครัว\\nครา\\nคร่า\\nคราก\\nคราง\\nคราญ\\nคราด\\nคร้าน\\nคราบ\\nคราม\\nคร้าม\\nครามครัน\\nคราว\\nคร่าว\\nคราส\\nครำ\\nคร่ำ\\nคร่ำเคร่ง\\nคริปทอน\\nคริสต์\\nครีบ\\nครีม\\nครีษมายัน\\nครึ\\nครึกครื้น\\nครึกโครม\\nครึ่ง\\nครึ่ด\\nครึน\\nครึ้ม\\nครืด\\nครืน\\nครื้น\\nครืนครั่น\\nครื้นครั่น\\nครื้นครึก\\nครื้นเครง\\nครือ\\nครุ\\nครุคระ\\nครุฑ\\nครุ่น\\nครุมเครือ\\nครุย\\nครุวนา\\nครู\\nครู่\\nครูด\\nคฤโฆษ\\nคฤนถ์\\nคฤหบดี\\nคฤหัสถ์\\nคฤหาสน์\\nคลวง\\nคลอ\\nคล้อ\\nคลอก\\nคลอง\\nคล่อง\\nคล้อง\\nคลอด\\nคลอน\\nคล้อย\\nคลอรีน\\nคลอโรฟอร์ม\\nคลอโรฟีลล์\\nคละ\\nคละคลุ้ง\\nคลัก\\nคลั่ก\\nคลัง\\nคลั่ง\\nคลัตช์\\nคลับคล้าย\\nคลับคลา\\nคลา\\nคล้า\\nคลางแคลง\\nคลาด\\nคลาน\\nคลาย\\nคล้าย\\nคล้ายคลึง\\nคล่าว\\nคลำ\\nคล่ำ\\nคล้ำ\\nคลิ้งโคลง\\nคลิด\\nคลินิก\\nคลี\\nคลี่\\nคลึง\\nคลื่น\\nคลุก\\nคลุ้ง\\nคลุบ\\nคลุม\\nคลุ่ม\\nคลุ้ม\\nควง\\nควณ\\nควน\\nควบ\\nควย\\nควร\\nควัก\\nควั่ก\\nควั่งคว้าง\\nควัน\\nควั่น\\nคว้า\\nควาก\\nคว้าง\\nควาญ\\nควาน\\nคว้าน\\nความ\\nควาย\\nคว่าว\\nคว่ำ\\nควินิน\\nควิวคว่าง\\nคหกรรม\\nคหกรรมศาสตร์\\nคหบดี\\nคหัฐ\\nคอ\\nค้อ\\nคอก\\nค็อกคัส\\nค็อกเทล\\nคอเคซอยด์\\nค่องอ้อย\\nคอด\\nคอแดง\\nคอน\\nค่อน\\nค้อน\\nคอนกรีต\\nคอนเดนเซอร์\\nคอนแวนต์\\nคอนเสิร์ต\\nคอม\\nค่อม\\nค้อม\\nคอมพิวเตอร์\\nคอมมานโด\\nคอมมิวนิสต์\\nคอย\\nค่อย\\nค้อย\\nคอยล์\\nคอร์ด\\nคอแลน\\nคอสติกโซดา\\nคะ\\nค่ะ\\nคะไขว่\\nคะค้อย\\nคะคาน\\nคะนน\\nคะนอง\\nคะน้า\\nคะนึง\\nคะเน\\nคะเนงร้าย\\nคะเน็ด\\nคะแนน\\nคะมำ\\nคะยั้นคะยอ\\nคะเยอ\\nคัก\\nคั่ก\\nคัคนะ\\nคัคนัมพร\\nคัคนางค์\\nคัคนานต์\\nคั่ง\\nคังไคย\\nคัจฉ\\nคัณฑมาลา\\nคัณฑสูตร\\nคัด\\nคัดเค้า\\nคัดมอน\\nคัดเม็ง\\nคัทลียา\\nคัน\\nคั่น\\nคั้น\\nคันถรจนาจารย์\\nคันธกุฎี\\nคันธมาทน์\\nคันธารราษฎร์\\nคับ\\nคับค้อน\\nคับคา\\nคับแค\\nคัพภ์\\nคัมภีร์\\nคัมภีรภาพ\\nคัล\\nคั่ว\\nคา\\nค่า\\nค้า\\nค่าคบ\\nคาง\\nค่าง\\nค้าง\\nคางคก\\nค้างคาว\\nคาด\\nคาถา\\nคาทอลิก\\nคาน\\nค้าน\\nคาบ\\nคาพยุต\\nคาม\\nคามวาสี\\nคามณีย์\\nคามภีร์\\nคาย\\nค่าย\\nคาร์บอน\\nคาร์บอเนต\\nคาร์บอลิก\\nคาร์บูเรเตอร์\\nคาร์โบรันดัม\\nคาร์โบไฮเดรต\\nคารม\\nคารวะ\\nคาราเต้\\nคาราวาน\\nคาว\\nค่าว\\nค้าว\\nคาวตอง\\nคาวี\\nคาวุต\\nคาส\\nคำ\\nค่ำ\\nค้ำ\\nคำนวณ\\nคำนวร\\nคำนับ\\nคำนัล\\nคำนึง\\nคำนูณ\\nคำฝอย\\nคำเพลิง\\nคำรน\\nคำรบ\\nคำราม\\nคำแสด\\nคำแหง\\nคำโอง\\nคิก\\nคิง\\nคิด\\nคิมหันต์\\nคิรี\\nคิลาน\\nคิลานะ\\nคิว\\nคิ้ว\\nคี่\\nคีต\\nคีบ\\nคีม\\nคีรี\\nคีรีบูน\\nคึก\\nคึ่ก\\nคึกคัก\\nคืน\\nคืบ\\nคือ\\nคุ\\nคุก\\nคุกกี้\\nคุกคาม\\nคุกพาทย์\\nคุ้ง\\nคุณ\\nคุด\\nคุดทะราด\\nคุต\\nคุตติ\\nคุ่น\\nคุ้น\\nคุป\\nคุปต์\\nคุปติ\\nคุม\\nคุ่ม\\nคุ้ม\\nคุย\\nคุ้ย\\nคุยหฐาน\\nคุยหประเทศ\\nคุรุ\\nคุลา\\nคุลิก่า\\nคุลีการ\\nคุหา\\nคู\\nคู่\\nคู้\\nคูณ\\nคูถ\\nคูน\\nคูปอง\\nคูเรียม\\nคูหา\\nเค้ก\\nเค้เก้\\nเค้ง\\nเคณฑะ\\nเคด\\nเค็ด\\nเคน\\nเค้น\\nเคเบิล\\nเค็ม\\nเคมี\\nเคย\\nเครง\\nเคร่ง\\nเครงครา\\nเครงครำ\\nเครดิต\\nเครน\\nเครา\\nเคร่า\\nเคราหณี\\nเคราะห์\\nเครียด\\nเครียว\\nเครือ\\nเครื่อง\\nเคล้ง\\nเคล็ด\\nเคล้น\\nเคล้า\\nเคล่าคล่อง\\nเคลิบเคลิ้ม\\nเคลิ้ม\\nเคลีย\\nเคลื่อน\\nเคลือบ\\nเคว้ง\\nเคหะ\\nเคหา\\nเคอะ\\nเค้า\\nเคาน์เตอร์\\nเคารพ\\nเคาะ\\nเคาะแคะ\\nเคียง\\nเคียด\\nเคียน\\nเคียม\\nเคี่ยม\\nเคียร\\nเคียว\\nเคี่ยว\\nเคี้ยว\\nเคือง\\nแค\\nแค่\\nแค้\\nแคแล\\nแคดเมียม\\nแค็ตตาล็อก\\nแคแตร\\nแคโทด\\nแคน\\nแค่น\\nแค้น\\nแคบ\\nแคบหมู\\nแคปซูล\\nแคม\\nแคร่\\nแครก\\nแครง\\nแคระ\\nแคลคูลัส\\nแคลง\\nแคลเซียม\\nแคลน\\nแคล้ว\\nแคล่วคล่อง\\nแคลอรี\\nแคลิฟอร์เนียม\\nแคว\\nแควก\\nแคว้น\\nแคแสด\\nแคะ\\nโค\\nโคก\\nโคเคน\\nโค่ง\\nโค้ง\\nโคจร\\nโคเซแคนต์\\nโคไซน์\\nโคตร\\nโคแทนเจนต์\\nโคธา\\nโคน\\nโค่น\\nโคบอลต์\\nโคปผกะ\\nโคม\\nโคม่า\\nโครก\\nโครกคราก\\nโครง\\nโคร่ง\\nโคร่งคร่าง\\nโครม\\nโครเมียม\\nโครโมโซม\\nโคราช\\nโครำ\\nโคล\\nโคลง\\nโคลน\\nโควตา\\nโคออร์ดิเนต\\nใคร\\nใคร่\\nใคร่ครวญ\\nไค\\nไค้\\nไคร้\\nไคร้เครือ\\nไคล\\nไคล้\\nฆนะ\\nฆราวาส\\nฆ้อง\\nฆ่า\\nฆาต\\nฆาน\\nฆานินทรีย์\\nเฆี่ยน\\nโฆรวิส\\nโฆษก\\nโฆษณา\\nโฆษะ\\nโฆษิต\\nงก\\nงง\\nงด\\nงดงาม\\nงบ\\nงม\\nงวง\\nง่วง\\nงวด\\nง่วน\\nง้วน\\nงวยงง\\nงอ\\nง้อ\\nงอก\\nงอกแงก\\nง่อกแง่ก\\nง่อง\\nง่องแง่ง\\nงอแง\\nงอด\\nงอดแงด\\nงอน\\nง่อน\\nง่อนแง่น\\nงอนหง่อ\\nงอบ\\nงอม\\nง้อม\\nงอย\\nง่อย\\nงัก\\nงั่ก\\nงั่ง\\nงัด\\nงัน\\nงันงก\\nงับ\\nงัว\\nงั่ว\\nงัวเงีย\\nงา\\nง่า\\nง้าง\\nงาน\\nง่าน\\nงาบ\\nงาม\\nง่าม\\nงาย\\nง่าย\\nง้าว\\nงำ\\nง่ำ\\nง้ำ\\nงิ้ว\\nงี่เง่า\\nงีบ\\nงึก\\nงึน\\nงึม\\nงุด\\nงุนงง\\nงุ่นง่าน\\nงุบ\\nงุบงิบ\\nงุ้ม\\nงุ่มง่าม\\nงุย\\nงู\\nงูบ\\nงูสวัด\\nเงก\\nเงย\\nเงอะ\\nเงอะงะ\\nเงา\\nเง่า\\nเง้า\\nเงาะ\\nเงิน\\nเงี่ยง\\nเงี่ยน\\nเงียบ\\nเงี้ยว\\nเงี่ยหู\\nเงื้อ\\nเงือก\\nเงื่อง\\nเงือด\\nเงื่อน\\nเงือบ\\nเงื้อม\\nแง\\nแง่\\nแง่ง\\nแง่น\\nแง้ม\\nแงะ\\nโง\\nโง่\\nโงก\\nโงกเงก\\nโงง\\nโง่ง\\nโง้ง\\nโงงเงง\\nโง่งเง่ง\\nโงเง\\nโงน\\nโงนเงน\\nไง้\\nจก\\nจง\\nจ่ง\\nจงกรม\\nจงกล\\nจงกลนี\\nจงโคร่ง\\nโจงโคร่ง\\nจงอร\\nจงอาง\\nจด\\nจดุรงค์\\nจตุปัจจัย\\nจตุลังคบาท\\nจตุโลกบาล\\nจตุสดมภ์\\nจตุตถ\\nจตุตถี\\nจตุร\\nจตุรงค์\\nจตุรพักตร์\\nจตุรพิธ\\nจตุรพิธพร\\nจน\\nจบ\\nจม\\nจ่ม\\nจมร\\nจมรี\\nจมูก\\nจยุติ\\nจร\\nจรณะ\\nจรด\\nจรรจา\\nจรรโจษ\\nจรรม\\nจรรยา\\nจรรโลง\\nจรลี\\nจรวจ\\nจรวด\\nจรส\\nจรอก\\nจระเข้\\nจระนำ\\nจระบี\\nจรัล\\nจรัส\\nจราจร\\nจราญ\\nจริก\\nจริง\\nจริต\\nจริม\\nจริยธรรม\\nจริยวัตร\\nจริยาวัตร\\nจริยศาสตร์\\nจริยศึกษา\\nจริยา\\nจรุง\\nจรูง\\nจรูญ\\nจเร\\nจล\\nจลนพลศาสตร์\\nจลนศาสตร์\\nจลนี\\nจลาจล\\nจวก\\nจ๊วก\\nจวง\\nจ้วง\\nจ๋วง\\nจวด\\nจวน\\nจวบ\\nจวัก\\nจอ\\nจ่อ\\nจ้อ\\nจ๋อ\\nจอก\\nจ้อก\\nจ๊อก\\nจ้อกแจ้ก\\nจอง\\nจ้อง\\nจ๋อง\\nจ้องเต\\nจองเปรียง\\nจ้องหน่อง\\nจองหอง\\nจอแจ\\nจ๋อแจ๋\\nจอด\\nจอน\\nจ้อน\\nจอนจ่อ\\nจอบ\\nจอม\\nจ่อม\\nจอมสุรางค์\\nจ่อย\\nจ้อย\\nจ๋อย\\nจอแส\\nจะ\\nจ้ะ\\nจ๊ะ\\nจ๋ะ\\nจะกละ\\nจะกลาม\\nจะกูด\\nจะขาบ\\nจะเข้\\nจะเข็บ\\nจะงอย\\nจะจะ\\nจ๊ะจ๋า\\nจะแจ้ง\\nจะแจ่ม\\nจะละเม็ด\\nจะละหวั่น\\nจัก\\nจั้ก\\nจักกาย\\nจั๊กกิ้ม\\nจักขุ\\nจักจั่น\\nจักจี้\\nจั๊กจี้\\nจั๊กเดียม\\nจักร\\nจักรพาก\\nจักรวาก\\nจักริน\\nจักรี\\nจั๊กเล้อ\\nจักษุ\\nจักแหล่น\\nจัง\\nจั้ง\\nจั๋ง\\nจังกวด\\nจังกอบ\\nจังก้า\\nจังกูด\\nจังโกฏก์\\nจังงัง\\nจั้งมั่ง\\nจังไร\\nจังหนับ\\nจังหรีด\\nจังหวะ\\nจังหวัด\\nจังหัน\\nจัญไร\\nจัณฑ์\\nจัณฑาล\\nจัด\\nจัตตาฬีสะ\\nจัตวา\\nจัตุ\\nจัตุรงค์\\nจัตุรัส\\nจัตุลังคบาท\\nจัตุโลกบาล\\nจัตุสดมภ์\\nจัน\\nจั่น\\nจันโจษ\\nจั่นดิน\\nจันท์\\nจันทน์\\nจันทร์\\nจันทรคติ\\nจันทรคราส\\nจันทรุปราคา\\nจันทรเม็ด\\nจันทวาร\\nจันทัน\\nจันอับ\\nจับ\\nจับกัง\\nจับฉ่าย\\nจับเดิม\\nจับปิ้ง\\nจับยี่กี\\nจัมบก\\nจัมปกะ\\nจัมปา\\nจัมมะ\\nจัว\\nจั่ว\\nจั๊วะ\\nจา\\nจ่า\\nจ้า\\nจ๋า\\nจาก\\nจากพาก\\nจาคะ\\nจาคี\\nจาง\\nจ่าง\\nจ้าง\\nจางปาง\\nจางวาง\\nจาด\\nจาตุรงค์\\nจาตุรนต์\\nจาตุรันต์\\nจาน\\nจ้าน\\nจาบ\\nจาบัล\\nจาบัลย์\\nจาป\\nจาม\\nจ่ามงกุฎ\\nจามจุรี\\nจามร\\nจามรี\\nจามีกร\\nจ่าย\\nจาร\\nจ่ารง\\nจารวาก\\nจาระไน\\nจาระบี\\nจาริก\\nจารึก\\nจารี\\nจารีต\\nจารุ\\nจ้าละหวั่น\\nจาว\\nจ้าว\\nจ่าหวัก\\nจำ\\nจ้ำ\\nจำกัด\\nจำงาย\\nจ้ำจี้\\nจำเจ\\nจำเดิม\\nจำทวย\\nจำนง\\nจำนน\\nจำนรรจ์\\nจำนรรจา\\nจำนวน\\nจำนอง\\nจำนัล\\nจำนำ\\nจำเนียน\\nจำเนียม\\nจำเนียร\\nจำแนก\\nจำบ่ม\\nจำบัง\\nจ้ำเบ้า\\nจำปา\\nจำปาดะ\\nจำปี\\nจำปูน\\nจำพวก\\nจำเพาะ\\nจ้ำม่ำ\\nจำรัส\\nจำราญ\\nจำรูญ\\nจำเริญ\\nจำเรียง\\nจำลอง\\nจำเลย\\nจำเลาะ\\nจำแลง\\nจำแล่น\\nจำหนับ\\nจ๋ำหนับ\\nจำหน่าย\\nจำหระ\\nจำหล่อ\\nจำหลัก\\nจำเหียง\\nจำอวด\\nจิ\\nจิก\\nจิ้งโกร่ง\\nจิ้งจก\\nจิงจ้อ\\nจิ้งจอก\\nจิงจัง\\nจิ้งจัง\\nจิงโจ้\\nจิ้งหรีด\\nจิ้งเหลน\\nจิต\\nจิตกาธาน\\nจิตต์\\nจิตร\\nจิตรจุล\\nจิตระ\\nจิตรา\\nจินเจา\\nจินดา\\nจินดาหนา\\nจินดาหรา\\nจินต์\\nจิบ\\nจิปาถะ\\nจิ่ม\\nจิ้ม\\nจิ้มก้อง\\nจิ้มลิ้ม\\nจิรกาล\\nจิ๋ว\\nจี\\nจี่\\nจี้\\nจี๋\\nจี๋จ้อ\\nจีแจ๊บ\\nจี๊ด\\nจีน\\nจีนแส\\nจีบ\\nจีโบ\\nจีม\\nจีวร\\nจึง\\nจึ่ง\\nจึ้ง\\nจืด\\nจุ\\nจุก\\nจุ๊กกรู๊\\nจุกจิก\\nจุกชี\\nจุกผาม\\nจุกโรหินี\\nจุ่ง\\nจุ๋งจิ๋ง\\nจุฑา\\nจุณ\\nจุณณียบท\\nจุด\\nจุติ\\nจุตูปปาตญาณ\\nจุทส\\nจุน\\nจุ่น\\nจุ้น\\nจุนจู๋\\nจุ้นจู๊\\nจุนทการ\\nจุนสี\\nจุบ\\nจุ๊บ\\nจุบจิบ\\nจุ๊บแจง\\nจุ่ม\\nจุ้ม\\nจุ๋มจิ๋ม\\nจุมพฏ\\nจุมพรวด\\nจุมพล\\nจุมพิต\\nจุมโพล่\\nจุ้ย\\nจุรณ\\nจูรณ\\nจุรี\\nจุไร\\nจุล\\nจุลจอมเกล้า\\nจุลวงศ์\\nจุฬา\\nจุฬาราชมนตรี\\nจุฬาลัมพา\\nจุฬาลำพา\\nจู\\nจู่\\nจู้\\nจู๋\\nจูง\\nจู้จี้\\nจู๋จี๋\\nจู๊ด\\nจูบ\\nเจ\\nเจ๊ก\\nเจ่ง\\nเจ้ง\\nเจ๊ง\\nเจ๋ง\\nเจ็ด\\nเจ็ดตะคลี\\nเจดีย์\\nเจดียสถาน\\nเจต\\nเจตนา\\nเจตพังคี\\nเจตมูลเพลิง\\nเจตสิก\\nเจโตวิมุติ\\nเจน\\nเจ็บ\\nเจรจา\\nเจริญ\\nเจริด\\nเจรียง\\nเจลียง\\nเจว็ด\\nเจษฎา\\nเจ๊สัว\\nเจอ\\nเจ่อ\\nเจ๋อ\\nเจ๋อเจ๊อะ\\nเจอร์เมเนียม\\nเจอะ\\nเจา\\nเจ่า\\nเจ้า\\nเจ๊า\\nเจาะ\\nเจิ่ง\\nเจิด\\nเจิ่น\\nเจิม\\nเจีย\\nเจียง\\nเจียด\\nเจียน\\nเจี๋ยน\\nเจี๊ยบ\\nเจียม\\nเจี๋ยมเจี้ยม\\nเจียร\\nเจียระไน\\nเจียระบาด\\nเจียว\\nเจี๊ยวจ๊าว\\nเจือ\\nเจื่อน\\nเจื้อย\\nเจือสม\\nแจ\\nแจ้\\nแจ๋\\nแจก\\nแจกัน\\nแจง\\nแจ่ง\\nแจ้ง\\nแจงลอน\\nแจ๊ด\\nแจ๊ดแจ๋\\nแจตร\\nแจ้น\\nแจบ\\nแจ่ม\\nแจรง\\nแจว\\nแจ่ว\\nแจ้ว\\nแจ๋ว\\nแจะ\\nโจก\\nโจ๊ก\\nโจง\\nโจ่งครึ่ม\\nโจ๋งครึ่ม\\nโจ่งครุ่ม\\nโจ๋งเจ๋ง\\nโจ่งแจ้ง\\nโจท\\nโจทก์\\nโจทนา\\nโจทย์\\nโจน\\nโจม\\nโจร\\nโจล\\nโจษ\\nโจษจัน\\nใจ\\nไจ\\nไจ้\\nฉก\\nฉกรรจ์\\nฉกษัตริย์\\nฉกาจ\\nฉกามาพจร\\nฉกามาวจร\\nฉง\\nฉงน\\nฉงาย\\nฉทึง\\nฉนวน\\nฉนัง\\nฉนาก\\nฉนำ\\nฉบัง\\nฉบัด\\nฉบับ\\nฉบำ\\nฉม\\nฉมบ\\nฉมวก\\nฉมวย\\nฉม่อง\\nฉมัง\\nฉมัน\\nฉมา\\nฉมำ\\nฉล\\nฉลวย\\nฉลอง\\nฉลอม\\nฉลัก\\nฉลับ\\nฉลาก\\nฉลาง\\nฉลาด\\nฉลาม\\nฉลาย\\nฉลิว\\nฉลีก\\nฉลุ\\nฉลู\\nฉวย\\nฉวะ\\nฉวัดเฉวียน\\nฉวาง\\nฉวี\\nฉศก\\nฉ้อ\\nฉอก\\nฉ่อง\\nฉอด\\nฉ่อย\\nฉอเลาะ\\nฉะ\\nฉะฉาด\\nฉะฉาน\\nฉะฉ่ำ\\nฉะฉี่\\nฉะเฉื่อย\\nฉะนั้น\\nฉะนี้\\nฉะอ้อน\\nฉักกะ\\nฉัฐ\\nฉัด\\nฉัตร\\nฉัททันต์\\nฉัน\\nฉันท\\nฉันท์\\nฉันทะ\\nฉันทา\\nฉันทาคติ\\nฉันทานุมัติ\\nฉับ\\nฉัพพรรณรังสี\\nฉัยยา\\nฉ่า\\nฉาก\\nฉาง\\nฉ่าง\\nฉ่าฉาว\\nฉาด\\nฉาดฉาน\\nฉาตกภัย\\nฉาน\\nฉาบ\\nฉาบฉวย\\nฉาย\\nฉายา\\nฉาว\\nฉ่ำ\\nฉำฉา\\nฉำแฉะ\\nฉิ่ง\\nฉิน\\nฉินท์\\nฉินทฤกษ์\\nฉิบ\\nฉิมพลี\\nฉิว\\nฉี่\\nฉีก\\nฉีด\\nฉุ\\nฉุก\\nฉุด\\nฉุน\\nฉุป\\nฉุป\\nฉุย\\nฉุยฉาย\\nฉู่\\nฉู่ฉี่\\nฉูด\\nฉูดฉาด\\nเฉ\\nเฉก\\nเฉโก\\nเฉ่ง\\nเฉด\\nเฉท\\nเฉนียน\\nเฉพาะ\\nเฉย\\nเฉลย\\nเฉลว\\nเฉลา\\nเฉลิม\\nเฉลี่ย\\nเฉลียง\\nเฉลี่ยง\\nเฉลียบ\\nเฉลียว\\nเฉวียง\\nเฉวียน\\nเฉอะแฉะ\\nเฉา\\nเฉาก๊วย\\nเฉาฮื้อ\\nเฉาะ\\nเฉิด\\nเฉิบ\\nเฉียง\\nเฉียงพร้านางแอ\\nเฉียด\\nเฉียบ\\nเฉียว\\nเฉี่ยว\\nเฉือน\\nเฉื่อย\\nแฉ\\nแฉ่\\nแฉก\\nแฉง\\nแฉ่ง\\nแฉลบ\\nแฉล้ม\\nแฉะ\\nโฉ\\nโฉ่\\nโฉเก\\nโฉ่งฉ่าง\\nโฉงเฉง\\nโฉด\\nโฉนด\\nโฉบ\\nโฉเบ๊\\nโฉม\\nโฉลก\\nไฉน\\nไฉไล\\nชก\\nชคัตตรัย\\nชง\\nชงโค\\nชงฆ์\\nชงฆา\\nชงโลง\\nชฎา\\nชฎามังษี\\nชฎามังสี\\nชฎิล\\nชด\\nชน\\nชนก\\nชนนี\\nชนม์\\nชนวน\\nชนะ\\nชนัก\\nชนา\\nชนาง\\nชนิด\\nชเนตตี\\nชบา\\nชม\\nชมดชม้อย\\nชมนาด\\nชมพู\\nชมพู่\\nชมรม\\nชม้อย\\nชม้าย\\nชไม\\nชยา\\nชโย\\nชรทึง\\nชรริน\\nชรอุ่ม\\nชระล้ำ\\nชระลุ\\nชระอาบ\\nชระเอม\\nชรัด\\nชรา\\nชล\\nชโลง\\nชโลม\\nช่วง\\nชวด\\nชวน\\nชวย\\nช่วย\\nชวร\\nชวลิต\\nชวา\\nชวาล\\nชวาลา\\nช่อ\\nชอก\\nช็อก\\nช็อกโกเลต\\nช็อกโกแลต\\nชอง\\nช่อง\\nช้อง\\nชองระอา\\nชอน\\nช่อน\\nช้อน\\nชอบ\\nชอม\\nช้อย\\nชอล์ก\\nชอ่ำ\\nชอุ่ม\\nชะ\\nชะคราม\\nชะงอก\\nชะง่อน\\nชะงัก\\nชะงัด\\nชะง้ำ\\nชะงุ้ม\\nชะเง้อ\\nชะเงื้อม\\nชะแง้\\nชะโงก\\nชะฉ่า\\nชะช่อง\\nชะชะ\\nชะช้า\\nชะโด\\nชะตา\\nชะต้า\\nชะนี\\nชะเนาะ\\nชะเนียง\\nชะพลู\\nชะเพลิง\\nชะมด\\nชะมบ\\nชะมวง\\nชะมัง\\nชะมัด\\nชะแม่\\nชะรอย\\nชะลอ\\nชะลอม\\nชะล่า\\nชะลาน\\nชะลิน\\nชะลูด\\nชะเลง\\nชะเลย\\nชะแล็ก\\nชะแลง\\nชะวาก\\nชะวาด\\nชะเวิกชะวาก\\nชะแวง\\nชะอม\\nชะอ้อน\\nชะเอม\\nชะโอน\\nชัก\\nชักคราม\\nชักช้า\\nชัง\\nชั่ง\\nชังคา\\nชังฆ\\nชัชวาล\\nชัฏ\\nชัด\\nชัดช้า\\nชัน\\nชั้น\\nชันกาด\\nชันชี\\nชันตุ\\nชันนะตุ\\nชันนุ\\nชันโรง\\nชันษา\\nชันสูตร\\nชัปนะ\\nชัพ\\nชัมพูนท\\nชัย\\nชัยพฤกษ์\\nชัยภูมิ\\nชัลลุกา\\nชั่ว\\nชั้ว\\nชัวชม\\nชา\\nช้า\\nชาคระ\\nชาคริต\\nชาคริยานุโยค\\nช่าง\\nช้าง\\nช้าช่อน\\nชาญ\\nชาด\\nชาดก\\nชาต\\nชาตบุษย์\\nชาตรี\\nชาตะ\\nชาตา\\nชาติ\\nชาน\\nชานุ\\nช้าปี่\\nชาปีไหน\\nช้าแป้น\\nช้าพลู\\nชาม\\nชามพูนท\\nชามาดร\\nชามาดา\\nชามาตุ\\nชาย\\nชายา\\nชาล\\nชาลา\\nชาลินี\\nช้าเลือด\\nชาว\\nชาวี\\nชำ\\nช่ำ\\nช้ำ\\nชำงัด\\nชำงาย\\nช่ำชอง\\nชำนะ\\nชำนัญ\\nชำนัน\\nชำนาญ\\nชำนิ\\nชำเนียร\\nชำมะนาด\\nชำมะเลียง\\nชำร่วย\\nชำระ\\nช้ำรั่ว\\nชำรุด\\nชำเรา\\nชำเราะ\\nชำแรก\\nชำแระ\\nชำเลือง\\nชำแหละ\\nชิ\\nชิง\\nชิ่ง\\nชิงชัน\\nชิงช้า\\nชิงช้าชาลี\\nชิงชี่\\nชิงฮื้อ\\nชิชะ\\nชิชิ\\nชิณณะ\\nชิด\\nชิเดนทรีย์\\nชิต\\nชิตินทรีย์\\nชิน\\nชิ้น\\nชินโต\\nชิโนรส\\nชิม\\nชิมแปนซี\\nชิยา\\nชิรณะ\\nชิระ\\nชิวหา\\nชิสา\\nชี\\nชี่\\nชี้\\nชีปะขาว\\nชีผะขาว\\nชีผ้าขาว\\nชีพ\\nชีฟอง\\nชีรณ\\nชีระ\\nชีวเคมี\\nชีวประวัติ\\nชีวภาพ\\nชีววิทยา\\nชีวะ\\nชีวัน\\nชีวา\\nชีวาตม์\\nชีวาลัย\\nชีวิต\\nชีวิตักษัย\\nชีวิน\\nชีวี\\nชืด\\nชื่น\\nชื้น\\nชื่อ\\nชุก\\nชุกชี\\nชุ้ง\\nชุณห\\nชุด\\nชุติ\\nชุน\\nชุบ\\nชุม\\nชุ่ม\\nชุมนุม\\nชุมพร\\nชุมพา\\nชุมแพรก\\nชุมรุม\\nชุมแสง\\nชุมเห็ด\\nชุ่ย\\nชุลมุน\\nชุลี\\nชุษณะ\\nชู\\nชู้\\nเช็ค\\nเช้ง\\nเช้งวับ\\nเชงเลง\\nเช็ด\\nเชน\\nเช่น\\nเชย\\nเชลง\\nเชลย\\nเชลแล็ก\\nเชลียง\\nเชวง\\nเชษฐะ\\nเชษฐา\\nเชอ\\nเช่า\\nเช้า\\nเชาว์\\nเชาวน์\\nเชิง\\nเชิญ\\nเชิด\\nเชิ้ต\\nเชียง\\nเชี่ยน\\nเชียบ\\nเชี่ยม\\nเชียร\\nเชียร์\\nเชียว\\nเชี่ยว\\nเชื่อ\\nเชื้อ\\nเชือก\\nเชื่อง\\nเชือด\\nเชือน\\nเชื่อม\\nแช\\nแช่\\nแช่ง\\nแชงมา\\nแชบ๊วย\\nแช่ม\\nแชร์\\nแชล่ม\\nแชสซี\\nแชะ\\nโชก\\nโชค\\nโชงโลง\\nโชดก\\nโชดึก\\nโชต\\nโชตก\\nโชติ\\nโชติก\\nโชน\\nโชมโรม\\nโชย\\nโชยงการ\\nโชยชาย\\nโชยติส\\nโชว์\\nใช่\\nใช้\\nไช\\nไชนะ\\nไชย\\nไชโย\\nซก\\nซ่ก\\nซงดำ\\nซ่งฮื้อ\\nซด\\nซน\\nซ้น\\nซบ\\nซม\\nซวดเซ\\nซวน\\nซวย\\nซอ\\nซอก\\nซอง\\nซ่อง\\nซ้อง\\nซองแมว\\nซ้องแมว\\nซอน\\nซ่อน\\nซ้อน\\nซอม\\nซ่อม\\nซ้อม\\nซอมซ่อ\\nซอย\\nซอส\\nซัก\\nซักส้าว\\nซัง\\nซั้ง\\nซัด\\nซับ\\nซัลฟา\\nซั้ว\\nซา\\nซ่า\\nซาก\\nซาง\\nซ่าง\\nซาด\\nซาน\\nซ่าน\\nซาบซ่าน\\nซาบซึ้ง\\nซ่าโบะ\\nซาแมเรียม\\nซ้าย\\nซาลาเปา\\nซาว\\nซ่าหริ่ม\\nซำ\\nซ้ำ\\nซิ\\nซี\\nซิก\\nซิกข์\\nซิกซี้\\nซิกแซ็ก\\nซิการ์\\nซิงโคนา\\nซิ่น\\nซินนามิก\\nซินแส\\nซิบ\\nซิป\\nซิฟิลิส\\nซิลิคอน\\nซิว\\nซี่\\nซีก\\nซีเซียม\\nซีด\\nซี้ด\\nซีนอน\\nซีป่าย\\nซีเมนต์\\nซีเรียม\\nซีลีเนียม\\nซีอิ๊ว\\nซึก\\nซึง\\nซึ่ง\\nซึ้ง\\nซึม\\nซื่อ\\nซื้อ\\nซุก\\nซุง\\nซุน\\nซุบ\\nซุป\\nซุ่ม\\nซุ้ม\\nซุ่มซ่าม\\nซุย\\nซู่\\nซูโครส\\nซูด\\nซู้ด\\nซูดซาด\\nซูบ\\nเซ\\nเซ็ก\\nเซแคนต์\\nเซ็ง\\nเซ่ง\\nเซ้ง\\nเซ็งแซ่\\nเซต\\nเซน\\nเซ็น\\nเซ่น\\nเซนติกรัม\\nเซนติเกรด\\nเซนติเมตร\\nเซนติลิตร\\nเซปักตะกร้อ\\nเซราะ\\nเซรุ่ม\\nเซลเซียส\\nเซลล์\\nเซลลูลอยด์\\nเซลลูโลส\\nเซ่อ\\nเซอร์โคเนียม\\nเซอะ\\nเซา\\nเซ้าซี้\\nเซาะ\\nเซิง\\nเซิ้ง\\nเซียน\\nเซียบ\\nเซียมซี\\nเซียว\\nเซี่ยว\\nเซี่ยวกาง\\nเซื่อง\\nแซ\\nแซ่\\nแซ็กคาริน\\nแซง\\nแซงแซว\\nแซด\\nแซบ\\nแซม\\nแซยิด\\nแซ่ว\\nแซะ\\nโซ\\nโซ่\\nโซก\\nโซ่ง\\nโซงโขดง\\nโซเซ\\nโซดา\\nโซเดียม\\nโซม\\nโซรม\\nโซลา\\nไซ\\nไซ้\\nไซเกิล\\nไซโคลน\\nไซน์\\nไซยาไนด์\\nไซร้\\nไซเรน\\nไซโล\\nฌาน\\nฌาปน\\nฌาปนกิจ\\nฌาปนสถาน\\nเฌอ\\nเฌอเอม\\nญวน\\nญัตติ\\nญาณ\\nญาติ\\nญานาซะฮ์\\nญิบ\\nญี่ปุ่น\\nเญยธรรม\\nไญยธรรม\\nฎีกา\\nฐกัด\\nฐากูร\\nฐาน\\nฐานะ\\nฐานันดร\\nฐานานุกรม\\nฐานานุรูป\\nฐานานุศักดิ์\\nฐานียะ\\nฐาปน\\nฐาปนา\\nฐายี\\nฐิต\\nฐิติ\\nฑาหก\\nฑาหะ\\nเฒ่า\\nณรงค์\\nเณร\\nดก\\nดง\\nด้ง\\nด้น\\nดนโด่\\nดนตรี\\nดนัย\\nดนุ\\nดนู\\nดบัสวิน\\nดบัสวี\\nดม\\nดรงค์\\nดรณี\\nดรรชนี\\nดราฟต์\\nดรุณ\\nดรุณี\\nดล\\nดวง\\nด้วง\\nดวด\\nด่วน\\nด้วน\\nด้วย\\nดอก\\nดอง\\nด่อง\\nด้อง\\nดองฉาย\\nดองดึง\\nดอด\\nดอน\\nด่อน\\nดอม\\nด้อม\\nดอย\\nด้อย\\nดอลลาร์\\nดะ\\nดะโต๊ะ\\nดะหมัง\\nดัก\\nดักดาน\\nดักแด้\\nดัง\\nดั่ง\\nดั้ง\\nดัชนี\\nดัด\\nดัตช์\\nดัน\\nดั้น\\nดับ\\nดัมพ์\\nดั้วเดี้ย\\nดัสกร\\nดา\\nด่า\\nดาก\\nด่าง\\nด้าง\\nดาด\\nดาน\\nด่าน\\nด้าน\\nดาบ\\nดาบส\\nดาม\\nด้าม\\nด้ามจิ้ว\\nดามพ์\\nดาย\\nด้าย\\nดารกะ\\nดารณี\\nดารดาษ\\nดาระ\\nดารา\\nดาล\\nดาลัด\\nดาว\\nด่าว\\nด้าว\\nดาวดึงส์\\nดาวบส\\nดาษ\\nดาษดา\\nดำ\\nด่ำ\\nด้ำ\\nดำกล\\nดำเกิง\\nดำแคง\\nดำดง\\nดำนาณ\\nดำเนิน\\nดำบล\\nดำรง\\nดำรวจ\\nดำรัส\\nดำริ\\nดำรี\\nดำรู\\nดำฤษณา\\nดำเลิง\\nดิก\\nดิ่ง\\nดิฉัน\\nดิฐ\\nดิตถ์\\nดิถี\\nดิน\\nดิ้น\\nดิบ\\nดิรัจฉาน\\nดิลก\\nดิ่ว\\nดิ้ว\\nดิ้วเดี้ยว\\nดิษฐ์\\nดิสโพรเซียม\\nดี\\nดีเซล\\nดีด\\nดีดีที\\nดีบุก\\nดีปลี\\nดีเปรสชัน\\nดีหมี\\nดีหลี\\nดึก\\nดึง\\nดึ่ง\\nดึ่ม\\nดื่น\\nดื่ม\\nดือ\\nดื้อ\\nดุ\\nดุก\\nดุกดิก\\nดุกทะเล\\nดุ้ง\\nดุ้งดิ้ง\\nดุจ\\nดุด\\nดุน\\nดุ้น\\nดุบ\\nดุม\\nดุ่ม\\nดุ่ย\\nดุรงค์\\nดุริยะ\\nดุริยางค์\\nดุริยางคศาสตร์\\nดุริยางคศิลป์\\nดุล\\nดุษฎี\\nดุษณี\\nดุษณีภาพ\\nดุษิต\\nดุสิต\\nดุเหว่า\\nดู\\nดูกค่าง\\nดูกร\\nดูด\\nดูรา\\nดูแล\\nเด\\nเด่\\nเดก\\nเด็ก\\nเดกซ์โทรส\\nเดคากรัม\\nเดคาเมตร\\nเดคาลิตร\\nเด้ง\\nเด็จ\\nเดช\\nเดชน์\\nเดชนะ\\nเดชะ\\nเดโช\\nเดซิกรัม\\nเดซิเมตร\\nเดซิลิตร\\nเด็ด\\nเดน\\nเด่น\\nเดนมาร์ก\\nเดรัจฉาน\\nเด๋อ\\nเด๋อด๋า\\nเดา\\nเด้า\\nเดาะ\\nเดิน\\nเดิ่น\\nเดิม\\nเดียง\\nเดียด\\nเดียรดาษ\\nเดียรถีย์\\nเดียรัจฉาน\\nเดียว\\nเดี่ยว\\nเดี๋ยว\\nเดียะ\\nเดื่อ\\nเดือก\\nเดื่อง\\nเดือด\\nเดือน\\nเดือย\\nแด\\nแด่\\nแดก\\nแด็ก\\nแดกงา\\nแดกแด้\\nแดง\\nแดด\\nแดน\\nแด่น\\nแด่ว\\nแดะ\\nแดะแด๋\\nโด\\nโด่\\nโดกเดก\\nโด่ง\\nโดด\\nโดน\\nโดม\\nโดมร\\nโดย\\nโดรณ\\nใด\\nได\\nได้\\nไดแซ็กคาไรด์\\nไดนาโม\\nไดนาไมต์\\nไดโนเสาร์\\nไดเรกตริกซ์\\nตก\\nต๊กโต\\nตง\\nต๋ง\\nตงฉิน\\nตงิด\\nตงุ่น\\nตด\\nตติย\\nตถาคต\\nตน\\nต้น\\nตนัย\\nตนุ\\nตบ\\nตบะ\\nตปนียะ\\nตม\\nต้ม\\nตมูก\\nตยาคี\\nตรง\\nตรณี\\nตรม\\nตรรก\\nตรรกะ\\nตรลบ\\nตรลอด\\nตรลาด\\nตรวจ\\nตรวน\\nตรอก\\nตรอง\\nตรอมใจ\\nตรอมตรม\\nตระ\\nตระกล\\nตระกวน\\nตระกอง\\nตระการ\\nตระกูล\\nตระคัร\\nตระเตรียม\\nตระนาว\\nตระบก\\nตระบอก\\nตระบอง\\nตระบัด\\nตระบัน\\nตระเบ็ง\\nตระแบก\\nตระแบง\\nตระโบม\\nตระพอง\\nตระพัง\\nตระลาการ\\nตระวัน\\nตระเว็ด\\nตระเวน\\nตระสัก\\nตระหง่าน\\nตระหนก\\nตระหนัก\\nตระหน่ำ\\nตระหนี่\\nตรัง\\nตรังค์\\nตรับ\\nตรับฟัง\\nตรัย\\nตรัยตรึงศ์\\nตรัส\\nตรัสสา\\nตรา\\nตรากตรำ\\nตราชู\\nตราบ\\nตราสัง\\nตรำ\\nตริ\\nตริว\\nตรี\\nตรีปวาย\\nตรีพิธพรรณ\\nตรียัมปวาย\\nตรึก\\nตรึง\\nตรุ\\nตรุณ\\nตรุณะ\\nตรุษ\\nตรู\\nตรู่\\nตฤณ\\nตฤตีย\\nตฤษณา\\nตลก\\nตลบ\\nตลอด\\nตลับ\\nตลาด\\nตลิ่ง\\nตลึง\\nตวง\\nต่วน\\nต้วมเตี้ยม\\nตวัก\\nตวัด\\nตวาด\\nตอ\\nตอม่อ\\nต่อ\\nต้อ\\nตอก\\nต๊อก\\nต๊อกต๋อย\\nตอง\\nต้อง\\nตองกราย\\nต้องเต\\nตองแตก\\nต่องแต่ง\\nตองเหลือง\\nตอด\\nตอน\\nต้อน\\nตอบ\\nตอเบา\\nตอม\\nต่อม\\nต๋อม\\nต่อย\\nต้อย\\nต้อยตริ่ง\\nต้อยติ่ง\\nต้อยตีวิด\\nตอแย\\nตอร์ปิโด\\nต่อไส้\\nตอแหล\\nตะ\\nตะกรน\\nตะกร้อ\\nตะกรัน\\nตะกรับ\\nตะกร้า\\nตะกราม\\nตะกรุด\\nตะกรุม\\nตะกรุมตะกราม\\nตะกละ\\nตะกลาม\\nตะกวด\\nตะกอ\\nตะกอน\\nตะกัง\\nตะกั่ว\\nตะกาง\\nตะกาด\\nตะกาย\\nตะกาว\\nตะกุกตะกัก\\nตะกุย\\nตะกู\\nตะกูด\\nตะเกียกตะกาย\\nตะเกียง\\nตะเกียบ\\nตะแก\\nตะแก่\\nตะแกรง\\nตะโก\\nตะโก้\\nตะโกก\\nตะโกน\\nตะโกรง\\nตะโกรม\\nตะไกร\\nตะขบ\\nตะขอ\\nตะขาบ\\nตะขิดตะขวง\\nตะเข้\\nตะเข็บ\\nตะโขง\\nตะคร้อ\\nตะครอง\\nตะครั่นตะครอ\\nตะคร้ำ\\nตะคริว\\nตะคิว\\nตะครุบ\\nตะคอก\\nตะคัน\\nตะค้า\\nตะคาก\\nตะค้าน\\nตะคุ่ม\\nตะเครียว\\nตะเคียว\\nตะเคียน\\nตะแคง\\nตะไคร่\\nตะไคร้\\nตะเฆ่\\nตะนอย\\nตะนาว\\nตะบม\\nตะบอง\\nตะบอย\\nตะบัน\\nตะบิ้ง\\nตะบิด\\nตะบิดตะบอย\\nตะบี้ตะบัน\\nตะบึง\\nตะบูน\\nตะเบ็ง\\nตะเบ็งมาน\\nตะเบ๊ะ\\nตะแบก\\nตะแบง\\nตะโบม\\nตะไบ\\nตะปบ\\nตะปลิง\\nตะปิ้ง\\nตะปุ่มตะป่ำ\\nตะปู\\nตะพง\\nตะพด\\nตะพอง\\nตะพัก\\nตะพัง\\nตะพัด\\nตะพั้น\\nตะพาก\\nตะพาน\\nตะพาบ\\nตะพาย\\nตะพึด\\nตะพึดตะพือ\\nตะพุ่น\\nตะเพรา\\nตะเพิง\\nตะเพิด\\nตะเพียน\\nตะโพก\\nตะโพง\\nตะโพน\\nตะเภา\\nตะใภ้\\nตะม่อ\\nตะมอย\\nตะรังกะนู\\nตะรังตังกวาง\\nตะรังตังช้าง\\nตะราง\\nตะลอง\\nตะลอน\\nตะล่อม\\nตะละ\\nตะลาน\\nตะลิงปลิง\\nตะลิบ\\nตะลีตะลาน\\nตะลึง\\nตะลึงพรึงเพริด\\nตะลุง\\nตะลุ่ม\\nตะลุ่มนก\\nตะลุมบอน\\nตะลุ่มโปง\\nตะลุมพอ\\nตะลุมพุก\\nตะลุย\\nตะเลง\\nตะแลงแกง\\nตะไล\\nตะวัน\\nตะเวน\\nตะหลิว\\nตะหลุก\\nตะหลุง\\nตะแหง่ว\\nตะแหมะแขะ\\nตะโหงก\\nตัก\\nตักกะ\\nตักเตือน\\nตั๊กแตน\\nตักษัย\\nตัง\\nตั่ง\\nตั้ง\\nตังเก\\nตังฉ่าย\\nตังเม\\nตังวาย\\nตังโอ๋\\nตัจฉก\\nตัจฉนี\\nตัณฑุล\\nตัณหา\\nตัด\\nตัน\\nตันตระ\\nตันติ\\nตันหยง\\nตับ\\nตับปิ้ง\\nตัว\\nตั๋ว\\nตัวจี๊ด\\nตัวตืด\\nตั้วโผ\\nตั้วเหี่ย\\nตา\\nตาก\\nตากวาง\\nต่าง\\nตาด\\nตาน\\nต่าน\\nต้าน\\nตานนกกด\\nตานี\\nตาบ\\nตาม\\nตามะแน\\nตามิน\\nตาย\\nตาราไต\\nตาล\\nตาลุ\\nต๋าว\\nตาเสือ\\nตาหนู\\nตาฬ\\nตำ\\nต่ำ\\nตำนาน\\nตำบล\\nตำแบ\\nตำแย\\nตำรวจ\\nตำรับ\\nตำรา\\nตำรุ\\nตำลึง\\nตำเสา\\nตำหนัก\\nตำหนิ\\nตำแหน่ง\\nติ\\nติก\\nติ๊ก\\nติกะ\\nติกาหรัง\\nติง\\nติ่ง\\nติ๋ง\\nติ่งตั่ง\\nติ๋งต่าง\\nติงส\\nติงสติ\\nติณ\\nติด\\nติตติกะ\\nติตติร\\nติตถ\\nติตถะ\\nติถี\\nติมิงคละ\\nติรัจฉาน\\nติลก\\nติละ\\nติ้ว\\nตี\\nตี่\\nตีน\\nตีบ\\nตีรถะ\\nตีระ\\nตึ\\nตึก\\nตึ้ก\\nตึ้กตั้ก\\nตึง\\nตึดตื๋อ\\nตึ๊ดตื๋อ\\nตืด\\nตื่น\\nตื้น\\nตื้อ\\nตื๊อ\\nตื๋อ\\nตุ\\nตุ๊\\nตุ๊กแก\\nตุ๊กตา\\nตุ๊กต่ำ\\nตุกติก\\nตุ๊กติ๊ก\\nตุ๊กตุ่น\\nตุ๊กตุ๋ย\\nตุง\\nตุ้งก่า\\nตุ้งติ้ง\\nตุ๊ดตู่\\nตุน\\nตุ่น\\nตุ๋น\\nตุนาหงัน\\nตุบ\\nตุ้บ\\nตุ๊บป่อง\\nตุปัดตุป่อง\\nตุปัดตุเป๋\\nตุ่ม\\nตุ้ม\\nตุ๋ม\\nตุ้มกว้าว\\nตุมกา\\nตุ้มแซะ\\nตุมตัง\\nตุ้มเต๋น\\nตุ้มปี่\\nตุมพะ\\nตุ่ย\\nตุ้ย\\nตุ๊ย\\nตุ๋ยตุ่ย\\nตุรคะ\\nตุรงค์\\nตุล\\nตุลา\\nตุหรัดตุเหร่\\nตู\\nตู่\\nตู้\\nตูก\\nตูด\\nตูบ\\nตูม\\nเต๊ก\\nเต็ง\\nเต่ง\\nเตช\\nเตโช\\nเต้น\\nเต็นท์\\nเต็ม\\nเตย\\nเตร่\\nเตร็ด\\nเตรตา\\nเตรียม\\nเตรียมตรม\\nเตละ\\nเตลิด\\nเตว็ด\\nเต่อ\\nเตอะ\\nเตะ\\nเตา\\nเต่า\\nเต้า\\nเต๋า\\nเต่าเกียด\\nเต้าเจี้ยว\\nเต้าทึง\\nเต้าหู้\\nเต้าฮวย\\nเต๊าะ\\nเตาะแตะ\\nเติ่ง\\nเติบ\\nเติม\\nเตี้ย\\nเตียง\\nเตียน\\nเตียบ\\nเตี๋ยม\\nเตียรถ์\\nเตียว\\nเตี่ยว\\nเตือน\\nแต่\\nแต้\\nแตก\\nแตง\\nแต่ง\\nแตงเม\\nแต้จิ๋ว\\nแตด\\nแต๊ดแต๋\\nแตน\\nแต้ม\\nแตร\\nแตระ\\nแต้ว\\nแต้วแร้ว\\nแต้วแล้ว\\nแต่ว่า\\nแต้แว้ด\\nแตะ\\nโต\\nโต้\\nโตก\\nโต่ง\\nโต้ง\\nโตงเตง\\nโตฎก\\nโต๊ด\\nโตน\\nโตนด\\nโต้โผ\\nโตมร\\nโตย\\nโตรก\\nโต๊ะ\\nใต้\\nไต\\nไต่\\nไต้\\nไต๋\\nไตร\\nไตรกิศยา\\nไตรดายุค\\nไตร่ตรอง\\nไตรย\\nไต้หวัน\\nถก\\nถกล\\nถงาด\\nถด\\nถนน\\nถนอม\\nถนัด\\nถนัน\\nถนำ\\nถนิม\\nถม\\nถ่ม\\nถมอ\\nถมึงทึง\\nถลก\\nถลกบาตร\\nถลน\\nถล่ม\\nถลอก\\nถลัน\\nถลา\\nถลาก\\nถลาย\\nถลำ\\nถลึงตา\\nถลุง\\nถ่วง\\nถ้วน\\nถ้วย\\nถวัล\\nถวัลย์\\nถวาย\\nถวิน\\nถวิล\\nถ่อ\\nถ้อ\\nถอก\\nถอง\\nถ่อง\\nถ้อง\\nถอด\\nถอน\\nถอบ\\nถอบแถบ\\nถ่อม\\nถอย\\nถ่อย\\nถ้อย\\nถะ\\nถะถั่น\\nถะมัดถะแมง\\nถัก\\nถัง\\nถั่ง\\nถัด\\nถัทธ\\nถัน\\nถั่น\\nถับ\\nถัมภ์\\nถัว\\nถั่ว\\nถา\\nถ้า\\nถาก\\nถาง\\nถ่าง\\nถาด\\nถาน\\nถ่าน\\nถาบ\\nถาม\\nถามะ\\nถ่าย\\nถ่าว\\nถาวร\\nถาวรธิรา\\nถ้ำ\\nถิ่น\\nถี่\\nถีบ\\nถึก\\nถึง\\nถือ\\nถุง\\nถุน\\nถุย\\nถู\\nถูก\\nเถกิง\\nเถน\\nเถร\\nเถระ\\nเถรานุเถระ\\nเถรี\\nเถลไถล\\nเถลิง\\nเถลือกถลน\\nเถ่อ\\nเถอะ\\nเถา\\nเถ้า\\nเถาวัลย์\\nเถาะ\\nเถิก\\nเถิง\\nเถิด\\nเถิดเทิง\\nเถิน\\nเถียง\\nเถียร\\nเถือ\\nเถือก\\nเถื่อน\\nแถ\\nแถก\\nแถง\\nแถน\\nแถบ\\nแถม\\nแถลง\\nแถลบ\\nแถว\\nโถ\\nโถง\\nโถงเถง\\nโถบ\\nโถม\\nโถมนาการ\\nไถ\\nไถ่\\nไถ้\\nไถง\\nไถล\\nทกล้า\\nทแกล้ว\\nท่ง\\nทด\\nทน\\nท้น\\nทนต์\\nทนโท่\\nทนาย\\nทบ\\nทบวง\\nทมอ\\nทมะ\\nทมิฬ\\nทโมน\\nทยอย\\nทแยง\\nทรกรรม\\nทรชน\\nทรชาติ\\nทรพิษ\\nทรยศ\\nทรราช\\nทรลักษณ์\\nทรง\\nทรพี\\nทรมาทรกรรม\\nทรมาน\\nทรรทึง\\nทรรป\\nทรรปณ์\\nทรรปณะ\\nทรรศนะ\\nทรรศนาการ\\nทรรศนีย์\\nทรวง\\nทรวดทรง\\nทรวาร\\nทรหด\\nทรหวล\\nทรหึง\\nทรอมโบน\\nทระนง\\nทรัพย์\\nทรัพยากร\\nทรัมเป็ต\\nทรานซิสเตอร์\\nทราบ\\nทราม\\nทราย\\nทรุด\\nทฤษฎี\\nทลาย\\nทลิท\\nทลิททก\\nทวง\\nท้วง\\nท่วงท่า\\nท่วงทำนอง\\nท่วงที\\nทวด\\nทวน\\nท้วน\\nท่วม\\nท้วม\\nทวย\\nท่วย\\nท้วย\\nทวอย\\nทวัตดึงส์\\nทวัย\\nทวา\\nทวาบร\\nทว่า\\nทวาย\\nทวาร\\nทวิ\\nทวิช\\nทวิตีย์\\nทวิตียา\\nทวี\\nทวีธาภิเษก\\nทวีป\\nทศ\\nทศมี\\nทศางค์\\nทหระ\\nทหาร\\nทอ\\nท่อ\\nท้อ\\nทอก\\nทอง\\nท่อง\\nท้อง\\nทองกวาว\\nทองภู\\nทองลิน\\nทองหลาง\\nทองโหลง\\nทองอุไร\\nทอด\\nทอน\\nท่อน\\nทอนซิล\\nทอฟฟี่\\nท่อม\\nทอย\\nทอเรียม\\nทะ\\nทะงัน\\nทะนง\\nทะนน\\nทะนาน\\nทะนุ\\nทะเบียน\\nทะมัดทะแมง\\nทะมึน\\nทะมื่น\\nทะแม่ง\\nทะยาน\\nทะเยอทะยาน\\nทะแย\\nทะร่อทะแร่\\nทะลวง\\nทะลอก\\nทะลัก\\nทะลาย\\nทะลึ่ง\\nทะลุ\\nทะลุดทะลาด\\nทะเล\\nทะเล้น\\nทะเล่อทะล่า\\nทะเลาะ\\nทะเลิ่กทะลั่ก\\nทะวาย\\nทัก\\nทักข์\\nทักขิญ\\nทักขิณ\\nทักขิณา\\nทักขิณาวัฏ\\nทักขิโณทก\\nทักขิไณยบุคคล\\nทักทิน\\nทักษะ\\nทักษา\\nทักษิณ\\nทักษิณา\\nทักษิโณทก\\nทัง\\nทั่ง\\nทั้ง\\nทังวล\\nทังวี้ทังวล\\nทังสเตน\\nทัณฑ์\\nทัณฑกรรม\\nทัณฑฆาต\\nทัณฑสถาน\\nทัณฑะ\\nทัณฑิกา\\nทัณฑิมา\\nทัณฑีบท\\nทัด\\nทัดทา\\nทัต\\nทัน\\nทันต์\\nทันตชะ\\nทันตแพทย์\\nทันติน\\nทันตี\\nทันธ์\\nทับ\\nทับทิม\\nทับสมิงคลา\\nทัพ\\nทัพพะ\\nทัพพี\\nทั่ว\\nทัศ\\nทัศน์\\nทัศนะ\\nทัศนา\\nทัศนคติ\\nทัศนวิสัย\\nทัศนศาสตร์\\nทัศนศิลป์\\nทัศนศึกษา\\nทัศนาการ\\nทัศนาจร\\nทัศนีย์\\nทัศนียภาพ\\nทัศนูปกรณ์\\nทัศไนย\\nทัสนานุตริยะ\\nทัฬหะ\\nทัฬหิ\\nทัฬหี\\nทา\\nท่า\\nท้า\\nทาก\\nทาง\\nท้าง\\nทาฐะ\\nทาฐิกะ\\nทาฒะ\\nทาฒิกะ\\nทาน\\nท่าน\\nทานต์\\nทานพ\\nทาบ\\nทาม\\nท่ามกลาง\\nทาย\\nท้าย\\nทายก\\nทายัช\\nทายาด\\nทายาท\\nทายิกา\\nทารก\\nทารพี\\nทาริกา\\nทารุณ\\nทาว\\nท่าว\\nท้าว\\nทาส\\nทาสี\\nทำ\\nทำนบ\\nทำนอง\\nทำนาย\\nทำนุ\\nทำนูล\\nทำเนา\\nทำเนียบ\\nทำไม\\nทำลาย\\nทำเล\\nทิคัมพร\\nทิฆัมพร\\nทิ้ง\\nทิงเจอร์\\nทิ้งถ่อน\\nทิ้งทูด\\nทิชะ\\nทิชากร\\nทิชาชาติ\\nทิฏฐะ\\nทิฏฐานุคติ\\nทิฏฐุชุกรรม\\nทิฐธรรม\\nทิฐิ\\nทิด\\nทิต\\nทิน\\nทิพ\\nทิพย์\\nทิพา\\nทิม\\nทิ่ม\\nทิมทอง\\nทิว\\nทิวงคต\\nทิวทัศน์\\nทิวา\\nทิศ\\nทิศา\\nทิศานุทิศ\\nที\\nที่\\nทีฆชาติ\\nทีฆนิกาย\\nทีฆสระ\\nทีฆายุ\\nทีป\\nทีม\\nทีเอ็นที\\nทึก\\nทึกทัก\\nทึ่ง\\nทึ้ง\\nทึดทือ\\nทึนทึก\\nทึบ\\nทึม\\nทึ่ม\\nทื่อ\\nทุ\\nทุก\\nทุกข์\\nทุกขลาภ\\nทุกขเวทนา\\nทุกขารมณ์\\nทุกฏ\\nทุกรกิริยา\\nทุกะ\\nทุกัง\\nทุกูล\\nทุคตะ\\nทุคติ\\nทุ่ง\\nทุ้ง\\nทุงงะ\\nทุจริต\\nทุด\\nทุทรรศนนิยม\\nทุนิยม\\nทุน\\nทุ่น\\nทุนนิมิต\\nทุบ\\nทุบทู\\nทุปปัญญา\\nทุพพรรณ\\nทุพพล\\nทุพพลภาพ\\nทุพภิกขภัย\\nทุม\\nทุ่ม\\nทุ้ม\\nทุย\\nทุ้ย\\nทุรกันดาร\\nทุรชน\\nทุรชาติ\\nทุรพล\\nทุรลักษณ์\\nทุรน\\nทุรนทุราย\\nทุรัศ\\nทุราคม\\nทุราจาร\\nทุเรศ\\nทุเรียน\\nทุลักทุเล\\nทุเลา\\nทุศีล\\nทุสสะ\\nทุสสีล\\nทู\\nทูโม่ง\\nทู่\\nทู้\\nทูกัง\\nทู่ซี้\\nทูต\\nทูตานุทูต\\nทูน\\nทูบ\\nทูม\\nทูล\\nทูเลียม\\nเท\\nเท่\\nเทคนิค\\nเทคนีเชียม\\nเทคโนโลยี\\nเท้ง\\nเท้งเต้ง\\nเท็จ\\nเทนนิส\\nเทพ\\nเทพา\\nเทพารักษ์\\nเทพยเจ้า\\nเทพยดา\\nเทพยุดา\\nเทพิน\\nเทพินทร์\\nเทพี\\nเทเพนทร์\\nเทโพ\\nเทริด\\nเทลลูเรียม\\nเทวทัณฑ์\\nเทวดา\\nเทวทูต\\nเทวธรรม\\nเทวนาครี\\nเทวนิยม\\nเทวรูป\\nเทวโลก\\nเทววิทยา\\nเทวสถาน\\nเทวศ\\nเทวษ\\nเทวัญ\\nเทวัน\\nเทวาลัย\\nเทวินทร์\\nเทวี\\nเทเวศ\\nเทเวศร์\\nเทเวศวร์\\nเทศ\\nเทศะ\\nเทศาภิบาล\\nเทศน์\\nเทศนา\\nเทห์\\nเท่ห์\\nเทห์ฟากฟ้า\\nเทหวัตถุ\\nเท่อ\\nเท้อ\\nเทอญ\\nเทอม\\nเทอร์เบียม\\nเทอร์โมมิเตอร์\\nเทอะทะ\\nเทา\\nเท่า\\nเท้า\\nเท้ายายม่อม\\nเท่ารึง\\nเทิ่ง\\nเทิด\\nเทิน\\nเทิบ\\nเทิบทาบ\\nเทิ้ม\\nเที่ยง\\nเทียด\\nเทียน\\nเที้ยน\\nเทียบ\\nเทียม\\nเทียร\\nเที้ยร\\nเทียว\\nเที่ยว\\nเทือ\\nเทื่อ\\nเทื้อ\\nเทือก\\nแท้\\nแท็กซี่\\nแทง\\nแท่ง\\nแท้ง\\nแท็งก์\\nแทงทวย\\nแทงวิสัย\\nแทตย์\\nแทน\\nแท่น\\nแทนเจนต์\\nแทนทาลัม\\nแทบ\\nแทรก\\nแทรกเตอร์\\nแทลเลียม\\nแทะ\\nโท\\nโท่\\nโทกเทก\\nโทง\\nโทงเทง\\nโทณะ\\nโทน\\nโทนโท่\\nโทมนัส\\nโทรคมนาคม\\nโทรทรรศน์\\nโทรทัศน์\\nโทรพิมพ์\\nโทรภาพ\\nโทรเลข\\nโทรศัพท์\\nโทรสาร\\nโทรม\\nโทษ\\nโทษา\\nโทษานุโทษ\\nโทสะ\\nโทสาคติ\\nโทโส\\nโทหฬินี\\nไท\\nไท้\\nไทเทเนียม\\nไทเทรต\\nไทย\\nไทร\\nไทวะ\\nธง\\nธงก์\\nธชะ\\nธชี\\nธตรฐ\\nธนบัตร\\nธนสมบัติ\\nธนสาร\\nธนะ\\nธนา\\nธนาคม\\nธนาคาร\\nธนาณัติ\\nธเนศ\\nธโนปจัย\\nธไนศวรรย์\\nธนิต\\nธนิษฐะ\\nธนิษฐา\\nธนุ\\nธนุรวิทยา\\nธนุรเวท\\nธนู\\nธม\\nธมกรก\\nธรณะ\\nธรณิน\\nธรณินทร์\\nธรณิศ\\nธรณิศร\\nธรณิศวร์\\nธรณี\\nธรมาน\\nธรรม\\nธรรมนูญ\\nธรรมยุต\\nธรรมยุติกนิกาย\\nธรรมะ\\nธรรมาทิตย์\\nธรรมาธรรม\\nธรรมาธิปไตย\\nธรรมาธิษฐาน\\nธรรมานุสาร\\nธรรมาภิมุข\\nธรรมาภิสมัย\\nธรรมายตนะ\\nธรรมารมณ์\\nธรรมาสน์\\nธรรมิก\\nธรา\\nธราดล\\nธราธร\\nธราธาร\\nธราธิบดี\\nธราธิป\\nธริษตรี\\nธเรษตรี\\nธเรศ\\nธวัช\\nธัช\\nธัญ\\nธัญญาหาร\\nธันยา\\nธันยาวาท\\nธันวาคม\\nธัมมะ\\nธาดา\\nธาตรี\\nธาตวากร\\nธาตุ\\nธาตุโขภ\\nธาตุมมิสสา\\nธานิน\\nธานินทร์\\nธานี\\nธาร\\nธารกำนัล\\nธารคำนัล\\nธารณะ\\nธารณา\\nธารา\\nธาษตรี\\nธำมรงค์\\nธำรง\\nธิดา\\nธิติ\\nธีระ\\nธุช\\nธุดงค์\\nธุดงควัตร\\nธุต\\nธุตตะ\\nธุมเกตุ\\nธุมา\\nธุรการ\\nธุรกิจ\\nธุระ\\nธุรำ\\nธุลี\\nธุวดารา\\nธุวภาค\\nธุวมณฑล\\nธูป\\nเธนุ\\nเธอ\\nเธียร\\nโธ่\\nโธวนะ\\nนก\\nนกุล\\nนขลิขิต\\nนขะ\\nนขา\\nนเคนทร์\\nนโคทร\\nนคร\\nนครินทร์\\nนคเรศ\\nนง\\nนงคุฐ\\nนที\\nนนตรา\\nนนท์\\nนันทน์\\nนนทรี\\nนนทลี\\nนนทิ\\nนบ\\nนปุงสกลิงค์\\nนปุงสกลึงค์\\nนพ\\nนพนิต\\nนภจร\\nนภดล\\nนภศูล\\nนภา\\nนภาลัย\\nนม\\nนมตำเรีย\\nนมตำเลีย\\nนมะ\\nนมัสการ\\nนมาซ\\nนยนะ\\nนยนา\\nนโยบาย\\nนรชาติ\\nนรเทพ\\nนรนาถ\\nนรบดี\\nนรบาล\\nนรสิงห์\\nนรสีห์\\nนรา\\nนรากร\\nนราธิป\\nนรินทร์\\nนริศ\\nนริศร\\nนริศวร\\nนเรศ\\nนเรศวร\\nนเรศวร์\\nนโรดม\\nนรก\\nนรกานต์\\nนรการ\\nนรี\\nนฤเทพ\\nนฤบดี\\nนฤบาล\\nนฤเบศ\\nนฤปเวศม์\\nนฤปัตนี\\nนฤคหิต\\nนฤนาท\\nนฤมล\\nนฤตย์\\nนฤตยสถาน\\nนฤพาน\\nนฤมาณ\\nนฤมิต\\nนลาฏ\\nนลิน\\nนลินี\\nนวกรรม\\nนวการ\\nนวกิจ\\nนวนิยาย\\nนวปฎล\\nนวรัตน์\\nนวโลหะ\\nนวกะ\\nนวโกวาท\\nนวด\\nนวม\\nน่วม\\nนวมี\\nนวย\\nนวล\\nนวัตกรรม\\nนวาระ\\nนหารุ\\nนหุต\\nนฬการ\\nนอ\\nนอก\\nนอง\\nน่อง\\nน้อง\\nน่องแน่ง\\nนอต\\nนอน\\nนอบ\\nน้อม\\nน้อย\\nน้อยหน่า\\nน้อยโหน่ง\\nนะ\\nนะแน่ง\\nนัก\\nนักขัต\\nนักขัตฤกษ์\\nนักษัตร\\nนักสราช\\nนัข\\nนั่ง\\nนังคัล\\nนัจ\\nนัฑ\\nนัด\\nนัดดา\\nนัตถุ์\\nนั่น\\nนั้น\\nนันททายี\\nนันทนาการ\\nนันทวัน\\nนันทิ\\nนับ\\nนัย\\nนัยน์\\nนัยนา\\nนัว\\nนัวเนีย\\nนา\\nน่า\\nน้า\\nนาก\\nนากบุด\\nนากาสาหรี\\nนาค\\nนาคร\\nนาคา\\nนาคาวโลก\\nนาคินทร์\\nนาคี\\nนาเคนทร์\\nนาเคศวร\\nนาง\\nนางเกล็ด\\nนางนวล\\nนางนูน\\nนางรม\\nนางรำ\\nนางล้อม\\nนางเล็ด\\nนางเลิ้ง\\nนางหงส์\\nนางอาย\\nนางแอ่น\\nนาฏ\\nนาฏกะ\\nนาด\\nนาถ\\nนาท\\nนาที\\nนาน\\nน่าน\\nนานัครส\\nนานัปการ\\nนานา\\nนาเนก\\nนาบ\\nนาภี\\nนาม\\nนามานุกรม\\nนามาภิไธย\\nนาย\\nน่าย\\nนายก\\nนายิกา\\nนารา\\nนารายณ์\\nนารี\\nนาเรศ\\nนาลิวัน\\nนาว\\nน้าว\\nนาวา\\nนาวิก\\nนาวิน\\nนาวี\\nนาเวศ\\nนาศ\\nนาสา\\nนาสิก\\nนาฬิกา\\nนาฬิเก\\nนาฬี\\nนำ\\nน้ำ\\nน้ำละว้า\\nน้ำว้า\\nนิ\\nนิกเกิล\\nนิกขะ\\nนิกร\\nนิกรอยด์\\nนิกาย\\nนิคม\\nนิครนถ์\\nนิคหกรรม\\nนิคหะ\\nนิคหิต\\nนิคาลัย\\nนิเคราะห์\\nนิโคติน\\nนิโครธ\\nนิโครม\\nนิ่ง\\nนิจ\\nนิด\\nนิตย์\\nนิตยทาน\\nนิตยภัต\\nนิตยสาร\\nนิติ\\nนิทร\\nนิทรรศการ\\nนิทรา\\nนิทรารมณ์\\nนิทัศน์\\nนิทาน\\nนิเทศ\\nนิธาน\\nนิธิ\\nนินทา\\nนินนาท\\nนินาท\\nนิบาต\\nนิปริยาย\\nนิปัจการ\\nนิพจน์\\nนิพนธ์\\nนิพพาน\\nนิพพิทา\\nนิพัทธ์\\nนิพันธ์\\nนิพิท\\nนิเพท\\nนิภา\\nนิ่ม\\nนิ้ม\\nนิมนต์\\nนิมมาน\\nนิมมานรดี\\nนิมิต\\nนิยต\\nนิยม\\nนิยัตินิยม\\nนิยาม\\nนิยาย\\nนิยุต\\nนิรคุณ\\nนิรชร\\nนิรชรา\\nนิรทุกข์\\nนิรเทศ\\nนิรโทษ\\nนิรโทษกรรม\\nนิรนัย\\nนิรนาม\\nนิรภัย\\nนิรมล\\nนิรมาน\\nนิรัตศัย\\nนิรันดร\\nนิราพาธ\\nนิรามัย\\nนิรามิษ\\nนิราศรัย\\nนิรินธน์\\nนิรมาณ\\nนิรมิต\\nนิรยบาล\\nนิรัพพุท\\nนิรา\\nนิราศ\\nนิรุกติ\\nนิรุตติ\\nนิรุทธ์\\nนิโรธ\\nนิล\\nนิลุบล\\nนิโลบล\\nนิ่ว\\nนิ้ว\\nนิวคลิอิก\\nนิวเคลียร์\\nนิวเคลียส\\nนิวตรอน\\nนิวรณ์\\nนิวัต\\nนิวัตน์\\nนิวาต\\nนิวาส\\nนิเวศ\\nนิเวศน์\\nนิศา\\nนิษาท\\nนิสัช\\nนิสัชชาการ\\nนิสัย\\nนิสาท\\nนิสิต\\nนิสีทนสันถัต\\nนิสีทนะ\\nนิสีทนาการ\\nนิเสธ\\nนี่\\nนี้\\nนี่นัน\\nนีรนาท\\nนีออน\\nนีโอดิเมียม\\nนึก\\nนึง\\nนึ่ง\\nนุง\\nนุ่ง\\nนุงนัง\\nนุช\\nนุต\\nนุ่น\\nนุ่ม\\nนุ้ย\\nนูน\\nนู่น\\nนู้น\\nเนกขัม\\nเนตบอล\\nเนตร\\nเนติ\\nเน้น\\nเนบิวลา\\nเนปจูน\\nเนปทูเนียม\\nเนมิ\\nเนย\\nเนรกัณฐี\\nเนรคุณ\\nเนรเทศ\\nเนรนาด\\nเนรมิต\\nเนระพูสี\\nเนอ\\nเน้อ\\nเนา\\nเน่า\\nเนาวนิต\\nเนาวรัตน์\\nเนิน\\nเนิ่น\\nเนิบ\\nเนียง\\nเนียน\\nเนียม\\nเนียร\\nเนียรทุกข์\\nเนียรเทศ\\nเนียรนาท\\nเนื้อ\\nเนือง\\nเนื่อง\\nเนือย\\nแน่\\nแน่ง\\nแน่น\\nแนบ\\nแน่บ\\nแนม\\nแนว\\nแน่ว\\nแนะ\\nแน่ะ\\nแนะแหน\\nโน\\nโน้ต\\nโนน\\nโน่น\\nโน้น\\nโนเบเลียม\\nโน้ม\\nโนมพรรณ\\nโนรา\\nโนรี\\nใน\\nไน\\nไนต์คลับ\\nไนโตรเจน\\nไนลอน\\nไนโอเบียม\\nบ่\\nบก\\nบง\\nบ่ง\\nบงก์\\nบ๊งเบ๊ง\\nบงสุ์\\nบด\\nบดินทร์\\nบดี\\nบถ\\nบท\\nบน\\nบ่น\\nบพิตร\\nบพิธ\\nบ่ม\\nบรม\\nบรมัตถ์\\nบรรจง\\nบรรจถรณ์\\nบรรจบ\\nบรรจวบ\\nบรรจุ\\nบรรเจิด\\nบรรณ\\nบรรดา\\nบรรตานึก\\nบรรถร\\nบรรทม\\nบรรทัด\\nบรรทาน\\nบรรทุก\\nบรรเทา\\nบรรเทือง\\nบรรพ\\nบรรพ์\\nบรรพชา\\nบรรพชิต\\nบรรพต\\nบรรยง\\nบรรยงก์\\nบรรยเวกษก์\\nบรรยากาศ\\nบรรยาย\\nบรรลัย\\nบรรลาย\\nบรรลุ\\nบรรเลง\\nบรรโลม\\nบรรษัท\\nบรรสบ\\nบรรสพ\\nบรรสม\\nบรรสาน\\nบรรสาร\\nบรรหาน\\nบรรหาร\\nบรอนซ์\\nบรั่นดี\\nบรัศว์\\nบราลี\\nบริกรรม\\nบริการ\\nบริขาร\\nบริขารโจล\\nบริคณห์\\nบริจาค\\nบริจาริกา\\nบริเฉท\\nบริชน\\nบริดจ์\\nบริบท\\nบริบาล\\nบริบูรณ์\\nบริพนธ์\\nบริพัตร\\nบริพันธ์\\nบริพาชก\\nบริพาร\\nบริภัณฑ์\\nบริภาษ\\nบริโภค\\nบริมาส\\nบริยาย\\nบริรม\\nบริรักษ์\\nบริราช\\nบริวรรต\\nบริวาร\\nบริวาส\\nบริเวณ\\nบริษัท\\nบริสชน\\nบริสุทธิ์\\nบริหาร\\nบล็อก\\nบวก\\nบวง\\nบ่วง\\nบวช\\nบวน\\nบ้วน\\nบวบ\\nบวม\\nบ๊วย\\nบวร\\nบหลิ่ม\\nบอ\\nบ่อ\\nบ้อ\\nบอก\\nบอง\\nบ่อง\\nบ้อง\\nบ๊อง\\nบ้องแบ๊ว\\nบองหลา\\nบอด\\nบอน\\nบ่อน\\nบอบ\\nบ้อม\\nบ๋อม\\nบ่อย\\nบอระเพ็ด\\nบอล\\nบอลลูน\\nบ้อหุ้น\\nบ๊ะ\\nบ๊ะจ่าง\\nบะหมี่\\nบัก\\nบักโกรก\\nบัคเตรี\\nบัง\\nบั้ง\\nบังกะโล\\nบังเกิด\\nบังคน\\nบังคม\\nบังคล\\nบังควร\\nบังคับ\\nบังคัล\\nบังแทรก\\nบังวาย\\nบังเวียน\\nบังสุกุล\\nบังสุกูลิก\\nบังสูรย์\\nบังหวน\\nบังเหตุ\\nบังเหียน\\nบังอร\\nบังอวจ\\nบังอาจ\\nบังเอิญ\\nบัญจก\\nบัญชร\\nบัญชา\\nบัญชี\\nบัญญัติ\\nบัญหา\\nบัฏ\\nบัณฑร\\nบัณฑิต\\nบัณฑิตย์\\nบัณฑุ\\nบัณฑูร\\nบัณเฑาะก์\\nบัณเฑาะว์\\nบัณณาส\\nบัณรส\\nบัณรสี\\nบัด\\nบัดกรี\\nบัดซบ\\nบัดสี\\nบัตร\\nบัทม์\\nบัน\\nบั่น\\nบั้น\\nบันจวบ\\nบันดล\\nบันดาล\\nบันได\\nบันทึก\\nบันทึง\\nบันเทิง\\nบันยะบันยัง\\nบันลือ\\nบัปผาสะ\\nบัพ\\nบัพชา\\nบัพพาชนียกรรม\\nบัล\\nบัลลพ\\nบัลลังก์\\nบัลลูน\\nบัลเลต์\\nบัว\\nบา\\nบ่า\\nบ้า\\nบาก\\nบาง\\nบ่าง\\nบ้าง\\nบาจรีย์\\nบาซิลลัส\\nบาด\\nบาดทะจิต\\nบาดทะพิษ\\nบาดทะยัก\\nบาดาล\\nบาตร\\nบาท\\nบาทสกุณี\\nบาทหลวง\\nบาทาธึก\\nบาทุกา\\nบาน\\nบ้าน\\nบานชื่น\\nบานเช้า\\nบานบุรี\\nบานไม่รู้โรย\\nบานเย็น\\nบ้าบ๋า\\nบาป\\nบาย\\nบ่าย\\nบ้าย\\nบาร์\\nบารนี\\nบารมี\\nบาร์เรล\\nบาร์เลย์\\nบารอมิเตอร์\\nบ้าระบุ่น\\nบาเรียน\\nบาเรียม\\nบาล\\nบาลี\\nบ่าว\\nบ่าวขุน\\nบาศ\\nบาศก์\\nบาสเกตบอล\\nบาหลี\\nบ๋ำ\\nบำเทิง\\nบำนาญ\\nบำบวง\\nบำบัด\\nบำเพ็ญ\\nบำราบ\\nบำราศ\\nบำรุง\\nบำรู\\nบำเรอ\\nบำหยัด\\nบำเหน็จ\\nบิ\\nบิฐ\\nบิณฑบาต\\nบิด\\nบิดร\\nบิดหล่า\\nบิดา\\nบิตุ\\nบิตุจฉา\\nบิตุรงค์\\nบิตุเรศ\\nบิตุลา\\nบิน\\nบิ่น\\nบินยา\\nบิลเลียด\\nบิวเรตต์\\nบิสมัท\\nบี้\\nบีฑา\\nบีตา\\nบีบ\\nบีเยศ\\nบึก\\nบึกบึน\\nบึง\\nบึ่ง\\nบึ้ง\\nบุ\\nบุก\\nบุคคล\\nบุคลากร\\nบุคลาธิษฐาน\\nบุคลิก\\nบุง\\nบุ่ง\\nบุ้ง\\nบุ้งกี๋\\nบุญ\\nบุญญาธิการ\\nบุญญานุภาพ\\nบุญญาภินิหาร\\nบุญญาภิสังขาร\\nบุณฑริก\\nบุณมี\\nบุณย์\\nบุตร\\nบุตรี\\nบุถุชน\\nบุทคล\\nบุนนาค\\nบุบ\\nบุบบิบ\\nบุปผชาติ\\nบุพกรรม\\nบุพการี\\nบุพกิจ\\nบุพชาติ\\nบุพทักษิณ\\nบุพนิมิต\\nบุพบท\\nบุพพาจารย์\\nบุพเพสันนิวาส\\nบุพโพ\\nบุ๋ม\\nบุ่มบ่าม\\nบุ้ย\\nบุรณะ\\nบุรพทิศ\\nบุรพบท\\nบุรพาจารย์\\nบูรพาจารย์\\nบุระ\\nบุราณ\\nบุรินทร์\\nบุริมทิศ\\nบุริมพรรษา\\nบุริมสิทธิ\\nบุรี\\nบุรุษ\\nบุโรทั่ง\\nบุษกร\\nบุษบก\\nบุษบง\\nบุษบัน\\nบุษบา\\nบุษบามินตรา\\nบุษปราค\\nบุษปะ\\nบุษย์\\nบุษย์น้ำทอง\\nบุษยมาส\\nบุษยะ\\nบุษราคัม\\nบุหงัน\\nบุหงา\\nบุหรง\\nบุหรี่\\nบุหลัน\\nบู่\\nบู้\\nบูชนียสถาน\\nบูชา\\nบูชิต\\nบูด\\nบูดู\\nบูร\\nบูรณ์\\nบูรณภาพ\\nบูรณมี\\nบูรณะ\\nบูรณาการ\\nบูรพ์\\nบูรพะ\\nบูรพา\\nเบ้\\nเบ่ง\\nเบ๊จี๋\\nเบญกานี\\nเบญจกัลยาณี\\nเบญจกามคุณ\\nเบญจขันธ์\\nเบญจดุริยางค์\\nเบญจธรรม\\nเบญจบรรพต\\nเบญจพรรณ\\nเบญจเพส\\nเบญจมาศ\\nเบญจรงค์\\nเบญจศก\\nเบญจศีล\\nเบญจะ\\nเบญจา\\nเบญจางค์\\nเบญจางคประดิษฐ์\\nเบญญา\\nเบญพาด\\nเบ็ด\\nเบ็ดเตล็ด\\nเบ็ดเสร็จ\\nเบน\\nเบนซิน\\nเบรก\\nเบริลเลียม\\nเบส\\nเบ้อ\\nเบอร์\\nเบอร์คีเลียม\\nเบ้อเร่อ\\nเบ้อเร่อเท่อ\\nเบ้อเริ่ม\\nเบ้อเริ่มเทิ่ม\\nเบอะ\\nเบอะบะ\\nเบะ\\nเบา\\nเบ้า\\nเบาราณ\\nเบาะ\\nเบิก\\nเบิ่ง\\nเบี้ย\\nเบี่ยง\\nเบียด\\nเบียน\\nเบียร์\\nเบี้ยว\\nเบือ\\nเบื่อ\\nเบื้อ\\nเบื้อง\\nเบือน\\nแบ\\nแบ้\\nแบก\\nแบคทีเรีย\\nแบ่ง\\nแบงก์\\nแบดมินตัน\\nแบตเตอรี่\\nแบน\\nแบนโจ\\nแบบ\\nแบ็บ\\nแบเรียม\\nแบหลา\\nแบะ\\nโบ\\nโบ้\\nโบ๋\\nโบก\\nโบกขรณี\\nโบกขรพรรษ\\nโบชุก\\nโบต\\nโบนัส\\nโบ๊เบ๊\\nโบย\\nโบรมีน\\nโบรอน\\nโบราณ\\nโบสถ์\\nใบ\\nใบ้\\nไบ่\\nปก\\nปกติ\\nปกรณ์\\nปกรณัม\\nปกิณกะ\\nปกีรณัม\\nปโกฏิ\\nปง\\nป่ง\\nปงช้าง\\nปฎล\\nปฏัก\\nปฏิกรณ์\\nปฏิกรรม\\nปฏิการะ\\nปฏิกิริยา\\nปฏิกูล\\nปฏิคม\\nปฏิคหิต\\nปฏิคาหก\\nปฏิฆะ\\nปฏิชีวนะ\\nปฏิญญา\\nปฏิญาณ\\nปฏิทิน\\nปฏิบถ\\nปฏิบัติ\\nปฏิปทา\\nปฏิปักษ์\\nปฏิปัน\\nปฏิปุจฉาพยากรณ์\\nปฏิปุจฉาวาที\\nปฏิพัทธ์\\nปฏิพากย์\\nปฏิภาค\\nปฏิภาณ\\nปฏิมา\\nปฏิมากร\\nปฏิยุทธ์\\nปฏิรพ\\nปฏิรูป\\nปฏิโลม\\nปฏิวัติ\\nปฏิวาต\\nปฏิวาท\\nปฏิเวธ\\nปฏิสนธิ\\nปฏิสวะ\\nปฏิสังขรณ์\\nปฏิสันถาร\\nปฏิสัมภิทา\\nปฏิเสธ\\nปฐพี\\nปฐม\\nปฐวี\\nปณต\\nปณาม\\nปณิธาน\\nปณิธิ\\nปณีต\\nปด\\nปดิวรัดา\\nปติ\\nปถพี\\nปถมัง\\nปถวี\\nปทัฏฐาน\\nปทัสถาน\\nปทานุกรม\\nปทีป\\nปทุม\\nปน\\nป่น\\nปนัดดา\\nปปัญจะ\\nปม\\nปรนัย\\nปรปักษ์\\nปรโลก\\nปรวาที\\nปรก\\nปรกติ\\nปรง\\nปรตยักษ์\\nปรน\\nปรนนิบัติ\\nปรนิมมิตวสวัตดี\\nปรบ\\nปรปักษ์\\nปรมัตถ์\\nปรมาจารย์\\nปรมาณู\\nปรมาภิไธย\\nปรมาภิเษก\\nปรมินทร์\\nบรเมนทร์\\nปรเมศวร์\\nปรเมษฐ์\\nปรวด\\nปรวนแปร\\nปรศุ\\nปรสิต\\nปร๋อ\\nปรองดอง\\nปรอด\\nปรอท\\nปรอย\\nประ\\nประกบ\\nประกฤต\\nประกฤติ\\nประกล\\nประกวด\\nประกวดประขัน\\nประกอบ\\nประกัน\\nประกับ\\nประกาย\\nประกายพรึก\\nประการ\\nประกาศ\\nประกาศนียบัตร\\nประกาศิต\\nประกำ\\nประกิด\\nประกิต\\nประคด\\nประคนธรรพ\\nประคนธรรพ์\\nประคบ\\nประคบประหงม\\nประคอง\\nประคับประคอง\\nประคัลภ์\\nประคำ\\nประคิ่น\\nประคุณ\\nประเคน\\nประเคราะห์\\nประโคน\\nประโคนธรรพ\\nประโคนธรรพ์\\nประโคม\\nประจง\\nประจญ\\nประจบ\\nประจบประแจง\\nประจวบ\\nประจ๋อประแจ๋\\nประจักษ์\\nประจักษนิยม\\nประจัญ\\nประจัน\\nประจาก\\nประจาค\\nประจาน\\nประจำ\\nประจิม\\nประจิ้มประเจ๋อ\\nประจุ\\nประจุคมน์\\nประจุบัน\\nประเจก\\nประเจิด\\nประเจิดประเจ้อ\\nประเจียด\\nประแจ\\nประชด\\nประชน\\nประชวม\\nประชวร\\nประชัน\\nประชา\\nประชาธิปไตย\\nประชิด\\nประชี\\nประชุม\\nประเชิญ\\nประณต\\nประณม\\nประณาม\\nประณิธาน\\nประณิธิ\\nประณีต\\nประณุท\\nประดง\\nประดน\\nประดวน\\nประดอน\\nประดอย\\nประดัก\\nประดักประเดิด\\nประดัง\\nประดับ\\nประดา\\nประดาก\\nประดาป\\nประดาษ\\nประดิชญา\\nประดิดประดอย\\nประดิทิน\\nประดิษฐ์\\nประดิษฐกรรม\\nประดิษฐาน\\nประดุง\\nประดุจ\\nประดู่\\nประเด\\nประเด็น\\nประเดิม\\nประเดียง\\nประเดี๋ยว\\nประเดี๋ยวประด๋าว\\nประแดง\\nประแดะ\\nประโดง\\nประโดย\\nประตง\\nประตัก\\nประตาป\\nประติชญา\\nประติญาณ\\nประติทิน\\nประติมากร\\nประติมากรรม\\nประติรพ\\nประตู\\nประถม\\nประถมจินดา\\nประทม\\nประท้วง\\nประทวน\\nประทักษ์\\nประทักษิณ\\nประทัง\\nประทัด\\nประทับ\\nประทาน\\nประทาย\\nประทาศี\\nประทิน\\nประทิ่น\\nประทีป\\nประทุฐ\\nประทุน\\nประทุษ\\nประทุษฐ์\\nประเทศ\\nประเทา\\nประเทียด\\nประเทียบ\\nประเทือง\\nประธาน\\nประธานาธิบดี\\nประนม\\nประนอ\\nประนอม\\nประนัง\\nประนัปดา\\nประนีประนอม\\nประปราน\\nประปราย\\nประปา\\nประเปรี้ยง\\nประเปรียว\\nประพจน์\\nประพนธ์\\nประพรม\\nประพฤติ\\nประพฤทธิ์\\nประพัด\\nประพัทธ์\\nประพันธ์\\nประพาต\\nประพาส\\nประพาสมหรณพ\\nประพาฬ\\nประพิณ\\nประพิมพ์ประพาย\\nประพุทธ์\\nประเพณี\\nประโพธ\\nประไพ\\nประไพร\\nประภพ\\nประภัสสร\\nประภา\\nประภาคาร\\nประภาพ\\nประภาษ\\nประภาส\\nประเภท\\nประมง\\nประมวล\\nประมาณ\\nประมาท\\nประมุข\\nประมุท\\nประมูล\\nประเมิน\\nประโมง\\nประโมทย์\\nประยงค์\\nประยุกต์\\nประยุทธ์\\nประยุร\\nประยูร\\nประโยค\\nประโยชน์\\nประโรหิต\\nประลมพ์\\nประลอง\\nประลัย\\nประลาต\\nประลาย\\nประลุ\\nประเล่ห์\\nประเล้าประโลม\\nประโลม\\nประวรรต\\nประวรรตน์\\nประวัติ\\nประวาล\\nประวาลปัทม์\\nประวาส\\nประวิง\\nประวิช\\nประวิตร\\nประวิน\\nประวีณ\\nประเวณี\\nประเวศ\\nประเวศน์\\nประศม\\nประศาสน์\\nประศุ\\nประสก\\nประสงค์\\nประสบ\\nประสพ\\nประสม\\nประสะ\\nประสัก\\nประสันนาการ\\nประสัยห์\\nประสา\\nประสาท\\nประสาธน์\\nประสาน\\nประสาร\\nประสิทธิ์\\nประสิทธิผล\\nประสิทธิภาพ\\nประสีประสา\\nประสูต\\nประสูติ\\nประเสบัน\\nประเสบันอากง\\nประเสริฐ\\nประหนึ่ง\\nประหม่า\\nประหยัด\\nประหลาด\\nประหล่ำ\\nประหวัด\\nประหวั่น\\nประหัตประหาร\\nประหาณ\\nประหาร\\nประเหล\\nประเหส\\nประไหมสุหรี\\nประอบ\\nประอร\\nปรัก\\nปรักปรำ\\nปรักมะ\\nปรัง\\nปรัชญา\\nปรัตถจริยา\\nปรัตยุบัน\\nปรัน\\nปรับ\\nปรัมปรา\\nปรัศจิม\\nปรัศนา\\nปรัศนี\\nปรัศว์\\nปรัสสบท\\nปร่า\\nปรากฏ\\nปรากรม\\nปรากฤต\\nปราการ\\nปราง\\nปรางค์\\nปราจีน\\nปราชญ์\\nปราชญา\\nปราชัย\\nปราณ\\nปราณี\\nปราด\\nปราน\\nปรานี\\nปราบ\\nปราบดาภิเษก\\nปราปต์\\nปราม\\nปรามาส\\nปราโมช\\nปราโมทย์\\nปราย\\nปรารถนา\\nปรารภ\\nปรารมภ์\\nปราศ\\nปราศจาก\\nปราศรัย\\nปราษณี\\nปราษาณ\\nปราสัย\\nปราสาท\\nปรำ\\nปริ\\nปริก\\nปริกขาร\\nปริกรรม\\nปริกัป\\nปริคณห์\\nปริจาค\\nปริจาริกา\\nปริเฉท\\nปริชน\\nปริซึม\\nปริญญา\\nปริณาม\\nปริณายก\\nปริต\\nปริตตะ\\nปริตโตทก\\nปริตร\\nปริทรรศน์\\nปริทัยหัคคี\\nปริทัศน์\\nปริเทพ\\nปริเทวะ\\nปรินิพพาน\\nปริบ\\nปริบท\\nปริปันถ์\\nปริพนธ์\\nปริพัตร\\nปริพันธ์\\nปริพาชก\\nปริภัณฑ์\\nปริภาษ\\nปริภูมิ\\nปริโภค\\nปริ่ม\\nปริมณฑล\\nปริมาณ\\nปริมาตร\\nปริยัติ\\nปริยานุช\\nปริยาย\\nปริเยศ\\nปริโยสาน\\nปริวรรต\\nปริวัตร\\nปริวาร\\nปริวาส\\nปริวิตก\\nปริเวณ\\nปริศนา\\nปริษัท\\nปริสัญญู\\nปริสุทธิ\\nปริหาน\\nปริหาร\\nปรี่\\nปรีชญา\\nปรีชา\\nปรี๊ด\\nปรีดา\\nปรีดิ\\nปรีดิ์\\nปรีดี\\nปรีติ\\nปรียะ\\nปรียา\\nปรึก\\nปรึกษา\\nปรึง\\nปรือ\\nปรื๋อ\\nปรุ\\nปรุง\\nปรู\\nปรู๋\\nปรูด\\nปรู๊ด\\nปรู๊ดปร๊าด\\nปรู๊ฟ\\nปฤงคพ\\nปฤจฉา\\nปฤษฎางค์\\nปฤษฐ\\nปลก\\nปลกเปลี้ย\\nปลง\\nปล่ง\\nปลด\\nปล้น\\nปลวก\\nปลอก\\nปล่อง\\nปล้อง\\nปลอด\\nปล้อน\\nปลอบ\\nปลอม\\nปล่อย\\nปละ\\nปลัก\\nปลั๊ก\\nปลัง\\nปลั่ง\\nปลัด\\nปลัดขิก\\nปลา\\nปลาต\\nปลาบ\\nปลาย\\nปลาสเตอร์\\nปลาสนาการ\\nปล้ำ\\nปลิง\\nปลิด\\nปลิ้น\\nปลิโพธ\\nปลิม\\nปลิ่ม\\nปลิว\\nปลี\\nปลีก\\nปลื้ม\\nปลุก\\nปลูก\\nปวกเปียก\\nปวง\\nป่วง\\nปวด\\nป่วน\\nป้วน\\nป้วนเปี้ยน\\nป่วย\\nปวัตน์\\nปวารณา\\nปวาล\\nปวาส\\nปวาฬ\\nปวิช\\nปวิตร\\nปวิธ\\nปวิเวก\\nปวีณ\\nปวุติ\\nปเวณี\\nปเวส\\nปเวสน์\\nปศุ\\nปสันนะ\\nปสันนาการ\\nปสาท\\nปสาน\\nปสาสน์\\nปสุ\\nปสุต\\nปสูติ\\nปหังสนะ\\nปหาน\\nปหาร\\nปหาส\\nปอ\\nป้อ\\nป๋อ\\nปอก\\nปอง\\nป่อง\\nป้อง\\nปอด\\nปอน\\nป้อน\\nปอนด์\\nปอเนาะ\\nปอบ\\nป้อแป้\\nปอม\\nป้อม\\nป๋อม\\nปอย\\nป้อย\\nป้อยอ\\nปะ\\nปะกน\\nปะกัง\\nปะการัง\\nปะกำ\\nปะขาว\\nปะงาบ\\nปะตาปา\\nปะตาระกาหลา\\nปะติดปะต่อ\\nปะติยาน\\nปะทะ\\nปะทะปะทัง\\nปะทุ\\nปะทุน\\nปะปน\\nปะมง\\nปะราลี\\nปะรำ\\nปะไร\\nปะลอม\\nปะเลง\\nปะแล่ม\\nปะโลง\\nปะวะหล่ำ\\nปะหงับ\\nปะหนัน\\nปะหัง\\nปะเหลาะ\\nปัก\\nปักข์\\nปักเป้า\\nปักษ์\\nปักษา\\nปักษิน\\nปักษี\\nปัง\\nปั๋ง\\nปังสุ์\\nปังสุกุล\\nปัจจัตตะ\\nปัจจันต์\\nปัจจันตคาม\\nปัจจันตชนบท\\nปัจจันตประเทศ\\nปัจจัย\\nปัจจามิตร\\nปัจจุคมน์\\nปัจจุทธรณ์\\nปัจจุบัน\\nปัจจุสมัย\\nปัจเจก\\nปัจโจปการกิจ\\nปัจฉา\\nปัจฉิม\\nปัจถรณ์\\nปัจนึก\\nปัจยาการ\\nปัจเวกขณ์\\nปัชชุน\\nปัญจนที\\nปัญจวัคคีย์\\nปัญจก\\nปัญจกะ\\nปัญจมี\\nปัญจวีสติ\\nปัญญัติ\\nปัญญา\\nปัญหา\\nปัฏ\\nปัฏนะ\\nปัฐยาวัต\\nปัณฑรหัตถี\\nปัณณะ\\nปัณณาส\\nปัณณาสก์\\nปัณรสี\\nปัณหิ\\nปัด\\nปัตคาด\\nปัตตะ\\nปัตตานึก\\nปัตตานุโมทนา\\nปัตตาเวีย\\nปัตติ\\nปัตติก\\nปัตถร\\nปัตถะ\\nปัตนิ\\nปัตนี\\nปัตหล่า\\nปัถพี\\nปัถวี\\nปัทม์\\nปัทมะ\\nปัทมาสน์\\nปัน\\nปั่น\\nปั้น\\nปั้นจั่น\\nปันจุเหร็จ\\nปั้นลม\\nปั้นหยา\\nปั้นเหน่ง\\nปับ\\nปั๊บ\\nปัปผาสะ\\nปัพพาชนียกรรม\\nปัพภาระ\\nปั๊ม\\nปัยกา\\nปัยยิกา\\nปัวเปีย\\nปัศจิม\\nปัศตัน\\nปัสสาวะ\\nปัสสาสะ\\nปา\\nป่า\\nป้า\\nปาก\\nปาง\\nป้าง\\nปาจรีย์\\nปาจิตตีย์\\nปาจีน\\nปาฏลิ\\nปาฏิบท\\nปาฏิบุคลิก\\nปาฏิโภค\\nปาฏิหาริย์\\nปาฐก\\nปาฐกถา\\nปาฐะ\\nปาณกชาติ\\nปาณะ\\nปาณาติบาต\\nปาณิ\\nปาณี\\nปาด\\nปาติโมกข์\\nปาตี\\nปาเต๊ะ\\nปาท่องโก๋\\nปาทังกา\\nปาทาน\\nปาทุกา\\nปาน\\nป่าน\\nป้าน\\nปานะ\\nปานียะ\\nป้าบ\\nป๊าบ\\nปาพจน์\\nปาม\\nปาโมกข์\\nป่าย\\nป้าย\\nปายาส\\nปาร์เกต์\\nปารมี\\nปารเมศ\\nปาราชิก\\nปาริฉัตร\\nปาริชาต\\nปารุสกวัน\\nปาล\\nปาล์ม\\nปาลิไลยก์\\nปาลี\\nปาว\\nป่าว\\nป๊าว\\nปาวาร\\nปาษาณ\\nปาส\\nปาสาณ\\nปาสาทิกะ\\nปาหนัน\\nปาหี่\\nปำ\\nป้ำ\\nป้ำเป๋อ\\nปิกนิก\\nปิ้ง\\nปิงคละ\\nปิงปอง\\nปิฎก\\nปิฏฐะ\\nปิฐิ\\nปิณฑะ\\nปิด\\nปิตตะ\\nปิตา\\nปิตามหัยกา\\nปิตามหัยยิกา\\nปิตุ\\nปิตุจฉา\\nปิตุภูมิ\\nปิตุลา\\nปิโตรเลียม\\nปิ่น\\nปิ่นแก้ว\\nปิ่นโต\\nปิปผลี\\nปิ่ม\\nปิ้ม\\nปิยะ\\nปิยังคุ\\nปิโยรส\\nปิลันธน์\\nปิ๋ว\\nปิศาจ\\nปิหกะ\\nปี\\nปี่\\nปี้\\nปี๋\\nปีก\\nปีฐะ\\nปี๊ด\\nปีติ\\nปีน\\nปีบ\\nปี๊บ\\nปีศาจ\\nปีฬกะ\\nปึก\\nปึง\\nปึ่ง\\nปึ๋ง\\nปึ้ด\\nปึมปื้อ\\nปืน\\nปื้น\\nปือ\\nปื้อ\\nปื๋อ\\nปุ\\nปุ๊\\nปุก\\nปุกปุย\\nปุคละ\\nปุ้งกี๋\\nปุงควะ\\nปุงลิงค์\\nปุงลึงค์\\nปุจฉา\\nปุฏะ\\nปุณฑริก\\nปุด\\nปุตตะ\\nปุถุชน\\nปุนนาค\\nปุนภพ\\nปุนัพสุ\\nปุบ\\nปุ๊บ\\nปุปผะ\\nปุปะ\\nปุพพะ\\nปุ่ม\\nปุ่มป่ำ\\nปุ้ม\\nปุ๋ม\\nปุย\\nปุ้ย\\nปุ๋ย\\nปุรณะ\\nปุระ\\nปุราณ\\nปุราณะ\\nปุริมพรรษา\\nปุเรจาริก\\nปุโรหิต\\nปุลลิงค์\\nปุลลึงค์\\nปุลินท์\\nปุโลปุเล\\nปุษยะ\\nปุสสะ\\nปู\\nปู่\\nปูชกะ\\nปูชนียบุคคล\\nปูชนียวัตถุ\\nปูชนียะ\\nปูชา\\nปูชิต\\nปูด\\nปูน\\nปูม\\nปู้ยี่ปู้ยำ\\nปูระ\\nปูลู\\nเป้\\nเป๋\\nเปก\\nเป๊ก\\nเป่ง\\nเป้ง\\nเป๋ง\\nเป็ด\\nเปตพลี\\nเปตอง\\nเป็น\\nเปยยาล\\nเปร็ง\\nเปรต\\nเปรม\\nเปรย\\nเปรอ\\nเปรอะ\\nเปราะ\\nเปรียง\\nเปรี้ยง\\nเปรี้ยงปร้าง\\nเปรียญ\\nเปรียบ\\nเปรี่ยม\\nเปรียว\\nเปรี้ยว\\nเปรียะ\\nเปรี๊ยะ\\nเปรื่อง\\nเปรื้อย\\nเปล\\nเปล่ง\\nเปลว\\nเปลา\\nเปล่า\\nเปล้า\\nเปลาะ\\nเปลี้ย\\nเปลี่ยน\\nเปลี่ยม\\nเปลี่ยว\\nเปลือก\\nเปลือง\\nเปลื้อง\\nเปลือย\\nเปศะ\\nเปศัส\\nเปสการ\\nเปสละ\\nเปสุญวาท\\nเป๋อ\\nเป้อเย้อ\\nเปอร์\\nเปอร์เซ็นต์\\nเปะ\\nเปา\\nเป่า\\nเป้า\\nเป๊า\\nเป๋า\\nเป๋าฮื้อ\\nเปาะ\\nเป๊าะ\\nเปาะเปี๊ยะ\\nเปาะแปะ\\nเปิก\\nเปิง\\nเปิงมาง\\nเปิด\\nเปิ่น\\nเปิบ\\nเปิ๊บ\\nเปีย\\nเปียก\\nเปี๊ยก\\nเปี๊ยบ\\nเปี่ยม\\nเปี้ยว\\nเปี๊ยว\\nเปียะ\\nเปี๊ยะ\\nเปือก\\nเปื้อน\\nเปื่อย\\nแป\\nแป้ง\\nแป๋ง\\nแปด\\nแป๊ด\\nแปทู\\nแป้น\\nแป๊น\\nแปบ\\nแป๊บ\\nแปม\\nแปร\\nแปร๋\\nแปรก\\nแปรง\\nแปร่ง\\nแปร๊ด\\nแปร้น\\nแปร๋น\\nแปรปรวน\\nแประ\\nแปล\\nแปล้\\nแปลก\\nแปลง\\nแปลน\\nแปลบ\\nแปล๊บ\\nแป้ว\\nแป๊ว\\nแปะ\\nแป๊ะ\\nแป๊ะซะ\\nโป\\nโป่\\nโป้\\nโป๊\\nโปก\\nโป๊ก\\nโป๊กเกอร์\\nโปกขรณี\\nโปกขรพรรษ\\nโปเก\\nโปง\\nโป่ง\\nโป้ง\\nโป่งข่าม\\nโปงลาง\\nโป่งวิด\\nโปฐบท\\nโปฐปทมาส\\nโปดก\\nโปตถกะ\\nโปน\\nโป๊ป\\nโป๊ยเซียน\\nโปรแกรม\\nโปรง\\nโปร่ง\\nโปรด\\nโปรตอน\\nโปรตีน\\nโปรเตสแตนต์\\nโปรแทรกเตอร์\\nโปรย\\nโปล่ง\\nโปลิโอ\\nโปโล\\nโปสก\\nโปสต์การ์ด\\nโปะ\\nโป๊ะ\\nโป๊ะจ้าย\\nไป\\nไป่\\nไป๋\\nไปยาล\\nไปรษณีย์\\nไปรษณียบัตร\\nไปรษณียภัณฑ์\\nไปรษณียากร\\nไปล่\\nไปศาจ\\nผก\\nผกา\\nผกาย\\nผคม\\nผง\\nผงก\\nผงม\\nผงะ\\nผงาด\\nผง่าน\\nผจง\\nผจญ\\nผจัญ\\nผจาน\\nผชุม\\nผณิน\\nผณินทร\\nผณิศวร\\nผด\\nผดุง\\nผเดิน\\nผทม\\nผนวก\\nผนวช\\nผนัง\\nผนิด\\nผนึก\\nผม\\nผยอง\\nผรณาปีติ\\nผรสุ\\nผริต\\nผรุสวาท\\nผล\\nผลคุน\\nผลคุนี\\nผล็อย\\nผละ\\nผลัก\\nผลัด\\nผลับ\\nผลัวะ\\nผลา\\nผลาญ\\nผลานิสงส์\\nผลาผล\\nผลาหาร\\nผลิ\\nผลิกะ\\nผลิต\\nผลิน\\nผลี\\nผลีผลาม\\nผลึก\\nผลึ่ง\\nผลือ\\nผลุ\\nผลุง\\nผลุด\\nผลุน\\nผลุนผลัน\\nผลุบ\\nผลุบผลับ\\nผลุย\\nผลู\\nผวน\\nผวย\\nผวา\\nผสม\\nผสาน\\nผอง\\nผ่อง\\nผ่อน\\nผอบ\\nผอม\\nผ็อย\\nผอูน\\nผะ\\nผะดา\\nผะสา\\nผัก\\nผัคคุณ\\nผัคคุณี\\nผัง\\nผัด\\nผัน\\nผับ\\nผัว\\nผัวะ\\nผัสสะ\\nผัสสาหาร\\nผา\\nผ่า\\nผ้า\\nผาก\\nผาง\\nผ่าง\\nผาณิต\\nผาด\\nผาติ\\nผ่าน\\nผาม\\nผาย\\nผ่ายผอม\\nผาล\\nผาลคุน\\nผาลา\\nผ่าว\\nผาสุก\\nผ้าฮาด\\nผำ\\nผ้ำ\\nผิ\\nผิง\\nผิด\\nผิตะ\\nผิน\\nผิว\\nผี\\nผี้ว์\\nผึง\\nผึ่ง\\nผึ้ง\\nผึ้งรวง\\nผืน\\nผื่น\\nผุ\\nผุด\\nผุยผง\\nผุสราคา\\nผู้\\nผูก\\nเผ\\nเผง\\nเผชิญ\\nเผ็ด\\nเผด็จ\\nเผดิม\\nเผดียง\\nเผ่น\\nเผนิก\\nเผย\\nเผยอ\\nเผยิบ\\nเผยิบผยาบ\\nเผล\\nเผล่\\nเผล็ด\\nเผลอ\\nเผลอไผล\\nเผละ\\nเผลาะ\\nเผลาะแผละ\\nเผลียง\\nเผอเรอ\\nเผอิญ\\nเผอิล\\nเผะ\\nเผา\\nเผ่า\\nเผ้า\\nเผาะ\\nเผิ้ง\\nเผิน\\nเผียน\\nเผือ\\nเผื่อ\\nเผือก\\nเผือด\\nเผือน\\nเผื่อน\\nแผ่\\nแผก\\nแผง\\nแผด\\nแผน\\nแผ่น\\nแผนก\\nแผล\\nแผลง\\nแผล็บ\\nแผล็ว\\nแผละ\\nแผ่ว\\nแผ้ว\\nโผ\\nโผง\\nโผฏฐัพพะ\\nโผน\\nโผเผ\\nโผย\\nโผล่\\nโผลกเผลก\\nโผละ\\nโผอน\\nโผะ\\nไผ\\nไผ่\\nไผท\\nฝน\\nฝรั่ง\\nฝรั่งเศส\\nฝ่อ\\nฝอย\\nฝัก\\nฝัง\\nฝั่ง\\nฝัด\\nฝัน\\nฝา\\nฝ่า\\nฝ้า\\nฝาก\\nฝาง\\nฝาด\\nฝาน\\nฝาย\\nฝ่าย\\nฝ้าย\\nฝิ่น\\nฝี\\nฝี่\\nฝีก\\nฝึก\\nฝืด\\nฝืน\\nฝุ่น\\nฝูง\\nเฝ้า\\nเฝือ\\nเฝือก\\nเฝือง\\nเฝื่อน\\nแฝก\\nแฝง\\nแฝด\\nใฝ่\\nไฝ\\nพก\\nพกุล\\nพง\\nพงศ์\\nพงศกร\\nพงศธร\\nพงศา\\nพงศาวดาร\\nพจน์\\nพจนา\\nพจนานุกรม\\nพจนารถ\\nพจนีย์\\nพจมาน\\nพจี\\nพชระ\\nพญา\\nพญาลอ\\nพณิช\\nพณิชย์\\nพดด้วง\\nพธู\\nพนันดร\\nพนาดร\\nพนาดอน\\nพนาราม\\nพนาลัย\\nพนาลี\\nพนาวาส\\nพนาเวศ\\nพนาศรม\\nพนาสณฑ์\\nพนาสัณฑ์\\nพเนจร\\nพ่น\\nพ้น\\nพนม\\nพนอง\\nพนอม\\nพนัก\\nพนักงาน\\nพนัง\\nพนัน\\nพนัส\\nพนา\\nพนาย\\nพนิดา\\nพนิต\\nพบ\\nพม่า\\nพยนต์\\nพยศ\\nพยัก\\nพยักพเยิด\\nพยัคฆ์\\nพยัคฆา\\nพยัคฆิน\\nพยัคฆี\\nพยัชน์\\nพยัญชนะ\\nพยัต\\nพยับ\\nพยากรณ์\\nพยาฆร์\\nพยางค์\\nพยาธิ\\nพยาน\\nพยาบาท\\nพยาบาล\\nพยาม\\nพยามะ\\nพยายาม\\nพยุ\\nพยุง\\nพยุหยาตรา\\nพยุหโยธา\\nพยุหเสนา\\nพยุหะ\\nพยู่ห์\\nพเยีย\\nพร\\nพรต\\nพรม\\nพรรค\\nพรรค์\\nพรรคานต์\\nพรรณ\\nพรรณนา\\nพรรดึก\\nพรรลาย\\nพรรษ\\nพรรษา\\nพรรเอิญ\\nพรวด\\nพรวน\\nพรหม\\nพรหมจรรย์\\nพรหมจาริณี\\nพรหมจารี\\nพรหมา\\nพรหมาสตร์\\nพรหมินทร์\\nพรอก\\nพร่อง\\nพร้อง\\nพรอด\\nพร้อม\\nพร้อมพรัก\\nพร่อย\\nพร้อย\\nพระ\\nพระนอม\\nพระนาด\\nพระฮาม\\nพรักพร้อม\\nพรั่ง\\nพรัด\\nพรั่น\\nพรับ\\nพร่า\\nพร้า\\nพราก\\nพราง\\nพร่าง\\nพราด\\nพราน\\nพราย\\nพราว\\nพราหมณ์\\nพราหมณะ\\nพราหมณี\\nพราหมี\\nพรำ\\nพร่ำ\\nพริก\\nพริ้ง\\nพริบ\\nพริ้ม\\nพรึง\\nพรึน\\nพรึบ\\nพรึ่บ\\nพรืด\\nพรุ\\nพรุ่ง\\nพรุน\\nพรู\\nพรูด\\nพฤกษ์\\nพฤกษชาติ\\nพฤกษเทวดา\\nพฤกษราช\\nพฤกษศาสตร์\\nพฤกษา\\nพฤฒ\\nพฤฒา\\nพฤฒาจารย์\\nพฤฒิ\\nพฤต\\nพฤติ\\nพฤทธ์\\nพฤทธิ์\\nพฤนต์\\nพฤนท์\\nพฤศจิก\\nพฤศจิกายน\\nพฤษภ\\nพฤษภาคม\\nพฤหัสบดี\\nพล\\nพละ\\nพลากร\\nพลาดิศัย\\nพลาธิการ\\nพลานามัย\\nพลบ\\nพลวก\\nพลวง\\nพลวัต\\nพลศาสตร์\\nพลอ\\nพล้อ\\nพลอง\\nพลอด\\nพลอน\\nพลอมแพลม\\nพลอย\\nพล่อย\\nพลั่ก\\nพลัง\\nพลั่ง\\nพลั้ง\\nพลัด\\nพลัน\\nพลับ\\nพลับพลา\\nพลับพลึง\\nพลั่ว\\nพล่า\\nพลาง\\nพลาญ\\nพลาด\\nพล่าน\\nพลาม\\nพล่าม\\nพลาย\\nพลาสติก\\nพลาสมา\\nพลาหก\\nพลำ\\nพล้ำ\\nพลำภัง\\nพลิก\\nพลิพัท\\nพลิ้ว\\nพลี\\nพลุ\\nพลุก\\nพลุ่ก\\nพลุกพล่าน\\nพลุ่ง\\nพลุ้ย\\nพลู\\nพลูโต\\nพลูโทเนียม\\nพวก\\nพวง\\nพ่วง\\nพวน\\nพวย\\nพสก\\nพสุ\\nพสุธา\\nพสุสงกรานต์\\nพหล\\nพหุ\\nพหุล\\nพหู\\nพอ\\nพ่อ\\nพ้อ\\nพอก\\nพอง\\nพ้อง\\nพอน\\nพ้อม\\nพอโลเนียม\\nพะ\\nพะงา\\nพะงาบ\\nพะจง\\nพะทำมะรง\\nพะนอ\\nพะเน้าพะนอ\\nพะเนิน\\nพะเนียง\\nพะแนง\\nพะพาน\\nพะพิง\\nพะเพิง\\nพะยอม\\nพ่ะย่ะค่ะ\\nพะยูง\\nพะยูน\\nพะเยิบ\\nพะเยิบพะยาบ\\nพะรุงพะรัง\\nพะโล้\\nพะไล\\nพะวง\\nพะวักพะวน\\nพะวา\\nพะว้าพะวัง\\nพะอง\\nพะอากพะอำ\\nพะอืดพะอม\\nพัก\\nพักตร์\\nพักตรา\\nพักร\\nพัง\\nพังกา\\nพังงา\\nพังผืด\\nพังพวย\\nพังพอน\\nพังพาน\\nพังพาบ\\nพังเพย\\nพัช\\nพัชนี\\nพัชระ\\nพัญจน์\\nพัฒนะ\\nพัฒนา\\nพัฒนากร\\nพัฒนาการ\\nพัด\\nพัดชา\\nพัดดึงส์\\nพัตร\\nพัทธ์\\nพัทธยา\\nพัทธสีมา\\nพัทร\\nพัน\\nพันตู\\nพันทาง\\nพันธ์\\nพันธะ\\nพันธกรณี\\nพันธบัตร\\nพันธมิตร\\nพันธนะ\\nพันธนาคาร\\nพันธนาการ\\nพันธุ์\\nพันธุกรรม\\nพันลึก\\nพันลือ\\nพันเลิศ\\nพันเอิญ\\nพับ\\nพัลลภ\\nพัลวัน\\nพัว\\nพัวะ\\nพัศดี\\nพัสดุ\\nพัสตร์\\nพัสถาน\\nพา\\nพาก\\nพากเพียร\\nพากย์\\nพาง\\nพ่าง\\nพาชี\\nพาณิช\\nพาณิชย์\\nพาณิชยกรรม\\nพาณิชยการ\\nพาณิชยศาสตร์\\nพาณิชยศิลป์\\nพาณินี\\nพาณี\\nพาณีนี\\nพาด\\nพาท\\nพาทย์\\nพาธ\\nพาธา\\nพาน\\nพ่าน\\nพานร\\nพานรินทร์\\nพาม\\nพาย\\nพ่าย\\nพายม้า\\nพายัพ\\nพายุ\\nพาร์เซก\\nพารณ\\nพารา\\nพาราฟิน\\nพาล\\nพาลา\\nพาลี\\nพาลุก\\nพาโล\\nพาไล\\nพาส\\nพาสน์\\nพาสนา\\nพาสุกรี\\nพ่าห์\\nพาหนะ\\nพาหะ\\nพาหา\\nพาหิรกะ\\nพาหิระ\\nพาหุ\\nพาหุรัด\\nพาหุสัจจะ\\nพาเหียร\\nพาฬ\\nพำ\\nพำนัก\\nพำพึม\\nพำลา\\nพิกล\\nพิกสิต\\nพิกัด\\nพิกัติ\\nพิกัน\\nพิการ\\nพิกุล\\nพิเคราะห์\\nพิฆน์\\nพิฆเนศ\\nพิฆเนศวร\\nพิฆาต\\nพิง\\nพิจัย\\nพิจาร\\nพิจารณ์\\nพิจารณา\\nพิจิก\\nพิจิต\\nพิจิตร\\nพิชญ์\\nพิชัย\\nพิชาน\\nพิชิต\\nพิเชฐ\\nพิเชียร\\nพิฑูรย์\\nพิณ\\nพิดทูล\\nพิดาน\\nพิโดร\\nพิตร\\nพิถี\\nพิถีพิถัน\\nพิทย\\nพิทย์\\nพิทยา\\nพิทยาคม\\nพิทยาคาร\\nพิทยาธร\\nพิทยาลัย\\nพิทักษ์\\nพิทูร\\nพิเทศ\\nพิธาน\\nพิธี\\nพิธุ\\nพินทุ\\nพินอบพิเทา\\nพินัย\\nพินาศ\\nพินิจ\\nพินิต\\nพินิศ\\nพินิศจัย\\nพิเนต\\nพิบัติ\\nพิบุล\\nพิบูล\\nพิปริต\\nพิปลาส\\nพิพรรธ\\nพิพรรธน์\\nพิพักพิพ่วน\\nพิพัฒ\\nพิพัฒน์\\nพิพากษ์\\nพิพากษา\\nพิพาท\\nพิพิธ\\nพิพิธภัณฑ์\\nพิพิธภัณฑสถาน\\nพิภพ\\nพิภัช\\nพิภาค\\nพิภูษณะ\\nพิเภก\\nพิมปะการัง\\nพิมพ์\\nพิมพการัง\\nพิมพา\\nพิมพาภรณ์\\nพิมล\\nพิมเสน\\nพิมาน\\nพิมุข\\nพิโมกข์\\nพิโมกษ์\\nพิโยกพิเกน\\nพิโยค\\nพิรอด\\nพิระ\\nพิรากล\\nพิราบ\\nพิราม\\nพิราลัย\\nพิริยะ\\nพิรี้พิไร\\nพิรุณ\\nพิรุธ\\nพิรุฬห์\\nพิเรนทร์\\nพิเราะ\\nพิโรธ\\nพิไร\\nพิลังกาสา\\nพิลาป\\nพิลาส\\nพิลิปดา\\nพิลึก\\nพิลึกกึกกือ\\nพิลึกพิลั่น\\nพิโลน\\nพิไล\\nพิศ\\nพิศวง\\nพิศวาส\\nพิศาล\\nพิศุทธ์\\nพิศุทธิ์\\nพิเศษ\\nพิษ\\nพิษฐาน\\nพิษนาศน์\\nพิสดาร\\nพิสมร\\nพิสมัย\\nพิสัง\\nพิสัช\\nพิสัย\\nพิสิฐ\\nพิสุทธิ์\\nพิสูจน์\\nพิหค\\nพิหาร\\nพิฬาร\\nพี\\nพี่\\nพี้\\nพีชคณิต\\nพีระมิด\\nพึง\\nพึ่ง\\nพึ่บ\\nพึ่บพั่บ\\nพึม\\nพึมพำ\\nพืช\\nพืด\\nพื้น\\nพุ\\nพุก\\nพุกาม\\nพุง\\nพุ่ง\\nพุงดอ\\nพุฒ\\nพุฒิ\\nพุด\\nพุดตาน\\nพุทธ\\nพุทธะ\\nพุทธังกูร\\nพุทธางกูร\\nพุทธันดร\\nพุทธาภิเษก\\nพุทธาวาส\\nพุทธิ\\nพุทโธ่\\nพุทรา\\nพุธ\\nพุ่ม\\nพุมเรียง\\nพุ้ย\\nพู\\nพูพอน\\nพู่\\nพูด\\nพูน\\nพู้น\\nพู่ระหง\\nเพ\\nเพ็ก\\nเพกา\\nเพคะ\\nเพ็ง\\nเพ่ง\\nเพ็จ\\nเพชฉลูกรรม\\nเพชฌฆาต\\nเพชร\\nเพชรดา\\nเพชรปาณี\\nเพชรฤกษ์\\nเพชรายุธ\\nเพชรกลับ\\nเพชรสังฆาต\\nเพชรหลีก\\nเพชรหึง\\nเพ็ญ\\nเพฑูริย์\\nเพณี\\nเพ็ดทูล\\nเพดาน\\nเพท\\nเพทนา\\nเพทาย\\nเพทุบาย\\nเพโทบาย\\nเพ่นพ่าน\\nเพนียด\\nเพไนย\\nเพ้ย\\nเพรง\\nเพรซีโอดิเมียม\\nเพรา\\nเพราะ\\nเพริด\\nเพริศ\\nเพรียก\\nเพรียง\\nเพรียบ\\nเพรี้ยม\\nเพรียว\\nเพรื่อ\\nเพรือง\\nเพล\\nเพลง\\nเพล็ด\\nเพล้โพล้\\nเพลา\\nเพลาะ\\nเพลิง\\nเพลิดเพลิน\\nเพลิน\\nเพลีย\\nเพลี้ย\\nเพลี่ยง\\nเพศ\\nเพส\\nเพสลาด\\nเพ่อ\\nเพ้อ\\nเพ้อเจ้อ\\nเพอิญ\\nเพะ\\nเพา\\nเพาะ\\nเพิก\\nเพิง\\nเพิ่ง\\nเพิดเพ้ย\\nเพิ่ม\\nเพี้ย\\nเพียง\\nเพี้ยง\\nเพียงออ\\nเพี้ยน\\nเพียบ\\nเพียร\\nเพื่อ\\nเพื่อน\\nแพ\\nแพ้\\nแพง\\nแพ่ง\\nแพงพวย\\nแพทย์\\nแพทยศาสตร์\\nแพน\\nแพ่น\\nแพนก\\nแพนงเชิง\\nแพร\\nแพร่\\nแพรก\\nแพร่ง\\nแพรว\\nแพร้ว\\nแพลง\\nแพลทินัม\\nแพล็บ\\nแพลม\\nแพลเลเดียม\\nแพละ\\nแพละโลม\\nแพว\\nแพ้ว\\nแพศย์\\nแพศยา\\nแพะ\\nโพ\\nโพก\\nโพกพาย\\nโพง\\nโพงพาง\\nโพชฌงค์\\nโพซิตรอน\\nโพด\\nโพทะเล\\nโพแทสเซียม\\nโพธ\\nโพธิ\\nโพธิ์\\nโพน\\nโพ้น\\nโพนทะนา\\nโพบาย\\nโพย\\nโพยก๊วน\\nโพยม\\nโพรก\\nโพรง\\nโพรโทแอกทิเนียม\\nโพรมีเทียม\\nโพระดก\\nโพล่\\nโพลง\\nโพล่ง\\nโพล้ง\\nโพลน\\nโพล้เพล้\\nโพละ\\nโพสพ\\nไพ\\nไพ่\\nไพจิตร\\nไพชน\\nไพชยนต์\\nไพฑูรย์\\nไพที\\nไพบูลย์\\nไพพรรณ\\nไพร\\nไพร่\\nไพรจิตร\\nไพรชน\\nไพรชยนต์\\nไพรฑูรย์\\nไพรที\\nไพรบูลย์\\nไพรเราะ\\nไพรัช\\nไพรำ\\nไพริน\\nไพรินทร์\\nไพรี\\nไพเราะ\\nไพโรจน์\\nไพล\\nไพล่\\nไพศาขะ\\nไพศาล\\nไพเศษ\\nไพสพ\\nไพสิฐ\\nไพหาร\\nฟก\\nฟ้ง\\nฟรักโทส\\nฟรี\\nฟลูออรีน\\nฟ่อ\\nฟ้อ\\nฟอก\\nฟอง\\nฟ่อง\\nฟ้อง\\nฟอด\\nฟอน\\nฟ่อน\\nฟ้อน\\nฟ้อแฟ้\\nฟอร์มาลดีไฮด์\\nฟอร์มาลิน\\nฟอสฟอรัส\\nฟอสเฟต\\nฟัก\\nฟักฟุ้น\\nฟัง\\nฟังก์ชัน\\nฟัด\\nฟัน\\nฟั่น\\nฟั้น\\nฟ้า\\nฟาก\\nฟาง\\nฟ่าง\\nฟาด\\nฟาทอม\\nฟาน\\nฟ่าม\\nฟาย\\nฟาร์ม\\nฟาสซิสต์\\nฟิด\\nฟิต\\nฟิบ\\nฟิล์ม\\nฟิวส์\\nฟิสิกส์\\nฟี่\\nฟี้\\nฟืดฟาด\\nฟืน\\nฟื้น\\nฟืม\\nฟุ\\nฟุ้ง\\nฟุต\\nฟุน\\nฟุบ\\nฟุ่บ\\nฟุ่มเฟือย\\nฟุลสแก๊ป\\nฟู\\nฟู่\\nฟูก\\nฟูด\\nฟูม\\nเฟ็ด\\nเฟ้น\\nเฟลด์สปาร์\\nเฟ้อ\\nเฟอร์เมียม\\nเฟอะ\\nเฟอะฟะ\\nเฟะ\\nเฟะฟะ\\nเฟิน\\nเฟี้ยม\\nเฟี้ยว\\nเฟือ\\nเฟื้อ\\nเฟือง\\nเฟื่อง\\nเฟื้อง\\nเฟือน\\nเฟือย\\nเฟื้อย\\nแฟ่\\nแฟง\\nแฟชั่น\\nแฟน\\nแฟบ\\nแฟ้ม\\nแฟรนเซียม\\nแฟลกซ์\\nแฟลต\\nแฟะ\\nโฟกัส\\nไฟ\\nภควดี\\nภควัต\\nภควันต์\\nภควัม\\nภควา\\nภควาน\\nภคะ\\nภคันทลา\\nภคินี\\nภณะ\\nภณิดา\\nภพ\\nภมร\\nภมริน\\nภมรี\\nภมุกา\\nภยันตราย\\nภยาคติ\\nภระ\\nภรณี\\nภรต\\nภรรดร\\nภรรดา\\nภรรยา\\nภระมร\\nภระมรี\\nภราดร\\nภราดรภาพ\\nภราดา\\nภริยา\\nภฤศ\\nภวะ\\nภวตัณหา\\nภวนะ\\nภวังค์\\nภวังคจิต\\nภักดี\\nภักตะ\\nภักติ\\nภักษ์\\nภักษา\\nภักษาหาร\\nภัค\\nภัคน์\\nภังคะ\\nภังคี\\nภัจ\\nภัณฑ์\\nภัณฑาคาร\\nภัณฑาคาริก\\nภัณฑารักษ์\\nภัณฑนะ\\nภัณฑู\\nภัต\\nภัตตาคาร\\nภัตตาหาร\\nภัตร\\nภัทระ\\nภัทรกัป\\nภัพ\\nภัย\\nภัสดา\\nภัสตรา\\nภัสมะ\\nภัสสร\\nภา\\nภาค\\nภาคย์\\nภาคยานุวัติ\\nภาคินี\\nภาคิไนย\\nภาคี\\nภาคียะ\\nภาชนะ\\nภาชี\\nภาณ\\nภาณวาร\\nภาณกะ\\nภาณี\\nภาณุ\\nภาดร\\nภาดา\\nภาตระ\\nภาตา\\nภาตุ\\nภาติกะ\\nภาติยะ\\nภาพ\\nภาพย์\\nภาม\\nภาย\\nภาร\\nภาระ\\nภารดี\\nภารต\\nภารตี\\nภารยทรัพย์\\nภารยา\\nภารา\\nภาวนา\\nภาวะ\\nภาษ\\nภาษณ์\\nภาษา\\nภาษิต\\nภาษี\\nภาส\\nภาสน์\\nภาสวร\\nภาสา\\nภาสุระ\\nภิกขา\\nภิกขาจาร\\nภิกขุ\\nภิกขุนี\\nภิกษา\\nภิกษาจาร\\nภิกษาหาร\\nภิกษุ\\nภิกษุณี\\nภิงคาร\\nภิญโญ\\nภิตติ\\nภินท์\\nภินทนาการ\\nภิยโย\\nภิรมย์\\nภิรมย์สุรางค์\\nภิษัช\\nภิสัก\\nภีตะ\\nภีมะ\\nภีรุ\\nภุกต์\\nภุขัน\\nภุช\\nภุชงค์\\nภุต\\nภุมมะ\\nภุมรัตน์\\nภุมวาร\\nภุมรา\\nภุมริน\\nภุมรี\\nภุมเรศ\\nภู\\nภู่\\nภูต\\nภูติ\\nภูม\\nภูมิ\\nภูมี\\nภูริ\\nภูรี\\nภูวดล\\nภูวนาถ\\nภูวเนตร\\nภูวไนย\\nภูษา\\nภูษิต\\nเภกะ\\nเภตรา\\nเภท\\nเภทุบาย\\nเภรี\\nเภสัช\\nโภค\\nโภคะ\\nโภคิน\\nโภคี\\nโภไคย\\nโภไคศวรรย์\\nโภช\\nโภชย์\\nโภชก\\nโภชนะ\\nโภชนา\\nโภชนาหาร\\nโภชนียะ\\nไภริน\\nไภรี\\nไภษัชคุรุ\\nไภษัชย์\\nมกร\\nมกราคม\\nมกุฎ\\nมคธ\\nมฆวัน\\nมฆะ\\nมฆา\\nม่ง\\nมงกุฎ\\nมงโกรย\\nมงคล\\nมงคลวาร\\nมณฑ์\\nมณฑก\\nมณฑนะ\\nมณฑป\\nมณฑล\\nมณฑา\\nมณฑารพ\\nมณฑิระ\\nมณเฑียร\\nมณี\\nมด\\nมตะ\\nมตกภัต\\nมติ\\nมทนะ\\nมทะ\\nมธุ\\nมธุกร\\nมธุการี\\nมธุลีห์\\nมธุระ\\nมธุรพจน์\\nมน\\nมนินทรีย์\\nม่น\\nมนต์\\nมนตร์\\nมนตรี\\nมนท์\\nมนทิราลัย\\nมนเทียร\\nมนสิการ\\nมนัส\\nมนัสวี\\nมนินทรีย์\\nมนิมนา\\nมนิลา\\nมนุญ\\nมนุษย์\\nมนุษยชาติ\\nมนุษยธรรม\\nมนุษย์มนา\\nมนุษยโลก\\nมนุษยศาสตร์\\nมนุษยสัมพันธ์\\nมนุสาร\\nมนู\\nมนูสาร\\nมโน\\nมโนช\\nมโนชญ์\\nมโนราห์\\nมโนสาเร่\\nมโนห์รา\\nมมังการ\\nมยุรฉัตร\\nมยุระ\\nมยุรา\\nมยุรี\\nมยุเรศ\\nมยูร\\nมรกต\\nมรคา\\nมรฑป\\nมรณ์\\nมรณะ\\nมรณกรรม\\nมรณบัตร\\nมรณภัย\\nมรณภาพ\\nมรดก\\nมรรค\\nมรรคา\\nมรรตัย\\nมรรยาท\\nมรรษ\\nมรสุม\\nมริจ\\nมริยาท\\nมรีจิ\\nมรุต\\nมฤค\\nมฤคย์\\nมฤคศิระ\\nมฤคศิรมาส\\nมฤคเศียร\\nมฤคินทร์\\nมฤเคนทร์\\nมฤดก\\nมฤต\\nมฤตยู\\nมฤทุ\\nมล\\nมละ\\nมลัก\\nมลังเมลือง\\nมล้าง\\nมลาย\\nมลายู\\nมวก\\nม่วง\\nมวน\\nม่วน\\nม้วน\\nม้วนต้วน\\nมวย\\nม้วย\\nมวล\\nมหกรรม\\nมหรณพ\\nมหรรณพ\\nมหรสพ\\nมหัจฉริยะ\\nมหัต\\nมหัทธนะ\\nมหันต์\\nมหันตโทษ\\nมหัพภาค\\nมหัศจรรย์\\nมหา\\nมหากฐิน\\nมหากาฬ\\nมหาขันธกะ\\nมหาจักร\\nมหาชน\\nมหาชัย\\nมหาชาติ\\nมหาโชตรัต\\nมหาดไทย\\nมหาดเล็ก\\nมหาตมะ\\nมหาไถ่\\nมหาเทพ\\nมหาเทพี\\nมหาเทวี\\nมหาธาตุ\\nมหานิกาย\\nมหานิล\\nมหาบพิตร\\nมหาบัณฑิต\\nมหาพน\\nมหาพรหม\\nมหาภารตะ\\nมหาภิเนษกรมณ์\\nมหาภูต\\nมหาเมฆ\\nมหายาน\\nมหายุค\\nมหาราช\\nมหาฤกษ์\\nมหาละลวย\\nมหาละลาย\\nมหาวงศ์\\nมหาวรรค\\nมหาวิทยาลัย\\nมหาศักราช\\nมหาศาล\\nมหาสงกรานต์\\nมหาสดมภ์\\nมหาสดำ\\nมหาสมุทร\\nมหาสาวก\\nมหาหงส์\\nมหาหิงคุ์\\nมหาอำนาจ\\nมหาอุจ\\nมหาอุด\\nมหาอุปรากร\\nมหาอุปราช\\nมหิ\\nมหิดล\\nมหิธร\\nมหิป\\nมหิงส์\\nมหิทธิ\\nมหินท์\\nมหิมา\\nมหิศร\\nมหิศวร\\nมหิษ\\nมหิษี\\nมหึมา\\nมเหยงค์\\nมเหศ\\nมเหศวร\\nมเหศักดิ์\\nมเหสักข์\\nมเหสิ\\nมเหสี\\nมเหาฬาร\\nมโหรสพ\\nมโหระทึก\\nมโหรี\\nมโหฬาร\\nมไหศวรรย์\\nมอ\\nมอง\\nมองโกลอยด์\\nมองโกเลีย\\nมองคร่อ\\nมอญ\\nมอด\\nม่อต้อ\\nมอเตอร์\\nมอเตอร์ไซค์\\nมอน\\nม่อน\\nมอบ\\nมอม\\nมอมแมม\\nม่อย\\nมอร์ฟีน\\nมอระกู่\\nมอลโทส\\nม่อลอกม่อแลก\\nม่อห้อม\\nม่อฮ่อม\\nมะ\\nมะกรูด\\nมะกล่ำ\\nมะกอก\\nมะก่อง\\nมะกะโรนี\\nมะกา\\nมะเกลือ\\nมะเกี๋ยง\\nมะข่วง\\nมะขวิด\\nมะขาม\\nมะเขือ\\nมะแข่น\\nมะคังแดง\\nมะค่า\\nมะคำไก่\\nมะคำดีควาย\\nมะงั่ว\\nมะงุมมะงาหรา\\nมะซัก\\nมะซาง\\nมะดัน\\nมะดีหวี\\nมะดูก\\nมะเดหวี\\nมะเดื่อ\\nมะต้อง\\nมะตะบะ\\nมะตาด\\nมะตาหะรี\\nมะตึ่ง\\nมะตื๋น\\nมะตูม\\nมะแตก\\nมะโต\\nมะนาว\\nมะปราง\\nมะปริง\\nมะฝ่อ\\nมะพร้าว\\nมะพลับ\\nมะพูด\\nมะแพน\\nมะแพร้ว\\nมะเฟือง\\nมะแฟน\\nมะไฟ\\nมะม่วง\\nมะม่าว\\nมะมี่\\nมะมื่น\\nมะมุด\\nมะเมอ\\nมะเมีย\\nมะเมื่อย\\nมะแม\\nมะยง\\nมะยม\\nมะระ\\nมะริด\\nมะรืน\\nมะรุม\\nมะรุมมะตุ้ม\\nมะเร็ง\\nมะเรื่อง\\nมะโรง\\nมะลอกมะแลก\\nมะละกอ\\nมะลิ\\nมะลื่น\\nมะลืมดำ\\nมะลุลี\\nมะแว้ง\\nมะสัง\\nมะเส็ง\\nมะหวด\\nมะหะหมัด\\nมะหาด\\nมะหิ่ง\\nมะเหงก\\nมะอึก\\nมะฮอกกานี\\nมัก\\nมักกะโรนี\\nมักกะลีผล\\nมักกะสัน\\nมักขะ\\nมั่กขั้ก\\nมักขิกา\\nมัค\\nมัคคะ\\nมัคคุเทศก์\\nมัคนายก\\nมัฆวาน\\nมั่ง\\nมังกง\\nมังกร\\nมังกุ\\nมังคละ\\nมังค่า\\nมังคุด\\nมังตาน\\nมังสวิรัติ\\nมังสะ\\nมังสี\\nมัจจะ\\nมัจจุ\\nมัจฉริยะ\\nมัจฉรี\\nมัจฉะ\\nมัจฉา\\nมัชชะ\\nมัชวิรัติ\\nมัชชาระ\\nมัชฌันติกสมัย\\nมัชฌิม\\nมัชฌิมา\\nมัญจา\\nมัญชิษฐา\\nมัญชุ\\nมัญชุสา\\nมัญชูสา\\nมัญเชฏฐะ\\nมัฏฐะ\\nมัณฑนศิลป์\\nมัณฑนา\\nมัด\\nมัตตะ\\nมัตตัญญู\\nมัตตา\\nมัตติกา\\nมัตถกะ\\nมัตถลุงค์\\nมัตสยะ\\nมัตสยา\\nมัตสระ\\nมัตสริน\\nมัททวะ\\nมัทนะ\\nมัทยะ\\nมัธยฐาน\\nมัธยม\\nมัธยันห์\\nมัธยัสถ์\\nมัน\\nมั่น\\nมันตา\\nมันถะ\\nมันทิระ\\nมันทิราลัย\\nมับ\\nมั้ม\\nมัมมี่\\nมัย\\nมัลละ\\nมัลลิกา\\nมัว\\nมัวซัว\\nมั่ว\\nมัศยา\\nมัสตุ\\nมัสตาร์ด\\nมัสมั่น\\nมัสยิด\\nมัสรู่\\nมัสลิน\\nมัสสุ\\nมา\\nม้า\\nมาก\\nมาคสิระ\\nมาฆบูชา\\nมาฆะ\\nม้าง\\nมางสะ\\nมาณพ\\nมาณวิกา\\nมาด\\nมาดา\\nมาตงค์\\nมาตร\\nมาตรา\\nมาตฤ\\nมาตังคะ\\nมาตา\\nมาตามหัยกะ\\nมาตามหัยกา\\nมาตามหัยยิกา\\nมาติกะ\\nมาติกา\\nมาตุ\\nมาตุจฉา\\nมาตุรงค์\\nมาตุเรศ\\nมาตุละ\\nมาตุลา\\nมาตุลานี\\nมาทะ\\nมาธยมิก\\nมาธยมิกะ\\nมาธุระ\\nมาธุสร\\nมาธูระ\\nมาน\\nม่าน\\nม้าน\\nมานพ\\nมานะ\\nมานัต\\nมานัส\\nมานิต\\nมานี\\nมานุษ\\nมานุษยวิทยา\\nมาโนชญ์\\nมาบ\\nมาภา\\nม้าม\\nม่าย\\nมายา\\nมาร\\nมาราธิราช\\nมารค\\nมารดร\\nมารดา\\nมารยา\\nมารยาท\\nมารศรี\\nมารษา\\nมาริต\\nมารุต\\nมาลย์\\nมาลัย\\nมาลา\\nมาลาตี\\nมาลาเรีย\\nมาลินี\\nมาลี\\nมาลุต\\nมาศ\\nมาส\\nมาสก\\nมาห์\\nม่าห์\\nมาหิส\\nม่าเหมี่ยว\\nมาฬก\\nมิ\\nมิค\\nมิคสัญญี\\nมิ่ง\\nมิจฉา\\nมิด\\nมิตร\\nมิติ\\nมิเตอร์\\nมิถยา\\nมิถุน\\nมิถุนายน\\nมิทธะ\\nมินตรา\\nมินตา\\nมินหม้อ\\nมิ่ม\\nมิ้ม\\nมิไย\\nมิรันตี\\nมิลลิกรัม\\nมิลลิบาร์\\nมิลลิเมตร\\nมิลลิลิตร\\nมิลักขะ\\nมิลักขู\\nมิส\\nมิสกรี\\nมิสกวัน\\nมิสซา\\nมี\\nมี่\\nมีด\\nมีเทน\\nมีน\\nมีนาคม\\nมี่สั้ว\\nมึง\\nมึน\\nมืด\\nมืน\\nมื่น\\nมือ\\nมื้อ\\nมุ\\nมุก\\nมุกดา\\nมุกดาหาร\\nมุกุระ\\nมุข\\nมุขเด็จ\\nมุขยประโยค\\nมุโขโลกนะ\\nมุคคะ\\nมุง\\nมุ่ง\\nมุ้ง\\nมุจฉา\\nมุจนะ\\nมุจลินท์\\nมุญจนะ\\nมุญชะ\\nมุฐิ\\nมุณฑกะ\\nมุณฑะ\\nมุด\\nมุตกิด\\nมุตฆาต\\nมุตตะ\\nมุตตา\\nมุตติ\\nมุตะ\\nมุติ\\nมุททา\\nมุทธชะ\\nมุทธา\\nมุทธาภิเษก\\nมุทรา\\nมุทริกา\\nมุทะลุ\\nมุทา\\nมุทิกา\\nมุทิงค์\\nมุทิตา\\nมุทุ\\nมุทุตา\\nมุ่น\\nมุนิ\\nมุนินทร์\\nมุนี\\nมุบ\\nมุบมิบ\\nมุม\\nมุ้ม\\nมุ่ย\\nมุรธา\\nมุรธาภิเษก\\nมุสละ\\nมุสลิม\\nมุสา\\nมุสิก\\nมุหงิด\\nมุหน่าย\\nมุหุต\\nมุฮัมมัด\\nมูก\\nมูเซอ\\nมูตร\\nมู่ทู่\\nมูน\\nมูมมาม\\nมูรติ\\nมูรธา\\nมูรธาภิเษก\\nมูล\\nมูละ\\nมูลา\\nมูลิกากร\\nมู่ลี่\\nมู่เล่\\nมูสัง\\nมูสิก\\nมูสิกะ\\nมูสิกทันต์\\nเม\\nเม็ก\\nเมกะเฮิรตซ์\\nเมขลา\\nเมฆ\\nเมฆา\\nเมฆินทร์\\nเมฆี\\nเม็ง\\nเม็ด\\nเมตตา\\nเมตไตรย\\nเมตร\\nเมตริก\\nเมตริกตัน\\nเมถุน\\nเมท\\nเมโท\\nเมทนี\\nเมทินี\\nเมทนีดล\\nเมทานอล\\nเมทิลแอลกอฮอล์\\nเมธ\\nเมธา\\nเมธาวี\\nเมธี\\nเมน\\nเม่น\\nเม้น\\nเมนเดลีเวียม\\nเมนทอล\\nเม้ม\\nเมรัย\\nเมริเดียน\\nเมรุ\\nเมล์\\nเมล็ด\\nเมลือง\\nเมษ\\nเมษายน\\nเมห์\\nเมหนะ\\nเมหะ\\nเมะ\\nเมา\\nเม่า\\nเม้า\\nเมารี\\nเมาลี\\nเมาฬี\\nเมาะ\\nเมิง\\nเมิน\\nเมิล\\nเมีย\\nเมียง\\nเมี่ยง\\nเมี้ยน\\nเมือ\\nเมื้อ\\nเมื่อ\\nเมือก\\nเมือง\\nเมือบ\\nเมื่อย\\nแม่\\nแม้\\nแมก\\nแมกนีเซียม\\nแมง\\nแมงกะพรุน\\nแมงกานิน\\nแมงกานีส\\nแมงคา\\nแมงคาเรือง\\nแมงช้าง\\nแมงดา\\nแมงลัก\\nแม่ตะงาว\\nแมน\\nแม่น\\nแม้น\\nแมลง\\nแมลบ\\nแมว\\nแม้ว\\nแมะ\\nโม\\nโม่\\nโม้\\nโมก\\nโมกข์\\nโมกษะ\\nโมฆกรรม\\nโมฆสัญญา\\nโมฆะ\\nโมฆียกรรม\\nโมฆียะ\\nโมง\\nโม่ง\\nโมงครุ่ม\\nโมทนา\\nโมโนแซ็กคาไรด์\\nโมไนย\\nโมเม\\nโมเมนต์\\nโมเย\\nโมรา\\nโมรี\\nโมเรส\\nโมลิบดีนัม\\nโมลี\\nโมเลกุล\\nโมเสก\\nโมเสส\\nโม่ห์\\nโมหะ\\nโมหันธ์\\nโมหาคติ\\nโมโห\\nไม่\\nไม้\\nไมกา\\nไมครอน\\nไมโครกรัม\\nไมโครฟิล์ม\\nไมโครโฟน\\nไมโครมิเตอร์\\nไมโครเมตร\\nไมโครลิตร\\nไมโครเวฟ\\nไมตรี\\nไมยราบ\\nไมล์\\nยก\\nยกกระบัตร\\nยกนะ\\nยง\\nยงโย่\\nยชุรเวท\\nยติ\\nยติภังค์\\nยถากรรม\\nยถาภูตญาณ\\nย่น\\nยนต์\\nยนตร์\\nยม\\nยมก\\nยมโดย\\nยมนา\\nยมล\\nยมะ\\nยรรยง\\nยล\\nยวง\\nยวด\\nยวน\\nยวบ\\nย้วย\\nยวรยาตร\\nยศ\\nยโส\\nยอ\\nย่อ\\nยอก\\nย็อกแย็ก\\nยอง\\nย่อง\\nย้อง\\nยอด\\nยอน\\nย้อน\\nยอบ\\nยอม\\nย่อม\\nย้อม\\nย่อย\\nย้อย\\nย้อแย้\\nยะ\\nย่ะ\\nยะยอบ\\nยะยับ\\nยัก\\nยักข์\\nยักขินี\\nยักษ์\\nยักษา\\nยักษิณี\\nยักษี\\nยัง\\nยั้ง\\nยั่งยืน\\nยัชโญปวีต\\nยัญ\\nยัญญะ\\nยัด\\nยัติภังค์\\nยัน\\nยั่น\\nยันต์\\nยันตร\\nยันตร์\\nยันตรกรรม\\nยั่นตะนี\\nยับ\\nยั่ว\\nยั้ว\\nยั้วเยี้ย\\nยัวรยาตร\\nยัวะ\\nยัษฏิ\\nยา\\nย่า\\nยาก\\nยาคุ\\nยาคู\\nยาง\\nย่าง\\nยางพารา\\nยาจก\\nยาจนา\\nยาไฉน\\nยาด\\nยาดา\\nยาตร\\nยาตรา\\nยาน\\nย่าน\\nย่านพาโหม\\nยานมาศ\\nยานุมาศ\\nยานี\\nยาม\\nย่าม\\nยามะ\\nยามักการ\\nยามา\\nยาย\\nย้าย\\nยายี\\nยาว\\nย้าว\\nยาวกาลิก\\nยาวชีวิก\\nยาสูบ\\nย่าหยา\\nยาหยี\\nยำ\\nย่ำ\\nย้ำ\\nยำเยีย\\nยิก\\nยิง\\nยิ่ง\\nยิฏฐะ\\nยิน\\nยิบ\\nยิบหยี\\nยิปซัม\\nยิปซี\\nยิ้ม\\nยิมนาสติก\\nยิหวา\\nยี\\nยี่\\nยี้\\nยี่ก่า\\nยี่เก\\nยี่เข่ง\\nยี่โถ\\nยีน\\nยี่โป้\\nยี่ภู่\\nยีราฟ\\nยี่สก\\nยี่สง\\nยี่สน\\nยี่สาน\\nยี่สุ่น\\nยี่หระ\\nยี่หร่า\\nยี่ห้อ\\nยี่หุบ\\nยึกยัก\\nยึกยือ\\nยึด\\nยืด\\nยืน\\nยื่น\\nยืม\\nยื้อ\\nยุ\\nยุกกระบัตร\\nยุกดิ\\nยุกติ\\nยุกติธรรม\\nยุกต์\\nยุค\\nยุคนธร\\nยุคล\\nยุคันต์\\nยุคันธร\\nยุคุนธร\\nยุง\\nยุ่ง\\nยุ้ง\\nยุด\\nยุต\\nยุติ\\nยุทธ\\nยุทธ์\\nยุทธนา\\nยุทโธปกรณ์\\nยุบ\\nยุ่บ\\nยุ่บยั่บ\\nยุบล\\nยุพดี\\nยุพเรศ\\nยุพา\\nยุพาน\\nยุพาพาล\\nยุพาพิน\\nยุ่มย่าม\\nยุ่ย\\nยุ้ย\\nยุรยาตร\\nยูรยาตร\\nยุวชน\\nยุวดี\\nยุวราช\\nยุวา\\nยุวาน\\nยู\\nยู่\\nยูง\\nยูโด\\nยูถะ\\nยูถิกา\\nยูริก\\nยูเรนัส\\nยูเรเนียม\\nยูโรเพียม\\nเย\\nเย้\\nเยง\\nเยซู\\nเย็ด\\nเย็น\\nเย็นตาโฟ\\nเย็นเตาโฟ\\nเย็บ\\nเย้ย\\nเยอ\\nเย่อ\\nเยอรมัน\\nเยอว\\nเย่อหยิ่ง\\nเยอะ\\nเยอะแยะ\\nเยา\\nเย้า\\nเยาว์\\nเยาวชน\\nเยาวมาลย์\\nเยาวยอด\\nเยาวราช\\nเยาวเรศ\\nเยาวลักษณ์\\nเยาวพา\\nเยาวพาณี\\nเยาวพาน\\nเยาะ\\nเยิง\\nเยิน\\nเยิ่น\\nเยิ่นเย้อ\\nเยินยอ\\nเยิบ\\nเยิบยาบ\\nเยิ้ม\\nเยีย\\nเยี่ยง\\nเยี่ยงอย่าง\\nเยียงผา\\nเยียดยัด\\nเยียน\\nเยียบ\\nเยี่ยม\\nเยียรบับ\\nเยียรยง\\nเยียว\\nเยี่ยว\\nเยียวยา\\nเยือ\\nเยื่อ\\nเยื้อ\\nเยือก\\nเยือง\\nเยื่อง\\nเยื้อง\\nเยือน\\nเยื้อน\\nแย่\\nแย้\\nแยก\\nแยง\\nแย่ง\\nแย้ง\\nแยงแย่\\nแยงแย้\\nแยบ\\nแย็บ\\nแยม\\nแย้ม\\nแยแส\\nแยะ\\nโย\\nโย้\\nโยก\\nโยกเยก\\nโยคาพจร\\nโยคาวจร\\nโยคเกณฑ์\\nโยคยะ\\nโยคะ\\nโยคิน\\nโยคี\\nโยง\\nโย่ง\\nโย่งเย่ง\\nโยงโย่\\nโยชน์\\nโยชนา\\nโยถิกะ\\nโยทะกา\\nโยธวาทิต\\nโยธา\\nโยธิน\\nโยน\\nโยนก\\nโยนิโส\\nโยนี\\nโยม\\nโยโส\\nใย\\nไย\\nไย่\\nไยดี\\nไยไพ\\nรก\\nรง\\nรงค์\\nรงควัตถุ\\nรงรอง\\nรจนา\\nรจเรข\\nรจเลข\\nรจิต\\nรชตะ\\nรชนิ\\nรชนี\\nรชะ\\nรณรงค์\\nรด\\nรดี\\nรตนะ\\nรตะ\\nรติ\\nรถ\\nรน\\nร่น\\nรบ\\nรบาญ\\nรพี\\nรม\\nร่ม\\nรมณี\\nรมณีย์\\nรมณียสถาน\\nรมย์\\nรมเยศ\\nรยางค์\\nรวก\\nรวง\\nร่วง\\nรวด\\nรวน\\nรวนเร\\nร่วน\\nรวบ\\nรวม\\nร่วม\\nรวย\\nรวิ\\nรวิวาร\\nรวี\\nรศนา\\nรส\\nรสนา\\nรสสุคนธ์\\nรสายนเวท\\nรสิก\\nรหัท\\nรหัส\\nรโห\\nรโหฐาน\\nรอ\\nร่อ\\nรอก\\nรอง\\nร่อง\\nร้อง\\nรองเง็ง\\nร่องแร่ง\\nรอด\\nรอน\\nร่อน\\nร้อน\\nรอบ\\nรอบคอบ\\nรอม\\nรอมชอม\\nรอมร่อ\\nรอย\\nร่อย\\nร้อย\\nร่อแร่\\nระ\\nระกะ\\nระกา\\nระกำ\\nระเกะระกะ\\nระคน\\nระคาง\\nระคาย\\nระแคะ\\nระฆัง\\nระงม\\nระงับ\\nระแง้\\nระโงกหิน\\nระชวย\\nระดม\\nระดะ\\nระดับ\\nระดา\\nระด่าว\\nระดู\\nระเด่น\\nระเดียง\\nระแด\\nระตู\\nระทก\\nระทด\\nระทม\\nระทวย\\nระทา\\nระทึก\\nระแทะ\\nระนาด\\nระนาบ\\nระนาม\\nระนาว\\nระเนน\\nระเนระนาด\\nระเนียด\\nระแนง\\nระแนะ\\nระบบ\\nระบม\\nระบอบ\\nระบัด\\nระบับ\\nระบาด\\nระบาย\\nระบำ\\nระบิล\\nระบือ\\nระบุ\\nระเบง\\nระเบ็ง\\nระเบิด\\nระเบียง\\nระเบียน\\nระเบียบ\\nระแบบ\\nระมัดระวัง\\nระมาด\\nระเมียร\\nระย่อ\\nระย่อม\\nระยะ\\nระยั้ง\\nระยับ\\nระย้า\\nระยาบ\\nระยำ\\nระยิบระยับ\\nระโยง\\nระโยงระยาง\\nระรวย\\nระรอง\\nระร่อน\\nระรัว\\nระราน\\nระร่าย\\nระริก\\nระรี่\\nระรึง\\nระรื่น\\nระรื้น\\nระเร้ง\\nระเริง\\nระเรียง\\nระเรื่อย\\nระแรง\\nระลวง\\nระลอก\\nระลึก\\nระวัง\\nระวาง\\nระวาย\\nระวิง\\nระแวง\\nระแวดระวัง\\nระไว\\nระส่ำระสาย\\nระหกระเหิน\\nระหง\\nระหวย\\nระหว่าง\\nระหองระแหง\\nระหัด\\nระหาย\\nระเห็จ\\nระเหย\\nระเหระหน\\nระเหหน\\nระเหิด\\nระเหินระหก\\nระแหง\\nระโหย\\nระอา\\nระอิดระอา\\nระอุ\\nรัก\\nรักข์\\nรักขิต\\nรักตะ\\nรักบี้\\nรักเร่\\nรักแร้\\nรักษ์\\nรักษา\\nรัง\\nรั้ง\\nรังเกียจ\\nรังแก\\nรังค์\\nรังควาน\\nรังแค\\nรังรอง\\nรังวัด\\nรังสิ\\nรังสี\\nรังสิมันตุ์\\nรังสิมา\\nรัจฉา\\nรัช\\nรัชชูปการ\\nรัชมังคลาภิเษก\\nรัชชุ\\nรัชฎาภิเษก\\nรัชดาภิเษก\\nรัชนะ\\nรัชนี\\nรัญจวน\\nรัฏฐาภิปาลโนบาย\\nรัฐ\\nรัฐประศาสโนบาย\\nรัฐประศาสนศาสตร์\\nรัด\\nรัต\\nรัตกัมพล\\nรัตมณี\\nรัตคน\\nรัตจันทน์\\nรัตตัญญู\\nรัตติ\\nรัตน์\\nรัตนะ\\nรัตนโกสินทร์\\nรัตนโกสินทรศก\\nรัตนชาติ\\nรัตนตรัย\\nรัตนบัลลังก์\\nรัตนวราภรณ์\\nรัตนสิงหาสน์\\nรัตนา\\nรัตนากร\\nรัตนาภรณ์\\nรัตนาวลี\\nรัตมา\\nรัถ\\nรัถยา\\nรัทเทอร์ฟอร์เดียม\\nรัน\\nรั้น\\nรันทด\\nรันทวย\\nรับ\\nรัมณียสถาน\\nรัมภา\\nรัมมี่\\nรัมย์\\nรัย\\nรัว\\nรั่ว\\nรั้ว\\nรัศมิมัต\\nรัศมิมาน\\nรัศมี\\nรัษฎากร\\nรัสเซีย\\nรัสสะ\\nรัสสระ\\nรา\\nร่า\\nร้า\\nราก\\nรากษส\\nรากสาด\\nราคะ\\nราคจริต\\nราคา\\nราคิน\\nราคี\\nราง\\nร่าง\\nร้าง\\nรางจืด\\nรางชาง\\nรางวัล\\nราช\\nราชกิจจานุเบกษา\\nราชนิกุล\\nราชวโรงการ\\nราชญี\\nราชดัด\\nราชพฤกษ์\\nราชมาณพ\\nราชมาษ\\nราชมาส\\nราชย์\\nราชสีห์\\nราชะ\\nราชัน\\nราชันย์\\nราชัย\\nราชา\\nราชาธิปไตย\\nราชาธิราช\\nราชาภิเษก\\nราชายตนะ\\nราชาวดี\\nราชี\\nราชินิกุล\\nราชินีกุล\\nราชินี\\nราชินูปถัมภ์\\nราชูปถัมภ์\\nราชูปโภค\\nราเชน\\nราเชนทร์\\nราเชนทรยาน\\nราโชวาท\\nราไชศวรรย์\\nราญ\\nราญรอน\\nราด\\nราต\\nราตร\\nราตรี\\nราน\\nร่าน\\nร้าน\\nราบ\\nราพณ์\\nราพณาสูร\\nราม\\nรามเกียรติ์\\nรามสูร\\nรามัญ\\nรามา\\nราย\\nร่าย\\nร้าย\\nราว\\nร้าว\\nราวี\\nราศี\\nราษฎร\\nราษฎร์\\nราษตรี\\nราษราตรี\\nราหุ\\nราหู\\nรำ\\nร่ำ\\nรำคาญ\\nรำงับ\\nรำจวน\\nรำบาญ\\nรำพัน\\nรำพาย\\nรำพึง\\nรำเพย\\nรำไพ\\nรำมะนา\\nรำมะนาด\\nรำมะร่อ\\nร่ำรวย\\nร่ำร่ำ\\nรำไร\\nรำลึก\\nรำหัด\\nรำหัส\\nริ\\nริก\\nริดสีดวง\\nริน\\nริ้น\\nริบ\\nริบบิ้น\\nริบรี่\\nริบหรี่\\nริปุ\\nริปู\\nริม\\nริ้ว\\nริษยา\\nรี\\nรี่\\nรี้พล\\nรีด\\nรีดักชัน\\nรีต\\nรีเนียม\\nรีบ\\nรีม\\nรีรอ\\nรี้ริก\\nรึง\\nรึ้ง\\nรื่น\\nรื้น\\nรื้อ\\nรุ\\nรุก\\nรุกข์\\nรุกขชาติ\\nรุกขเทวดา\\nรุกขมูล\\nรุกขา\\nรุกรุย\\nรุ่ง\\nรุ้ง\\nรุงรัง\\nรุ่งริ่ง\\nรุจ\\nรุจา\\nรุจนะ\\nรุจิ\\nรุจี\\nรุจิระ\\nรุจิรา\\nรุด\\nรุต\\nรุทธ์\\nรุทระ\\nรุธิร\\nรุธิระ\\nรุเธียร\\nรุน\\nรุ่น\\nรุบรู่\\nรุม\\nรุ่ม\\nรุ่มร่าม\\nรุย\\nรุ่ย\\nรุรุ\\nรุหะ\\nรู\\nรู่\\nรู้\\nรูจี\\nรูด\\nรูทีเนียม\\nรูบิเดียม\\nรูป\\nรูปิยะ\\nรูปี\\nรูเล็ตต์\\nเร่\\nเรข\\nเรขา\\nเรขาคณิต\\nเร็ง\\nเร่ง\\nเร้ง\\nเรณุ\\nเรณู\\nเรดอน\\nเรดาร์\\nเรเดียม\\nเร้น\\nเรรวน\\nเรไร\\nเร็ว\\nเร่ว\\nเรวดี\\nเรอ\\nเร่อ\\nเรา\\nเร่า\\nเร้า\\nเราะ\\nเริง\\nเริด\\nเริม\\nเริ่ม\\nเริ้ม\\nเริศร้าง\\nเรี่ย\\nเรี้ย\\nเรียก\\nเรียง\\nเรียด\\nเรียน\\nเรียบ\\nเรียม\\nเรี่ยม\\nเรียว\\nเรี่ยว\\nเรี้ยวรก\\nเรือ\\nเรื่อ\\nเรื้อ\\nเรือก\\nเรือง\\nเรื่อง\\nเรื้อง\\nเรืองรอง\\nเรือด\\nเรือน\\nเรื้อน\\nเรื่อย\\nแร\\nแร่\\nแรก\\nแร็กเกต\\nแรง\\nแร่ง\\nแร้ง\\nแรด\\nแร้นแค้น\\nแรม\\nแร้ว\\nแระ\\nโร\\nโร่\\nโรค\\nโรคา\\nโรคาพาธ\\nโรง\\nโรจ\\nโรจน์\\nโรเดียม\\nโรตี\\nโรท\\nโรธ\\nโรม\\nโรมัน\\nโรเมอร์\\nโรย\\nโรเร\\nโรหิณี\\nโรหิต\\nไร\\nไร่\\nไร้\\nไรย์\\nฤกษ์\\nฤกษณะ\\nฤคเวท\\nฤชา\\nฤชุ\\nฤณ\\nฤดี\\nฤดียา\\nฤดู\\nฤต\\nฤติยา\\nฤตุ\\nฤทธา\\nฤทธิ์\\nฤทัย\\nฤษภ\\nฤษยา\\nฤษี\\nฤๅ\\nฤๅดี\\nฤๅทัย\\nฤๅษี\\nฤๅสาย\\nลก\\nล่ก\\nลฆุ\\nลง\\nล่ง\\nลงกา\\nล้งเล้ง\\nลด\\nลดา\\nลดาวัลย์\\nลน\\nล้น\\nลบ\\nลบอง\\nลพ\\nลพุช\\nลม\\nล่ม\\nล้ม\\nลมาด\\nลรรลุง\\nลลนา\\nลลิต\\nลวก\\nลวง\\nล่วง\\nล้วง\\nลวณะ\\nลวด\\nล้วน\\nลวนลาม\\nลวนะ\\nล่วม\\nลวะ\\nลวิตร\\nลหุ\\nลหุกาบัติ\\nล่อ\\nล้อ\\nลอก\\nล็อก\\nล็อกเกต\\nลอกแลก\\nลอการิทึม\\nลอง\\nล่อง\\nลองกอง\\nลองจิจูด\\nลองไน\\nลอด\\nลอตเตอรี่\\nลอน\\nล่อน\\nลอบ\\nลอม\\nล้อม\\nลอมชอม\\nลอมพอก\\nลอย\\nล่อย\\nล่อแล่\\nลอว์เรนเซียม\\nลออ\\nละ\\nล่ะ\\nละคร\\nละติจูด\\nละบม\\nละบอง\\nละบือ\\nละเบ็ง\\nละโบม\\nละม่อม\\nละมั่ง\\nละมาน\\nละม้าย\\nละมุ\\nละมุด\\nละมุน\\nละเมอ\\nละเมาะ\\nละเมิด\\nละเมียด\\nละแมะ\\nละโมก\\nละโมบ\\nละไม\\nละลวย\\nละลอก\\nละล้า\\nละล้าละลัง\\nละลาน\\nละลาบละล้วง\\nละลาย\\nละล้าว\\nละล่ำละลัก\\nละลิบ\\nละลุม\\nละเลง\\nละเล้า\\nละเลาะ\\nละเลิง\\nละเลียด\\nละเลียบ\\nละไล้\\nละว้า\\nละวาด\\nละเวง\\nละแวก\\nละโว้\\nละหมาด\\nละห้อย\\nละหาน\\nละหาร\\nละหุ่ง\\nละเหย\\nละเหี่ย\\nละอง\\nละออง\\nละอาย\\nละเอียด\\nละแอน\\nลัก\\nลักขณะ\\nลักขณา\\nลักขะ\\nลักขี\\nลักจั่น\\nลักปิดลักเปิด\\nลักษณ์\\nลักษณนาม\\nลักษณะ\\nลักษณาการ\\nลักษมณ์\\nลักษมาณา\\nลักษมี\\nลักษะ\\nลัคคะ\\nลัคน์\\nลัคนา\\nลัง\\nลั่ง\\nลังกา\\nลังคี\\nลังถึง\\nลังลอง\\nลังเล\\nลังสาด\\nลัชชา\\nลัชชี\\nลัญจ์\\nลัญจกร\\nลัญฉกร\\nลัญฉน์\\nลัฐิ\\nลัฐิกา\\nลัด\\nลัดา\\nลัทธ์\\nลัทธิ\\nลัน\\nลั่น\\nลันเต\\nลันเตา\\nลันไต\\nลั่นทม\\nลันโทม\\nลับ\\nลัพธ์\\nลัพธิ\\nลัภ\\nลัภนะ\\nลัภย์\\nลัมพ์\\nลัย\\nลา\\nล่า\\nล้า\\nลาก\\nลาง\\nล่าง\\nล้าง\\nลางลิง\\nลางสาด\\nลาช\\nลาชะ\\nลาชา\\nลาญ\\nลาด\\nลาดเลา\\nล้าต้า\\nล่าเตียง\\nลาน\\nล่าน\\nล้าน\\nลาบ\\nลาพอน\\nลาภ\\nลาม\\nล่าม\\nลามก\\nลาย\\nล้าย\\nลายสือ\\nลาลา\\nลาว\\nลาวัณย์\\nลาวา\\nลำ\\nล่ำ\\nล้ำ\\nลำเข็ญ\\nลำแข\\nลำเค็ญ\\nลำเจียก\\nลำดวน\\nลำดับ\\nลำเนา\\nลำบอง\\nลำบาก\\nลำปำ\\nลำพวน\\nลำพอง\\nลำพัง\\nลำพู\\nลำเพ็ญ\\nลำเพา\\nลำแพน\\nลำโพง\\nลำไพ่\\nลำภุขัน\\nลำมะลอก\\nลำยอง\\nลำไย\\nลำลอง\\nล่ำลา\\nลำลาบ\\nลำลึก\\nลำเลาะ\\nลำเลิก\\nลำเลียง\\nลำเวียง\\nลำเอียก\\nลำเอียง\\nลิ\\nลิกขา\\nลิกไนต์\\nลิกู\\nลิเก\\nลิขนะ\\nลิขสิทธิ์\\nลิขิต\\nลิง\\nลิงค์\\nลิด\\nลิต\\nลิตมัส\\nลิตร\\nลิเทียม\\nลิ่น\\nลิ้น\\nลินจง\\nลิ้นจี่\\nลินลา\\nลินสีด\\nลิ่นฮื้อ\\nลินิน\\nลิบ\\nลิปดา\\nลิปสติก\\nลิปิ\\nลิฟต์\\nลิเภา\\nลิ่ม\\nลิ้ม\\nลิมป์\\nลิมปนะ\\nลิลิต\\nลิว\\nลิ่ว\\nลิสง\\nลี\\nลี่\\nลี้\\nลีซอ\\nลีบ\\nลีลา\\nลีลาศ\\nลีฬหา\\nลึก\\nลึงค์\\nลืด\\nลื่น\\nลื้น\\nลืบ\\nลืม\\nลือ\\nลื่อ\\nลื้อ\\nลุ\\nลุก\\nลุง\\nลุ้ง\\nลุ่น\\nลุ้น\\nลุพธ์\\nลุ่ม\\nลุมพี\\nลุมพู\\nลุย\\nลุ่ย\\nลุ้ย\\nลู่\\nลูก\\nลูกระมาศ\\nลูกเอ็น\\nลูขะ\\nลูทีเชียม\\nลูบ\\nเลก\\nเล็ก\\nเลข\\nเลขา\\nเลขาธิการ\\nเลขานุการ\\nเล็ง\\nเล้ง\\nเล่งฮื้อ\\nเลเซอร์\\nเลฑฑุ\\nเลณฑุ\\nเลณะ\\nเล็ด\\nเลน\\nเล็น\\nเล่น\\nเลนส์\\nเล็บ\\nเลบง\\nเลปกร\\nเลปน์\\nเลเป\\nเลเพ\\nเล็ม\\nเล่ม\\nเลย\\nเลว\\nเลวง\\nเลวูโลส\\nเลศ\\nเลษฏุ\\nเล่ห์\\nเล่ห์กระเท่ห์\\nเลหลัง\\nเลหะ\\nเลอ\\nเล่อ\\nเลอะ\\nเลอะเทอะ\\nเละ\\nเละเทะ\\nเลา\\nเล่า\\nเล้า\\nเลากัย\\nเล้าโลม\\nเลาะ\\nเลิก\\nเลิ่กลั่ก\\nเลิง\\nเลิ้ง\\nเลินเล่อ\\nเลิศ\\nเลีย\\nเลียง\\nเลี่ยง\\nเลี้ยง\\nเลียงผา\\nเลียงฝ้าย\\nเลียงมัน\\nเลียน\\nเลี่ยน\\nเลียนไฟ\\nเลียบ\\nเลี่ยม\\nเลียว\\nเลี้ยว\\nเลือก\\nเลือง\\nเลื่อง\\nเลือด\\nเลือน\\nเลื่อน\\nเลื่อม\\nเลื่อย\\nเลื้อย\\nเลื่อยล้า\\nแล\\nแล่\\nแล้\\nแลก\\nแล็กเกอร์\\nแล็กโทส\\nแลง\\nแล่ง\\nแล้ง\\nแลน\\nแล่น\\nแลนทานัม\\nแลบ\\nแล้ว\\nและ\\nโล่\\nโล้\\nโลก\\nโลกเชษฐ์\\nโลกธรรม\\nโลกธาตุ\\nโลกนาถ\\nโลกบาล\\nโลกย์\\nโลกัย\\nโลกวัชชะ\\nโลกวิทู\\nโลกัตถจริยา\\nโลกันตร์\\nโลกา\\nโลกาธิบดี\\nโลกาธิปไตย\\nโลกานุวัตร\\nโลกาภิวัตน์\\nโลกามิส\\nโลกายัต\\nโลกาวินาศ\\nโลกิยะ\\nโลกีย์\\nโลกียวัตร\\nโลกียวิสัย\\nโลกียสุข\\nโลกุตระ\\nโลกุตรธรรม\\nโลกุตรภูมิ\\nโลง\\nโล่ง\\nโล้ง\\nโล่งโจ้ง\\nโล่งโต้ง\\nโล้งโต้ง\\nโลจนะ\\nโลณะ\\nโลด\\nโล่ติ๊น\\nโลโต\\nโลท\\nโลน\\nโล้น\\nโลภ\\nโลม\\nโลมเล้า\\nโลมะ\\nโลมา\\nโลลุป\\nโลเล\\nโลโล\\nโลโล้\\nโลหะ\\nโลหกุมภี\\nโลหัช\\nโลหิต\\nไล่\\nไล้\\nไลย\\nไลลา\\nไล่เลี่ย\\nฦๅ\\nฦๅชา\\nฦๅสาย\\nวก\\nวง\\nวงก์\\nวงกต\\nวงศ์\\nวงศกร\\nวงศา\\nวงษ์\\nวจนะ\\nวจี\\nวชิระ\\nวชิรปาณี\\nวชิรหัตถ์\\nวชิราวุธ\\nวฏะ\\nวฏาการ\\nวณิช\\nวณิชชา\\nวณิชย์\\nวณิชยา\\nวณิพก\\nวดี\\nวทนะ\\nวทัญญุตา\\nวทัญญู\\nวธุกา\\nวธู\\nวน\\nวนศาสตร์\\nวนสณฑ์\\nวนสัณฑ์\\nวนอุทยาน\\nวนัส\\nวนัสบดี\\nวนา\\nวนาดร\\nวนาดอน\\nวนานต์\\nวนาลัย\\nวนาลี\\nวนาวาส\\nวนาศรม\\nวนาสณฑ์\\nวนาสัณฑ์\\nวนิดา\\nวนิพก\\nวเนจร\\nวโนทยาน\\nวยัคฆ์\\nวยากรณ์\\nวรดนู\\nวรทาน\\nวรมหาวิหาร\\nวรงค์\\nวรณะ\\nวรรค\\nวรรคย์\\nวรรช\\nวรรชย์\\nวรรณะ\\nวรรณกรรม\\nวรรณคดี\\nวรรณยุกต์\\nวรรณยุต\\nวรรณศิลป์\\nวรรณนา\\nวรรณพฤติ\\nวรรณึก\\nวรรธกะ\\nวรรธนะ\\nวรรษ\\nวรรษา\\nวรวิหาร\\nวรัญญู\\nวรางคณา\\nวรางคนา\\nวราห์\\nวราหะ\\nวรุณ\\nวโรดม\\nวฤก\\nวลัช\\nวลัญช์\\nวลัญชน์\\nวลัย\\nวลาหก\\nวลี\\nวศค\\nวศะ\\nวศิน\\nวสนะ\\nวสภะ\\nวสละ\\nวสวัดดี\\nวสวัตตี\\nวสะ\\nวสันต์\\nวสันตดิลก\\nวสันตฤดู\\nวสันตวิษุวัต\\nวสา\\nวสี\\nวสุ\\nวสุธา\\nวสุนธรา\\nวสุมดี\\nวหะ\\nวอ\\nวอก\\nวอกแวก\\nว่องไว\\nวอด\\nวอน\\nว่อน\\nว็อบ\\nวอมแวม\\nวอลเลย์บอล\\nวอแว\\nวะ\\nวัก\\nวักกะ\\nวัคคีย์\\nวัคคุ\\nวัคซีน\\nวัง\\nวังก์\\nวังชา\\nวังเวง\\nวังศะ\\nวังสะ\\nวัจจะ\\nวัจกุฎี\\nวัจฉละ\\nวัจน์\\nวัช\\nวัชชะ\\nวัชพืช\\nวัชฌ์\\nวัชระ\\nวัชรปาณี\\nวัชรยาน\\nวัชรอาสน์\\nวัชราสน์\\nวัชรินทร์\\nวัชรี\\nวัชเรนทร์\\nวัฏ\\nวัฏฏะ\\nวัฏจักร\\nวัฏทุกข์\\nวัฏสงสาร\\nวัฏกะ\\nวัฏฏิ\\nวัฒกะ\\nวัฒกี\\nวัฒนธรรม\\nวัฒนะ\\nวัฒนา\\nวัณ\\nวัณโรค\\nวัณฏ์\\nวัณณะ\\nวัณนา\\nวัด\\nวัต\\nวัตต์\\nวัตตา\\nวัตถ์\\nวัตถาภรณ์\\nวัตถาลังการ\\nวัตถุ\\nวัตนะ\\nวัตร\\nวัตสดร\\nวัตสะ\\nวัติ\\nวัทน์\\nวัน\\nวันต์\\nวันทนา\\nวันทนาการ\\nวันทนีย์\\nวันทยหัตถ์\\nวันทยาวุธ\\nวันทา\\nวันทิ\\nวับ\\nวับวาบ\\nวับวาม\\nวับแวบ\\nวับแวม\\nวัปปะ\\nวัมมิกะ\\nวัย\\nวัลก์\\nวัลคุ\\nวัลย์\\nวัลลภ\\nวัลลี\\nวัว\\nวัสสะ\\nวัสโสทก\\nวัสดุ\\nวัสตร์\\nวัสน์\\nวัสนะ\\nวัสสานะ\\nวัสสานฤดู\\nวา\\nว่า\\nว้า\\nว้าเหว่\\nวาก\\nว้าก\\nวากยสัมพันธ์\\nวากยะ\\nวาง\\nว่าง\\nว้าง\\nวาจก\\nวาจา\\nวาจาไปยะ\\nวาจาล\\nวาชเปยะ\\nวาณิช\\nวาณิชกะ\\nวาณิชย์\\nวาณี\\nวาด\\nวาต\\nวาตะ\\nวาตภัย\\nวาท\\nวาทศาสตร์\\nวาทศิลป์\\nวาทกะ\\nวาทนะ\\nวาทย์\\nวาทยกร\\nวาทิต\\nวาทิน\\nวาที\\nวาน\\nวานซืน\\nว่าน\\nวานร\\nวานรินทร์\\nวาเนเดียม\\nวาบ\\nวาปี\\nวาม\\nวามน\\nวามนาวตาร\\nวามะ\\nวาย\\nว่าย\\nว้าย\\nวายะ\\nวาโย\\nวายามะ\\nวายุ\\nวายุกูล\\nวาร\\nวาระ\\nวารสาร\\nวารสารศาสตร์\\nวาริ\\nวารี\\nวาริช\\nวารีช\\nวาริท\\nวาริธร\\nวารุณ\\nวารุณี\\nวาล\\nวาลวีชนี\\nวาล์ว\\nวาลิกา\\nวาลุกา\\nวาว\\nว่าว\\nว้าว่อน\\nว้าวุ่น\\nวาสนะ\\nวาสนา\\nวาสพ\\nวาสะ\\nวาสิน\\nวาสี\\nวาสุกรี\\nวาสุกี\\nวาสุเทพ\\nวาหนะ\\nวาหะ\\nวาหินี\\nวาฬ\\nวิกขัมภ์\\nวิกขัมภนะ\\nวิกเขป\\nวิกรม\\nวิกรัย\\nวิกรานต์\\nวิกฤต\\nวิกฤติ\\nวิกล\\nวิกสิต\\nวิกัต\\nวิกัติ\\nวิกัติการก\\nวิกัป\\nวิกัย\\nวิการ\\nวิกาล\\nวิกาลโภชน์\\nวิคหะ\\nวิเคราะห์\\nวิฆเนศ\\nวิฆเนศวร\\nวิฆาต\\nวิง\\nวิ่ง\\nวิ่งเปี้ยว\\nวิงวอน\\nวิจฉิกะ\\nวิจล\\nวิจักขณ์\\nวิจักษ์\\nวิจักษณ์\\nวิจัย\\nวิจาร\\nวิจารณ์\\nวิจารณญาณ\\nวิจิ\\nวิจิกิจฉา\\nวิจิต\\nวิจิตร\\nวิจิน\\nวิจุณ\\nวิจุรณ\\nวิชชา\\nวิชชุ\\nวิชชุดา\\nวิชชุตา\\nวิชชุลดา\\nวิชญะ\\nวิชน\\nวิชนี\\nวิชย\\nวิชัย\\nวิชา\\nวิชานนะ\\nวิชิต\\nวิเชียร\\nวิญญัตติ\\nวิญญาณ\\nวิญญาณกทรัพย์\\nวิญญู\\nวิฑูรย์\\nวิด\\nวิตก\\nวิตถาร\\nวิตามิน\\nวิถี\\nวิทธะ\\nวิทยฐานะ\\nวิทยา\\nวิทยาคม\\nวิทยาคาร\\nวิทยาลัย\\nวิทยุ\\nวิทยุต\\nวิทวัส\\nวิทัตถิ\\nวิทัศน์\\nวิทารณ์\\nวิทิต\\nวิทู\\nวิทูร\\nวิเทศ\\nวิเทโศบาย\\nวิธ\\nวิธวา\\nวิธาน\\nวิธี\\nวิธุระ\\nวิธู\\nวิธูปนะ\\nวิ่น\\nวินตกะ\\nวินัย\\nวินาที\\nวินายก\\nวินาศ\\nวินิจ\\nวินิจฉัย\\nวินิต\\nวินิบาต\\nวินิปาติก\\nวิเนต\\nวิบัติ\\nวิบาก\\nวิบุล\\nวิบุลย์\\nวิบูล\\nวิบูลย์\\nวิปการ\\nวิปฏิสาร\\nวิปโยค\\nวิประโยค\\nวิปริต\\nวิปลาส\\nวิปวาส\\nวิปักษ์\\nวิปัสสก\\nวิปัสสนา\\nวิปัสสนายานิก\\nวิพากษ์\\nวิพิธทัศนา\\nวิพุธ\\nวิภว\\nวิภวตัณหา\\nวิภังค์\\nวิภัช\\nวิภัตติ\\nวิภา\\nวิภาค\\nวิภาช\\nวิภาดา\\nวิภาวี\\nวิภาษ\\nวิภาส\\nวิภู\\nวิภูษณะ\\nวิภูษา\\nวิภูษิต\\nวิมน\\nวิมล\\nวิมลัก\\nวิมังสา\\nวิมัติ\\nวิมาน\\nวิมุข\\nวิมุต\\nวิมุตติ\\nวิเมลือง\\nวิโมกข์\\nวิโยค\\nวิระ\\nวิรงรอง\\nวิรังรอง\\nวิรัช\\nวิรัต\\nวิรัติ\\nวิราคะ\\nวิราม\\nวิริยภาพ\\nวิริยะ\\nวิรุธ\\nวิรุฬห์\\nวิรุฬหก\\nวิรูป\\nวิรูปักษ์\\nวิเรนทร์\\nวิโรจ\\nวิโรจน์\\nวิโรฒ\\nวิโรธ\\nวิลันดา\\nวิลัย\\nวิลาด\\nวิลาศ\\nวิลาป\\nวิลาวัณย์\\nวิลาส\\nวิลาสินี\\nวิลิปดา\\nวิลิศมาหรา\\nวิเลป\\nวิเลปนะ\\nวิโลกนะ\\nวิโลม\\nวิไล\\nวิไลวรรณ\\nวิวรณ์\\nวิวรรธน์\\nวิวัฏ\\nวิวัฒน์\\nวิวัฒนาการ\\nวิวัน\\nวิวาท\\nวิวาห์\\nวิวาหมงคล\\nวิวาหะ\\nวิวิต\\nวิวิธ\\nวิเวก\\nวิศรุต\\nวิศว\\nวิศวกร\\nวิศวกรรม\\nวิศวกรรมศาสตร์\\nวิศัลย์\\nวิศาขบูชา\\nวิศาขา\\nวิศาล\\nวิศิษฏ์\\nวิศุทธ์\\nวิศุทธิ์\\nวิเศษ\\nวิเศษณ์\\nวิษณุ\\nวิษณุกรรม\\nวิษธร\\nวิษัย\\nวิษาณ\\nวิษุวัต\\nวิสกี้\\nวิสรรชนีย์\\nวิสฤต\\nวิสสุกรรม\\nวิสัชนา\\nวิสัญญี\\nวิสัย\\nวิสัยทัศน์\\nวิสาขบูชา\\nวิสาขะ\\nวิสาขา\\nวิสามัญ\\nวิสามานยนาม\\nวิสาร\\nวิสารทะ\\nวิสาล\\nวิสาสะ\\nวิสาหกิจ\\nวิสิฐ\\nวิสุงคามสีมา\\nวิสุทธ์\\nวิสุทธิ์\\nวิสูตร\\nวิเสท\\nวิหค\\nวิหลั่น\\nวิหาร\\nวิหิงสา\\nวิเหสา\\nวิฬาร\\nวิฬาร์\\nวี\\nวีจิ\\nวีชนี\\nวีณา\\nวี้ด\\nวีรกรรม\\nวีรชน\\nวีรบุรุษ\\nวีรสตรี\\nวี่วัน\\nวี่แวว\\nวีสะ\\nวุ้ง\\nวุฐิ\\nวุฒ\\nวุฒิ\\nวุด\\nวุ่น\\nวุ้น\\nวุบ\\nวุ้ย\\nวุลแฟรม\\nวู้\\nวูดวาด\\nวูบ\\nวู่วาม\\nเว้\\nเวค\\nเวคิน\\nเวคี\\nเวจ\\nเวช\\nเวชยันต์\\nเวฐน์\\nเวณิ\\nเวณิก\\nเวณุ\\nเวตน์\\nเวตร\\nเวตาล\\nเวท\\nเวทคู\\nเวทนา\\nเวทย์\\nเวทัลละ\\nเวทางค์\\nเวทางคศาสตร์\\nเวทานต์\\nเวทานตะ\\nเวทิ\\nเวที\\nเวธะ\\nเวน\\nเว้น\\nเวนไตย\\nเวไนย\\nเวมัต\\nเว้ย\\nเวยยากรณะ\\nเวร\\nเวรมณี\\nเวรี\\nเวโรจน์\\nเวลา\\nเวเลนซี\\nเวศม์\\nเวศย์\\nเวศยา\\nเวสน์\\nเวสภู\\nเวสม์\\nเวสวัณ\\nเวสสะ\\nเวสสันดร\\nเวสสุกรรม\\nเวสสุวัณ\\nเวสารัช\\nเวสิยา\\nเวหน\\nเวหะ\\nเวหา\\nเวหาส\\nเวฬุ\\nเวฬุริยะ\\nเว่อ\\nเว้า\\nเวิก\\nเวิ้ง\\nเวี่ย\\nเวียง\\nเวียด\\nเวียดนาม\\nเวียน\\nเวียร\\nเวี่ยว\\nแว้\\nแวง\\nแว้ง\\nแวด\\nแว้ด\\nแวน\\nแว่น\\nแวนดา\\nแวบ\\nแว็บ\\nแวม\\nแว็ม\\nแวว\\nแว่ว\\nแวะ\\nโว\\nโว่\\nโวการ\\nโว่ง\\nโวทาน\\nโวย\\nโว้ย\\nโว้เว้\\nโวหาร\\nไว\\nไว้\\nไวกูณฐ์\\nไวฑูรย์\\nไวทย์\\nไวน์\\nไวพจน์\\nไวยากรณ์\\nไวยาวัจกร\\nไวยาวัจมัย\\nไวรัส\\nไววรรณ\\nไวษณพ\\nไวโอลิน\\nศก\\nศกุน\\nศกุนต์\\nศกุนิ\\nศกุนี\\nศจี\\nศตะ\\nศตภิษัช\\nศตวรรษ\\nศตพรรษ\\nศตกะ\\nศนิ\\nศพ\\nศมนะ\\nศมะ\\nศยาม\\nศยามล\\nศร\\nศรายุธ\\nศราวรณ์\\nศรรกรา\\nศรวณะ\\nศรวณีย์\\nศรวิษฐา\\nศรัณย์\\nศรัณยู\\nศรัท\\nศรัทธา\\nศรัย\\nศราทธ์\\nศราทธพรต\\nศราพก\\nศราวก\\nศราวณะ\\nศรี\\nศรีตรัง\\nศรุติ\\nศฤคาล\\nศฤงค์\\nศฤงคาร\\nศฤงคาริน\\nศฤงคารี\\nศลิษฏ์\\nศลิษา\\nศวะ\\nศวัส\\nศวา\\nศวาน\\nศศะ\\nศศธร\\nศศพินทุ์\\nศศลักษณ์\\nศศิ\\nศศิน\\nศศี\\nศศิขัณฑ์\\nศศิธร\\nศศิมณฑล\\nศศิวิมล\\nศอ\\nศอก\\nศักดา\\nศักดิ\\nศักดิ์\\nศักดินา\\nศักติ\\nศักย\\nศักยภาพ\\nศักย์\\nศักยะ\\nศักร\\nศักรินทร์\\nศักเรนทร์\\nศักราช\\nศังกร\\nศัตรู\\nศันสนะ\\nศันสนีย์\\nศัพท์\\nศัยยา\\nศัล\\nศัลย์\\nศัลยกรรม\\nศัลยแพทย์\\nศัลยศาสตร์\\nศัสดร\\nศัสตร\\nศัสตรศาสตร์\\nศัสตรา\\nศัสตราวุธ\\nศากตะ\\nศากย\\nศากยะ\\nศากยพุทธ\\nศากยมุนี\\nศาฎก\\nศาณ\\nศานต์\\nศานติ\\nศาป\\nศารท\\nศารทูล\\nศาริกา\\nศาล\\nศาลา\\nศาศวัต\\nศาสดา\\nศาสตร์\\nศาสตรา\\nศาสตราจารย์\\nศาสนา\\nศาสนกิจ\\nศาสนจักร\\nศาสนธรรม\\nศาสนบุคคล\\nศาสนพิธี\\nศาสนวัตถุ\\nศาสนศาสตร์\\nศาสนสถาน\\nศาสนสมบัติ\\nศาสนิกชน\\nศาสนีย์\\nศาสนูปถัมภก\\nศาสน์\\nศิกษก\\nศิการ\\nศิขร\\nศิขริน\\nศิขรี\\nศิขัณฑ์\\nศิคาล\\nศิงขร\\nศิงขริน\\nศิตะ\\nศิถี\\nศิพิระ\\nศิระ\\nศิรประภา\\nศิราภรณ์\\nศิโรรัตน์\\nศิโรเวฐน์\\nศิรา\\nศิรามพุช\\nศิโรราบ\\nศิลป\\nศิลป์\\nศิลปะ\\nศิลปกร\\nศิลปกรรม\\nศิลปกิจ\\nศิลปวัตถุ\\nศิลปวิทยา\\nศิลปศาสตร์\\nศิลปศึกษา\\nศิลปหัตถกรรม\\nศิลปิน\\nศิลปี\\nศิลา\\nศิวะ\\nศิวโมกข์\\nศิวลึงค์\\nศิวเวท\\nศิวาลัย\\nศิศีระ\\nศิษฎิ\\nศิษฏ์\\nศิษย์\\nศิษยานุศิษย์\\nศีขร\\nศีต\\nศีตกาล\\nศีรษะ\\nศีล\\nศึก\\nศึกษา\\nศึกษาธิการ\\nศึกษานิเทศก์\\nศุกร์\\nศุกรวรรณ\\nศุกรวาร\\nศุกระ\\nศุกล\\nศุกลปักษ์\\nศุจิ\\nศุทธะ\\nศุทธิ\\nศุนะ\\nศุนิ\\nศุภกร\\nศุภเคราะห์\\nศุภนิมิต\\nศุภมัสดุ\\nศุภมาตรา\\nศุภมาส\\nศุภอักษร\\nศุภางค์\\nศูกร\\nศุลกากร\\nศุลการักษ์\\nศุลี\\nศุษิร\\nศูทร\\nศูนย์\\nศูนยวาท\\nศูละ\\nศูลิน\\nเศรณี\\nเศรษฐ\\nเศรษฐ์\\nเศรษฐกิจ\\nเศรษฐศาสตร์\\nเศรษฐี\\nเศร้า\\nเศลษ\\nเศวต\\nเศวตร\\nเศวตัมพร\\nเศษ\\nเศาจ\\nเศาร์\\nเศารยะ\\nเศิก\\nเศียร\\nโศก\\nโศกา\\nโศกาดูร\\nโศกาลัย\\nโศกี\\nโศจิ\\nโศธนะ\\nโศภน\\nโศภะ\\nโศภา\\nโศภิต\\nโศภิน\\nโศภิษฐ์\\nโศภี\\nโศรดา\\nโศรตร\\nโศลก\\nไศล\\nไศวะ\\nษมา\\nษัฏ\\nษัฑ\\nษัณ\\nษัษ\\nษัษฐะ\\nษัษฐี\\nโษฑศัน\\nสก\\nสกวาที\\nสกฏะ\\nสกทาคามิผล\\nสกิทาคามิผล\\nสกทาคามิมรรค\\nสกิทาคามิมรรค\\nสกทาคามี\\nสกิทาคามี\\nสกนธ์\\nสกปรก\\nสกรณีย์\\nสกรรจ์\\nสกรรมกริยา\\nสกล\\nสกลมหาสังฆปริณายก\\nสกัด\\nสกา\\nสกาว\\nสกี\\nสกุณ\\nสกุณา\\nสกุณี\\nสกุน\\nสกุนต์\\nสกุล\\nสเกต\\nสแกนเดียม\\nสขะ\\nสง\\nส่ง\\nสงกร\\nสงกรานต์\\nสงกา\\nสงค์\\nสงคร\\nสงคราม\\nสงเคราะห์\\nสงฆ์\\nสงบ\\nสงวน\\nส่งสการ\\nสงสัย\\nสงสาร\\nสงสารวัฏ\\nสงัด\\nสง่า\\nสฐะ\\nสณฑ์\\nสด\\nสดมภ์\\nสดับ\\nสดับปกรณ์\\nสดำ\\nสดุดี\\nสตะ\\nสตน\\nสตภิสชะ\\nสตรอนเชียม\\nสตริกนิน\\nสตรี\\nสตัฟฟ์\\nสตัมภ์\\nสตางค์\\nสติ\\nสติปัฏฐาน\\nสตี\\nสตู\\nสตูป\\nสเต๊ก\\nสถบดี\\nสถล\\nสถวีระ\\nสถาน\\nสถานะ\\nสถานี\\nสถาบัน\\nสถาปนา\\nสถาปนิก\\nสถาปัตยกรรม\\nสถาปัตยกรรมศาสตร์\\nสถาปัตยเรขา\\nสถาปัตยเวท\\nสถาพร\\nสถาวร\\nสถิต\\nสถิตยศาสตร์\\nสถิติ\\nสถิร\\nสถีรวาท\\nสถุล\\nสถูป\\nสทิง\\nสทึง\\nสทุม\\nสธนะ\\nสาธุสะ\\nสน\\nส้น\\nสนทนา\\nสนทรรศ\\nสนทรรศน์\\nสนเทศ\\nสนเท่ห์\\nสนธยา\\nสนธิ\\nสนน\\nสนม\\nสนวน\\nสนอง\\nสนอบ\\nสนอม\\nสนะ\\nสนัด\\nสนั่น\\nสนับ\\nสนับทึบ\\nสนับสนุน\\nสนาน\\nสนาม\\nสนายุ\\nสนิกะ\\nสนิท\\nสนิธ\\nสนิม\\nสนุก\\nสนุกเกอร์\\nสนุข\\nสนุต\\nสนุ่น\\nสบ\\nสบง\\nสบถ\\nสบัน\\nสบาย\\nสบู่\\nสไบ\\nสปริง\\nสปอร์\\nสปาเกตตี\\nสเปกตรัม\\nสเปกโทรสโกป\\nสไปริลลัม\\nสพาบ\\nสภา\\nสภาพ\\nสภาวการณ์\\nสภาวะ\\nสม\\nสมการ\\nสมจารี\\nสมดุล\\nสมมูล\\nส้ม\\nสมญา\\nสมณะ\\nสมณบริขาร\\nสมณศักดิ์\\nสมณสารูป\\nสมเด็จ\\nสมถะ\\nสมถยานิก\\nสมถวิปัสสนา\\nสมนาคุณ\\nสมบัติ\\nสมบุกสมบัน\\nสมบูรณ์\\nสมบูรณาญาสิทธิราชย์\\nสมประดี\\nสมปฤดี\\nสมปฤๅดี\\nส้มป่อย\\nสมปัก\\nสมผุส\\nสมพง\\nสมพงศ์\\nสมพล\\nสมพัตสร\\nสมพาส\\nสมเพช\\nสมโพธน์\\nสมโพธิ\\nสมภพ\\nสมภาร\\nสมโภค\\nสมโภช\\nสมมต\\nสมมติ\\nสมมุติ\\nสมมาตร\\nส้มมือ\\nสมโมท\\nสมโยค\\nสมร\\nสมรด\\nสมรรถ\\nสมรรถนะ\\nสมรรถภาพ\\nสมรส\\nสมฤดี\\nสมฤติ\\nสมวายะ\\nสมเสร็จ\\nสมอ\\nสมอง\\nสมะ\\nสมัคร\\nสมังคี\\nสมัช\\nสมัชชา\\nสมัญญา\\nสมัต\\nสมัน\\nสมันต์\\nสมัย\\nสมา\\nสมาคม\\nสมาจาร\\nสมาชิก\\nสมาทาน\\nสมาธิ\\nสมาน\\nสมานฉันท์\\nสมาบัติ\\nสมาพันธรัฐ\\nสมาส\\nสม่ำเสมอ\\nสมิง\\nสมิต\\nสมิติ\\nสมิทธ์\\nสมิทธิ\\nสมี\\nสมุก\\nสมุจจัย\\nสมุจเฉท\\nสมุฏฐาน\\nสมุด\\nสมุทร\\nสมุทรโคดม\\nสมุทัย\\nสมุน\\nสมุนไพร\\nสมุลแว้ง\\nสมุห\\nสมุห์\\nสมุหกลาโหม\\nสมุหเทศาภิบาล\\nสมุหนาม\\nสมุหนายก\\nสโมธาน\\nสโมสร\\nสยด\\nสยนะ\\nสยบ\\nสยมพร\\nสยมภู\\nสยอง\\nสยอน\\nสยัมวรา\\nสยาม\\nสยามานุสติ\\nสยามินทร์\\nสยาย\\nสยิว\\nสยิ้ว\\nสยุมพร\\nสยุมภู\\nสร\\nสรง\\nสร่ง\\nสรณะ\\nสรณคมน์\\nสรณาคมน์\\nสรณตรัย\\nสรตะ\\nสรทะ\\nสรนุก\\nสรเนาะ\\nสรไน\\nสรเพชญ\\nสรภะ\\nสรภัญญะ\\nสรภู\\nสรม\\nสรร\\nสรรค์\\nสรรพ\\nสรรพคุณ\\nสรรพนาม\\nสรรพสามิต\\nสรรพัชญ\\nสรรพากร\\nสรรพางค์\\nสรรเพชญ\\nสรรเพชุดา\\nสรรเสริญ\\nสรลอน\\nสรเลข\\nสรวง\\nสรวม\\nสรวล\\nสรเสริญ\\nสร้อย\\nสระ\\nสระกอ\\nสระท้อน\\nสระพรั่ง\\nสระอาด\\nสรั่ง\\nสรัสวดี\\nสร่าง\\nสร้าง\\nสราญ\\nสรี้\\nสรีระ\\nสรีรกิจ\\nสรีรธาตุ\\nสรีรวิทยา\\nสรีรศาสตร์\\nสรีรังคาร\\nสรีรางคาร\\nสรุป\\nสโรช\\nสโรชะ\\nสฤก\\nสฤต\\nสฤษฎิ\\nสฤษฎี\\nสฤษฏ์\\nสฤษดิ์\\nสลด\\nสลบ\\nสลวน\\nสลวย\\nสลอด\\nสลอน\\nสลอย\\nสละ\\nสลัก\\nสลัด\\nสลัดได\\nสลับ\\nสลัว\\nสลา\\nสลาก\\nสลาง\\nสล้าง\\nสลาด\\nสลาตัน\\nสลาบ\\nสลาย\\nสลิด\\nสลิล\\nสลึก\\nสลึง\\nสลุต\\nสลุบ\\nสลุมพร\\nสแลง\\nสวการย์\\nสวภาพ\\nสวราชย์\\nสวก\\nส้วง\\nสวด\\nสวน\\nสวนะ\\nสวนาการ\\nส่วน\\nสวนิต\\nสวบ\\nสวม\\nส้วม\\nสวย\\nส่วย\\nส้วย\\nสวยม\\nสวรรค\\nสวรรค์\\nสวรรคต\\nสวรรคาลัย\\nสวรรยา\\nสวระ\\nสวะ\\nสวัสดิ\\nสวัสดิ์\\nสวัสดิการ\\nสวัสดิภาพ\\nสวัสดิมงคล\\nสวัสดี\\nสวัสติ\\nสวาตี\\nสวัสติกะ\\nสวา\\nสวาปาม\\nสวาคตะ\\nสวาง\\nสว่าง\\nสวาด\\nสวาดิ\\nสวาท\\nสว่าน\\nสว้าน\\nสวาบ\\nสวามิ\\nสวามี\\nสวามินี\\nสวาย\\nสวาสดิ์\\nสวาหะ\\nสวิง\\nสวิญญาณกทรัพย์\\nสวิตช์\\nสสาร\\nสสุระ\\nสสุรี\\nสหกรณ์\\nสหการ\\nสหจร\\nสหชาต\\nสหชาติ\\nสหธรรม\\nสหธรรมิก\\nสหประชาชาติ\\nสหพันธ์\\nสหพันธรัฐ\\nสหภาพ\\nสหศึกษา\\nสหัช\\nสหัมบดี\\nสหัส\\nสหัสสะ\\nสหัสธารา\\nสหัสนัยน์\\nสหัสเนตร\\nสหัสรังสี\\nสหัสา\\nสหาย\\nสอ\\nส่อ\\nสอง\\nส่อง\\nส้อง\\nสอด\\nสอน\\nส่อน\\nสอบ\\nสอพลอ\\nส้อม\\nสอย\\nสะ\\nสะกด\\nสะกอ\\nสะกาง\\nสะการะ\\nสะกิด\\nสะกิดสะเกา\\nสะเก็ด\\nสะแก\\nสะคร้อ\\nสะคราญ\\nสะค้าน\\nสะเงาะสะแงะ\\nสะดม\\nสะดวก\\nสะดิ้ง\\nสะดึง\\nสะดือ\\nสะดุ้ง\\nสะดุด\\nสะเด็ด\\nสะเดา\\nสะเดาะ\\nสะตอ\\nสะตาหมัน\\nสะตึ\\nสะตือ\\nสะตุ\\nสะเต๊ะ\\nสะโตก\\nสะทก\\nสะท้อน\\nสะท้าน\\nสะทึก\\nสะเทิน\\nสะเทิ้น\\nสะเทือน\\nสะเทื้อน\\nสะบะ\\nสะบัก\\nสะบักสะบอม\\nสะบัด\\nสะบัดสะบิ้ง\\nสะบั้น\\nสะบันงา\\nสะบ้า\\nสะบู\\nสะแบง\\nสะเปะสะปะ\\nสะพรั่ง\\nสะพรึงกลัว\\nสะพรึบ\\nสะพรึ่บ\\nสะพัก\\nสะพัง\\nสะพัด\\nสะพั้น\\nสะพาน\\nสะพาย\\nสะเพร่า\\nสะโพก\\nสะเภา\\nสะใภ้\\nสะโมง\\nสะระตะ\\nสะระแหน่\\nสะลาง\\nสะลาบ\\nสะลึมสะลือ\\nสะวี้ดสะว้าด\\nสะสม\\nสะสวย\\nสะสาง\\nสะเหล่อ\\nสะอาง\\nสะอาด\\nสะอ้าน\\nสะอิ้ง\\nสะอิดสะเอียน\\nสะอึก\\nสะอื้น\\nสะเอ้ง\\nสะเอว\\nสะเออะ\\nสะโอดสะอง\\nสะไอ\\nสัก\\nสักกะ\\nสักยะ\\nสักกัจจะ\\nสักกายทิฐิ\\nสักการ\\nสักการะ\\nสักขี\\nสักวา\\nสักหลาด\\nสัค\\nสัคคะ\\nสั่ง\\nสังกร\\nสังกรณี\\nสังกรประโยค\\nสังกะตัง\\nสังกะวัง\\nสังกะวาด\\nสังกะสี\\nสังกัด\\nสังกัปปะ\\nสังกา\\nสังการ\\nสังกาศ\\nสังกิเลส\\nสังเกต\\nสังข์\\nสังขกร\\nสังขตธรรม\\nสังขตะ\\nสังขยา\\nสังขลิก\\nสังขลิกา\\nสังขาร\\nสังขารา\\nสังเขป\\nสังค์\\nสังคญาติ\\nสังคม\\nสังคหะ\\nสังคัง\\nสังคายนา\\nสังคายนาย\\nสังคีต\\nสังคีติ\\nสังเค็ด\\nสังเคราะห์\\nสังฆกรรม\\nสังฆการี\\nสังฆเถระ\\nสังฆทาน\\nสังฆนายก\\nสังฆปาโมกข์\\nสังฆภัต\\nสังฆเภท\\nสังฆมณฑล\\nสังฆมนตรี\\nสังฆราช\\nสังฆสภา\\nสังฆาณัติ\\nสังฆาฏิ\\nสังฆาทิเสส\\nสังฆาธิการ\\nสังฆานุสติ\\nสังฆาวาส\\nสังยุตนิกาย\\nสังโยค\\nสังโยชน์\\nสังวร\\nสังวัจฉระ\\nสังวัธยาย\\nสังวาล\\nสังวาส\\nสังเวคะ\\nสังเวช\\nสังเวชนียสถาน\\nสังเวย\\nสังเวียน\\nสังสกฤต\\nสังสการ\\nสังสนทนา\\nสั่งสนทนา\\nสังสรรค์\\nสังสารวัฏ\\nสังสิทธิ\\nสังสุทธ์\\nสังสุทธิ\\nสังหร\\nสังหรณ์\\nสังหาร\\nสังหาริมทรัพย์\\nสังหาริมะ\\nสังหิต\\nสัจ\\nสัจกิริยา\\nสัจจะ\\nสัจญาณ\\nสัจธรรม\\nสัจนิยม\\nสัจพจน์\\nสัชฌะ\\nสัชฌุ\\nสัญจร\\nสัญเจตนา\\nสัญชาตญาณ\\nสัญชาติ\\nสัญฌา\\nสัญญา\\nสัญญาณ\\nสัญญี\\nสัญโญชน์\\nสัญนิยม\\nสัญประกาศ\\nสัญลักษณ์\\nสัฐิ\\nสัณฐาน\\nสัณฐิติ\\nสัณฑ์\\nสัณห์\\nสัด\\nสัดจอง\\nสัต\\nสัตตะ\\nสัตตาหกรณียะ\\nสัตตาหกาลิก\\nสัตมวาร\\nสัตสดก\\nสัตตบงกช\\nสัตตบรรณ\\nสัตตบุษย์\\nสัตตู\\nสัตถันดร\\nสัตถา\\nสัตถิ\\nสัตถุ\\nสัตถุศาสนา\\nสัตบรรณ\\nสัตย์\\nสัตยพรต\\nสัตยวาที\\nสัตยาเคราะห์\\nสัตยาธิษฐาน\\nสัตยาบัน\\nสัตว์\\nสัตวชาติ\\nสัตวบาล\\nสัตวแพทย์\\nสัตววิทยา\\nสัตวา\\nสัทธรรม\\nสัทธา\\nสัทธาจริต\\nสัทธาธิกะ\\nสัทธินทรีย์\\nสัทธิงวิหาริก\\nสัทธิวิหาริก\\nสัทวิทยา\\nสัทศาสตร์\\nสัทอักษร\\nสัน\\nสั่น\\nสั้น\\nสันดาน\\nสันดาป\\nสันโดษ\\nสันต์\\nสันตติ\\nสันตะปาปา\\nสันตะวา\\nสันติ\\nสันตุฏฐี\\nสันถวไมตรี\\nสันถวะ\\nสันถัต\\nสันถาร\\nสันทนะ\\nสันทะ\\nสันทัด\\nสันทัสนะ\\nสันทาน\\nสันทิฐิก\\nสันทิส\\nสันเทหะ\\nสันธาน\\nสันนิธิ\\nสันนิบาต\\nสันนิวาส\\nสันนิษฐาน\\nสันสกฤต\\nสับ\\nสับปลับ\\nสับปลี้\\nสับปะรด\\nสัปคับ\\nสัปดาห์\\nสัปดาหะ\\nสัปดน\\nสัปตศก\\nสัปทน\\nสัปปะ\\nสัปปิ\\nสัปปุริส\\nสัปปุรุษ\\nสัประยุทธ์\\nสัปหงก\\nสัปเหร่อ\\nสัพ\\nสัพพะ\\nสัพพัญญู\\nสัพเพเหระ\\nสัพยอก\\nสัมบูรณ์\\nสัมปชัญญะ\\nสัมปทา\\nสัมปทาน\\nสัมปยุต\\nสัมปโยค\\nสัมประสิทธิ์\\nสัมประหาร\\nสัมปรายภพ\\nสัมปรายิกภพ\\nสัมปัตติ\\nสัมผัปลาป\\nสัมผัปลาปะ\\nสัมผัส\\nสัมพล\\nสัมพหุลา\\nสัมพัจฉรฉินท์\\nสัมพัตสร\\nสัมพัทธ์\\nสัมพันธ์\\nสัมพันธน์\\nสัมพันธภาพ\\nสัมพันธมิตร\\nสัมพันธไมตรี\\nสัมพาหะ\\nสัมพุทธ\\nสัมพุทธะ\\nสัมโพธิ\\nสัมภวะ\\nสัมภเวสี\\nสัมภัต\\nสัมภัตตะ\\nสัมภาระ\\nสัมภาษณ์\\nสัมโภคกาย\\nสัมมนา\\nสัมมัปธาน\\nสัมมา\\nสัมโมทนียกถา\\nสัมฤทธิ\\nสัมฤทธิ์\\nสัมฤทธิศก\\nสัยน์\\nสัลเลข\\nสัสดี\\nสัสตทิฐิ\\nสัสสะ\\nสัสสุ\\nสัสสู\\nสา\\nส่า\\nสาก\\nสากรรจ์\\nสากล\\nสากัจฉา\\nสากัลย์\\nสากิยะ\\nสาเก\\nสาขา\\nสาคร\\nสาคเรศ\\nสาคู\\nสาง\\nส้าง\\nสาชล\\nสาฎก\\nสาฏิก\\nสาณี\\nสาด\\nสาไถย\\nสาทร\\nสาทิส\\nสาทุ\\nสาโท\\nสาธก\\nสาธยะ\\nสาธยาย\\nสาธารณะ\\nสาธารณชน\\nสาธารณประโยชน์\\nสาธารณภัย\\nสาธารณรัฐ\\nสาธารณสถาน\\nสาธารณสมบัติ\\nสาธารณสุข\\nสาธารณูปการ\\nสาธารณูปโภค\\nสาธารณ์\\nสาธิต\\nสาธุ\\nสาน\\nส่าน\\nสานุ\\nสานู\\nสานุศิษย์\\nสาบ\\nสาบสูญ\\nสาบาน\\nสาป\\nสาปไตย\\nสาม\\nสามชุก\\nสามเณร\\nสามเณรี\\nสามนต์\\nสามนตราช\\nสามยทรัพย์\\nสามล\\nสามหาว\\nสามะ\\nสามัคคี\\nสามัญ\\nสามัตถิยะ\\nสามานย์\\nสามานยนาม\\nสามารถ\\nสามิต\\nสามินี\\nสามิภักดิ์\\nสามี\\nสามีจิกรรม\\nสาย\\nส่าย\\nส้าย\\nสายชู\\nสายัณห์\\nสายาห์\\nสาร\\nสารคดี\\nสารธรรม\\nสารนิเทศ\\nสารบบ\\nสารบรรณ\\nสารบัญ\\nสารบาญ\\nสารบาญชี\\nสารประโยชน์\\nสารสนเทศ\\nสารทุกข์\\nสารถี\\nสารท\\nสารพัด\\nสารพัน\\nสารพางค์\\nสารภาพ\\nสารภี\\nสารวัตร\\nสาระ\\nสาระแน\\nสาระพา\\nสาระยำ\\nสาระวารี\\nสาระสะมา\\nสารัตถประโยชน์\\nสารัตถศึกษา\\nสารัตถะ\\nสารัทธ์\\nสารัมภ์\\nสาราณียกร\\nสาราณียธรรม\\nสาราณียะ\\nสารานุกรม\\nสารีริกธาตุ\\nสารูป\\nสาโรช\\nสาละ\\nสาละวน\\nสาลิ\\nสาลิกา\\nสาลินี\\nสาลี\\nสาลี่\\nสาลู\\nสาโลหิต\\nสาว\\nสาวก\\nสาวิกา\\nสาวิตร\\nสาวิตรี\\nสาสน\\nสาสน์\\nสาส์น\\nสาสนา\\nสาสม\\nสาหร่าย\\nสาหรี\\nส่าหรี\\nสาหัส\\nสาเหตุ\\nสาแหรก\\nสำ\\nสำส่อน\\nส่ำ\\nสำคัญ\\nสำซ่าง\\nสำแดง\\nสำทับ\\nสำนวน\\nสำนอง\\nสำนัก\\nสำนาน\\nสำนึก\\nสำนึง\\nสำเนา\\nสำเนียง\\nสำบัด\\nสำปะลอ\\nสำปะหลัง\\nสำปั้น\\nสำปันนี\\nสำเภา\\nสำมะงา\\nสำมะโน\\nสำมะลอ\\nสำมะเลเทเมา\\nสำมะหา\\nสำรด\\nสำรวจ\\nสำรวม\\nสำรวย\\nสำรวล\\nสำรอก\\nสำรอง\\nสำรับ\\nสำราก\\nสำราญ\\nสำริด\\nสำเร็จ\\nสำเรา\\nสำเริง\\nสำโรง\\nสำลัก\\nสำลาน\\nสำลี\\nสำแลง\\nสำหรวด\\nสำหรับ\\nสำหา\\nสำเหนียก\\nสำเหร่\\nสำออย\\nสำอาง\\nสิ\\nสิกข์\\nสิข\\nสิกขมานา\\nสิกขา\\nสิขร\\nสิขรี\\nสิขเรศ\\nสิขา\\nสิขานล\\nสิขี\\nสิคาล\\nสิง\\nสิ่ง\\nสิงขร\\nสิงค์\\nสิงคลิ้ง\\nสิงคลี\\nสิงคาร\\nสิงคาล\\nสิงคี\\nสิงโต\\nสิงห์\\nสิงหนาท\\nสิงหบัญชร\\nสิงหรา\\nสิงหราช\\nสิงหาคม\\nสิงหาสน์\\nสิงหล\\nสิญจน์\\nสิตะ\\nสิตางศุ์\\nสิถิล\\nสิทธ์\\nสิทธัตถะ\\nสิทธา\\nสิทธาจารย์\\nสิทธารถ\\nสิทธิ\\nสิทธิ์\\nสิทธิการิยะ\\nสิธยะ\\nสิน\\nสิ้น\\nสินเทา\\nสินธพ\\nสินธุ\\nสินธุ์\\nสินธุระ\\nสินธู\\nสินเธาว์\\nสินาด\\nสินิทธ์\\nสินี\\nสิเนรุ\\nสิเนหก\\nสิเนหะ\\nสิเนหา\\nสิเน่หา\\nสิบ\\nสิปปะ\\nสิมพลี\\nสิระ\\nสิโรดม\\nสิโรตม์\\nสิริ\\nสิรี\\nสิลา\\nสิว\\nสิ่ว\\nสิวะ\\nสิวาลัย\\nสิวิกา\\nสี\\nสี่\\nสี้\\nสีกา\\nสีกุน\\nสีข้าง\\nสีด\\nสีดอ\\nสีดา\\nสีตลรัศมี\\nสีตโลทก\\nสีโตทก\\nสีทันดร\\nสีมันต์\\nสีมา\\nสีละมัน\\nสีวิกา\\nสีสอ\\nสีสะ\\nสีสา\\nสีสุก\\nสีเสียด\\nสีห์\\nสีหนาท\\nสีหบัญชร\\nสีหราช\\nสีหไสยา\\nสีหไสยาสน์\\nสีหะ\\nสึก\\nสึง\\nสืบ\\nสื่อ\\nสุ\\nสุก\\nสุกข์\\nสุกร\\nสุกรม\\nสุกำศพ\\nสุกียากี้\\nสุข\\nสุขา\\nสุขาภิบาล\\nสุขารมณ์\\nสุขาวดี\\nสุขิน\\nสุขี\\nสุขุม\\nสุขุมาล\\nสุโข\\nสุคต\\nสุคติ\\nสุคนธ\\nสุคนธ์\\nสุคนธชาติ\\nสุคนธรส\\nสุคันธ์\\nสุคันธรส\\nสุงกะ\\nสุงกากร\\nสุงสิง\\nสุงสุมาร\\nสุจริต\\nสุจหนี่\\nสุจิ\\nสุจิต\\nสุจิตร\\nสุชน\\nสุชัมบดี\\nสุชา\\nสุชาดา\\nสุญ\\nสุญญากาศ\\nสุญตา\\nสุญนิยม\\nสุณ\\nสุณิสา\\nสุด\\nสุดา\\nสุต\\nสุตตนิบาต\\nสุตตะ\\nสุตตันตปิฎก\\nสุตตันตะ\\nสุติ\\nสุทธ\\nสุทธ์\\nสุทธาวาส\\nสุทธิ\\nสุทรรศน์\\nสุทัศน์\\nสุธา\\nสุธาโภชน์\\nสุธารส\\nสุธาสินี\\nสุธาสี\\nสุธี\\nสุนทร\\nสุนทรี\\nสุนทรียภาพ\\nสุนทรียศาสตร์\\nสุนทรียะ\\nสุนัข\\nสุนันท์\\nสุโนก\\nสุบดี\\nสุบรรณ\\nสุบิน\\nสุปรีดิ์\\nสุปรีย์\\nสุปาณี\\nสุพพัต\\nสุพรรณ\\nสุพรรณบัฏ\\nสุพรรณภาชน์\\nสุพรรณราช\\nสุพรรณศรี\\nสุพรรณถัน\\nสุพรรณิการ์\\nสุภร\\nสุภัค\\nสุภา\\nสุภาพ\\nสุภาษิต\\nสุม\\nสุ่ม\\nสุมทุม\\nสุมน\\nสุมนะ\\nสุมนัส\\nสุมนา\\nสุ้มเสียง\\nสุมะ\\nสุมาลี\\nสุเมธ\\nสุเมรุ\\nสุรคต\\nสุรเชษฐ์\\nสุรบดี\\nสุรภาพ\\nสุรโลก\\nสุรสีหนาท\\nสุรเสียง\\nสุรงค์\\nสุรังค์\\nสุรภี\\nสุรัติ\\nสุรัสวดี\\nสุรา\\nสุรางค์จำเรียง\\nสุรางคนา\\nสุรางคนางค์\\nสุรารักษ์\\nสุราลัย\\nสุรินทร์\\nสุรินทราหู\\nสุริยะ\\nสุริยกันต์\\nสุริยกานต์\\nสุริยการ\\nสุริยกาล\\nสุริยคติ\\nสุริยคราส\\nสุริยมณฑล\\nสุริยวงศ์\\nสุริยง\\nสุริยา\\nสุริเยนทร์\\nสุริเยศ\\nสุริโย\\nสุริยน\\nสุริยัน\\nสุริยุปราคา\\nสุรีย์\\nสุรุ่ยสุร่าย\\nสุลต่าน\\nสุวคนธ์\\nสุวภาพ\\nสุวรรณ\\nสุวรรณภูมิ\\nสุวะ\\nสุวาน\\nสุวินัย\\nสุวิมล\\nสุษิระ\\nสุสาน\\nสุหนัต\\nสุหร่ง\\nสุหร่าย\\nสุหฤท\\nสุหัท\\nสุเหร่า\\nสู\\nสู่\\nสู้\\nสูง\\nสูจิ\\nสูจิบัตร\\nสูญ\\nสูด\\nสูต\\nสูตร\\nสูติ\\nสูติกรรม\\nสูตินรีเวช\\nสูติบัตร\\nสูติแพทย์\\nสูติศาสตร์\\nสูท\\nสูทกรรม\\nสูทศาสตร์\\nสูบ\\nสูปะ\\nสูร\\nสูรย์\\nสูรยกานต์\\nสูริ\\nสูสี\\nเส\\nเสก\\nเสกขบุคคล\\nเสกขะ\\nเสขบุคคล\\nเสขะ\\nเส็ง\\nเส้ง\\nเส็งเคร็ง\\nเสงี่ยม\\nเสฏฐี\\nเสณี\\nเสด\\nเสด็จ\\nเสตุ\\nเสถียร\\nเสทะ\\nเสโท\\nเสน\\nเส้น\\nเสนง\\nเสน่ง\\nเสน่ห์\\nเสนหา\\nเสน่หา\\nเสนอ\\nเสนะ\\nเสนา\\nเสนาธิการ\\nเสนาบดี\\nเสน่า\\nเสนากุฎ\\nเสนางค์\\nเสนางคนิกร\\nเสนานี\\nเสนาสนะ\\nเสนาะ\\nเสนี\\nเสนีย์\\nเสนียะ\\nเสนียด\\nเสบย\\nเสบียง\\nเสพ\\nเสพย์\\nเสเพล\\nเสภา\\nเสม็ด\\nเสมหะ\\nเสมอ\\nเสมา\\nเสมียน\\nเสมือน\\nเสย\\nเสร็จ\\nเสริด\\nเสริม\\nเสรี\\nเสลด\\nเสลบรรพต\\nเสลา\\nเสลี่ยง\\nเสลือกสลน\\nเสโล\\nเสวก\\nเสวกามาตย์\\nเสวนะ\\nเสวนา\\nเสวย\\nเสวียน\\nเสสรวง\\nเสสรวล\\nเสา\\nเส้า\\nเสาร์\\nเสารภย์\\nเสารี\\nเสาวคนธ์\\nเสาวธาร\\nเสาวภา\\nเสาวภาคย์\\nเสาวภาพ\\nเสาวรภย์\\nเสาวรส\\nเสาวลักษณ์\\nเสาวณิต\\nเสาวนะ\\nเสาวนา\\nเสาวนีย์\\nเสาหฤท\\nเสาะ\\nเสาะแสะ\\nเสิร์จ\\nเสิร์ฟ\\nเสีย\\nเสียง\\nเสี่ยง\\nเสียด\\nเสี้ยน\\nเสียบ\\nเสียม\\nเสี่ยม\\nเสี้ยม\\nเสียว\\nเสี่ยว\\nเสี้ยว\\nเสือ\\nเสื่อ\\nเสื้อ\\nเสือก\\nเสื่อม\\nแส\\nแส่\\nแส้\\nแสก\\nแสง\\nแสด\\nแสดง\\nแสตมป์\\nแสน\\nแสนย์\\nแสนยากร\\nแสนยานุภาพ\\nแสบ\\nแสม\\nแสยก\\nแสยง\\nแสยะ\\nแสรก\\nแสร้ง\\nแสลง\\nแสล้ม\\nแสวง\\nแสะ\\nโสก\\nโสกโดก\\nโสกันต์\\nโสโครก\\nโสณฑ์\\nโสณิ\\nโสณี\\nโสด\\nโสดก\\nโสดม\\nโสดา\\nโสดาบัน\\nโสดาปัตติผล\\nโสดาปัตติมรรค\\nโสต\\nโสตทัศนวัสดุ\\nโสตทัศนอุปกรณ์\\nโสตทัศนูปกรณ์\\nโสตินทรีย์\\nโสตถิ\\nโสทก\\nโสทร\\nโสธก\\nโสธนะ\\nโสน\\nโสภณ\\nโสภา\\nโสภี\\nโสภิณี\\nโสเภณี\\nโสม\\nโสมนัส\\nโสมม\\nโสมย์\\nโสร่ง\\nโสรจ\\nโสรวาร\\nโสโร\\nโสวรรณ\\nโสหุ้ย\\nโสฬส\\nใส\\nใส่\\nไส\\nไส้\\nไสย\\nไสยา\\nไสยาสน์\\nไสร้\\nไสว\\nหก\\nหกคะเมน\\nหง\\nหงก\\nหงส์\\nหงสบาท\\nหงสรถ\\nหงอ\\nหงอก\\nหง่อง\\nหงองแหงง\\nหงอด\\nหงอน\\nหง่อม\\nหงอย\\nหง่อย\\nหงัก\\nหงับ\\nหง่าง\\nหงาย\\nหง่าว\\nหงำ\\nหงิก\\nหงิง\\nหงิม\\nหงึก\\nหงุงหงิง\\nหงุดหงิด\\nหงุบ\\nหงุ่ย\\nหญ้า\\nหญ้าฝรั่น\\nหญ้ายายเภา\\nหญิง\\nหญิบ\\nหด\\nหตะ\\nหทัย\\nหน\\nหนวก\\nหน่วง\\nหนวด\\nหน่วย\\nหน่วยกิต\\nหนอ\\nหน่อ\\nหนอก\\nหนอง\\nหนอน\\nหนอนตายหยาก\\nหน่อย\\nหน็อยแน่\\nหนัก\\nหนัง\\nหนังสติ๊ก\\nหนังสือ\\nหนั่น\\nหนับ\\nหนา\\nหน้า\\nหน่าง\\nหนาด\\nหนาน\\nหนาม\\nหน่าย\\nหนาว\\nหนำ\\nหนำเลี้ยบ\\nหนี\\nหนี้\\nหนีบ\\nหนึก\\nหนึ่ง\\nหนึบ\\nหนืด\\nหนุ\\nหนุน\\nหนุบ\\nหนุ่ม\\nหนุ่ย\\nหนู\\nห่ม\\nหมก\\nหมด\\nหม่น\\nหมวก\\nหมวด\\nหมวน\\nหมอ\\nหม่อ\\nหม้อ\\nหมอก\\nหมอง\\nหม่อง\\nหมอน\\nหม่อน\\nหมอบ\\nหม่อม\\nหมอย\\nหม้อห้อม\\nหมัก\\nหมักหมม\\nหมัด\\nหมัน\\nหมั่น\\nหมั้น\\nหมับ\\nหมา\\nหม่า\\nหมาก\\nหมากฮอส\\nหมาง\\nหมาด\\nหมามุ่ย\\nหมามุ้ย\\nหมาย\\nหม้าย\\nหมาร่า\\nหม่ำ\\nหม้ำ\\nหมิ่น\\nหมี\\nหมี่\\nหมึก\\nหมืน\\nหมื่น\\nหมุด\\nหมุน\\nหมุบ\\nหมุบหมับ\\nหมุบหมิบ\\nหมุ่ย\\nหมุยขาว\\nหมู\\nหมู่\\nหมูหริ่ง\\nหยก\\nหย่ง\\nหยด\\nหยวก\\nหยวบ\\nหยอก\\nหยอกเอิน\\nหย็อกหย็อย\\nหยอง\\nหย็อง\\nหย่อง\\nหย็องกรอด\\nหย็องแหย็ง\\nหยอด\\nหยอน\\nหย่อน\\nหย่อม\\nหย็อมแหย็ม\\nหย็อย\\nหย่อย\\nหยัก\\nหยักไย่\\nหยักเหยา\\nหยัง\\nหยั่ง\\nหยังหยัง\\nหยัด\\nหยัน\\nหยับ\\nหยั่วเมือง\\nหย่า\\nหยากเยื่อ\\nหยากไย่\\nหยาด\\nหยาบ\\nหยาม\\nหยาว\\nหย้าว\\nหยำเป\\nหยำเหยอะ\\nหยำแหยะ\\nหยิก\\nหยิ่ง\\nหยิบ\\nหยิม\\nหยี\\nหยี่\\nหยุกหยิก\\nหยุด\\nหยุ่น\\nหยุบ\\nหยุมหยิม\\nหยูกยา\\nหโยดม\\nหรคุณ\\nหรณะ\\nหรดาล\\nหรดี\\nหรรษ์\\nหรรษา\\nหรอ\\nหรอก\\nหร็อมแหร็ม\\nหรอย\\nหระ\\nหรับ\\nหรา\\nหริ\\nหริ่ง\\nหริณะ\\nหริต\\nหริตกี\\nหรีตกี\\nหรี่\\nหรีด\\nหรือ\\nหรุบ\\nหรุบรู่\\nหรุบหรู่\\nหรุ่ม\\nหรู\\nหรูหรา\\nหฤทัย\\nหฤทย์\\nหฤษฎ์\\nหฤษฎี\\nหฤหรรษ์\\nหฤโหด\\nหลง\\nหลงใหล\\nหลงจู๊\\nหลด\\nหลน\\nหล่น\\nหลบ\\nหล่ม\\nหลวง\\nหลวม\\nหลอ\\nหล่อ\\nหลอก\\nหลอด\\nหลอน\\nหล็อน\\nหล่อน\\nหลอม\\nหละ\\nหละหลวม\\nหลัก\\nหลัง\\nหลั่ง\\nหลัด\\nหลั่น\\nหลับ\\nหลัว\\nหลา\\nหล้า\\nหลาก\\nหลาน\\nหลาบ\\nหลาม\\nหลาย\\nหลาว\\nหลิ่ง\\nหลิท\\nหลิน\\nหลิม\\nหลิว\\nหลิ่ว\\nหลี\\nหลีก\\nหลีโก\\nหลีบ\\nหลีฮื้อ\\nหลืบ\\nหลุกหลิก\\nหลุด\\nหลุน\\nหลุบ\\nหลุม\\nหลุมพอ\\nหลุมพี\\nหลู่\\nหวง\\nห่วง\\nห้วง\\nหวด\\nหวน\\nห้วน\\nหวย\\nห้วย\\nหวอ\\nหวอด\\nหวะ\\nหวัง\\nหวัด\\nหวั่น\\nหวันยิหวา\\nหวัว\\nหวัวร่อ\\nหวัวเราะ\\nหวา\\nหว่า\\nหว้า\\nหวาก\\nหว่าง\\nหวาด\\nหวาน\\nหว่าน\\nหวาม\\nหวาย\\nหวำ\\nหวิด\\nหวิว\\nหวี\\nหวี่\\nหวีด\\nหวือ\\nหวุดหวิด\\nหวูด\\nหอ\\nห่อ\\nห้อ\\nหอก\\nหอง\\nห้อง\\nหอน\\nห่อน\\nหอบ\\nหอม\\nห้อม\\nหอย\\nห้อย\\nหะ\\nหะยี\\nหะหาย\\nหัก\\nหัจญ์\\nหัจญี\\nหัช\\nหัฏฐะ\\nหัด\\nหัต\\nหัตถ์\\nหัตถกรรม\\nหัตถการ\\nหัตถกิจ\\nหัตถบาส\\nหัตถพันธ์\\nหัตถาภรณ์\\nหัตถศาสตร์\\nหัตถศิลป์\\nหัตถศึกษา\\nหัตถาจารย์\\nหัตถินี\\nหัตถี\\nหัน\\nหั่น\\nหั้น\\nหันตรา\\nหับ\\nหัย\\nหัว\\nหัวร่อ\\nหัวเราะ\\nหัส\\nหัสดิน\\nหัสดี\\nหัสต์\\nหัสตะ\\nหา\\nห่า\\nห้า\\nหาก\\nหาง\\nห่าง\\nห้าง\\nหาญ\\nหาด\\nห่าน\\nหาบ\\nหาม\\nห่าม\\nห้าม\\nหาย\\nหายใจ\\nหายนะ\\nหาร\\nหารือ\\nหาว\\nห้าว\\nหาสะ\\nหำ\\nห้ำ\\nหิ้ง\\nหิงคุ\\nหิงสา\\nหิงห้อย\\nหิ่งห้อย\\nหิ่งหาย\\nหิด\\nหิต\\nหิตานุหิตประโยชน์\\nหิน\\nหิมพาน\\nหิมพานต์\\nหิมวัต\\nหิมวันต์\\nหิมวา\\nหิมะ\\nหิมาลัย\\nหิรัญ\\nหิรัญญิการ์\\nหิรัญบัฏ\\nหิรัณย์\\nหิรัณยรัศมี\\nหิริ\\nหิว\\nหิ้ว\\nหี\\nหีด\\nหีนยาน\\nหีบ\\nหึ\\nหึง\\nหึ่ง\\nหึงสา\\nหืด\\nหืน\\nหื่น\\nหือ\\nหื้อ\\nหุง\\nหุน\\nหุ่น\\nหุ้น\\nหุนหัน\\nหุบ\\nหุ้ม\\nหุยฮา\\nหู\\nหู่\\nหูก\\nหูด\\nเห\\nเห่\\nเหง\\nเหง่ง\\nเหงา\\nเหง้า\\nเหงื่อ\\nเหงือก\\nเห็จ\\nเห็ด\\nเหติ\\nเหตุ\\nเห็น\\nเหน่ง\\nเหนงนายพราน\\nเหน็ดเหนื่อย\\nเหน็บ\\nเหน่อ\\nเห็นอ้ม\\nเหนอะ\\nเหนอะหนะ\\nเหน้า\\nเหนาะ\\nเหนียง\\nเหนี่ยง\\nเหนี่ยน\\nเหนียม\\nเหนียว\\nเหนี่ยว\\nเหนือ\\nเหนื่อย\\nเห็บ\\nเหม\\nเหม่\\nเหม็ง\\nเหม่ง\\nเหม็น\\nเหมวดี\\nเหม่อ\\nเหมันต์\\nเหมันตฤดู\\nเหมา\\nเหมายัน\\nเหมาะ\\nเหมียว\\nเหมี่ยว\\nเหมือง\\nเหมือด\\nเหมือน\\nเหมื่อย\\nเหย\\nเหยง\\nเหย่อย\\nเหยา\\nเหย่า\\nเหย้า\\nเหยาะ\\nเหยาะแหยะ\\nเหยิง\\nเหยิบ\\nเหยียด\\nเหยียบ\\nเหยี่ยว\\nเหยื่อ\\nเหยือก\\nเหรอ\\nเหรอะ\\nเหรัญญิก\\nเหรา\\nเหราะ\\nเหรียญ\\nเหล่\\nเหล็ก\\nเหลน\\nเหลว\\nเหลอ\\nเหลา\\nเหล่า\\nเหล้า\\nเหลาะแหละ\\nเหลิง\\nเหลิงเจิ้ง\\nเหลียน\\nเหลี่ยม\\nเหลียว\\nเหลือ\\nเหลือก\\nเหลือง\\nเหลือบ\\nเหลือม\\nเหลื่อม\\nเหว\\nเหว่\\nเหวง\\nเหวย\\nเหวอะ\\nเหวอะหวะ\\nเหวี่ยง\\nเห่อ\\nเหอะ\\nเหะ\\nเหะหะ\\nเหา\\nเห่า\\nเหาะ\\nเหิน\\nเหิม\\nเหี้ย\\nเหียง\\nเหียน\\nเหี้ยน\\nเหี้ยม\\nเหี่ยว\\nเหื่อ\\nเหือด\\nแห\\nแห่\\nแห้\\nแหก\\nแหง\\nแหง่\\nแห่ง\\nแห้ง\\nแหงแก๋\\nแหง่ง\\nแหงน\\nแหน\\nแห้น\\nแหนง\\nแหนบ\\nแหนม\\nแหบ\\nแหม\\nแหม่\\nแหม่ม\\nแหมะ\\nแหย\\nแหย่\\nแหยง\\nแหย่ง\\nแหยม\\nแหย็ม\\nแหยะ\\nแหล่\\nแหลก\\nแหล่ง\\nแหลน\\nแหลม\\nแหละ\\nแหว\\nแห้ว\\nแหวก\\nแหว่ง\\nแหวด\\nแหวน\\nแหวะ\\nแหะ\\nโห่\\nโหง\\nโหด\\nโหน\\nโหนก\\nโหน่ง\\nโหม\\nโหม่ง\\nโหมด\\nโหย\\nโหยกเหยก\\nโหยง\\nโหย่ง\\nโหร\\nโหรง\\nโหรงเหรง\\nโหรดาจารย์\\nโหระพา\\nโหรา\\nโหราจารย์\\nโหราศาสตร์\\nโหล\\nโหล่\\nโหลงโจ้ง\\nโหว\\nโหว่\\nโหว้\\nโหวกเหวก\\nโหวง\\nโหวด\\nโหวต\\nให้\\nใหญ่\\nใหม่\\nไห\\nไห่\\nไห้\\nไหน\\nไหม\\nไหม้\\nไหรณย์\\nไหล\\nไหล่\\nไหว\\nไหว้\\nไหหลำ\\nอก\\nอกตเวทิตา\\nอกตเวที\\nอกตัญญุตา\\nอกตัญญู\\nอกนิษฐ์\\nอกรณีย์\\nอกรรมกริยา\\nอกัปปิยวัตถุ\\nอกัปปิยะ\\nอกุศล\\nอคติ\\nอคาธ\\nอโฆษะ\\nองก์\\nองค์\\nองคชาต\\nองคมนตรี\\nองครักษ์\\nองคาพยพ\\nองคุลี\\nองศ์\\nองศา\\nองอาจ\\nองุ่น\\nอจลา\\nอจินตา\\nอจินไตย\\nอจิระ\\nอเจลก\\nอเจละ\\nอชะ\\nอชิน\\nอชินี\\nอชิระ\\nอฏวี\\nอณิ\\nอณู\\nอโณทัย\\nอด\\nอดิถี\\nอดิเทพ\\nอดิเรก\\nอดิศร\\nอดิศวร\\nอดิศัย\\nอดีต\\nอดุล\\nอดุลย์\\nอติ\\nอติชาต\\nอติมานะ\\nอติราช\\nอติเรก\\nอติสาร\\nอถรรพเวท\\nอาถรรพเวท\\nอทระ\\nอทินนาทาน\\nอธรรม\\nอธิ\\nอธิกมาส\\nอธิกรณ์\\nอธิกวาร\\nอธิกสุรทิน\\nอธิการ\\nอธิคม\\nอธิฏฐาน\\nอธิบดี\\nอธิบาย\\nอธิป\\nอธิปไตย\\nอธิมาตร\\nอธิมุตติ\\nอธิโมกข์\\nอธิราช\\nอธิวาส\\nอธิวาสนะ\\nอธิศีล\\nอธิษฐาน\\nอธึก\\nอ้น\\nอนงค์\\nอนงคณะ\\nอนงคเลขา\\nอนธการ\\nอนนต์\\nอนยะ\\nอนรรฆ\\nอนรรถ\\nอนล\\nอนวัช\\nอนัญ\\nอนัตตา\\nอนันต์\\nอนันตริยกรรม\\nอนัม\\nอนาคต\\nอนาคามิผล\\nอนาคามิมรรค\\nอนาคามี\\nอนาจาร\\nอนาถ\\nอนาถา\\nอนาทร\\nอนาธิปไตย\\nอนามัย\\nอนามิกา\\nอนารยชน\\nอนารยธรรม\\nอนารยะ\\nอนาลัย\\nอนำ\\nอนิจ\\nอนิจจัง\\nอนิจจา\\nอนิฏฐารมณ์\\nอนิยต\\nอนิยม\\nอนิล\\nอนิวรรต\\nอนิวรรตน์\\nอนีกะ\\nอนีจะ\\nอนึก\\nอนึ่ง\\nอนุ\\nอนุกร\\nอนุกรม\\nอนุกรรมการ\\nอนุกระเบียด\\nอนุกาชาด\\nอนุการ\\nอนุกูล\\nอนุคามิก\\nอนุเคราะห์\\nอนุจร\\nอนุช\\nอนุชน\\nอนุชา\\nอนุชาต\\nอนุชิต\\nอนุญาต\\nอนุญาโตตุลาการ\\nอนุตร\\nอนุเถระ\\nอนุทิน\\nอนุบท\\nอนุบาล\\nอนุประโยค\\nอนุปริญญา\\nอนุปสัมบัน\\nอนุปัสนา\\nอนุพงศ์\\nอนุพัทธ์\\nอนุพันธ์\\nอนุโพธ\\nอนุภรรยา\\nอนุภริยา\\nอนุภาค\\nอนุภาษ\\nอนุมัติ\\nอนุมาตรา\\nอนุมาน\\nอนุมูล\\nอนุโมทนา\\nอนุโยค\\nอนุรักษ์\\nอนุรักษนิยม\\nอนุราช\\nอนุราธ\\nอนุราธะ\\nอนุราธา\\nอนุรูป\\nอนุโลม\\nอนุวงศ์\\nอนุวรรตน์\\nอนุวัต\\nอนุวัตน์\\nอนุวัตร\\nอนุวัติ\\nอนุวาต\\nอนุศาสก\\nอนุศาสน์\\nอนุศาสนาจารย์\\nอนุศิษฏ์\\nอนุสติ\\nอนุสนธิ\\nอนุสร\\nอนุสรณ์\\nอนุสัญญา\\nอนุสัย\\nอนุสาวรีย์\\nอนุสาสนี\\nอเนก\\nอเนกคุณ\\nอเนกรรถประโยค\\nอเนจอนาถ\\nอโนชา\\nอโนดาต\\nอบ\\nอบเชย\\nอบาย\\nอปจายนธรรม\\nอปจายนมัย\\nอปมงคล\\nอปยศ\\nอประไมย\\nอปรัณณชาติ\\nอปรา\\nอปราชัย\\nอปราชิต\\nอปริมาณ\\nอปลักษณ์\\nอปโลกน์\\nอปวาท\\nอเปหิ\\nอพพะ\\nอพยพ\\nอภัพ\\nอภัย\\nอภิ\\nอภิฆาต\\nอภิชฌา\\nอภิชน\\nอภิชนาธิปไตย\\nอภิชัย\\nอภิชาต\\nอภิชิต\\nอภิญญา\\nอภิญญาณ\\nอภิธรรม\\nอภิธาน\\nอภิไธย\\nอภินันท์\\nอภินันทนาการ\\nอภินัย\\nอภินิหาร\\nอภิเนษกรมณ์\\nอภิบาล\\nอภิปรัชญา\\nอภิปราย\\nอภิมหาอำนาจ\\nอภิมานะ\\nอภิมุข\\nอภิรดี\\nอภิรติ\\nอภิรมย์\\nอภิรักษ์\\nอภิราม\\nอภิรุต\\nอภิรุม\\nอภิรูป\\nอภิลักขิต\\nอภิลักขิตสมัย\\nอภิเลปน์\\nอภิวันท์\\nอภิวาท\\nอภิวาทน์\\nอภิเษก\\nอภิสมโพธิ\\nอภิสมัย\\nอภิสมาจาร\\nอภิสัมโพธิ\\nอภิสัมโพธิญาณ\\nอภิสิต\\nอภิสิทธิ์\\nอภูตะ\\nอม\\nอมพะนำ\\nอ้ม\\nอมตธรรม\\nอมตบท\\nอมตะ\\nอมนุษย์\\nอมร\\nอมรา\\nอมราวดี\\nอมรินทร์\\nอมเรนทร์\\nอมเรศ\\nอมฤต\\nอมัตร\\nอมาตย์\\nอมาวสี\\nอมาวสุ\\nอมาวาสี\\nอมิตร\\nอเมริกัน\\nอย่า\\nอยาก\\nอย่าง\\nอยุทธ์\\nอยู่\\nอร\\nอรชร\\nอรชุน\\nอรดี\\nอรติ\\nอรทัย\\nอรไท\\nอรนุช\\nอรพินท์\\nอรพิม\\nอรรค\\nอรรฆ\\nอรรฆย์\\nอรรจน์\\nอรรณพ\\nอรรถ\\nอรรถกถา\\nอรรถกถาจารย์\\nอรรถาธิบาย\\nอรรธ\\nอรสุม\\nอรหะ\\nอรหัง\\nอรหัต\\nอรหัตผล\\nอรหัตมรรค\\nอรหัน\\nอรหันต์\\nอรหันตฆาต\\nอร่อย\\nอรัญ\\nอรัญญิก\\nอรัญวาส\\nอรัญวาสี\\nอรัณย์\\nอราดี\\nอร่าม\\nอริ\\nอรินทร์\\nอริน\\nอริยกะ\\nอริยทรัพย์\\nอริยบุคคล\\nอริยผล\\nอริยมรรค\\nอริยสัจ\\nอริยะ\\nอรุณ\\nอรุโณทัย\\nอรุ่ม\\nอรูป\\nอลงกต\\nอลงกรณ์\\nอลงการ\\nอลวน\\nอลเวง\\nอลหม่าน\\nอล่องฉ่อง\\nอลักเอลื่อ\\nอลังการ\\nอลัชชี\\nอล่างฉ่าง\\nอลิงค์\\nอลึงค์\\nอลึ่งฉึ่ง\\nอโลหะ\\nอ้วก\\nอวกาศ\\nอวจร\\nอวชัย\\nอวชาต\\nอวด\\nอวตาร\\nอวน\\nอ้วน\\nอวบ\\nอวมงคล\\nอวย\\nอวยวะ\\nอวรรค\\nอวรุทธ์\\nอวรุทธก\\nอวล\\nอวสาน\\nอวหาร\\nอวัยวะ\\nอวัสดา\\nอวาจี\\nอวิจี\\nอวิชชา\\nอวิญญาณกทรัพย์\\nอวิญญู\\nอวิรุทธ์\\nอวิโรธน์\\nอวิโรธนะ\\nอวิหิงสา\\nอวีจิ\\nอเวจี\\nอโศก\\nอสงไขย\\nอสนี\\nอัสนี\\nอสนีบาต\\nอสภะ\\nอสมการ\\nอสมมาตร\\nอสรพิษ\\nอสังหาริมทรัพย์\\nอสังหาริมะ\\nอสัญกรรม\\nอสัญญี\\nอสัญแดหวา\\nอสัตถพฤกษ์\\nอัสสัตถพฤกษ์\\nอสัตย์\\nอสัมภิน\\nอสัมภินพงศ์\\nอสัมภินวงศ์\\nอสิ\\nอสิธารา\\nอสิต\\nอสิเลสะ\\nอสีตยานุพยัญชนะ\\nอสีติ\\nอสุ\\nอสุจิ\\nอสุนีบาต\\nอสุภ\\nอสุรกาย\\nอสุรา\\nอสุรี\\nอสุเรศ\\nอสูร\\nอเสกขบุคคล\\nอเสกขะ\\nอเสขบุคคล\\nอเสขะ\\nอหังการ\\nอหิ\\nอหิงสา\\nอหิวาต์\\nอหิวาตกโรค\\nอหึงสา\\nอเหตุกทิฐิ\\nอโหสิ\\nออ\\nอ้อ\\nอ๋อ\\nออก\\nออกซิเจน\\nออกซิเดชัน\\nออกไซด์\\nออกญา\\nอ่อง\\nอ๋อง\\nอ้องแอ้ง\\nออเซาะ\\nออด\\nอ๊อด\\nอ๊อดแอ๊ด\\nอ่อน\\nอ้อน\\nออนซ์\\nออนซอน\\nอ้อนแอ้น\\nออฟฟิศ\\nออม\\nอ่อม\\nอ้อม\\nออมชอม\\nออมซอม\\nอ้อมแอ้ม\\nอ่อย\\nอ้อย\\nอ๋อย\\nอ้อยส้อย\\nอ้อยอิ่ง\\nออสเมียม\\nอ้อแอ้\\nอ๊ะ\\nอะคร้าว\\nอะเคื้อ\\nอะแจ\\nอะเซทิลีน\\nอะดรีนาลิน\\nอะดุง\\nอะตอม\\nอะมีบา\\nอะเมริเซียม\\nอะร้าอร่าม\\nอะไร\\nอะลุ่มอล่วย\\nอะลุ้มอล่วย\\nอะลูมิเนียม\\nอะหม\\nอะไหล่\\nอัก\\nอั้ก\\nอั๊ก\\nอักกะ\\nอักโกธะ\\nอักขรวิธี\\nอักขรวิบัติ\\nอักขรสมัย\\nอักขระ\\nอักขรานุกรม\\nอักขะ\\nอักโข\\nอักโขภิณี\\nอักโขเภณี\\nอักษร\\nอักษะ\\nอักเษาหิณี\\nอักเสบ\\nอักอ่วน\\nอัคคะ\\nอัคคิ\\nอัคคี\\nอัคนิ\\nอัคนี\\nอัคร\\nอัครชายา\\nอัครมเหสี\\nอัครราชทูต\\nอัครสมณทูต\\nอัง\\nอังก์\\nอังกนะ\\nอังกฤษ\\nอังกะลุง\\nอังกา\\nอังกาบ\\nอังกุระ\\nอังกุศ\\nอังกูร\\nอังคณะ\\nอังคณา\\nอังคาร\\nอังคาส\\nอังคีรส\\nอังคุฐ\\nอังคุตรนิกาย\\nอังฆาต\\nอังแพลม\\nอั้งยี่\\nอั้งโล่\\nอังศุ\\nอังศุก\\nอังศุธร\\nอังศุมาลี\\nอังสกุฏ\\nอังสตรอม\\nอังสนา\\nอังสภาระ\\nอังสะ\\nอังสา\\nอัจกลับ\\nอัจจิ\\nอัจจิมา\\nอัจจุตะ\\nอัจฉรา\\nอัจฉริยบุคคล\\nอัจฉริยภาพ\\nอัจฉริยลักษณ์\\nอัจฉริยลักษณะ\\nอัจฉริยะ\\nอัจนา\\nอัชฌัตติก\\nอัชฌา\\nอัชฌาจาร\\nอัชฌาศัย\\nอัชฌาสัย\\nอัญเดียรถีย์\\nอัญมณี\\nอัญขยม\\nอัญชนะ\\nอัญชลี\\nอัญชัน\\nอัญชุลี\\nอัญเชิญ\\nอัญญะ\\nอัญดิตถีย์\\nอัญเดียรถีย์\\nอัญประกาศ\\nอัญรูป\\nอัฏ\\nอัฏฐบาน\\nอัฏฐะ\\nอัฏฐังคิกมรรค\\nอัฏนา\\nอัฐ\\nอัฐฬส\\nอัฐเคราะห์\\nอัฐทิศ\\nอัฐบริขาร\\nอัฐบาน\\nอัฐม\\nอัฐมี\\nอัฐศก\\nอัฐิ\\nอัฒจันทร์\\nอัฒภาค\\nอัฒมาส\\nอัฒรัตติ\\nอัณฑโกส\\nอัณฑชะ\\nอัณฑะ\\nอัณณพ\\nอัด\\nอัดแจ\\nอัต\\nอัตชีวประวัติ\\nอัตนัย\\nอัตภาพ\\nอัตวินิบาตกรรม\\nอัตคัด\\nอัตตโนบท\\nอัตตา\\nอัตตาธิปไตย\\nอัตถ์\\nอัตถะ\\nอัตโนมัติ\\nอัตรชะ\\nอัตรา\\nอัตลัด\\nอัททา\\nอัทธ์\\nอัทธา\\nอัทธาน\\nอัทธายุ\\nอัธยาตมวิทยา\\nอัธยาย\\nอัธยาศัย\\nอัน\\nอั้น\\nอั๋น\\nอันดร\\nอันดับ\\nอันตกะ\\nอันตกาล\\nอันตะ\\nอันตคุณ\\nอันตรภาค\\nอันตรวาสก\\nอันตรธาน\\nอันตรา\\nอันตราย\\nอันตรายิกธรรม\\nอันติกะ\\nอันติมสัจ\\nอันติมะ\\nอันเต\\nอันโต\\nอันเตปุริก\\nอันเตวาสิก\\nอันแถ้ง\\nอันโทล\\nอันธการ\\nอันธพาล\\nอันธิกา\\nอันเวส\\nอับ\\nอับปาง\\nอัปปะ\\nอัปเปหิ\\nอัปภาคย์\\nอัปมงคล\\nอัปยศ\\nอัประมาณ\\nอัประไมย\\nอัปราชัย\\nอัปรีย์\\nอัปลักษณ์\\nอัปสร\\nอัพพุท\\nอัพโพหาริก\\nอัพภันดร\\nอัพภาน\\nอัพภาส\\nอัพภูตธรรม\\nอัพยากฤต\\nอัมพฤกษ์\\nอัมพาต\\nอัมพวัน\\nอัมพวา\\nอัมพร\\nอัมพา\\nอัมพิละ\\nอัมพุ\\nอัมพุช\\nอัมพุชินี\\nอัมพุท\\nอัยกา\\nอัยการ\\nอัยกี\\nอัยยะ\\nอัยยิกา\\nอัลกุรอาน\\nอัลตราไวโอเลต\\nอั่ว\\nอัศจรรย์\\nอัศเจรีย์\\nอัศว\\nอัศวเมธ\\nอัศวยุช\\nอัศวานึก\\nอัศวิน\\nอัศวินี\\nอัษฎมงคล\\nอัษฏมงคล\\nอัษฎางคิกมรรค\\nอัษฎายุธ\\nอัษฎาวุธ\\nอัสสะ\\nอัสดร\\nอัสกัณ\\nอัสดง\\nอัสดงคต\\nอัสมิมานะ\\nอัสสนี\\nอัสสานึก\\nอัสสาสะ\\nอัสสุ\\nอา\\nอ่า\\nอ้า\\nอ๋า\\nอากร\\nอากังขา\\nอากัป\\nอาการ\\nอากาศ\\nอากูล\\nอาเกียรณ์\\nอาขยาต\\nอาขยาน\\nอาคเนย์\\nอาคม\\nอาครหายณี\\nอาคันตุกะ\\nอาคันตุกภัต\\nอาคันตุกวัตร\\nอาคาร\\nอาฆาต\\nอ่าง\\nอ้าง\\nอางขนาง\\nอ้างว้าง\\nอาจ\\nอาจม\\nอาจริยวัตร\\nอาจริยวาท\\nอาจาด\\nอาจาร\\nอาจารย์\\nอาจารี\\nอาจิณ\\nอาเจียน\\nอาชญา\\nอาชวะ\\nอาชา\\nอาชาไนย\\nอาชีพ\\nอาชีวศึกษา\\nอาชีวะ\\nอาชีวก\\nอาญา\\nอาฏานา\\nอาณัติ\\nอาณา\\nอาด\\nอาดูร\\nอาดุลย์\\nอาดูลย์\\nอาเด๊ะ\\nอาตมภาพ\\nอาตมัน\\nอาตมา\\nอาถรรพ์\\nอาถรรพณ์\\nอาทร\\nอาทิ\\nอาทิจจวาร\\nอาทิตย์\\nอาทิตยมณฑล\\nอาทิตยวาร\\nอาทีนพ\\nอาทีนวะ\\nอาทึก\\nอาเทศ\\nอาเทสนา\\nอาธรรม\\nอาธรรม์\\nอาธาน\\nอาธาร\\nอาน\\nอ่าน\\nอานน\\nอานนท์\\nอานันท์\\nอานันทนะ\\nอานัม\\nอานาปานะ\\nอานาปานัสสติ\\nอานิสงส์\\nอานุภาพ\\nอานุภาวะ\\nอาบ\\nอาบัติ\\nอาบัน\\nอาปณกะ\\nอาปณะ\\nอาปะ\\nอาโป\\nอาปานะ\\nอาพัทธ์\\nอาพันธ์\\nอาพันธนะ\\nอาพาธ\\nอาเพศ\\nอาภรณ์\\nอาภัพ\\nอาภัสระ\\nอาภา\\nอาภาส\\nอามลกะ\\nอามัย\\nอามิษ\\nอามิส\\nอาย\\nอ้าย\\nอายตนะ\\nอายตะ\\nอายน\\nอายัด\\nอายัต\\nอายัน\\nอายาจนะ\\nอายานะ\\nอายุ\\nอายุตกะ\\nอายุธ\\nอายุรกรรม\\nอายุรแพทย์\\nอายุรเวช\\nอายุรเวท\\nอายุศาสตร์\\nอายุษ\\nอาร์กอน\\nอารดี\\nอารติ\\nอาร์ต\\nอารทรา\\nอาร์ม\\nอารมณ์\\nอารยชน\\nอารยชาติ\\nอารยธรรม\\nอารยประเทศ\\nอารยะ\\nอารยัน\\nอาระ\\nอารักขา\\nอารักษ์\\nอารัญ\\nอารัณย์\\nอารัญญิก\\nอารัณยกะ\\nอารัติ\\nอารัมภ์\\nอารัมภกถา\\nอารัมภบท\\nอารัมภะ\\nอาราธน์\\nอาราธนา\\nอาราม\\nอารามิก\\nอารี\\nอารุม\\nอาลปนะ\\nอาละวาด\\nอาลักษณ์\\nอาลัย\\nอาลัว\\nอาลี\\nอาโลก\\nอาว\\nอ่าว\\nอ้าว\\nอาวรณ์\\nอาวัชนาการ\\nอาวัล\\nอาวาส\\nอาวาสิก\\nอาวาหมงคล\\nอาวาหะ\\nอาวุต\\nอาวุธ\\nอาวุโส\\nอาเวค\\nอาศรม\\nอาศรมบท\\nอาศเลษา\\nอาศัย\\nอาศิรพจน์\\nอาศิรพาท\\nอาศิรวาท\\nอาศุ\\nอาเศียรพจน์\\nอาเศียรพาท\\nอาเศียรวาท\\nอาษาฒ\\nอาสน\\nอาสน์\\nอาสนะ\\nอาสนศาลา\\nอาสัญ\\nอาสัตย์\\nอาสา\\nอาสาฬห์\\nอาสาฬหบูชา\\nอาสาฬหะ\\nอาสิญจ์\\nอาสิน\\nอาหม\\nอาหรับ\\nอาหาร\\nอาฬหก\\nอำ\\nอ่ำ\\nอ้ำ\\nอำแดง\\nอำนนต์\\nอำนรรฆ\\nอำนวย\\nอำนาจ\\nอำนาถ\\nอำนิฐ\\nอำนิษฐ์\\nอำปลัง\\nอำพน\\nอำพล\\nอำพะนำ\\nอำพัน\\nอำไพ\\nอำเภอ\\nอำมร\\nอำมฤคโชค\\nอำมฤต\\nอำมหิต\\nอำมาตย์\\nอำมาตยาธิปไตย\\nอำยวน\\nอำรุง\\nอำลา\\nอำอวม\\nอ้ำอึ้ง\\nอิก\\nอิง\\nอิงค์\\nอิงอร\\nอิจฉา\\nอิฉัน\\nอิชยา\\nอิฏฐารมณ์\\nอิฐ\\nอิฐผล\\nอิด\\nอิตถี\\nอิตเทรียม\\nอิตเทอร์เบียม\\nอิติวุตตกะ\\nอิทธิ\\nอิน\\nอินซูลิน\\nอินเดีย\\nอินเดียนแดง\\nอินเดียม\\nอินท์\\nอินทขีล\\nอินทนิล\\nอินทผลัม\\nอินทร์\\nอินทรธนู\\nอินทรวงศ์\\nอินทรวิเชียร\\nอินทรศักดิ์\\nอินทราณี\\nอินทราภิเษก\\nอินทรายุธ\\nอินทรี\\nอินทรีย์\\nอินทรียสังวร\\nอินทีวร\\nอินทุ\\nอินฟราเรด\\nอินัง\\nอิ่ม\\nอิมัลชัน\\nอิริเดียม\\nอิริยา\\nอิริยาบถ\\nอิรุพเพท\\nอิเล็กตรอน\\nอิเล็กทรอนิกส์\\nอิเล็กโทน\\nอิศร\\nอิศวร\\nอิษฏ์\\nอิษฏี\\nอิส\\nอิสตรี\\nอิสัตรี\\nอิสรภาพ\\nอิสระ\\nอิสริยยศ\\nอิสริยะ\\nอิสริยาภรณ์\\nอิสลาม\\nอิสสา\\nอิสิ\\nอิสี\\nอิหม่าม\\nอิหลักอิเหลื่อ\\nอี\\nอี่\\nอี้\\nอี๊\\nอี๋\\nอี๋อ๋อ\\nอีก\\nอีก้อ\\nอีก๋อย\\nอีโก้ง\\nอีจู้\\nอี๊ด\\nอีเต้อ\\nอีโต้\\nอีทุบ\\nอีเทอร์\\nอีนุงตุงนัง\\nอีนูน\\nอีโน\\nอีแปะ\\nอีโปง\\nอีเพา\\nอีมู\\nอีรม\\nอีลุ้ม\\nอีลุ่ยฉุยแฉก\\nอีเลิ้ง\\nอีศ\\nอีศวร\\nอีส\\nอีสาน\\nอีสุกอีใส\\nอีหรอบ\\nอีหลักอีเหลื่อ\\nอีหลี\\nอีหลุกขลุกขลัก\\nอีหลุกขลุกขลุ่ย\\nอีเห็น\\nอีเหน็บ\\nอีเหนียว\\nอีเหละเขละขละ\\nอีเหละเขะขะ\\nอีโหน่อีเหน่\\nอีโหลกโขลกเขลก\\nอีแอ่น\\nอึ\\nอึก\\nอึ้ก\\nอึ๊ก\\nอึกทึก\\nอึกอัก\\nอึง\\nอึ่ง\\nอึ้ง\\nอึด\\nอึดตะปือ\\nอึ้ดทึ่ด\\nอึน\\nอืด\\nอื่น\\nอื้น\\nอือ\\nอื้อ\\nอื้อฮือ\\nอุ\\nอุก\\nอุกกา\\nอุกกาบาต\\nอุกฤษฏ์\\nอุกลาบาต\\nอุค\\nอุคระ\\nอุคหนิมิต\\nอุโฆษ\\nอุ้ง\\nอุจ\\nอุจจาระ\\nอุจฉุ\\nอุจเฉท\\nอุจเฉททิฐิ\\nอุจาด\\nอุชุ\\nอุฏฐาการ\\nอุณหภูมิ\\nอุณหะ\\nอุณหาหาร\\nอุณหิส\\nอุณา\\nอุณาโลม\\nอุด\\nอุดเตา\\nอุดม\\nอุดมการณ์\\nอุดมคติ\\nอุดมศึกษา\\nอุดร\\nอุดหนุน\\nอุตดม\\nอุตตมะ\\nอุตมภาพ\\nอุตมางค์\\nอุตดร\\nอุตรกุรุทวีป\\nอุตตรายัน\\nอุตรนิกาย\\nอุตรผลคุนี\\nอุตตรผลคุนี\\nอุตรภัทรบท\\nอุตตรภัทรบท\\nอุตตรภัททะ\\nอุตราภิมุข\\nอุตราวรรต\\nอุตราวัฏ\\nอุตราษาฒ\\nอุตตราสาฬหะ\\nอุตราสงค์\\nอุตตานภาพ\\nอุตพิด\\nอุตรา\\nอุตริ\\nอุตริมนุสธรรม\\nอุตลุด\\nอุตส่าห์\\nอุตสาหกรรม\\nอุตสาหะ\\nอุตุ\\nอุตุนิยม\\nอุตุนิยมวิทยา\\nอุทก\\nอุทกธาร\\nอุทกธารา\\nอุทกภัย\\nอุทกวิทยา\\nอุทกศาสตร์\\nอุทธรณ์\\nอุทธัจ\\nอุทยาน\\nอุทร\\nอุทริยะ\\nอุทลุม\\nอุทัช\\nอุทัย\\nอุทาน\\nอุทาร\\nอุทาหรณ์\\nอุทิศ\\nอุทุมพร\\nอุเทศ\\nอุเทสิกเจดีย์\\nอุธัจ\\nอุ่น\\nอุบ\\nอุบล\\nอุบะ\\nอุบ๊ะ\\nอุบัติ\\nอุบาท\\nอุบาทว์\\nอุบาย\\nอุบาสก\\nอุบาสิกา\\nอุเบกขา\\nอุโบสถ\\nอุปกรณ์\\nอุปกรม\\nอุปการ\\nอุปการะ\\nอุปการี\\nอุปกิเลส\\nอุปจาร\\nอุปถัมภ์\\nอุปถัมภก\\nอุปทม\\nอุปทูต\\nอุปเทศ\\nอุปเท่ห์\\nอุปธิ\\nอุปนัย\\nอุปนิกขิต\\nอุปนิษัท\\nอุปนิสัย\\nอุปบัติ\\nอุปปาติกะ\\nอุปพัทธ์\\nอุปพันธ์\\nอุปโภค\\nอุปมา\\nอุปมาน\\nอุปไมย\\nอุปยุวราช\\nอุปรากร\\nอุปราคา\\nอุปราช\\nอุปริ\\nอุปริมปริยาย\\nอุปโลกน์\\nอุปเวท\\nอุปสมบท\\nอุปสมบัน\\nอุปสัมบัน\\nอุปสรรค\\nอุปสัมปทา\\nอุปฮาด\\nอุปัชฌาย์\\nอุปัชฌายวัตร\\nอุปัชฌายะ\\nอุปัฏฐาก\\nอุปัฏฐานะ\\nอุปัทวะ\\nอุปัทวันตราย\\nอุปาทาน\\nอุปาหนา\\nอุภัย\\nอุ้ม\\nอุมงค์\\nอุโมงค์\\nอุย\\nอุ่ย\\nอุ้ย\\nอุ๊ย\\nอุยยาน\\nอุยยาม\\nอุรณะ\\nอุรพี\\nอุระ\\nอุรังอุตัง\\nอุรัจฉัท\\nอุรัจฉทะ\\nอุรา\\nอุรุ\\nอุไร\\nอุลกมณี\\nอุลโลจ\\nอุลามก\\nอุลิด\\nอุโลก\\nอุแว้\\nอุษณกร\\nอุษณกาล\\nอุษณรัศมี\\nอุษณรุจี\\nอุษณาการ\\nอุษณีษ์\\nอุษมะ\\nอุษมัน\\nอุษา\\nอุษาโยค\\nอุสภ\\nอุสส่าห์\\nอุสสาหะ\\nอุสา\\nอุสุ\\nอุสุภ\\nอุสุภราช\\nอุสุม\\nอุหรับ\\nอุหลบ\\nอุเหม่\\nอุฬาร\\nอู\\nอู่\\nอู้\\nอูฐ\\nอูด\\nอูม\\nอูย\\nอูรุ\\nอู๋อี๋\\nเอ\\nเอ้\\nเอ๊\\nเอก\\nเอกเขนก\\nเอกซเรย์\\nเอกรรถประโยค\\nเอกัคตา\\nเอกังสพยากรณ์\\nเอกังสวาที\\nเอกา\\nเอ้กา\\nเอกาธิปไตย\\nเอเคอร์\\nเอง\\nเอ็ง\\nเอ๋ง\\nเอ็ด\\nเอ็ดตะโร\\nเอดส์\\nเอตทัคคะ\\nเอ้เต\\nเอทิล\\nเอน\\nเอ็น\\nเอนไซม์\\nเอ็นดู\\nเอ็นอ่อน\\nเอม\\nเอ็มบริโอ\\nเอย\\nเอ่ย\\nเอ๊ย\\nเอ๋ย\\nเอร็ดอร่อย\\nเอราวัณ\\nเอว\\nเอ๊ว\\nเอวัง\\nเอฬกะ\\nเอฬา\\nเออ\\nเอ่อ\\nเออร์เบียม\\nเอ้อระเหย\\nเอ้อเร้อ\\nเอ้อเฮอ\\nเอ๊ะ\\nเอะใจ\\nเอะอะ\\nเอะอะมะเทิ่ง\\nเอา\\nเอาทาร\\nเอาทารย์\\nเอารส\\nเอาฬาร\\nเอาะลาย\\nเอิก\\nเอิกเกริก\\nเอิ้น\\nเอิบ\\nเอียง\\nเอี้ยง\\nเอียด\\nเอี๊ยด\\nเอียน\\nเอี่ยน\\nเอี่ยม\\nเอี๊ยม\\nเอี้ยมจุ๊น\\nเอี้ยมเฟี้ยม\\nเอี่ยว\\nเอี้ยว\\nเอื้อ\\nเอื๊อก\\nเอื้อง\\nเอือด\\nเอือน\\nเอื้อน\\nเอือม\\nเอื้อม\\nเอื่อย\\nเอื้อย\\nแอ\\nแอ้\\nแอ๋\\nแอก\\nแอกทิเนียม\\nแอ่ง\\nแอ้งแม้ง\\nแอด\\nแอ้ด\\nแอ๊ด\\nแอ่น\\nแอนติเจน\\nแอนติบอดี\\nแอนติอิเล็กตรอน\\nแอโนด\\nแอบ\\nแอม\\nแอ้ม\\nแอมแปร์\\nแอมมิเตอร์\\nแอมโมเนีย\\nแอร่ม\\nแอลกอฮอล์\\nแอลฟา\\nแอว\\nแอ่ว\\nแอ้วแซ่ว\\nแอสทาทีน\\nแอสไพริน\\nแอสฟัลต์\\nแอหนัง\\nแออัด\\nโอ\\nโอ่\\nโอ้\\nโอ๋\\nโอก\\nโอ้ก\\nโอ้กอ้าก\\nโอ๊ก\\nโอกาส\\nโอฆชล\\nโอฆสงสาร\\nโอฆะ\\nโอ่ง\\nโองการ\\nโองโขดง\\nโอชะ\\nโอชา\\nโอโซน\\nโอฐ\\nโอด\\nโอ๊ต\\nโอตตัปปะ\\nโอทนะ\\nโอน\\nโอบ\\nโอปปาติกะ\\nโอภา\\nโอภาส\\nโอม\\nโอย\\nโอ๊ย\\nโอรส\\nโอละพ่อ\\nโอลิมปิก\\nโอวาท\\nโอษฐ์\\nโอษฐชะ\\nโอษฐภัย\\nโอสถ\\nโอห์ม\\nโอหัง\\nโอฬาร\\nโอฬาริก\\nโอฬารึก\\nโอ้เอ้\\nโอเอซิส\\nโอ้โฮ\\nไอ\\nไอ้\\nไอโซโทป\\nไอน์สไตเนียม\\nไอยรา\\nไอยเรศ\\nไอราพต\\nไอราวัณ\\nไอราวัต\\nไอศกรีม\\nไอศวรรย์\\nไอศุริยสมบัติ\\nไอศูรย์\\nไอออน\\nไอโอดีน\\nฮกเกี้ยน\\nฮด\\nฮวงซุ้ย\\nฮวน\\nฮ้วนหมู\\nฮวบ\\nฮ่อ\\nฮ้อ\\nฮอกกี้\\nฮอด\\nฮ่อม\\nฮ่อยจ๊อ\\nฮอร์โมน\\nฮอลแลนด์\\nฮอลันดา\\nฮะ\\nฮะเบส\\nฮะเรีย\\nฮัก\\nฮังเล\\nฮัจญ์\\nฮัจญะฮ์\\nฮัจญี\\nฮั่น\\nฮั้ว\\nฮา\\nฮ้า\\nฮ่างหลวง\\nฮาจญ์\\nฮาม\\nฮาเร็ม\\nฮาห์เนียม\\nฮิจเราะห์\\nฮินดู\\nฮิปโปโปเตมัส\\nฮิสทีเรีย\\nฮีเลียม\\nฮึ\\nฮึก\\nฮึด\\nฮึดฮัด\\nฮึ่ม\\nฮึย\\nฮึ่ย\\nฮืดฮาด\\nฮือ\\nฮื่อ\\nฮื้อ\\nฮื้อฉี่\\nฮุด\\nฮุบ\\nฮุยเลฮุย\\nฮู้\\nฮูก\\nฮูม\\nเฮ\\nเฮฮา\\nเฮกตาร์\\nเฮกโตกรัม\\nเฮกโตเมตร\\nเฮกโตลิตร\\nเฮง\\nเฮ็ด\\nเฮโมโกลบิน\\nเฮย\\nเฮ่ย\\nเฮ้ย\\nเฮโรอีน\\nเฮลิคอปเตอร์\\nเฮโล\\nเฮละโล\\nเฮ้ว\\nเฮอ\\nเฮ่อ\\nเฮ้อ\\nเฮอริเคน\\nเฮิรตซ์\\nเฮี้ยน\\nเฮี้ยบ\\nเฮี้ยว\\nเฮือก\\nเฮือน\\nแฮ\\nแฮ่\\nแฮก\\nแฮ่กึ๊น\\nแฮนด์บอล\\nแฮฟเนียม\\nแฮม\\nแฮะ\\nโฮ\\nโฮก\\nโฮ่ง\\nโฮ้ง\\nโฮเต็ล\\nโฮลเมียม\\nโฮะ\\nไฮ้\\nไฮโกรมิเตอร์\\nไฮดรา\\nไฮโดร\\nไฮโดรคาร์บอน\\nไฮโดรเจน\\nไฮโดรมิเตอร์\\nไฮไฟ\\nไฮโล\\nไฮฮี\\n\"\n              .split(/[\\r\\n]+/)\n              .filter(function (w) {\n                return w.length > 1;\n              })\n      this.addWords(words, false)\n    }\n    if(finalize){\n      this.finalizeDict();\n    }\n  },\n\n  dictSeek: function (l, r, ch, strOffset, pos) {\n    var ans = null;\n    while (l <= r) {\n      var m = Math.floor((l + r) / 2),\n        dict_item = this.dict[m],\n        len = dict_item.length;\n      if (len <= strOffset) {\n        l = m + 1;\n      } else {\n        var ch_ = dict_item[strOffset];\n        if (ch_ < ch) {\n          l = m + 1;\n        } else if (ch_ > ch) {\n          r = m - 1;\n        } else {\n          ans = m;\n          if (pos == LEFT) {\n            r = m - 1;\n          } else {\n            l = m + 1;\n          }\n        }\n      }\n    }\n    return ans;\n  },\n\n  isFinal: function (acceptor) {\n    return this.dict[acceptor.l].length == acceptor.strOffset;\n  },\n\n  createAcceptor: function () {\n    return {\n      l: 0,\n      r: this.dict.length - 1,\n      strOffset: 0,\n      isFinal: false,\n      dict: this,\n      transit: function (ch) {\n        return this.dict.transit(this, ch);\n      },\n      isError: false,\n      tag: \"DICT\",\n      w: 1,\n      type: \"DICT\"\n    };\n  },\n\n  transit: function (acceptor, ch) {\n    var l = this.dictSeek(acceptor.l,\n      acceptor.r,\n      ch,\n      acceptor.strOffset,\n      LEFT);\n    if (l !== null) {\n      var r = this.dictSeek(l,\n        acceptor.r,\n        ch,\n        acceptor.strOffset,\n        RIGHT);\n      acceptor.l = l;\n      acceptor.r = r;\n      acceptor.strOffset++;\n      acceptor.isFinal = this.isFinal(acceptor);\n    } else {\n      acceptor.isError = true;\n    }\n    return acceptor;\n  },\n\n  sortuniq: function(a){\n    return a.sort().filter(function(item, pos, arr){\n      return !pos || item != arr[pos - 1];\n    })\n  },\n\n  flatten: function(a){\n    //[[1,2],[3]] -> [1,2,3]\n    return [].concat.apply([], a);\n  }\n};\nmodule.exports = WordcutDict;\n\n}).call(this,\"/dist/tmp\")\n},{\"glob\":16,\"path\":22}],3:[function(require,module,exports){\nvar WordRule = {\n  createAcceptor: function(tag) {\n    if (tag[\"WORD_RULE\"])\n      return null;\n\n    return {strOffset: 0,\n            isFinal: false,\n            transit: function(ch) {\n              var lch = ch.toLowerCase();\n              if (lch >= \"a\" && lch <= \"z\") {\n                this.isFinal = true;\n                this.strOffset++;\n              } else {\n                this.isError = true;\n              }\n              return this;\n            },\n            isError: false,\n            tag: \"WORD_RULE\",\n            type: \"WORD_RULE\",\n            w: 1};\n  }\n};\n\nvar NumberRule = {\n  createAcceptor: function(tag) {\n    if (tag[\"NUMBER_RULE\"])\n      return null;\n\n    return {strOffset: 0,\n            isFinal: false,\n            transit: function(ch) {\n              if (ch >= \"0\" && ch <= \"9\") {\n                this.isFinal = true;\n                this.strOffset++;\n              } else {\n                this.isError = true;\n              }\n              return this;\n            },\n            isError: false,\n            tag: \"NUMBER_RULE\",\n            type: \"NUMBER_RULE\",\n            w: 1};\n  }\n};\n\nvar SpaceRule = {\n  tag: \"SPACE_RULE\",\n  createAcceptor: function(tag) {\n\n    if (tag[\"SPACE_RULE\"])\n      return null;\n\n    return {strOffset: 0,\n            isFinal: false,\n            transit: function(ch) {\n              if (ch == \" \" || ch == \"\\t\" || ch == \"\\r\" || ch == \"\\n\" ||\n                  ch == \"\\u00A0\" || ch==\"\\u2003\"//nbsp and emsp\n                 ) {\n                this.isFinal = true;\n                this.strOffset++;\n              } else {\n                this.isError = true;\n              }\n              return this;\n            },\n            isError: false,\n            tag: SpaceRule.tag,\n            w: 1,\n            type: \"SPACE_RULE\"};\n  }\n}\n\nvar SingleSymbolRule = {\n  tag: \"SINSYM\",\n  createAcceptor: function(tag) {\n    return {strOffset: 0,\n            isFinal: false,\n            transit: function(ch) {\n              if (this.strOffset == 0 && ch.match(/^[\\@\\(\\)\\/\\,\\-\\.\"`]$/)) {\n                this.isFinal = true;\n                this.strOffset++;\n              } else {\n                this.isError = true;\n              }\n              return this;\n            },\n            isError: false,\n            tag: \"SINSYM\",\n            w: 1,\n            type: \"SINSYM\"};\n  }\n}\n\n\nvar LatinRules = [WordRule, SpaceRule, SingleSymbolRule, NumberRule];\n\nmodule.exports = LatinRules;\n\n},{}],4:[function(require,module,exports){\nvar _ = require(\"underscore\")\n  , WordcutCore = require(\"./wordcut_core\");\nvar PathInfoBuilder = {\n\n  /*\n    buildByPartAcceptors: function(path, acceptors, i) {\n    var \n    var genInfos = partAcceptors.reduce(function(genInfos, acceptor) {\n      \n    }, []);\n    \n    return genInfos;\n  } \n  */\n\n  buildByAcceptors: function(path, finalAcceptors, i) {\n    var self = this;\n    var infos = finalAcceptors.map(function(acceptor) {\n      var p = i - acceptor.strOffset + 1\n        , _info = path[p];            \n      \n      var info = {p: p, \n                  mw: _info.mw + (acceptor.mw === undefined ? 0 : acceptor.mw),\n                  w: acceptor.w + _info.w,\n                  unk: (acceptor.unk ? acceptor.unk : 0) + _info.unk, \n                  type: acceptor.type};\n\n      if (acceptor.type == \"PART\") {\n        for(var j = p + 1; j <= i; j++) {\n          path[j].merge = p;\n        }\n        info.merge = p;\n      }\n\n      return info;\n    });\n    return infos.filter(function(info) { return info; });\n  },\n  \n  fallback: function(path, leftBoundary, text, i) {\n    var _info = path[leftBoundary];\n    if (text[i].match(/[\\u0E48-\\u0E4E]/)) {\n      if (leftBoundary != 0) \n        leftBoundary = path[leftBoundary].p;\n      return {p: leftBoundary,\n              mw: 0,\n              w: 1 + _info.w,\n              unk: 1 + _info.unk,\n              type: \"UNK\"};      \n/*    } else if(leftBoundary > 0 && path[leftBoundary].type !== \"UNK\") {\n      leftBoundary = path[leftBoundary].p;\n      return {p: leftBoundary,\n              w: 1 + _info.w,\n              unk: 1 + _info.unk,\n              type: \"UNK\"};            */\n    } else {      \n      return {p: leftBoundary,\n              mw: _info.mw,\n              w: 1 + _info.w,\n              unk: 1 + _info.unk,\n              type: \"UNK\"};\n    }\n  },\n  \n  build: function(path, finalAcceptors, i, leftBoundary, text) {\n    var basicPathInfos = this.buildByAcceptors(path, finalAcceptors, i);\n    if (basicPathInfos.length > 0) {\n      return basicPathInfos;\n    } else {\n      return [this.fallback(path, leftBoundary, text, i)];\n    }\n  }\n};\n\nmodule.exports = function() {\n  return _.clone(PathInfoBuilder);\n}\n\n},{\"./wordcut_core\":8,\"underscore\":25}],5:[function(require,module,exports){\nvar _ = require(\"underscore\");\n\n\nvar PathSelector = {\n  selectPath: function(paths) {\n    var path = paths.reduce(function(selectedPath, path) {\n      if (selectedPath == null) {        \n        return path;\n      } else {\n        if (path.unk < selectedPath.unk) \n          return path;        \n        if (path.unk == selectedPath.unk) {\n          if (path.mw < selectedPath.mw)\n            return path\n          if (path.mw == selectedPath.mw) {\n            if (path.w < selectedPath.w) \n              return path;\n          }\n        }\n        return selectedPath;\n      }\n    }, null);\n    return path;\n  },\n  \n  createPath: function() {\n    return [{p:null, w:0, unk:0, type: \"INIT\", mw:0}];\n  }\n};\n\nmodule.exports = function() {\n  return _.clone(PathSelector);\n};\n\n},{\"underscore\":25}],6:[function(require,module,exports){\nfunction isMatch(pat, offset, ch) {\n  if (pat.length <= offset)\n    return false;\n  var _ch = pat[offset];\n  return _ch == ch ||\n         (_ch.match(/[กข]/) && ch.match(/[ก-ฮ]/)) ||\n         (_ch.match(/[มบ]/) && ch.match(/[ก-ฮ]/)) ||\n         (_ch.match(/\\u0E49/) && ch.match(/[\\u0E48-\\u0E4B]/));\n}\n\nvar Rule0 = {\n  pat: \"เหก็ม\",\n  createAcceptor: function(tag) {\n    return {strOffset: 0,\n            isFinal: false,\n            transit: function(ch) {\n              if (isMatch(Rule0.pat, this.strOffset,ch)) {                 \n                this.isFinal = (this.strOffset + 1 == Rule0.pat.length);                \n                this.strOffset++;\n              } else {              \n                this.isError = true;             \n              }\n              return this;\n            },\n            isError: false,\n            tag: \"THAI_RULE\",\n            type: \"THAI_RULE\", \n            w: 1};                        \n  }\n};\n\nvar PartRule = {\n  createAcceptor: function(tag) {\n    return {strOffset: 0,\n            patterns: [\n              \"แก\", \"เก\", \"ก้\", \"กก์\", \"กา\", \"กี\", \"กิ\", \"กืก\"  \n            ],\n            isFinal: false,\n            transit: function(ch) {\n              var offset = this.strOffset;\n              this.patterns = this.patterns.filter(function(pat) {\n                return isMatch(pat, offset, ch);\n              });\n              \n              if (this.patterns.length > 0) {\n                var len = 1 + offset;\n                this.isFinal = this.patterns.some(function(pat) {\n                  return pat.length == len; \n                });\n                this.strOffset++;\n              } else {              \n                this.isError = true;             \n              }\n              return this;\n            },\n            isError: false,\n            tag: \"PART\",\n            type: \"PART\", \n            unk: 1,\n            w: 1};                        \n  }\n};\n\nvar ThaiRules = [Rule0, PartRule];\n\nmodule.exports = ThaiRules;\n\n},{}],7:[function(require,module,exports){\nvar sys = require(\"sys\")\n  , WordcutDict = require(\"./dict\")\n  , WordcutCore = require(\"./wordcut_core\")\n  , PathInfoBuilder = require(\"./path_info_builder\")\n  , PathSelector = require(\"./path_selector\")\n  , Acceptors = require(\"./acceptors\")\n  , latinRules = require(\"./latin_rules\")\n  , thaiRules = require(\"./thai_rules\")\n  , _ = require(\"underscore\");\n\n\nvar Wordcut = Object.create(WordcutCore);\nWordcut.defaultPathInfoBuilder = PathInfoBuilder;\nWordcut.defaultPathSelector = PathSelector;\nWordcut.defaultAcceptors = Acceptors;\nWordcut.defaultLatinRules = latinRules;\nWordcut.defaultThaiRules = thaiRules;\nWordcut.defaultDict = WordcutDict;\n\n\nWordcut.initNoDict = function(dict_path) {\n  var self = this;\n  self.pathInfoBuilder = new self.defaultPathInfoBuilder;\n  self.pathSelector = new self.defaultPathSelector;\n  self.acceptors = new self.defaultAcceptors;\n  self.defaultLatinRules.forEach(function(rule) {\n    self.acceptors.creators.push(rule);\n  });\n  self.defaultThaiRules.forEach(function(rule) {\n    self.acceptors.creators.push(rule);\n  });\n};\n\nWordcut.init = function(dict_path, withDefault, additionalWords) {\n  withDefault = withDefault || false;\n  this.initNoDict();\n  var dict = _.clone(this.defaultDict);\n  dict.init(dict_path, withDefault, additionalWords);\n  this.acceptors.creators.push(dict);\n};\n\nmodule.exports = Wordcut;\n\n},{\"./acceptors\":1,\"./dict\":2,\"./latin_rules\":3,\"./path_info_builder\":4,\"./path_selector\":5,\"./thai_rules\":6,\"./wordcut_core\":8,\"sys\":28,\"underscore\":25}],8:[function(require,module,exports){\nvar WordcutCore = {\n\n  buildPath: function(text) {\n    var self = this\n      , path = self.pathSelector.createPath()\n      , leftBoundary = 0;\n    self.acceptors.reset();\n    for (var i = 0; i < text.length; i++) {\n      var ch = text[i];\n      self.acceptors.transit(ch);\n\n      var possiblePathInfos = self\n        .pathInfoBuilder\n        .build(path,\n               self.acceptors.getFinalAcceptors(),\n               i,\n               leftBoundary,\n               text);\n      var selectedPath = self.pathSelector.selectPath(possiblePathInfos)\n\n      path.push(selectedPath);\n      if (selectedPath.type !== \"UNK\") {\n        leftBoundary = i;\n      }\n    }\n    return path;\n  },\n\n  pathToRanges: function(path) {\n    var e = path.length - 1\n     , ranges = [];\n\n    while (e > 0) {\n      var info = path[e]\n       , s = info.p;\n\n      if (info.merge !== undefined && ranges.length > 0) {\n        var r = ranges[ranges.length - 1];\n        r.s = info.merge;\n        s = r.s;\n      } else {\n        ranges.push({s:s, e:e});\n      }\n      e = s;\n    }\n    return ranges.reverse();\n  },\n\n  rangesToText: function(text, ranges, delimiter) {\n    return ranges.map(function(r) {\n      return text.substring(r.s, r.e);\n    }).join(delimiter);\n  },\n\n  cut: function(text, delimiter) {\n    var path = this.buildPath(text)\n      , ranges = this.pathToRanges(path);\n    return this\n      .rangesToText(text, ranges,\n                    (delimiter === undefined ? \"|\" : delimiter));\n  },\n\n  cutIntoRanges: function(text, noText) {\n    var path = this.buildPath(text)\n      , ranges = this.pathToRanges(path);\n\n    if (!noText) {\n      ranges.forEach(function(r) {\n        r.text = text.substring(r.s, r.e);\n      });\n    }\n    return ranges;\n  },\n\n  cutIntoArray: function(text) {\n    var path = this.buildPath(text)\n      , ranges = this.pathToRanges(path);\n    \n    return ranges.map(function(r) {\n      return text.substring(r.s, r.e)\n    });\n  }\n};\n\nmodule.exports = WordcutCore;\n\n},{}],9:[function(require,module,exports){\n// http://wiki.commonjs.org/wiki/Unit_Testing/1.0\n//\n// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8!\n//\n// Originally from narwhal.js (http://narwhaljs.org)\n// Copyright (c) 2009 Thomas Robinson <280north.com>\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the 'Software'), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// when used in node, this will actually load the util module we depend on\n// versus loading the builtin util module as happens otherwise\n// this is a bug in node module loading as far as I am concerned\nvar util = require('util/');\n\nvar pSlice = Array.prototype.slice;\nvar hasOwn = Object.prototype.hasOwnProperty;\n\n// 1. The assert module provides functions that throw\n// AssertionError's when particular conditions are not met. The\n// assert module must conform to the following interface.\n\nvar assert = module.exports = ok;\n\n// 2. The AssertionError is defined in assert.\n// new assert.AssertionError({ message: message,\n//                             actual: actual,\n//                             expected: expected })\n\nassert.AssertionError = function AssertionError(options) {\n  this.name = 'AssertionError';\n  this.actual = options.actual;\n  this.expected = options.expected;\n  this.operator = options.operator;\n  if (options.message) {\n    this.message = options.message;\n    this.generatedMessage = false;\n  } else {\n    this.message = getMessage(this);\n    this.generatedMessage = true;\n  }\n  var stackStartFunction = options.stackStartFunction || fail;\n\n  if (Error.captureStackTrace) {\n    Error.captureStackTrace(this, stackStartFunction);\n  }\n  else {\n    // non v8 browsers so we can have a stacktrace\n    var err = new Error();\n    if (err.stack) {\n      var out = err.stack;\n\n      // try to strip useless frames\n      var fn_name = stackStartFunction.name;\n      var idx = out.indexOf('\\n' + fn_name);\n      if (idx >= 0) {\n        // once we have located the function frame\n        // we need to strip out everything before it (and its line)\n        var next_line = out.indexOf('\\n', idx + 1);\n        out = out.substring(next_line + 1);\n      }\n\n      this.stack = out;\n    }\n  }\n};\n\n// assert.AssertionError instanceof Error\nutil.inherits(assert.AssertionError, Error);\n\nfunction replacer(key, value) {\n  if (util.isUndefined(value)) {\n    return '' + value;\n  }\n  if (util.isNumber(value) && !isFinite(value)) {\n    return value.toString();\n  }\n  if (util.isFunction(value) || util.isRegExp(value)) {\n    return value.toString();\n  }\n  return value;\n}\n\nfunction truncate(s, n) {\n  if (util.isString(s)) {\n    return s.length < n ? s : s.slice(0, n);\n  } else {\n    return s;\n  }\n}\n\nfunction getMessage(self) {\n  return truncate(JSON.stringify(self.actual, replacer), 128) + ' ' +\n         self.operator + ' ' +\n         truncate(JSON.stringify(self.expected, replacer), 128);\n}\n\n// At present only the three keys mentioned above are used and\n// understood by the spec. Implementations or sub modules can pass\n// other keys to the AssertionError's constructor - they will be\n// ignored.\n\n// 3. All of the following functions must throw an AssertionError\n// when a corresponding condition is not met, with a message that\n// may be undefined if not provided.  All assertion methods provide\n// both the actual and expected values to the assertion error for\n// display purposes.\n\nfunction fail(actual, expected, message, operator, stackStartFunction) {\n  throw new assert.AssertionError({\n    message: message,\n    actual: actual,\n    expected: expected,\n    operator: operator,\n    stackStartFunction: stackStartFunction\n  });\n}\n\n// EXTENSION! allows for well behaved errors defined elsewhere.\nassert.fail = fail;\n\n// 4. Pure assertion tests whether a value is truthy, as determined\n// by !!guard.\n// assert.ok(guard, message_opt);\n// This statement is equivalent to assert.equal(true, !!guard,\n// message_opt);. To test strictly for the value true, use\n// assert.strictEqual(true, guard, message_opt);.\n\nfunction ok(value, message) {\n  if (!value) fail(value, true, message, '==', assert.ok);\n}\nassert.ok = ok;\n\n// 5. The equality assertion tests shallow, coercive equality with\n// ==.\n// assert.equal(actual, expected, message_opt);\n\nassert.equal = function equal(actual, expected, message) {\n  if (actual != expected) fail(actual, expected, message, '==', assert.equal);\n};\n\n// 6. The non-equality assertion tests for whether two objects are not equal\n// with != assert.notEqual(actual, expected, message_opt);\n\nassert.notEqual = function notEqual(actual, expected, message) {\n  if (actual == expected) {\n    fail(actual, expected, message, '!=', assert.notEqual);\n  }\n};\n\n// 7. The equivalence assertion tests a deep equality relation.\n// assert.deepEqual(actual, expected, message_opt);\n\nassert.deepEqual = function deepEqual(actual, expected, message) {\n  if (!_deepEqual(actual, expected)) {\n    fail(actual, expected, message, 'deepEqual', assert.deepEqual);\n  }\n};\n\nfunction _deepEqual(actual, expected) {\n  // 7.1. All identical values are equivalent, as determined by ===.\n  if (actual === expected) {\n    return true;\n\n  } else if (util.isBuffer(actual) && util.isBuffer(expected)) {\n    if (actual.length != expected.length) return false;\n\n    for (var i = 0; i < actual.length; i++) {\n      if (actual[i] !== expected[i]) return false;\n    }\n\n    return true;\n\n  // 7.2. If the expected value is a Date object, the actual value is\n  // equivalent if it is also a Date object that refers to the same time.\n  } else if (util.isDate(actual) && util.isDate(expected)) {\n    return actual.getTime() === expected.getTime();\n\n  // 7.3 If the expected value is a RegExp object, the actual value is\n  // equivalent if it is also a RegExp object with the same source and\n  // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`).\n  } else if (util.isRegExp(actual) && util.isRegExp(expected)) {\n    return actual.source === expected.source &&\n           actual.global === expected.global &&\n           actual.multiline === expected.multiline &&\n           actual.lastIndex === expected.lastIndex &&\n           actual.ignoreCase === expected.ignoreCase;\n\n  // 7.4. Other pairs that do not both pass typeof value == 'object',\n  // equivalence is determined by ==.\n  } else if (!util.isObject(actual) && !util.isObject(expected)) {\n    return actual == expected;\n\n  // 7.5 For all other Object pairs, including Array objects, equivalence is\n  // determined by having the same number of owned properties (as verified\n  // with Object.prototype.hasOwnProperty.call), the same set of keys\n  // (although not necessarily the same order), equivalent values for every\n  // corresponding key, and an identical 'prototype' property. Note: this\n  // accounts for both named and indexed properties on Arrays.\n  } else {\n    return objEquiv(actual, expected);\n  }\n}\n\nfunction isArguments(object) {\n  return Object.prototype.toString.call(object) == '[object Arguments]';\n}\n\nfunction objEquiv(a, b) {\n  if (util.isNullOrUndefined(a) || util.isNullOrUndefined(b))\n    return false;\n  // an identical 'prototype' property.\n  if (a.prototype !== b.prototype) return false;\n  // if one is a primitive, the other must be same\n  if (util.isPrimitive(a) || util.isPrimitive(b)) {\n    return a === b;\n  }\n  var aIsArgs = isArguments(a),\n      bIsArgs = isArguments(b);\n  if ((aIsArgs && !bIsArgs) || (!aIsArgs && bIsArgs))\n    return false;\n  if (aIsArgs) {\n    a = pSlice.call(a);\n    b = pSlice.call(b);\n    return _deepEqual(a, b);\n  }\n  var ka = objectKeys(a),\n      kb = objectKeys(b),\n      key, i;\n  // having the same number of owned properties (keys incorporates\n  // hasOwnProperty)\n  if (ka.length != kb.length)\n    return false;\n  //the same set of keys (although not necessarily the same order),\n  ka.sort();\n  kb.sort();\n  //~~~cheap key test\n  for (i = ka.length - 1; i >= 0; i--) {\n    if (ka[i] != kb[i])\n      return false;\n  }\n  //equivalent values for every corresponding key, and\n  //~~~possibly expensive deep test\n  for (i = ka.length - 1; i >= 0; i--) {\n    key = ka[i];\n    if (!_deepEqual(a[key], b[key])) return false;\n  }\n  return true;\n}\n\n// 8. The non-equivalence assertion tests for any deep inequality.\n// assert.notDeepEqual(actual, expected, message_opt);\n\nassert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n  if (_deepEqual(actual, expected)) {\n    fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);\n  }\n};\n\n// 9. The strict equality assertion tests strict equality, as determined by ===.\n// assert.strictEqual(actual, expected, message_opt);\n\nassert.strictEqual = function strictEqual(actual, expected, message) {\n  if (actual !== expected) {\n    fail(actual, expected, message, '===', assert.strictEqual);\n  }\n};\n\n// 10. The strict non-equality assertion tests for strict inequality, as\n// determined by !==.  assert.notStrictEqual(actual, expected, message_opt);\n\nassert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n  if (actual === expected) {\n    fail(actual, expected, message, '!==', assert.notStrictEqual);\n  }\n};\n\nfunction expectedException(actual, expected) {\n  if (!actual || !expected) {\n    return false;\n  }\n\n  if (Object.prototype.toString.call(expected) == '[object RegExp]') {\n    return expected.test(actual);\n  } else if (actual instanceof expected) {\n    return true;\n  } else if (expected.call({}, actual) === true) {\n    return true;\n  }\n\n  return false;\n}\n\nfunction _throws(shouldThrow, block, expected, message) {\n  var actual;\n\n  if (util.isString(expected)) {\n    message = expected;\n    expected = null;\n  }\n\n  try {\n    block();\n  } catch (e) {\n    actual = e;\n  }\n\n  message = (expected && expected.name ? ' (' + expected.name + ').' : '.') +\n            (message ? ' ' + message : '.');\n\n  if (shouldThrow && !actual) {\n    fail(actual, expected, 'Missing expected exception' + message);\n  }\n\n  if (!shouldThrow && expectedException(actual, expected)) {\n    fail(actual, expected, 'Got unwanted exception' + message);\n  }\n\n  if ((shouldThrow && actual && expected &&\n      !expectedException(actual, expected)) || (!shouldThrow && actual)) {\n    throw actual;\n  }\n}\n\n// 11. Expected to throw an error:\n// assert.throws(block, Error_opt, message_opt);\n\nassert.throws = function(block, /*optional*/error, /*optional*/message) {\n  _throws.apply(this, [true].concat(pSlice.call(arguments)));\n};\n\n// EXTENSION! This is annoying to write outside this module.\nassert.doesNotThrow = function(block, /*optional*/message) {\n  _throws.apply(this, [false].concat(pSlice.call(arguments)));\n};\n\nassert.ifError = function(err) { if (err) {throw err;}};\n\nvar objectKeys = Object.keys || function (obj) {\n  var keys = [];\n  for (var key in obj) {\n    if (hasOwn.call(obj, key)) keys.push(key);\n  }\n  return keys;\n};\n\n},{\"util/\":28}],10:[function(require,module,exports){\n'use strict';\nmodule.exports = balanced;\nfunction balanced(a, b, str) {\n  if (a instanceof RegExp) a = maybeMatch(a, str);\n  if (b instanceof RegExp) b = maybeMatch(b, str);\n\n  var r = range(a, b, str);\n\n  return r && {\n    start: r[0],\n    end: r[1],\n    pre: str.slice(0, r[0]),\n    body: str.slice(r[0] + a.length, r[1]),\n    post: str.slice(r[1] + b.length)\n  };\n}\n\nfunction maybeMatch(reg, str) {\n  var m = str.match(reg);\n  return m ? m[0] : null;\n}\n\nbalanced.range = range;\nfunction range(a, b, str) {\n  var begs, beg, left, right, result;\n  var ai = str.indexOf(a);\n  var bi = str.indexOf(b, ai + 1);\n  var i = ai;\n\n  if (ai >= 0 && bi > 0) {\n    begs = [];\n    left = str.length;\n\n    while (i >= 0 && !result) {\n      if (i == ai) {\n        begs.push(i);\n        ai = str.indexOf(a, i + 1);\n      } else if (begs.length == 1) {\n        result = [ begs.pop(), bi ];\n      } else {\n        beg = begs.pop();\n        if (beg < left) {\n          left = beg;\n          right = bi;\n        }\n\n        bi = str.indexOf(b, i + 1);\n      }\n\n      i = ai < bi && ai >= 0 ? ai : bi;\n    }\n\n    if (begs.length) {\n      result = [ left, right ];\n    }\n  }\n\n  return result;\n}\n\n},{}],11:[function(require,module,exports){\nvar concatMap = require('concat-map');\nvar balanced = require('balanced-match');\n\nmodule.exports = expandTop;\n\nvar escSlash = '\\0SLASH'+Math.random()+'\\0';\nvar escOpen = '\\0OPEN'+Math.random()+'\\0';\nvar escClose = '\\0CLOSE'+Math.random()+'\\0';\nvar escComma = '\\0COMMA'+Math.random()+'\\0';\nvar escPeriod = '\\0PERIOD'+Math.random()+'\\0';\n\nfunction numeric(str) {\n  return parseInt(str, 10) == str\n    ? parseInt(str, 10)\n    : str.charCodeAt(0);\n}\n\nfunction escapeBraces(str) {\n  return str.split('\\\\\\\\').join(escSlash)\n            .split('\\\\{').join(escOpen)\n            .split('\\\\}').join(escClose)\n            .split('\\\\,').join(escComma)\n            .split('\\\\.').join(escPeriod);\n}\n\nfunction unescapeBraces(str) {\n  return str.split(escSlash).join('\\\\')\n            .split(escOpen).join('{')\n            .split(escClose).join('}')\n            .split(escComma).join(',')\n            .split(escPeriod).join('.');\n}\n\n\n// Basically just str.split(\",\"), but handling cases\n// where we have nested braced sections, which should be\n// treated as individual members, like {a,{b,c},d}\nfunction parseCommaParts(str) {\n  if (!str)\n    return [''];\n\n  var parts = [];\n  var m = balanced('{', '}', str);\n\n  if (!m)\n    return str.split(',');\n\n  var pre = m.pre;\n  var body = m.body;\n  var post = m.post;\n  var p = pre.split(',');\n\n  p[p.length-1] += '{' + body + '}';\n  var postParts = parseCommaParts(post);\n  if (post.length) {\n    p[p.length-1] += postParts.shift();\n    p.push.apply(p, postParts);\n  }\n\n  parts.push.apply(parts, p);\n\n  return parts;\n}\n\nfunction expandTop(str) {\n  if (!str)\n    return [];\n\n  // I don't know why Bash 4.3 does this, but it does.\n  // Anything starting with {} will have the first two bytes preserved\n  // but *only* at the top level, so {},a}b will not expand to anything,\n  // but a{},b}c will be expanded to [a}c,abc].\n  // One could argue that this is a bug in Bash, but since the goal of\n  // this module is to match Bash's rules, we escape a leading {}\n  if (str.substr(0, 2) === '{}') {\n    str = '\\\\{\\\\}' + str.substr(2);\n  }\n\n  return expand(escapeBraces(str), true).map(unescapeBraces);\n}\n\nfunction identity(e) {\n  return e;\n}\n\nfunction embrace(str) {\n  return '{' + str + '}';\n}\nfunction isPadded(el) {\n  return /^-?0\\d/.test(el);\n}\n\nfunction lte(i, y) {\n  return i <= y;\n}\nfunction gte(i, y) {\n  return i >= y;\n}\n\nfunction expand(str, isTop) {\n  var expansions = [];\n\n  var m = balanced('{', '}', str);\n  if (!m || /\\$$/.test(m.pre)) return [str];\n\n  var isNumericSequence = /^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body);\n  var isAlphaSequence = /^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(m.body);\n  var isSequence = isNumericSequence || isAlphaSequence;\n  var isOptions = m.body.indexOf(',') >= 0;\n  if (!isSequence && !isOptions) {\n    // {a},b}\n    if (m.post.match(/,.*\\}/)) {\n      str = m.pre + '{' + m.body + escClose + m.post;\n      return expand(str);\n    }\n    return [str];\n  }\n\n  var n;\n  if (isSequence) {\n    n = m.body.split(/\\.\\./);\n  } else {\n    n = parseCommaParts(m.body);\n    if (n.length === 1) {\n      // x{{a,b}}y ==> x{a}y x{b}y\n      n = expand(n[0], false).map(embrace);\n      if (n.length === 1) {\n        var post = m.post.length\n          ? expand(m.post, false)\n          : [''];\n        return post.map(function(p) {\n          return m.pre + n[0] + p;\n        });\n      }\n    }\n  }\n\n  // at this point, n is the parts, and we know it's not a comma set\n  // with a single entry.\n\n  // no need to expand pre, since it is guaranteed to be free of brace-sets\n  var pre = m.pre;\n  var post = m.post.length\n    ? expand(m.post, false)\n    : [''];\n\n  var N;\n\n  if (isSequence) {\n    var x = numeric(n[0]);\n    var y = numeric(n[1]);\n    var width = Math.max(n[0].length, n[1].length)\n    var incr = n.length == 3\n      ? Math.abs(numeric(n[2]))\n      : 1;\n    var test = lte;\n    var reverse = y < x;\n    if (reverse) {\n      incr *= -1;\n      test = gte;\n    }\n    var pad = n.some(isPadded);\n\n    N = [];\n\n    for (var i = x; test(i, y); i += incr) {\n      var c;\n      if (isAlphaSequence) {\n        c = String.fromCharCode(i);\n        if (c === '\\\\')\n          c = '';\n      } else {\n        c = String(i);\n        if (pad) {\n          var need = width - c.length;\n          if (need > 0) {\n            var z = new Array(need + 1).join('0');\n            if (i < 0)\n              c = '-' + z + c.slice(1);\n            else\n              c = z + c;\n          }\n        }\n      }\n      N.push(c);\n    }\n  } else {\n    N = concatMap(n, function(el) { return expand(el, false) });\n  }\n\n  for (var j = 0; j < N.length; j++) {\n    for (var k = 0; k < post.length; k++) {\n      var expansion = pre + N[j] + post[k];\n      if (!isTop || isSequence || expansion)\n        expansions.push(expansion);\n    }\n  }\n\n  return expansions;\n}\n\n\n},{\"balanced-match\":10,\"concat-map\":13}],12:[function(require,module,exports){\n\n},{}],13:[function(require,module,exports){\nmodule.exports = function (xs, fn) {\n    var res = [];\n    for (var i = 0; i < xs.length; i++) {\n        var x = fn(xs[i], i);\n        if (isArray(x)) res.push.apply(res, x);\n        else res.push(x);\n    }\n    return res;\n};\n\nvar isArray = Array.isArray || function (xs) {\n    return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\n},{}],14:[function(require,module,exports){\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nfunction EventEmitter() {\n  this._events = this._events || {};\n  this._maxListeners = this._maxListeners || undefined;\n}\nmodule.exports = EventEmitter;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nEventEmitter.defaultMaxListeners = 10;\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function(n) {\n  if (!isNumber(n) || n < 0 || isNaN(n))\n    throw TypeError('n must be a positive number');\n  this._maxListeners = n;\n  return this;\n};\n\nEventEmitter.prototype.emit = function(type) {\n  var er, handler, len, args, i, listeners;\n\n  if (!this._events)\n    this._events = {};\n\n  // If there is no 'error' event listener then throw.\n  if (type === 'error') {\n    if (!this._events.error ||\n        (isObject(this._events.error) && !this._events.error.length)) {\n      er = arguments[1];\n      if (er instanceof Error) {\n        throw er; // Unhandled 'error' event\n      }\n      throw TypeError('Uncaught, unspecified \"error\" event.');\n    }\n  }\n\n  handler = this._events[type];\n\n  if (isUndefined(handler))\n    return false;\n\n  if (isFunction(handler)) {\n    switch (arguments.length) {\n      // fast cases\n      case 1:\n        handler.call(this);\n        break;\n      case 2:\n        handler.call(this, arguments[1]);\n        break;\n      case 3:\n        handler.call(this, arguments[1], arguments[2]);\n        break;\n      // slower\n      default:\n        len = arguments.length;\n        args = new Array(len - 1);\n        for (i = 1; i < len; i++)\n          args[i - 1] = arguments[i];\n        handler.apply(this, args);\n    }\n  } else if (isObject(handler)) {\n    len = arguments.length;\n    args = new Array(len - 1);\n    for (i = 1; i < len; i++)\n      args[i - 1] = arguments[i];\n\n    listeners = handler.slice();\n    len = listeners.length;\n    for (i = 0; i < len; i++)\n      listeners[i].apply(this, args);\n  }\n\n  return true;\n};\n\nEventEmitter.prototype.addListener = function(type, listener) {\n  var m;\n\n  if (!isFunction(listener))\n    throw TypeError('listener must be a function');\n\n  if (!this._events)\n    this._events = {};\n\n  // To avoid recursion in the case that type === \"newListener\"! Before\n  // adding it to the listeners, first emit \"newListener\".\n  if (this._events.newListener)\n    this.emit('newListener', type,\n              isFunction(listener.listener) ?\n              listener.listener : listener);\n\n  if (!this._events[type])\n    // Optimize the case of one listener. Don't need the extra array object.\n    this._events[type] = listener;\n  else if (isObject(this._events[type]))\n    // If we've already got an array, just append.\n    this._events[type].push(listener);\n  else\n    // Adding the second element, need to change to array.\n    this._events[type] = [this._events[type], listener];\n\n  // Check for listener leak\n  if (isObject(this._events[type]) && !this._events[type].warned) {\n    var m;\n    if (!isUndefined(this._maxListeners)) {\n      m = this._maxListeners;\n    } else {\n      m = EventEmitter.defaultMaxListeners;\n    }\n\n    if (m && m > 0 && this._events[type].length > m) {\n      this._events[type].warned = true;\n      console.error('(node) warning: possible EventEmitter memory ' +\n                    'leak detected. %d listeners added. ' +\n                    'Use emitter.setMaxListeners() to increase limit.',\n                    this._events[type].length);\n      if (typeof console.trace === 'function') {\n        // not supported in IE 10\n        console.trace();\n      }\n    }\n  }\n\n  return this;\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.once = function(type, listener) {\n  if (!isFunction(listener))\n    throw TypeError('listener must be a function');\n\n  var fired = false;\n\n  function g() {\n    this.removeListener(type, g);\n\n    if (!fired) {\n      fired = true;\n      listener.apply(this, arguments);\n    }\n  }\n\n  g.listener = listener;\n  this.on(type, g);\n\n  return this;\n};\n\n// emits a 'removeListener' event iff the listener was removed\nEventEmitter.prototype.removeListener = function(type, listener) {\n  var list, position, length, i;\n\n  if (!isFunction(listener))\n    throw TypeError('listener must be a function');\n\n  if (!this._events || !this._events[type])\n    return this;\n\n  list = this._events[type];\n  length = list.length;\n  position = -1;\n\n  if (list === listener ||\n      (isFunction(list.listener) && list.listener === listener)) {\n    delete this._events[type];\n    if (this._events.removeListener)\n      this.emit('removeListener', type, listener);\n\n  } else if (isObject(list)) {\n    for (i = length; i-- > 0;) {\n      if (list[i] === listener ||\n          (list[i].listener && list[i].listener === listener)) {\n        position = i;\n        break;\n      }\n    }\n\n    if (position < 0)\n      return this;\n\n    if (list.length === 1) {\n      list.length = 0;\n      delete this._events[type];\n    } else {\n      list.splice(position, 1);\n    }\n\n    if (this._events.removeListener)\n      this.emit('removeListener', type, listener);\n  }\n\n  return this;\n};\n\nEventEmitter.prototype.removeAllListeners = function(type) {\n  var key, listeners;\n\n  if (!this._events)\n    return this;\n\n  // not listening for removeListener, no need to emit\n  if (!this._events.removeListener) {\n    if (arguments.length === 0)\n      this._events = {};\n    else if (this._events[type])\n      delete this._events[type];\n    return this;\n  }\n\n  // emit removeListener for all listeners on all events\n  if (arguments.length === 0) {\n    for (key in this._events) {\n      if (key === 'removeListener') continue;\n      this.removeAllListeners(key);\n    }\n    this.removeAllListeners('removeListener');\n    this._events = {};\n    return this;\n  }\n\n  listeners = this._events[type];\n\n  if (isFunction(listeners)) {\n    this.removeListener(type, listeners);\n  } else {\n    // LIFO order\n    while (listeners.length)\n      this.removeListener(type, listeners[listeners.length - 1]);\n  }\n  delete this._events[type];\n\n  return this;\n};\n\nEventEmitter.prototype.listeners = function(type) {\n  var ret;\n  if (!this._events || !this._events[type])\n    ret = [];\n  else if (isFunction(this._events[type]))\n    ret = [this._events[type]];\n  else\n    ret = this._events[type].slice();\n  return ret;\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n  var ret;\n  if (!emitter._events || !emitter._events[type])\n    ret = 0;\n  else if (isFunction(emitter._events[type]))\n    ret = 1;\n  else\n    ret = emitter._events[type].length;\n  return ret;\n};\n\nfunction isFunction(arg) {\n  return typeof arg === 'function';\n}\n\nfunction isNumber(arg) {\n  return typeof arg === 'number';\n}\n\nfunction isObject(arg) {\n  return typeof arg === 'object' && arg !== null;\n}\n\nfunction isUndefined(arg) {\n  return arg === void 0;\n}\n\n},{}],15:[function(require,module,exports){\n(function (process){\nexports.alphasort = alphasort\nexports.alphasorti = alphasorti\nexports.setopts = setopts\nexports.ownProp = ownProp\nexports.makeAbs = makeAbs\nexports.finish = finish\nexports.mark = mark\nexports.isIgnored = isIgnored\nexports.childrenIgnored = childrenIgnored\n\nfunction ownProp (obj, field) {\n  return Object.prototype.hasOwnProperty.call(obj, field)\n}\n\nvar path = require(\"path\")\nvar minimatch = require(\"minimatch\")\nvar isAbsolute = require(\"path-is-absolute\")\nvar Minimatch = minimatch.Minimatch\n\nfunction alphasorti (a, b) {\n  return a.toLowerCase().localeCompare(b.toLowerCase())\n}\n\nfunction alphasort (a, b) {\n  return a.localeCompare(b)\n}\n\nfunction setupIgnores (self, options) {\n  self.ignore = options.ignore || []\n\n  if (!Array.isArray(self.ignore))\n    self.ignore = [self.ignore]\n\n  if (self.ignore.length) {\n    self.ignore = self.ignore.map(ignoreMap)\n  }\n}\n\nfunction ignoreMap (pattern) {\n  var gmatcher = null\n  if (pattern.slice(-3) === '/**') {\n    var gpattern = pattern.replace(/(\\/\\*\\*)+$/, '')\n    gmatcher = new Minimatch(gpattern)\n  }\n\n  return {\n    matcher: new Minimatch(pattern),\n    gmatcher: gmatcher\n  }\n}\n\nfunction setopts (self, pattern, options) {\n  if (!options)\n    options = {}\n\n  // base-matching: just use globstar for that.\n  if (options.matchBase && -1 === pattern.indexOf(\"/\")) {\n    if (options.noglobstar) {\n      throw new Error(\"base matching requires globstar\")\n    }\n    pattern = \"**/\" + pattern\n  }\n\n  self.silent = !!options.silent\n  self.pattern = pattern\n  self.strict = options.strict !== false\n  self.realpath = !!options.realpath\n  self.realpathCache = options.realpathCache || Object.create(null)\n  self.follow = !!options.follow\n  self.dot = !!options.dot\n  self.mark = !!options.mark\n  self.nodir = !!options.nodir\n  if (self.nodir)\n    self.mark = true\n  self.sync = !!options.sync\n  self.nounique = !!options.nounique\n  self.nonull = !!options.nonull\n  self.nosort = !!options.nosort\n  self.nocase = !!options.nocase\n  self.stat = !!options.stat\n  self.noprocess = !!options.noprocess\n\n  self.maxLength = options.maxLength || Infinity\n  self.cache = options.cache || Object.create(null)\n  self.statCache = options.statCache || Object.create(null)\n  self.symlinks = options.symlinks || Object.create(null)\n\n  setupIgnores(self, options)\n\n  self.changedCwd = false\n  var cwd = process.cwd()\n  if (!ownProp(options, \"cwd\"))\n    self.cwd = cwd\n  else {\n    self.cwd = options.cwd\n    self.changedCwd = path.resolve(options.cwd) !== cwd\n  }\n\n  self.root = options.root || path.resolve(self.cwd, \"/\")\n  self.root = path.resolve(self.root)\n  if (process.platform === \"win32\")\n    self.root = self.root.replace(/\\\\/g, \"/\")\n\n  self.nomount = !!options.nomount\n\n  // disable comments and negation unless the user explicitly\n  // passes in false as the option.\n  options.nonegate = options.nonegate === false ? false : true\n  options.nocomment = options.nocomment === false ? false : true\n  deprecationWarning(options)\n\n  self.minimatch = new Minimatch(pattern, options)\n  self.options = self.minimatch.options\n}\n\n// TODO(isaacs): remove entirely in v6\n// exported to reset in tests\nexports.deprecationWarned\nfunction deprecationWarning(options) {\n  if (!options.nonegate || !options.nocomment) {\n    if (process.noDeprecation !== true && !exports.deprecationWarned) {\n      var msg = 'glob WARNING: comments and negation will be disabled in v6'\n      if (process.throwDeprecation)\n        throw new Error(msg)\n      else if (process.traceDeprecation)\n        console.trace(msg)\n      else\n        console.error(msg)\n\n      exports.deprecationWarned = true\n    }\n  }\n}\n\nfunction finish (self) {\n  var nou = self.nounique\n  var all = nou ? [] : Object.create(null)\n\n  for (var i = 0, l = self.matches.length; i < l; i ++) {\n    var matches = self.matches[i]\n    if (!matches || Object.keys(matches).length === 0) {\n      if (self.nonull) {\n        // do like the shell, and spit out the literal glob\n        var literal = self.minimatch.globSet[i]\n        if (nou)\n          all.push(literal)\n        else\n          all[literal] = true\n      }\n    } else {\n      // had matches\n      var m = Object.keys(matches)\n      if (nou)\n        all.push.apply(all, m)\n      else\n        m.forEach(function (m) {\n          all[m] = true\n        })\n    }\n  }\n\n  if (!nou)\n    all = Object.keys(all)\n\n  if (!self.nosort)\n    all = all.sort(self.nocase ? alphasorti : alphasort)\n\n  // at *some* point we statted all of these\n  if (self.mark) {\n    for (var i = 0; i < all.length; i++) {\n      all[i] = self._mark(all[i])\n    }\n    if (self.nodir) {\n      all = all.filter(function (e) {\n        return !(/\\/$/.test(e))\n      })\n    }\n  }\n\n  if (self.ignore.length)\n    all = all.filter(function(m) {\n      return !isIgnored(self, m)\n    })\n\n  self.found = all\n}\n\nfunction mark (self, p) {\n  var abs = makeAbs(self, p)\n  var c = self.cache[abs]\n  var m = p\n  if (c) {\n    var isDir = c === 'DIR' || Array.isArray(c)\n    var slash = p.slice(-1) === '/'\n\n    if (isDir && !slash)\n      m += '/'\n    else if (!isDir && slash)\n      m = m.slice(0, -1)\n\n    if (m !== p) {\n      var mabs = makeAbs(self, m)\n      self.statCache[mabs] = self.statCache[abs]\n      self.cache[mabs] = self.cache[abs]\n    }\n  }\n\n  return m\n}\n\n// lotta situps...\nfunction makeAbs (self, f) {\n  var abs = f\n  if (f.charAt(0) === '/') {\n    abs = path.join(self.root, f)\n  } else if (isAbsolute(f) || f === '') {\n    abs = f\n  } else if (self.changedCwd) {\n    abs = path.resolve(self.cwd, f)\n  } else {\n    abs = path.resolve(f)\n  }\n  return abs\n}\n\n\n// Return true, if pattern ends with globstar '**', for the accompanying parent directory.\n// Ex:- If node_modules/** is the pattern, add 'node_modules' to ignore list along with it's contents\nfunction isIgnored (self, path) {\n  if (!self.ignore.length)\n    return false\n\n  return self.ignore.some(function(item) {\n    return item.matcher.match(path) || !!(item.gmatcher && item.gmatcher.match(path))\n  })\n}\n\nfunction childrenIgnored (self, path) {\n  if (!self.ignore.length)\n    return false\n\n  return self.ignore.some(function(item) {\n    return !!(item.gmatcher && item.gmatcher.match(path))\n  })\n}\n\n}).call(this,require('_process'))\n},{\"_process\":24,\"minimatch\":20,\"path\":22,\"path-is-absolute\":23}],16:[function(require,module,exports){\n(function (process){\n// Approach:\n//\n// 1. Get the minimatch set\n// 2. For each pattern in the set, PROCESS(pattern, false)\n// 3. Store matches per-set, then uniq them\n//\n// PROCESS(pattern, inGlobStar)\n// Get the first [n] items from pattern that are all strings\n// Join these together.  This is PREFIX.\n//   If there is no more remaining, then stat(PREFIX) and\n//   add to matches if it succeeds.  END.\n//\n// If inGlobStar and PREFIX is symlink and points to dir\n//   set ENTRIES = []\n// else readdir(PREFIX) as ENTRIES\n//   If fail, END\n//\n// with ENTRIES\n//   If pattern[n] is GLOBSTAR\n//     // handle the case where the globstar match is empty\n//     // by pruning it out, and testing the resulting pattern\n//     PROCESS(pattern[0..n] + pattern[n+1 .. $], false)\n//     // handle other cases.\n//     for ENTRY in ENTRIES (not dotfiles)\n//       // attach globstar + tail onto the entry\n//       // Mark that this entry is a globstar match\n//       PROCESS(pattern[0..n] + ENTRY + pattern[n .. $], true)\n//\n//   else // not globstar\n//     for ENTRY in ENTRIES (not dotfiles, unless pattern[n] is dot)\n//       Test ENTRY against pattern[n]\n//       If fails, continue\n//       If passes, PROCESS(pattern[0..n] + item + pattern[n+1 .. $])\n//\n// Caveat:\n//   Cache all stats and readdirs results to minimize syscall.  Since all\n//   we ever care about is existence and directory-ness, we can just keep\n//   `true` for files, and [children,...] for directories, or `false` for\n//   things that don't exist.\n\nmodule.exports = glob\n\nvar fs = require('fs')\nvar minimatch = require('minimatch')\nvar Minimatch = minimatch.Minimatch\nvar inherits = require('inherits')\nvar EE = require('events').EventEmitter\nvar path = require('path')\nvar assert = require('assert')\nvar isAbsolute = require('path-is-absolute')\nvar globSync = require('./sync.js')\nvar common = require('./common.js')\nvar alphasort = common.alphasort\nvar alphasorti = common.alphasorti\nvar setopts = common.setopts\nvar ownProp = common.ownProp\nvar inflight = require('inflight')\nvar util = require('util')\nvar childrenIgnored = common.childrenIgnored\nvar isIgnored = common.isIgnored\n\nvar once = require('once')\n\nfunction glob (pattern, options, cb) {\n  if (typeof options === 'function') cb = options, options = {}\n  if (!options) options = {}\n\n  if (options.sync) {\n    if (cb)\n      throw new TypeError('callback provided to sync glob')\n    return globSync(pattern, options)\n  }\n\n  return new Glob(pattern, options, cb)\n}\n\nglob.sync = globSync\nvar GlobSync = glob.GlobSync = globSync.GlobSync\n\n// old api surface\nglob.glob = glob\n\nglob.hasMagic = function (pattern, options_) {\n  var options = util._extend({}, options_)\n  options.noprocess = true\n\n  var g = new Glob(pattern, options)\n  var set = g.minimatch.set\n  if (set.length > 1)\n    return true\n\n  for (var j = 0; j < set[0].length; j++) {\n    if (typeof set[0][j] !== 'string')\n      return true\n  }\n\n  return false\n}\n\nglob.Glob = Glob\ninherits(Glob, EE)\nfunction Glob (pattern, options, cb) {\n  if (typeof options === 'function') {\n    cb = options\n    options = null\n  }\n\n  if (options && options.sync) {\n    if (cb)\n      throw new TypeError('callback provided to sync glob')\n    return new GlobSync(pattern, options)\n  }\n\n  if (!(this instanceof Glob))\n    return new Glob(pattern, options, cb)\n\n  setopts(this, pattern, options)\n  this._didRealPath = false\n\n  // process each pattern in the minimatch set\n  var n = this.minimatch.set.length\n\n  // The matches are stored as {<filename>: true,...} so that\n  // duplicates are automagically pruned.\n  // Later, we do an Object.keys() on these.\n  // Keep them as a list so we can fill in when nonull is set.\n  this.matches = new Array(n)\n\n  if (typeof cb === 'function') {\n    cb = once(cb)\n    this.on('error', cb)\n    this.on('end', function (matches) {\n      cb(null, matches)\n    })\n  }\n\n  var self = this\n  var n = this.minimatch.set.length\n  this._processing = 0\n  this.matches = new Array(n)\n\n  this._emitQueue = []\n  this._processQueue = []\n  this.paused = false\n\n  if (this.noprocess)\n    return this\n\n  if (n === 0)\n    return done()\n\n  for (var i = 0; i < n; i ++) {\n    this._process(this.minimatch.set[i], i, false, done)\n  }\n\n  function done () {\n    --self._processing\n    if (self._processing <= 0)\n      self._finish()\n  }\n}\n\nGlob.prototype._finish = function () {\n  assert(this instanceof Glob)\n  if (this.aborted)\n    return\n\n  if (this.realpath && !this._didRealpath)\n    return this._realpath()\n\n  common.finish(this)\n  this.emit('end', this.found)\n}\n\nGlob.prototype._realpath = function () {\n  if (this._didRealpath)\n    return\n\n  this._didRealpath = true\n\n  var n = this.matches.length\n  if (n === 0)\n    return this._finish()\n\n  var self = this\n  for (var i = 0; i < this.matches.length; i++)\n    this._realpathSet(i, next)\n\n  function next () {\n    if (--n === 0)\n      self._finish()\n  }\n}\n\nGlob.prototype._realpathSet = function (index, cb) {\n  var matchset = this.matches[index]\n  if (!matchset)\n    return cb()\n\n  var found = Object.keys(matchset)\n  var self = this\n  var n = found.length\n\n  if (n === 0)\n    return cb()\n\n  var set = this.matches[index] = Object.create(null)\n  found.forEach(function (p, i) {\n    // If there's a problem with the stat, then it means that\n    // one or more of the links in the realpath couldn't be\n    // resolved.  just return the abs value in that case.\n    p = self._makeAbs(p)\n    fs.realpath(p, self.realpathCache, function (er, real) {\n      if (!er)\n        set[real] = true\n      else if (er.syscall === 'stat')\n        set[p] = true\n      else\n        self.emit('error', er) // srsly wtf right here\n\n      if (--n === 0) {\n        self.matches[index] = set\n        cb()\n      }\n    })\n  })\n}\n\nGlob.prototype._mark = function (p) {\n  return common.mark(this, p)\n}\n\nGlob.prototype._makeAbs = function (f) {\n  return common.makeAbs(this, f)\n}\n\nGlob.prototype.abort = function () {\n  this.aborted = true\n  this.emit('abort')\n}\n\nGlob.prototype.pause = function () {\n  if (!this.paused) {\n    this.paused = true\n    this.emit('pause')\n  }\n}\n\nGlob.prototype.resume = function () {\n  if (this.paused) {\n    this.emit('resume')\n    this.paused = false\n    if (this._emitQueue.length) {\n      var eq = this._emitQueue.slice(0)\n      this._emitQueue.length = 0\n      for (var i = 0; i < eq.length; i ++) {\n        var e = eq[i]\n        this._emitMatch(e[0], e[1])\n      }\n    }\n    if (this._processQueue.length) {\n      var pq = this._processQueue.slice(0)\n      this._processQueue.length = 0\n      for (var i = 0; i < pq.length; i ++) {\n        var p = pq[i]\n        this._processing--\n        this._process(p[0], p[1], p[2], p[3])\n      }\n    }\n  }\n}\n\nGlob.prototype._process = function (pattern, index, inGlobStar, cb) {\n  assert(this instanceof Glob)\n  assert(typeof cb === 'function')\n\n  if (this.aborted)\n    return\n\n  this._processing++\n  if (this.paused) {\n    this._processQueue.push([pattern, index, inGlobStar, cb])\n    return\n  }\n\n  //console.error('PROCESS %d', this._processing, pattern)\n\n  // Get the first [n] parts of pattern that are all strings.\n  var n = 0\n  while (typeof pattern[n] === 'string') {\n    n ++\n  }\n  // now n is the index of the first one that is *not* a string.\n\n  // see if there's anything else\n  var prefix\n  switch (n) {\n    // if not, then this is rather simple\n    case pattern.length:\n      this._processSimple(pattern.join('/'), index, cb)\n      return\n\n    case 0:\n      // pattern *starts* with some non-trivial item.\n      // going to readdir(cwd), but not include the prefix in matches.\n      prefix = null\n      break\n\n    default:\n      // pattern has some string bits in the front.\n      // whatever it starts with, whether that's 'absolute' like /foo/bar,\n      // or 'relative' like '../baz'\n      prefix = pattern.slice(0, n).join('/')\n      break\n  }\n\n  var remain = pattern.slice(n)\n\n  // get the list of entries.\n  var read\n  if (prefix === null)\n    read = '.'\n  else if (isAbsolute(prefix) || isAbsolute(pattern.join('/'))) {\n    if (!prefix || !isAbsolute(prefix))\n      prefix = '/' + prefix\n    read = prefix\n  } else\n    read = prefix\n\n  var abs = this._makeAbs(read)\n\n  //if ignored, skip _processing\n  if (childrenIgnored(this, read))\n    return cb()\n\n  var isGlobStar = remain[0] === minimatch.GLOBSTAR\n  if (isGlobStar)\n    this._processGlobStar(prefix, read, abs, remain, index, inGlobStar, cb)\n  else\n    this._processReaddir(prefix, read, abs, remain, index, inGlobStar, cb)\n}\n\nGlob.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar, cb) {\n  var self = this\n  this._readdir(abs, inGlobStar, function (er, entries) {\n    return self._processReaddir2(prefix, read, abs, remain, index, inGlobStar, entries, cb)\n  })\n}\n\nGlob.prototype._processReaddir2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) {\n\n  // if the abs isn't a dir, then nothing can match!\n  if (!entries)\n    return cb()\n\n  // It will only match dot entries if it starts with a dot, or if\n  // dot is set.  Stuff like @(.foo|.bar) isn't allowed.\n  var pn = remain[0]\n  var negate = !!this.minimatch.negate\n  var rawGlob = pn._glob\n  var dotOk = this.dot || rawGlob.charAt(0) === '.'\n\n  var matchedEntries = []\n  for (var i = 0; i < entries.length; i++) {\n    var e = entries[i]\n    if (e.charAt(0) !== '.' || dotOk) {\n      var m\n      if (negate && !prefix) {\n        m = !e.match(pn)\n      } else {\n        m = e.match(pn)\n      }\n      if (m)\n        matchedEntries.push(e)\n    }\n  }\n\n  //console.error('prd2', prefix, entries, remain[0]._glob, matchedEntries)\n\n  var len = matchedEntries.length\n  // If there are no matched entries, then nothing matches.\n  if (len === 0)\n    return cb()\n\n  // if this is the last remaining pattern bit, then no need for\n  // an additional stat *unless* the user has specified mark or\n  // stat explicitly.  We know they exist, since readdir returned\n  // them.\n\n  if (remain.length === 1 && !this.mark && !this.stat) {\n    if (!this.matches[index])\n      this.matches[index] = Object.create(null)\n\n    for (var i = 0; i < len; i ++) {\n      var e = matchedEntries[i]\n      if (prefix) {\n        if (prefix !== '/')\n          e = prefix + '/' + e\n        else\n          e = prefix + e\n      }\n\n      if (e.charAt(0) === '/' && !this.nomount) {\n        e = path.join(this.root, e)\n      }\n      this._emitMatch(index, e)\n    }\n    // This was the last one, and no stats were needed\n    return cb()\n  }\n\n  // now test all matched entries as stand-ins for that part\n  // of the pattern.\n  remain.shift()\n  for (var i = 0; i < len; i ++) {\n    var e = matchedEntries[i]\n    var newPattern\n    if (prefix) {\n      if (prefix !== '/')\n        e = prefix + '/' + e\n      else\n        e = prefix + e\n    }\n    this._process([e].concat(remain), index, inGlobStar, cb)\n  }\n  cb()\n}\n\nGlob.prototype._emitMatch = function (index, e) {\n  if (this.aborted)\n    return\n\n  if (this.matches[index][e])\n    return\n\n  if (isIgnored(this, e))\n    return\n\n  if (this.paused) {\n    this._emitQueue.push([index, e])\n    return\n  }\n\n  var abs = this._makeAbs(e)\n\n  if (this.nodir) {\n    var c = this.cache[abs]\n    if (c === 'DIR' || Array.isArray(c))\n      return\n  }\n\n  if (this.mark)\n    e = this._mark(e)\n\n  this.matches[index][e] = true\n\n  var st = this.statCache[abs]\n  if (st)\n    this.emit('stat', e, st)\n\n  this.emit('match', e)\n}\n\nGlob.prototype._readdirInGlobStar = function (abs, cb) {\n  if (this.aborted)\n    return\n\n  // follow all symlinked directories forever\n  // just proceed as if this is a non-globstar situation\n  if (this.follow)\n    return this._readdir(abs, false, cb)\n\n  var lstatkey = 'lstat\\0' + abs\n  var self = this\n  var lstatcb = inflight(lstatkey, lstatcb_)\n\n  if (lstatcb)\n    fs.lstat(abs, lstatcb)\n\n  function lstatcb_ (er, lstat) {\n    if (er)\n      return cb()\n\n    var isSym = lstat.isSymbolicLink()\n    self.symlinks[abs] = isSym\n\n    // If it's not a symlink or a dir, then it's definitely a regular file.\n    // don't bother doing a readdir in that case.\n    if (!isSym && !lstat.isDirectory()) {\n      self.cache[abs] = 'FILE'\n      cb()\n    } else\n      self._readdir(abs, false, cb)\n  }\n}\n\nGlob.prototype._readdir = function (abs, inGlobStar, cb) {\n  if (this.aborted)\n    return\n\n  cb = inflight('readdir\\0'+abs+'\\0'+inGlobStar, cb)\n  if (!cb)\n    return\n\n  //console.error('RD %j %j', +inGlobStar, abs)\n  if (inGlobStar && !ownProp(this.symlinks, abs))\n    return this._readdirInGlobStar(abs, cb)\n\n  if (ownProp(this.cache, abs)) {\n    var c = this.cache[abs]\n    if (!c || c === 'FILE')\n      return cb()\n\n    if (Array.isArray(c))\n      return cb(null, c)\n  }\n\n  var self = this\n  fs.readdir(abs, readdirCb(this, abs, cb))\n}\n\nfunction readdirCb (self, abs, cb) {\n  return function (er, entries) {\n    if (er)\n      self._readdirError(abs, er, cb)\n    else\n      self._readdirEntries(abs, entries, cb)\n  }\n}\n\nGlob.prototype._readdirEntries = function (abs, entries, cb) {\n  if (this.aborted)\n    return\n\n  // if we haven't asked to stat everything, then just\n  // assume that everything in there exists, so we can avoid\n  // having to stat it a second time.\n  if (!this.mark && !this.stat) {\n    for (var i = 0; i < entries.length; i ++) {\n      var e = entries[i]\n      if (abs === '/')\n        e = abs + e\n      else\n        e = abs + '/' + e\n      this.cache[e] = true\n    }\n  }\n\n  this.cache[abs] = entries\n  return cb(null, entries)\n}\n\nGlob.prototype._readdirError = function (f, er, cb) {\n  if (this.aborted)\n    return\n\n  // handle errors, and cache the information\n  switch (er.code) {\n    case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205\n    case 'ENOTDIR': // totally normal. means it *does* exist.\n      this.cache[this._makeAbs(f)] = 'FILE'\n      break\n\n    case 'ENOENT': // not terribly unusual\n    case 'ELOOP':\n    case 'ENAMETOOLONG':\n    case 'UNKNOWN':\n      this.cache[this._makeAbs(f)] = false\n      break\n\n    default: // some unusual error.  Treat as failure.\n      this.cache[this._makeAbs(f)] = false\n      if (this.strict) {\n        this.emit('error', er)\n        // If the error is handled, then we abort\n        // if not, we threw out of here\n        this.abort()\n      }\n      if (!this.silent)\n        console.error('glob error', er)\n      break\n  }\n\n  return cb()\n}\n\nGlob.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar, cb) {\n  var self = this\n  this._readdir(abs, inGlobStar, function (er, entries) {\n    self._processGlobStar2(prefix, read, abs, remain, index, inGlobStar, entries, cb)\n  })\n}\n\n\nGlob.prototype._processGlobStar2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) {\n  //console.error('pgs2', prefix, remain[0], entries)\n\n  // no entries means not a dir, so it can never have matches\n  // foo.txt/** doesn't match foo.txt\n  if (!entries)\n    return cb()\n\n  // test without the globstar, and with every child both below\n  // and replacing the globstar.\n  var remainWithoutGlobStar = remain.slice(1)\n  var gspref = prefix ? [ prefix ] : []\n  var noGlobStar = gspref.concat(remainWithoutGlobStar)\n\n  // the noGlobStar pattern exits the inGlobStar state\n  this._process(noGlobStar, index, false, cb)\n\n  var isSym = this.symlinks[abs]\n  var len = entries.length\n\n  // If it's a symlink, and we're in a globstar, then stop\n  if (isSym && inGlobStar)\n    return cb()\n\n  for (var i = 0; i < len; i++) {\n    var e = entries[i]\n    if (e.charAt(0) === '.' && !this.dot)\n      continue\n\n    // these two cases enter the inGlobStar state\n    var instead = gspref.concat(entries[i], remainWithoutGlobStar)\n    this._process(instead, index, true, cb)\n\n    var below = gspref.concat(entries[i], remain)\n    this._process(below, index, true, cb)\n  }\n\n  cb()\n}\n\nGlob.prototype._processSimple = function (prefix, index, cb) {\n  // XXX review this.  Shouldn't it be doing the mounting etc\n  // before doing stat?  kinda weird?\n  var self = this\n  this._stat(prefix, function (er, exists) {\n    self._processSimple2(prefix, index, er, exists, cb)\n  })\n}\nGlob.prototype._processSimple2 = function (prefix, index, er, exists, cb) {\n\n  //console.error('ps2', prefix, exists)\n\n  if (!this.matches[index])\n    this.matches[index] = Object.create(null)\n\n  // If it doesn't exist, then just mark the lack of results\n  if (!exists)\n    return cb()\n\n  if (prefix && isAbsolute(prefix) && !this.nomount) {\n    var trail = /[\\/\\\\]$/.test(prefix)\n    if (prefix.charAt(0) === '/') {\n      prefix = path.join(this.root, prefix)\n    } else {\n      prefix = path.resolve(this.root, prefix)\n      if (trail)\n        prefix += '/'\n    }\n  }\n\n  if (process.platform === 'win32')\n    prefix = prefix.replace(/\\\\/g, '/')\n\n  // Mark this as a match\n  this._emitMatch(index, prefix)\n  cb()\n}\n\n// Returns either 'DIR', 'FILE', or false\nGlob.prototype._stat = function (f, cb) {\n  var abs = this._makeAbs(f)\n  var needDir = f.slice(-1) === '/'\n\n  if (f.length > this.maxLength)\n    return cb()\n\n  if (!this.stat && ownProp(this.cache, abs)) {\n    var c = this.cache[abs]\n\n    if (Array.isArray(c))\n      c = 'DIR'\n\n    // It exists, but maybe not how we need it\n    if (!needDir || c === 'DIR')\n      return cb(null, c)\n\n    if (needDir && c === 'FILE')\n      return cb()\n\n    // otherwise we have to stat, because maybe c=true\n    // if we know it exists, but not what it is.\n  }\n\n  var exists\n  var stat = this.statCache[abs]\n  if (stat !== undefined) {\n    if (stat === false)\n      return cb(null, stat)\n    else {\n      var type = stat.isDirectory() ? 'DIR' : 'FILE'\n      if (needDir && type === 'FILE')\n        return cb()\n      else\n        return cb(null, type, stat)\n    }\n  }\n\n  var self = this\n  var statcb = inflight('stat\\0' + abs, lstatcb_)\n  if (statcb)\n    fs.lstat(abs, statcb)\n\n  function lstatcb_ (er, lstat) {\n    if (lstat && lstat.isSymbolicLink()) {\n      // If it's a symlink, then treat it as the target, unless\n      // the target does not exist, then treat it as a file.\n      return fs.stat(abs, function (er, stat) {\n        if (er)\n          self._stat2(f, abs, null, lstat, cb)\n        else\n          self._stat2(f, abs, er, stat, cb)\n      })\n    } else {\n      self._stat2(f, abs, er, lstat, cb)\n    }\n  }\n}\n\nGlob.prototype._stat2 = function (f, abs, er, stat, cb) {\n  if (er) {\n    this.statCache[abs] = false\n    return cb()\n  }\n\n  var needDir = f.slice(-1) === '/'\n  this.statCache[abs] = stat\n\n  if (abs.slice(-1) === '/' && !stat.isDirectory())\n    return cb(null, false, stat)\n\n  var c = stat.isDirectory() ? 'DIR' : 'FILE'\n  this.cache[abs] = this.cache[abs] || c\n\n  if (needDir && c !== 'DIR')\n    return cb()\n\n  return cb(null, c, stat)\n}\n\n}).call(this,require('_process'))\n},{\"./common.js\":15,\"./sync.js\":17,\"_process\":24,\"assert\":9,\"events\":14,\"fs\":12,\"inflight\":18,\"inherits\":19,\"minimatch\":20,\"once\":21,\"path\":22,\"path-is-absolute\":23,\"util\":28}],17:[function(require,module,exports){\n(function (process){\nmodule.exports = globSync\nglobSync.GlobSync = GlobSync\n\nvar fs = require('fs')\nvar minimatch = require('minimatch')\nvar Minimatch = minimatch.Minimatch\nvar Glob = require('./glob.js').Glob\nvar util = require('util')\nvar path = require('path')\nvar assert = require('assert')\nvar isAbsolute = require('path-is-absolute')\nvar common = require('./common.js')\nvar alphasort = common.alphasort\nvar alphasorti = common.alphasorti\nvar setopts = common.setopts\nvar ownProp = common.ownProp\nvar childrenIgnored = common.childrenIgnored\n\nfunction globSync (pattern, options) {\n  if (typeof options === 'function' || arguments.length === 3)\n    throw new TypeError('callback provided to sync glob\\n'+\n                        'See: https://github.com/isaacs/node-glob/issues/167')\n\n  return new GlobSync(pattern, options).found\n}\n\nfunction GlobSync (pattern, options) {\n  if (!pattern)\n    throw new Error('must provide pattern')\n\n  if (typeof options === 'function' || arguments.length === 3)\n    throw new TypeError('callback provided to sync glob\\n'+\n                        'See: https://github.com/isaacs/node-glob/issues/167')\n\n  if (!(this instanceof GlobSync))\n    return new GlobSync(pattern, options)\n\n  setopts(this, pattern, options)\n\n  if (this.noprocess)\n    return this\n\n  var n = this.minimatch.set.length\n  this.matches = new Array(n)\n  for (var i = 0; i < n; i ++) {\n    this._process(this.minimatch.set[i], i, false)\n  }\n  this._finish()\n}\n\nGlobSync.prototype._finish = function () {\n  assert(this instanceof GlobSync)\n  if (this.realpath) {\n    var self = this\n    this.matches.forEach(function (matchset, index) {\n      var set = self.matches[index] = Object.create(null)\n      for (var p in matchset) {\n        try {\n          p = self._makeAbs(p)\n          var real = fs.realpathSync(p, self.realpathCache)\n          set[real] = true\n        } catch (er) {\n          if (er.syscall === 'stat')\n            set[self._makeAbs(p)] = true\n          else\n            throw er\n        }\n      }\n    })\n  }\n  common.finish(this)\n}\n\n\nGlobSync.prototype._process = function (pattern, index, inGlobStar) {\n  assert(this instanceof GlobSync)\n\n  // Get the first [n] parts of pattern that are all strings.\n  var n = 0\n  while (typeof pattern[n] === 'string') {\n    n ++\n  }\n  // now n is the index of the first one that is *not* a string.\n\n  // See if there's anything else\n  var prefix\n  switch (n) {\n    // if not, then this is rather simple\n    case pattern.length:\n      this._processSimple(pattern.join('/'), index)\n      return\n\n    case 0:\n      // pattern *starts* with some non-trivial item.\n      // going to readdir(cwd), but not include the prefix in matches.\n      prefix = null\n      break\n\n    default:\n      // pattern has some string bits in the front.\n      // whatever it starts with, whether that's 'absolute' like /foo/bar,\n      // or 'relative' like '../baz'\n      prefix = pattern.slice(0, n).join('/')\n      break\n  }\n\n  var remain = pattern.slice(n)\n\n  // get the list of entries.\n  var read\n  if (prefix === null)\n    read = '.'\n  else if (isAbsolute(prefix) || isAbsolute(pattern.join('/'))) {\n    if (!prefix || !isAbsolute(prefix))\n      prefix = '/' + prefix\n    read = prefix\n  } else\n    read = prefix\n\n  var abs = this._makeAbs(read)\n\n  //if ignored, skip processing\n  if (childrenIgnored(this, read))\n    return\n\n  var isGlobStar = remain[0] === minimatch.GLOBSTAR\n  if (isGlobStar)\n    this._processGlobStar(prefix, read, abs, remain, index, inGlobStar)\n  else\n    this._processReaddir(prefix, read, abs, remain, index, inGlobStar)\n}\n\n\nGlobSync.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar) {\n  var entries = this._readdir(abs, inGlobStar)\n\n  // if the abs isn't a dir, then nothing can match!\n  if (!entries)\n    return\n\n  // It will only match dot entries if it starts with a dot, or if\n  // dot is set.  Stuff like @(.foo|.bar) isn't allowed.\n  var pn = remain[0]\n  var negate = !!this.minimatch.negate\n  var rawGlob = pn._glob\n  var dotOk = this.dot || rawGlob.charAt(0) === '.'\n\n  var matchedEntries = []\n  for (var i = 0; i < entries.length; i++) {\n    var e = entries[i]\n    if (e.charAt(0) !== '.' || dotOk) {\n      var m\n      if (negate && !prefix) {\n        m = !e.match(pn)\n      } else {\n        m = e.match(pn)\n      }\n      if (m)\n        matchedEntries.push(e)\n    }\n  }\n\n  var len = matchedEntries.length\n  // If there are no matched entries, then nothing matches.\n  if (len === 0)\n    return\n\n  // if this is the last remaining pattern bit, then no need for\n  // an additional stat *unless* the user has specified mark or\n  // stat explicitly.  We know they exist, since readdir returned\n  // them.\n\n  if (remain.length === 1 && !this.mark && !this.stat) {\n    if (!this.matches[index])\n      this.matches[index] = Object.create(null)\n\n    for (var i = 0; i < len; i ++) {\n      var e = matchedEntries[i]\n      if (prefix) {\n        if (prefix.slice(-1) !== '/')\n          e = prefix + '/' + e\n        else\n          e = prefix + e\n      }\n\n      if (e.charAt(0) === '/' && !this.nomount) {\n        e = path.join(this.root, e)\n      }\n      this.matches[index][e] = true\n    }\n    // This was the last one, and no stats were needed\n    return\n  }\n\n  // now test all matched entries as stand-ins for that part\n  // of the pattern.\n  remain.shift()\n  for (var i = 0; i < len; i ++) {\n    var e = matchedEntries[i]\n    var newPattern\n    if (prefix)\n      newPattern = [prefix, e]\n    else\n      newPattern = [e]\n    this._process(newPattern.concat(remain), index, inGlobStar)\n  }\n}\n\n\nGlobSync.prototype._emitMatch = function (index, e) {\n  var abs = this._makeAbs(e)\n  if (this.mark)\n    e = this._mark(e)\n\n  if (this.matches[index][e])\n    return\n\n  if (this.nodir) {\n    var c = this.cache[this._makeAbs(e)]\n    if (c === 'DIR' || Array.isArray(c))\n      return\n  }\n\n  this.matches[index][e] = true\n  if (this.stat)\n    this._stat(e)\n}\n\n\nGlobSync.prototype._readdirInGlobStar = function (abs) {\n  // follow all symlinked directories forever\n  // just proceed as if this is a non-globstar situation\n  if (this.follow)\n    return this._readdir(abs, false)\n\n  var entries\n  var lstat\n  var stat\n  try {\n    lstat = fs.lstatSync(abs)\n  } catch (er) {\n    // lstat failed, doesn't exist\n    return null\n  }\n\n  var isSym = lstat.isSymbolicLink()\n  this.symlinks[abs] = isSym\n\n  // If it's not a symlink or a dir, then it's definitely a regular file.\n  // don't bother doing a readdir in that case.\n  if (!isSym && !lstat.isDirectory())\n    this.cache[abs] = 'FILE'\n  else\n    entries = this._readdir(abs, false)\n\n  return entries\n}\n\nGlobSync.prototype._readdir = function (abs, inGlobStar) {\n  var entries\n\n  if (inGlobStar && !ownProp(this.symlinks, abs))\n    return this._readdirInGlobStar(abs)\n\n  if (ownProp(this.cache, abs)) {\n    var c = this.cache[abs]\n    if (!c || c === 'FILE')\n      return null\n\n    if (Array.isArray(c))\n      return c\n  }\n\n  try {\n    return this._readdirEntries(abs, fs.readdirSync(abs))\n  } catch (er) {\n    this._readdirError(abs, er)\n    return null\n  }\n}\n\nGlobSync.prototype._readdirEntries = function (abs, entries) {\n  // if we haven't asked to stat everything, then just\n  // assume that everything in there exists, so we can avoid\n  // having to stat it a second time.\n  if (!this.mark && !this.stat) {\n    for (var i = 0; i < entries.length; i ++) {\n      var e = entries[i]\n      if (abs === '/')\n        e = abs + e\n      else\n        e = abs + '/' + e\n      this.cache[e] = true\n    }\n  }\n\n  this.cache[abs] = entries\n\n  // mark and cache dir-ness\n  return entries\n}\n\nGlobSync.prototype._readdirError = function (f, er) {\n  // handle errors, and cache the information\n  switch (er.code) {\n    case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205\n    case 'ENOTDIR': // totally normal. means it *does* exist.\n      this.cache[this._makeAbs(f)] = 'FILE'\n      break\n\n    case 'ENOENT': // not terribly unusual\n    case 'ELOOP':\n    case 'ENAMETOOLONG':\n    case 'UNKNOWN':\n      this.cache[this._makeAbs(f)] = false\n      break\n\n    default: // some unusual error.  Treat as failure.\n      this.cache[this._makeAbs(f)] = false\n      if (this.strict)\n        throw er\n      if (!this.silent)\n        console.error('glob error', er)\n      break\n  }\n}\n\nGlobSync.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar) {\n\n  var entries = this._readdir(abs, inGlobStar)\n\n  // no entries means not a dir, so it can never have matches\n  // foo.txt/** doesn't match foo.txt\n  if (!entries)\n    return\n\n  // test without the globstar, and with every child both below\n  // and replacing the globstar.\n  var remainWithoutGlobStar = remain.slice(1)\n  var gspref = prefix ? [ prefix ] : []\n  var noGlobStar = gspref.concat(remainWithoutGlobStar)\n\n  // the noGlobStar pattern exits the inGlobStar state\n  this._process(noGlobStar, index, false)\n\n  var len = entries.length\n  var isSym = this.symlinks[abs]\n\n  // If it's a symlink, and we're in a globstar, then stop\n  if (isSym && inGlobStar)\n    return\n\n  for (var i = 0; i < len; i++) {\n    var e = entries[i]\n    if (e.charAt(0) === '.' && !this.dot)\n      continue\n\n    // these two cases enter the inGlobStar state\n    var instead = gspref.concat(entries[i], remainWithoutGlobStar)\n    this._process(instead, index, true)\n\n    var below = gspref.concat(entries[i], remain)\n    this._process(below, index, true)\n  }\n}\n\nGlobSync.prototype._processSimple = function (prefix, index) {\n  // XXX review this.  Shouldn't it be doing the mounting etc\n  // before doing stat?  kinda weird?\n  var exists = this._stat(prefix)\n\n  if (!this.matches[index])\n    this.matches[index] = Object.create(null)\n\n  // If it doesn't exist, then just mark the lack of results\n  if (!exists)\n    return\n\n  if (prefix && isAbsolute(prefix) && !this.nomount) {\n    var trail = /[\\/\\\\]$/.test(prefix)\n    if (prefix.charAt(0) === '/') {\n      prefix = path.join(this.root, prefix)\n    } else {\n      prefix = path.resolve(this.root, prefix)\n      if (trail)\n        prefix += '/'\n    }\n  }\n\n  if (process.platform === 'win32')\n    prefix = prefix.replace(/\\\\/g, '/')\n\n  // Mark this as a match\n  this.matches[index][prefix] = true\n}\n\n// Returns either 'DIR', 'FILE', or false\nGlobSync.prototype._stat = function (f) {\n  var abs = this._makeAbs(f)\n  var needDir = f.slice(-1) === '/'\n\n  if (f.length > this.maxLength)\n    return false\n\n  if (!this.stat && ownProp(this.cache, abs)) {\n    var c = this.cache[abs]\n\n    if (Array.isArray(c))\n      c = 'DIR'\n\n    // It exists, but maybe not how we need it\n    if (!needDir || c === 'DIR')\n      return c\n\n    if (needDir && c === 'FILE')\n      return false\n\n    // otherwise we have to stat, because maybe c=true\n    // if we know it exists, but not what it is.\n  }\n\n  var exists\n  var stat = this.statCache[abs]\n  if (!stat) {\n    var lstat\n    try {\n      lstat = fs.lstatSync(abs)\n    } catch (er) {\n      return false\n    }\n\n    if (lstat.isSymbolicLink()) {\n      try {\n        stat = fs.statSync(abs)\n      } catch (er) {\n        stat = lstat\n      }\n    } else {\n      stat = lstat\n    }\n  }\n\n  this.statCache[abs] = stat\n\n  var c = stat.isDirectory() ? 'DIR' : 'FILE'\n  this.cache[abs] = this.cache[abs] || c\n\n  if (needDir && c !== 'DIR')\n    return false\n\n  return c\n}\n\nGlobSync.prototype._mark = function (p) {\n  return common.mark(this, p)\n}\n\nGlobSync.prototype._makeAbs = function (f) {\n  return common.makeAbs(this, f)\n}\n\n}).call(this,require('_process'))\n},{\"./common.js\":15,\"./glob.js\":16,\"_process\":24,\"assert\":9,\"fs\":12,\"minimatch\":20,\"path\":22,\"path-is-absolute\":23,\"util\":28}],18:[function(require,module,exports){\n(function (process){\nvar wrappy = require('wrappy')\nvar reqs = Object.create(null)\nvar once = require('once')\n\nmodule.exports = wrappy(inflight)\n\nfunction inflight (key, cb) {\n  if (reqs[key]) {\n    reqs[key].push(cb)\n    return null\n  } else {\n    reqs[key] = [cb]\n    return makeres(key)\n  }\n}\n\nfunction makeres (key) {\n  return once(function RES () {\n    var cbs = reqs[key]\n    var len = cbs.length\n    var args = slice(arguments)\n\n    // XXX It's somewhat ambiguous whether a new callback added in this\n    // pass should be queued for later execution if something in the\n    // list of callbacks throws, or if it should just be discarded.\n    // However, it's such an edge case that it hardly matters, and either\n    // choice is likely as surprising as the other.\n    // As it happens, we do go ahead and schedule it for later execution.\n    try {\n      for (var i = 0; i < len; i++) {\n        cbs[i].apply(null, args)\n      }\n    } finally {\n      if (cbs.length > len) {\n        // added more in the interim.\n        // de-zalgo, just in case, but don't call again.\n        cbs.splice(0, len)\n        process.nextTick(function () {\n          RES.apply(null, args)\n        })\n      } else {\n        delete reqs[key]\n      }\n    }\n  })\n}\n\nfunction slice (args) {\n  var length = args.length\n  var array = []\n\n  for (var i = 0; i < length; i++) array[i] = args[i]\n  return array\n}\n\n}).call(this,require('_process'))\n},{\"_process\":24,\"once\":21,\"wrappy\":29}],19:[function(require,module,exports){\nif (typeof Object.create === 'function') {\n  // implementation from standard node.js 'util' module\n  module.exports = function inherits(ctor, superCtor) {\n    ctor.super_ = superCtor\n    ctor.prototype = Object.create(superCtor.prototype, {\n      constructor: {\n        value: ctor,\n        enumerable: false,\n        writable: true,\n        configurable: true\n      }\n    });\n  };\n} else {\n  // old school shim for old browsers\n  module.exports = function inherits(ctor, superCtor) {\n    ctor.super_ = superCtor\n    var TempCtor = function () {}\n    TempCtor.prototype = superCtor.prototype\n    ctor.prototype = new TempCtor()\n    ctor.prototype.constructor = ctor\n  }\n}\n\n},{}],20:[function(require,module,exports){\nmodule.exports = minimatch\nminimatch.Minimatch = Minimatch\n\nvar path = { sep: '/' }\ntry {\n  path = require('path')\n} catch (er) {}\n\nvar GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}\nvar expand = require('brace-expansion')\n\nvar plTypes = {\n  '!': { open: '(?:(?!(?:', close: '))[^/]*?)'},\n  '?': { open: '(?:', close: ')?' },\n  '+': { open: '(?:', close: ')+' },\n  '*': { open: '(?:', close: ')*' },\n  '@': { open: '(?:', close: ')' }\n}\n\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nvar qmark = '[^/]'\n\n// * => any number of characters\nvar star = qmark + '*?'\n\n// ** when dots are allowed.  Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nvar twoStarDot = '(?:(?!(?:\\\\\\/|^)(?:\\\\.{1,2})($|\\\\\\/)).)*?'\n\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nvar twoStarNoDot = '(?:(?!(?:\\\\\\/|^)\\\\.).)*?'\n\n// characters that need to be escaped in RegExp.\nvar reSpecials = charSet('().*{}+?[]^$\\\\!')\n\n// \"abc\" -> { a:true, b:true, c:true }\nfunction charSet (s) {\n  return s.split('').reduce(function (set, c) {\n    set[c] = true\n    return set\n  }, {})\n}\n\n// normalizes slashes.\nvar slashSplit = /\\/+/\n\nminimatch.filter = filter\nfunction filter (pattern, options) {\n  options = options || {}\n  return function (p, i, list) {\n    return minimatch(p, pattern, options)\n  }\n}\n\nfunction ext (a, b) {\n  a = a || {}\n  b = b || {}\n  var t = {}\n  Object.keys(b).forEach(function (k) {\n    t[k] = b[k]\n  })\n  Object.keys(a).forEach(function (k) {\n    t[k] = a[k]\n  })\n  return t\n}\n\nminimatch.defaults = function (def) {\n  if (!def || !Object.keys(def).length) return minimatch\n\n  var orig = minimatch\n\n  var m = function minimatch (p, pattern, options) {\n    return orig.minimatch(p, pattern, ext(def, options))\n  }\n\n  m.Minimatch = function Minimatch (pattern, options) {\n    return new orig.Minimatch(pattern, ext(def, options))\n  }\n\n  return m\n}\n\nMinimatch.defaults = function (def) {\n  if (!def || !Object.keys(def).length) return Minimatch\n  return minimatch.defaults(def).Minimatch\n}\n\nfunction minimatch (p, pattern, options) {\n  if (typeof pattern !== 'string') {\n    throw new TypeError('glob pattern string required')\n  }\n\n  if (!options) options = {}\n\n  // shortcut: comments match nothing.\n  if (!options.nocomment && pattern.charAt(0) === '#') {\n    return false\n  }\n\n  // \"\" only matches \"\"\n  if (pattern.trim() === '') return p === ''\n\n  return new Minimatch(pattern, options).match(p)\n}\n\nfunction Minimatch (pattern, options) {\n  if (!(this instanceof Minimatch)) {\n    return new Minimatch(pattern, options)\n  }\n\n  if (typeof pattern !== 'string') {\n    throw new TypeError('glob pattern string required')\n  }\n\n  if (!options) options = {}\n  pattern = pattern.trim()\n\n  // windows support: need to use /, not \\\n  if (path.sep !== '/') {\n    pattern = pattern.split(path.sep).join('/')\n  }\n\n  this.options = options\n  this.set = []\n  this.pattern = pattern\n  this.regexp = null\n  this.negate = false\n  this.comment = false\n  this.empty = false\n\n  // make the set of regexps etc.\n  this.make()\n}\n\nMinimatch.prototype.debug = function () {}\n\nMinimatch.prototype.make = make\nfunction make () {\n  // don't do it more than once.\n  if (this._made) return\n\n  var pattern = this.pattern\n  var options = this.options\n\n  // empty patterns and comments match nothing.\n  if (!options.nocomment && pattern.charAt(0) === '#') {\n    this.comment = true\n    return\n  }\n  if (!pattern) {\n    this.empty = true\n    return\n  }\n\n  // step 1: figure out negation, etc.\n  this.parseNegate()\n\n  // step 2: expand braces\n  var set = this.globSet = this.braceExpand()\n\n  if (options.debug) this.debug = console.error\n\n  this.debug(this.pattern, set)\n\n  // step 3: now we have a set, so turn each one into a series of path-portion\n  // matching patterns.\n  // These will be regexps, except in the case of \"**\", which is\n  // set to the GLOBSTAR object for globstar behavior,\n  // and will not contain any / characters\n  set = this.globParts = set.map(function (s) {\n    return s.split(slashSplit)\n  })\n\n  this.debug(this.pattern, set)\n\n  // glob --> regexps\n  set = set.map(function (s, si, set) {\n    return s.map(this.parse, this)\n  }, this)\n\n  this.debug(this.pattern, set)\n\n  // filter out everything that didn't compile properly.\n  set = set.filter(function (s) {\n    return s.indexOf(false) === -1\n  })\n\n  this.debug(this.pattern, set)\n\n  this.set = set\n}\n\nMinimatch.prototype.parseNegate = parseNegate\nfunction parseNegate () {\n  var pattern = this.pattern\n  var negate = false\n  var options = this.options\n  var negateOffset = 0\n\n  if (options.nonegate) return\n\n  for (var i = 0, l = pattern.length\n    ; i < l && pattern.charAt(i) === '!'\n    ; i++) {\n    negate = !negate\n    negateOffset++\n  }\n\n  if (negateOffset) this.pattern = pattern.substr(negateOffset)\n  this.negate = negate\n}\n\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nminimatch.braceExpand = function (pattern, options) {\n  return braceExpand(pattern, options)\n}\n\nMinimatch.prototype.braceExpand = braceExpand\n\nfunction braceExpand (pattern, options) {\n  if (!options) {\n    if (this instanceof Minimatch) {\n      options = this.options\n    } else {\n      options = {}\n    }\n  }\n\n  pattern = typeof pattern === 'undefined'\n    ? this.pattern : pattern\n\n  if (typeof pattern === 'undefined') {\n    throw new TypeError('undefined pattern')\n  }\n\n  if (options.nobrace ||\n    !pattern.match(/\\{.*\\}/)) {\n    // shortcut. no need to expand.\n    return [pattern]\n  }\n\n  return expand(pattern)\n}\n\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion.  Otherwise, any series\n// of * is equivalent to a single *.  Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\nMinimatch.prototype.parse = parse\nvar SUBPARSE = {}\nfunction parse (pattern, isSub) {\n  if (pattern.length > 1024 * 64) {\n    throw new TypeError('pattern is too long')\n  }\n\n  var options = this.options\n\n  // shortcuts\n  if (!options.noglobstar && pattern === '**') return GLOBSTAR\n  if (pattern === '') return ''\n\n  var re = ''\n  var hasMagic = !!options.nocase\n  var escaping = false\n  // ? => one single character\n  var patternListStack = []\n  var negativeLists = []\n  var stateChar\n  var inClass = false\n  var reClassStart = -1\n  var classStart = -1\n  // . and .. never match anything that doesn't start with .,\n  // even when options.dot is set.\n  var patternStart = pattern.charAt(0) === '.' ? '' // anything\n  // not (start or / followed by . or .. followed by / or end)\n  : options.dot ? '(?!(?:^|\\\\\\/)\\\\.{1,2}(?:$|\\\\\\/))'\n  : '(?!\\\\.)'\n  var self = this\n\n  function clearStateChar () {\n    if (stateChar) {\n      // we had some state-tracking character\n      // that wasn't consumed by this pass.\n      switch (stateChar) {\n        case '*':\n          re += star\n          hasMagic = true\n        break\n        case '?':\n          re += qmark\n          hasMagic = true\n        break\n        default:\n          re += '\\\\' + stateChar\n        break\n      }\n      self.debug('clearStateChar %j %j', stateChar, re)\n      stateChar = false\n    }\n  }\n\n  for (var i = 0, len = pattern.length, c\n    ; (i < len) && (c = pattern.charAt(i))\n    ; i++) {\n    this.debug('%s\\t%s %s %j', pattern, i, re, c)\n\n    // skip over any that are escaped.\n    if (escaping && reSpecials[c]) {\n      re += '\\\\' + c\n      escaping = false\n      continue\n    }\n\n    switch (c) {\n      case '/':\n        // completely not allowed, even escaped.\n        // Should already be path-split by now.\n        return false\n\n      case '\\\\':\n        clearStateChar()\n        escaping = true\n      continue\n\n      // the various stateChar values\n      // for the \"extglob\" stuff.\n      case '?':\n      case '*':\n      case '+':\n      case '@':\n      case '!':\n        this.debug('%s\\t%s %s %j <-- stateChar', pattern, i, re, c)\n\n        // all of those are literals inside a class, except that\n        // the glob [!a] means [^a] in regexp\n        if (inClass) {\n          this.debug('  in class')\n          if (c === '!' && i === classStart + 1) c = '^'\n          re += c\n          continue\n        }\n\n        // if we already have a stateChar, then it means\n        // that there was something like ** or +? in there.\n        // Handle the stateChar, then proceed with this one.\n        self.debug('call clearStateChar %j', stateChar)\n        clearStateChar()\n        stateChar = c\n        // if extglob is disabled, then +(asdf|foo) isn't a thing.\n        // just clear the statechar *now*, rather than even diving into\n        // the patternList stuff.\n        if (options.noext) clearStateChar()\n      continue\n\n      case '(':\n        if (inClass) {\n          re += '('\n          continue\n        }\n\n        if (!stateChar) {\n          re += '\\\\('\n          continue\n        }\n\n        patternListStack.push({\n          type: stateChar,\n          start: i - 1,\n          reStart: re.length,\n          open: plTypes[stateChar].open,\n          close: plTypes[stateChar].close\n        })\n        // negation is (?:(?!js)[^/]*)\n        re += stateChar === '!' ? '(?:(?!(?:' : '(?:'\n        this.debug('plType %j %j', stateChar, re)\n        stateChar = false\n      continue\n\n      case ')':\n        if (inClass || !patternListStack.length) {\n          re += '\\\\)'\n          continue\n        }\n\n        clearStateChar()\n        hasMagic = true\n        var pl = patternListStack.pop()\n        // negation is (?:(?!js)[^/]*)\n        // The others are (?:<pattern>)<type>\n        re += pl.close\n        if (pl.type === '!') {\n          negativeLists.push(pl)\n        }\n        pl.reEnd = re.length\n      continue\n\n      case '|':\n        if (inClass || !patternListStack.length || escaping) {\n          re += '\\\\|'\n          escaping = false\n          continue\n        }\n\n        clearStateChar()\n        re += '|'\n      continue\n\n      // these are mostly the same in regexp and glob\n      case '[':\n        // swallow any state-tracking char before the [\n        clearStateChar()\n\n        if (inClass) {\n          re += '\\\\' + c\n          continue\n        }\n\n        inClass = true\n        classStart = i\n        reClassStart = re.length\n        re += c\n      continue\n\n      case ']':\n        //  a right bracket shall lose its special\n        //  meaning and represent itself in\n        //  a bracket expression if it occurs\n        //  first in the list.  -- POSIX.2 2.8.3.2\n        if (i === classStart + 1 || !inClass) {\n          re += '\\\\' + c\n          escaping = false\n          continue\n        }\n\n        // handle the case where we left a class open.\n        // \"[z-a]\" is valid, equivalent to \"\\[z-a\\]\"\n        if (inClass) {\n          // split where the last [ was, make sure we don't have\n          // an invalid re. if so, re-walk the contents of the\n          // would-be class to re-translate any characters that\n          // were passed through as-is\n          // TODO: It would probably be faster to determine this\n          // without a try/catch and a new RegExp, but it's tricky\n          // to do safely.  For now, this is safe and works.\n          var cs = pattern.substring(classStart + 1, i)\n          try {\n            RegExp('[' + cs + ']')\n          } catch (er) {\n            // not a valid class!\n            var sp = this.parse(cs, SUBPARSE)\n            re = re.substr(0, reClassStart) + '\\\\[' + sp[0] + '\\\\]'\n            hasMagic = hasMagic || sp[1]\n            inClass = false\n            continue\n          }\n        }\n\n        // finish up the class.\n        hasMagic = true\n        inClass = false\n        re += c\n      continue\n\n      default:\n        // swallow any state char that wasn't consumed\n        clearStateChar()\n\n        if (escaping) {\n          // no need\n          escaping = false\n        } else if (reSpecials[c]\n          && !(c === '^' && inClass)) {\n          re += '\\\\'\n        }\n\n        re += c\n\n    } // switch\n  } // for\n\n  // handle the case where we left a class open.\n  // \"[abc\" is valid, equivalent to \"\\[abc\"\n  if (inClass) {\n    // split where the last [ was, and escape it\n    // this is a huge pita.  We now have to re-walk\n    // the contents of the would-be class to re-translate\n    // any characters that were passed through as-is\n    cs = pattern.substr(classStart + 1)\n    sp = this.parse(cs, SUBPARSE)\n    re = re.substr(0, reClassStart) + '\\\\[' + sp[0]\n    hasMagic = hasMagic || sp[1]\n  }\n\n  // handle the case where we had a +( thing at the *end*\n  // of the pattern.\n  // each pattern list stack adds 3 chars, and we need to go through\n  // and escape any | chars that were passed through as-is for the regexp.\n  // Go through and escape them, taking care not to double-escape any\n  // | chars that were already escaped.\n  for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {\n    var tail = re.slice(pl.reStart + pl.open.length)\n    this.debug('setting tail', re, pl)\n    // maybe some even number of \\, then maybe 1 \\, followed by a |\n    tail = tail.replace(/((?:\\\\{2}){0,64})(\\\\?)\\|/g, function (_, $1, $2) {\n      if (!$2) {\n        // the | isn't already escaped, so escape it.\n        $2 = '\\\\'\n      }\n\n      // need to escape all those slashes *again*, without escaping the\n      // one that we need for escaping the | character.  As it works out,\n      // escaping an even number of slashes can be done by simply repeating\n      // it exactly after itself.  That's why this trick works.\n      //\n      // I am sorry that you have to see this.\n      return $1 + $1 + $2 + '|'\n    })\n\n    this.debug('tail=%j\\n   %s', tail, tail, pl, re)\n    var t = pl.type === '*' ? star\n      : pl.type === '?' ? qmark\n      : '\\\\' + pl.type\n\n    hasMagic = true\n    re = re.slice(0, pl.reStart) + t + '\\\\(' + tail\n  }\n\n  // handle trailing things that only matter at the very end.\n  clearStateChar()\n  if (escaping) {\n    // trailing \\\\\n    re += '\\\\\\\\'\n  }\n\n  // only need to apply the nodot start if the re starts with\n  // something that could conceivably capture a dot\n  var addPatternStart = false\n  switch (re.charAt(0)) {\n    case '.':\n    case '[':\n    case '(': addPatternStart = true\n  }\n\n  // Hack to work around lack of negative lookbehind in JS\n  // A pattern like: *.!(x).!(y|z) needs to ensure that a name\n  // like 'a.xyz.yz' doesn't match.  So, the first negative\n  // lookahead, has to look ALL the way ahead, to the end of\n  // the pattern.\n  for (var n = negativeLists.length - 1; n > -1; n--) {\n    var nl = negativeLists[n]\n\n    var nlBefore = re.slice(0, nl.reStart)\n    var nlFirst = re.slice(nl.reStart, nl.reEnd - 8)\n    var nlLast = re.slice(nl.reEnd - 8, nl.reEnd)\n    var nlAfter = re.slice(nl.reEnd)\n\n    nlLast += nlAfter\n\n    // Handle nested stuff like *(*.js|!(*.json)), where open parens\n    // mean that we should *not* include the ) in the bit that is considered\n    // \"after\" the negated section.\n    var openParensBefore = nlBefore.split('(').length - 1\n    var cleanAfter = nlAfter\n    for (i = 0; i < openParensBefore; i++) {\n      cleanAfter = cleanAfter.replace(/\\)[+*?]?/, '')\n    }\n    nlAfter = cleanAfter\n\n    var dollar = ''\n    if (nlAfter === '' && isSub !== SUBPARSE) {\n      dollar = '$'\n    }\n    var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast\n    re = newRe\n  }\n\n  // if the re is not \"\" at this point, then we need to make sure\n  // it doesn't match against an empty path part.\n  // Otherwise a/* will match a/, which it should not.\n  if (re !== '' && hasMagic) {\n    re = '(?=.)' + re\n  }\n\n  if (addPatternStart) {\n    re = patternStart + re\n  }\n\n  // parsing just a piece of a larger pattern.\n  if (isSub === SUBPARSE) {\n    return [re, hasMagic]\n  }\n\n  // skip the regexp for non-magical patterns\n  // unescape anything in it, though, so that it'll be\n  // an exact match against a file etc.\n  if (!hasMagic) {\n    return globUnescape(pattern)\n  }\n\n  var flags = options.nocase ? 'i' : ''\n  try {\n    var regExp = new RegExp('^' + re + '$', flags)\n  } catch (er) {\n    // If it was an invalid regular expression, then it can't match\n    // anything.  This trick looks for a character after the end of\n    // the string, which is of course impossible, except in multi-line\n    // mode, but it's not a /m regex.\n    return new RegExp('$.')\n  }\n\n  regExp._glob = pattern\n  regExp._src = re\n\n  return regExp\n}\n\nminimatch.makeRe = function (pattern, options) {\n  return new Minimatch(pattern, options || {}).makeRe()\n}\n\nMinimatch.prototype.makeRe = makeRe\nfunction makeRe () {\n  if (this.regexp || this.regexp === false) return this.regexp\n\n  // at this point, this.set is a 2d array of partial\n  // pattern strings, or \"**\".\n  //\n  // It's better to use .match().  This function shouldn't\n  // be used, really, but it's pretty convenient sometimes,\n  // when you just want to work with a regex.\n  var set = this.set\n\n  if (!set.length) {\n    this.regexp = false\n    return this.regexp\n  }\n  var options = this.options\n\n  var twoStar = options.noglobstar ? star\n    : options.dot ? twoStarDot\n    : twoStarNoDot\n  var flags = options.nocase ? 'i' : ''\n\n  var re = set.map(function (pattern) {\n    return pattern.map(function (p) {\n      return (p === GLOBSTAR) ? twoStar\n      : (typeof p === 'string') ? regExpEscape(p)\n      : p._src\n    }).join('\\\\\\/')\n  }).join('|')\n\n  // must match entire pattern\n  // ending in a * or ** will make it less strict.\n  re = '^(?:' + re + ')$'\n\n  // can match anything, as long as it's not this.\n  if (this.negate) re = '^(?!' + re + ').*$'\n\n  try {\n    this.regexp = new RegExp(re, flags)\n  } catch (ex) {\n    this.regexp = false\n  }\n  return this.regexp\n}\n\nminimatch.match = function (list, pattern, options) {\n  options = options || {}\n  var mm = new Minimatch(pattern, options)\n  list = list.filter(function (f) {\n    return mm.match(f)\n  })\n  if (mm.options.nonull && !list.length) {\n    list.push(pattern)\n  }\n  return list\n}\n\nMinimatch.prototype.match = match\nfunction match (f, partial) {\n  this.debug('match', f, this.pattern)\n  // short-circuit in the case of busted things.\n  // comments, etc.\n  if (this.comment) return false\n  if (this.empty) return f === ''\n\n  if (f === '/' && partial) return true\n\n  var options = this.options\n\n  // windows: need to use /, not \\\n  if (path.sep !== '/') {\n    f = f.split(path.sep).join('/')\n  }\n\n  // treat the test path as a set of pathparts.\n  f = f.split(slashSplit)\n  this.debug(this.pattern, 'split', f)\n\n  // just ONE of the pattern sets in this.set needs to match\n  // in order for it to be valid.  If negating, then just one\n  // match means that we have failed.\n  // Either way, return on the first hit.\n\n  var set = this.set\n  this.debug(this.pattern, 'set', set)\n\n  // Find the basename of the path by looking for the last non-empty segment\n  var filename\n  var i\n  for (i = f.length - 1; i >= 0; i--) {\n    filename = f[i]\n    if (filename) break\n  }\n\n  for (i = 0; i < set.length; i++) {\n    var pattern = set[i]\n    var file = f\n    if (options.matchBase && pattern.length === 1) {\n      file = [filename]\n    }\n    var hit = this.matchOne(file, pattern, partial)\n    if (hit) {\n      if (options.flipNegate) return true\n      return !this.negate\n    }\n  }\n\n  // didn't get any hits.  this is success if it's a negative\n  // pattern, failure otherwise.\n  if (options.flipNegate) return false\n  return this.negate\n}\n\n// set partial to true to test if, for example,\n// \"/a/b\" matches the start of \"/*/b/*/d\"\n// Partial means, if you run out of file before you run\n// out of pattern, then that's fine, as long as all\n// the parts match.\nMinimatch.prototype.matchOne = function (file, pattern, partial) {\n  var options = this.options\n\n  this.debug('matchOne',\n    { 'this': this, file: file, pattern: pattern })\n\n  this.debug('matchOne', file.length, pattern.length)\n\n  for (var fi = 0,\n      pi = 0,\n      fl = file.length,\n      pl = pattern.length\n      ; (fi < fl) && (pi < pl)\n      ; fi++, pi++) {\n    this.debug('matchOne loop')\n    var p = pattern[pi]\n    var f = file[fi]\n\n    this.debug(pattern, p, f)\n\n    // should be impossible.\n    // some invalid regexp stuff in the set.\n    if (p === false) return false\n\n    if (p === GLOBSTAR) {\n      this.debug('GLOBSTAR', [pattern, p, f])\n\n      // \"**\"\n      // a/**/b/**/c would match the following:\n      // a/b/x/y/z/c\n      // a/x/y/z/b/c\n      // a/b/x/b/x/c\n      // a/b/c\n      // To do this, take the rest of the pattern after\n      // the **, and see if it would match the file remainder.\n      // If so, return success.\n      // If not, the ** \"swallows\" a segment, and try again.\n      // This is recursively awful.\n      //\n      // a/**/b/**/c matching a/b/x/y/z/c\n      // - a matches a\n      // - doublestar\n      //   - matchOne(b/x/y/z/c, b/**/c)\n      //     - b matches b\n      //     - doublestar\n      //       - matchOne(x/y/z/c, c) -> no\n      //       - matchOne(y/z/c, c) -> no\n      //       - matchOne(z/c, c) -> no\n      //       - matchOne(c, c) yes, hit\n      var fr = fi\n      var pr = pi + 1\n      if (pr === pl) {\n        this.debug('** at the end')\n        // a ** at the end will just swallow the rest.\n        // We have found a match.\n        // however, it will not swallow /.x, unless\n        // options.dot is set.\n        // . and .. are *never* matched by **, for explosively\n        // exponential reasons.\n        for (; fi < fl; fi++) {\n          if (file[fi] === '.' || file[fi] === '..' ||\n            (!options.dot && file[fi].charAt(0) === '.')) return false\n        }\n        return true\n      }\n\n      // ok, let's see if we can swallow whatever we can.\n      while (fr < fl) {\n        var swallowee = file[fr]\n\n        this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee)\n\n        // XXX remove this slice.  Just pass the start index.\n        if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n          this.debug('globstar found match!', fr, fl, swallowee)\n          // found a match.\n          return true\n        } else {\n          // can't swallow \".\" or \"..\" ever.\n          // can only swallow \".foo\" when explicitly asked.\n          if (swallowee === '.' || swallowee === '..' ||\n            (!options.dot && swallowee.charAt(0) === '.')) {\n            this.debug('dot detected!', file, fr, pattern, pr)\n            break\n          }\n\n          // ** swallows a segment, and continue.\n          this.debug('globstar swallow a segment, and continue')\n          fr++\n        }\n      }\n\n      // no match was found.\n      // However, in partial mode, we can't say this is necessarily over.\n      // If there's more *pattern* left, then\n      if (partial) {\n        // ran out of file\n        this.debug('\\n>>> no match, partial?', file, fr, pattern, pr)\n        if (fr === fl) return true\n      }\n      return false\n    }\n\n    // something other than **\n    // non-magic patterns just have to match exactly\n    // patterns with magic have been turned into regexps.\n    var hit\n    if (typeof p === 'string') {\n      if (options.nocase) {\n        hit = f.toLowerCase() === p.toLowerCase()\n      } else {\n        hit = f === p\n      }\n      this.debug('string match', p, f, hit)\n    } else {\n      hit = f.match(p)\n      this.debug('pattern match', p, f, hit)\n    }\n\n    if (!hit) return false\n  }\n\n  // Note: ending in / means that we'll get a final \"\"\n  // at the end of the pattern.  This can only match a\n  // corresponding \"\" at the end of the file.\n  // If the file ends in /, then it can only match a\n  // a pattern that ends in /, unless the pattern just\n  // doesn't have any more for it. But, a/b/ should *not*\n  // match \"a/b/*\", even though \"\" matches against the\n  // [^/]*? pattern, except in partial mode, where it might\n  // simply not be reached yet.\n  // However, a/b/ should still satisfy a/*\n\n  // now either we fell off the end of the pattern, or we're done.\n  if (fi === fl && pi === pl) {\n    // ran out of pattern and filename at the same time.\n    // an exact hit!\n    return true\n  } else if (fi === fl) {\n    // ran out of file, but still had pattern left.\n    // this is ok if we're doing the match as part of\n    // a glob fs traversal.\n    return partial\n  } else if (pi === pl) {\n    // ran out of pattern, still have file left.\n    // this is only acceptable if we're on the very last\n    // empty segment of a file with a trailing slash.\n    // a/* should match a/b/\n    var emptyFileEnd = (fi === fl - 1) && (file[fi] === '')\n    return emptyFileEnd\n  }\n\n  // should be unreachable.\n  throw new Error('wtf?')\n}\n\n// replace stuff like \\* with *\nfunction globUnescape (s) {\n  return s.replace(/\\\\(.)/g, '$1')\n}\n\nfunction regExpEscape (s) {\n  return s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n}\n\n},{\"brace-expansion\":11,\"path\":22}],21:[function(require,module,exports){\nvar wrappy = require('wrappy')\nmodule.exports = wrappy(once)\nmodule.exports.strict = wrappy(onceStrict)\n\nonce.proto = once(function () {\n  Object.defineProperty(Function.prototype, 'once', {\n    value: function () {\n      return once(this)\n    },\n    configurable: true\n  })\n\n  Object.defineProperty(Function.prototype, 'onceStrict', {\n    value: function () {\n      return onceStrict(this)\n    },\n    configurable: true\n  })\n})\n\nfunction once (fn) {\n  var f = function () {\n    if (f.called) return f.value\n    f.called = true\n    return f.value = fn.apply(this, arguments)\n  }\n  f.called = false\n  return f\n}\n\nfunction onceStrict (fn) {\n  var f = function () {\n    if (f.called)\n      throw new Error(f.onceError)\n    f.called = true\n    return f.value = fn.apply(this, arguments)\n  }\n  var name = fn.name || 'Function wrapped with `once`'\n  f.onceError = name + \" shouldn't be called more than once\"\n  f.called = false\n  return f\n}\n\n},{\"wrappy\":29}],22:[function(require,module,exports){\n(function (process){\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n  // if the path tries to go above the root, `up` ends up > 0\n  var up = 0;\n  for (var i = parts.length - 1; i >= 0; i--) {\n    var last = parts[i];\n    if (last === '.') {\n      parts.splice(i, 1);\n    } else if (last === '..') {\n      parts.splice(i, 1);\n      up++;\n    } else if (up) {\n      parts.splice(i, 1);\n      up--;\n    }\n  }\n\n  // if the path is allowed to go above the root, restore leading ..s\n  if (allowAboveRoot) {\n    for (; up--; up) {\n      parts.unshift('..');\n    }\n  }\n\n  return parts;\n}\n\n// Split a filename into [root, dir, basename, ext], unix version\n// 'root' is just a slash, or nothing.\nvar splitPathRe =\n    /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\nvar splitPath = function(filename) {\n  return splitPathRe.exec(filename).slice(1);\n};\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n  var resolvedPath = '',\n      resolvedAbsolute = false;\n\n  for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n    var path = (i >= 0) ? arguments[i] : process.cwd();\n\n    // Skip empty and invalid entries\n    if (typeof path !== 'string') {\n      throw new TypeError('Arguments to path.resolve must be strings');\n    } else if (!path) {\n      continue;\n    }\n\n    resolvedPath = path + '/' + resolvedPath;\n    resolvedAbsolute = path.charAt(0) === '/';\n  }\n\n  // At this point the path should be resolved to a full absolute path, but\n  // handle relative paths to be safe (might happen when process.cwd() fails)\n\n  // Normalize the path\n  resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n    return !!p;\n  }), !resolvedAbsolute).join('/');\n\n  return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n  var isAbsolute = exports.isAbsolute(path),\n      trailingSlash = substr(path, -1) === '/';\n\n  // Normalize the path\n  path = normalizeArray(filter(path.split('/'), function(p) {\n    return !!p;\n  }), !isAbsolute).join('/');\n\n  if (!path && !isAbsolute) {\n    path = '.';\n  }\n  if (path && trailingSlash) {\n    path += '/';\n  }\n\n  return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n  return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n  var paths = Array.prototype.slice.call(arguments, 0);\n  return exports.normalize(filter(paths, function(p, index) {\n    if (typeof p !== 'string') {\n      throw new TypeError('Arguments to path.join must be strings');\n    }\n    return p;\n  }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n  from = exports.resolve(from).substr(1);\n  to = exports.resolve(to).substr(1);\n\n  function trim(arr) {\n    var start = 0;\n    for (; start < arr.length; start++) {\n      if (arr[start] !== '') break;\n    }\n\n    var end = arr.length - 1;\n    for (; end >= 0; end--) {\n      if (arr[end] !== '') break;\n    }\n\n    if (start > end) return [];\n    return arr.slice(start, end - start + 1);\n  }\n\n  var fromParts = trim(from.split('/'));\n  var toParts = trim(to.split('/'));\n\n  var length = Math.min(fromParts.length, toParts.length);\n  var samePartsLength = length;\n  for (var i = 0; i < length; i++) {\n    if (fromParts[i] !== toParts[i]) {\n      samePartsLength = i;\n      break;\n    }\n  }\n\n  var outputParts = [];\n  for (var i = samePartsLength; i < fromParts.length; i++) {\n    outputParts.push('..');\n  }\n\n  outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n  return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function(path) {\n  var result = splitPath(path),\n      root = result[0],\n      dir = result[1];\n\n  if (!root && !dir) {\n    // No dirname whatsoever\n    return '.';\n  }\n\n  if (dir) {\n    // It has a dirname, strip trailing slash\n    dir = dir.substr(0, dir.length - 1);\n  }\n\n  return root + dir;\n};\n\n\nexports.basename = function(path, ext) {\n  var f = splitPath(path)[2];\n  // TODO: make this comparison case-insensitive on windows?\n  if (ext && f.substr(-1 * ext.length) === ext) {\n    f = f.substr(0, f.length - ext.length);\n  }\n  return f;\n};\n\n\nexports.extname = function(path) {\n  return splitPath(path)[3];\n};\n\nfunction filter (xs, f) {\n    if (xs.filter) return xs.filter(f);\n    var res = [];\n    for (var i = 0; i < xs.length; i++) {\n        if (f(xs[i], i, xs)) res.push(xs[i]);\n    }\n    return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n    ? function (str, start, len) { return str.substr(start, len) }\n    : function (str, start, len) {\n        if (start < 0) start = str.length + start;\n        return str.substr(start, len);\n    }\n;\n\n}).call(this,require('_process'))\n},{\"_process\":24}],23:[function(require,module,exports){\n(function (process){\n'use strict';\n\nfunction posix(path) {\n\treturn path.charAt(0) === '/';\n}\n\nfunction win32(path) {\n\t// https://github.com/nodejs/node/blob/b3fcc245fb25539909ef1d5eaa01dbf92e168633/lib/path.js#L56\n\tvar splitDeviceRe = /^([a-zA-Z]:|[\\\\\\/]{2}[^\\\\\\/]+[\\\\\\/]+[^\\\\\\/]+)?([\\\\\\/])?([\\s\\S]*?)$/;\n\tvar result = splitDeviceRe.exec(path);\n\tvar device = result[1] || '';\n\tvar isUnc = Boolean(device && device.charAt(1) !== ':');\n\n\t// UNC paths are always absolute\n\treturn Boolean(result[2] || isUnc);\n}\n\nmodule.exports = process.platform === 'win32' ? win32 : posix;\nmodule.exports.posix = posix;\nmodule.exports.win32 = win32;\n\n}).call(this,require('_process'))\n},{\"_process\":24}],24:[function(require,module,exports){\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n},{}],25:[function(require,module,exports){\n//     Underscore.js 1.8.3\n//     http://underscorejs.org\n//     (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n//     Underscore may be freely distributed under the MIT license.\n\n(function() {\n\n  // Baseline setup\n  // --------------\n\n  // Establish the root object, `window` in the browser, or `exports` on the server.\n  var root = this;\n\n  // Save the previous value of the `_` variable.\n  var previousUnderscore = root._;\n\n  // Save bytes in the minified (but not gzipped) version:\n  var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;\n\n  // Create quick reference variables for speed access to core prototypes.\n  var\n    push             = ArrayProto.push,\n    slice            = ArrayProto.slice,\n    toString         = ObjProto.toString,\n    hasOwnProperty   = ObjProto.hasOwnProperty;\n\n  // All **ECMAScript 5** native function implementations that we hope to use\n  // are declared here.\n  var\n    nativeIsArray      = Array.isArray,\n    nativeKeys         = Object.keys,\n    nativeBind         = FuncProto.bind,\n    nativeCreate       = Object.create;\n\n  // Naked function reference for surrogate-prototype-swapping.\n  var Ctor = function(){};\n\n  // Create a safe reference to the Underscore object for use below.\n  var _ = function(obj) {\n    if (obj instanceof _) return obj;\n    if (!(this instanceof _)) return new _(obj);\n    this._wrapped = obj;\n  };\n\n  // Export the Underscore object for **Node.js**, with\n  // backwards-compatibility for the old `require()` API. If we're in\n  // the browser, add `_` as a global object.\n  if (typeof exports !== 'undefined') {\n    if (typeof module !== 'undefined' && module.exports) {\n      exports = module.exports = _;\n    }\n    exports._ = _;\n  } else {\n    root._ = _;\n  }\n\n  // Current version.\n  _.VERSION = '1.8.3';\n\n  // Internal function that returns an efficient (for current engines) version\n  // of the passed-in callback, to be repeatedly applied in other Underscore\n  // functions.\n  var optimizeCb = function(func, context, argCount) {\n    if (context === void 0) return func;\n    switch (argCount == null ? 3 : argCount) {\n      case 1: return function(value) {\n        return func.call(context, value);\n      };\n      case 2: return function(value, other) {\n        return func.call(context, value, other);\n      };\n      case 3: return function(value, index, collection) {\n        return func.call(context, value, index, collection);\n      };\n      case 4: return function(accumulator, value, index, collection) {\n        return func.call(context, accumulator, value, index, collection);\n      };\n    }\n    return function() {\n      return func.apply(context, arguments);\n    };\n  };\n\n  // A mostly-internal function to generate callbacks that can be applied\n  // to each element in a collection, returning the desired result — either\n  // identity, an arbitrary callback, a property matcher, or a property accessor.\n  var cb = function(value, context, argCount) {\n    if (value == null) return _.identity;\n    if (_.isFunction(value)) return optimizeCb(value, context, argCount);\n    if (_.isObject(value)) return _.matcher(value);\n    return _.property(value);\n  };\n  _.iteratee = function(value, context) {\n    return cb(value, context, Infinity);\n  };\n\n  // An internal function for creating assigner functions.\n  var createAssigner = function(keysFunc, undefinedOnly) {\n    return function(obj) {\n      var length = arguments.length;\n      if (length < 2 || obj == null) return obj;\n      for (var index = 1; index < length; index++) {\n        var source = arguments[index],\n            keys = keysFunc(source),\n            l = keys.length;\n        for (var i = 0; i < l; i++) {\n          var key = keys[i];\n          if (!undefinedOnly || obj[key] === void 0) obj[key] = source[key];\n        }\n      }\n      return obj;\n    };\n  };\n\n  // An internal function for creating a new object that inherits from another.\n  var baseCreate = function(prototype) {\n    if (!_.isObject(prototype)) return {};\n    if (nativeCreate) return nativeCreate(prototype);\n    Ctor.prototype = prototype;\n    var result = new Ctor;\n    Ctor.prototype = null;\n    return result;\n  };\n\n  var property = function(key) {\n    return function(obj) {\n      return obj == null ? void 0 : obj[key];\n    };\n  };\n\n  // Helper for collection methods to determine whether a collection\n  // should be iterated as an array or as an object\n  // Related: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength\n  // Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094\n  var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;\n  var getLength = property('length');\n  var isArrayLike = function(collection) {\n    var length = getLength(collection);\n    return typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX;\n  };\n\n  // Collection Functions\n  // --------------------\n\n  // The cornerstone, an `each` implementation, aka `forEach`.\n  // Handles raw objects in addition to array-likes. Treats all\n  // sparse array-likes as if they were dense.\n  _.each = _.forEach = function(obj, iteratee, context) {\n    iteratee = optimizeCb(iteratee, context);\n    var i, length;\n    if (isArrayLike(obj)) {\n      for (i = 0, length = obj.length; i < length; i++) {\n        iteratee(obj[i], i, obj);\n      }\n    } else {\n      var keys = _.keys(obj);\n      for (i = 0, length = keys.length; i < length; i++) {\n        iteratee(obj[keys[i]], keys[i], obj);\n      }\n    }\n    return obj;\n  };\n\n  // Return the results of applying the iteratee to each element.\n  _.map = _.collect = function(obj, iteratee, context) {\n    iteratee = cb(iteratee, context);\n    var keys = !isArrayLike(obj) && _.keys(obj),\n        length = (keys || obj).length,\n        results = Array(length);\n    for (var index = 0; index < length; index++) {\n      var currentKey = keys ? keys[index] : index;\n      results[index] = iteratee(obj[currentKey], currentKey, obj);\n    }\n    return results;\n  };\n\n  // Create a reducing function iterating left or right.\n  function createReduce(dir) {\n    // Optimized iterator function as using arguments.length\n    // in the main function will deoptimize the, see #1991.\n    function iterator(obj, iteratee, memo, keys, index, length) {\n      for (; index >= 0 && index < length; index += dir) {\n        var currentKey = keys ? keys[index] : index;\n        memo = iteratee(memo, obj[currentKey], currentKey, obj);\n      }\n      return memo;\n    }\n\n    return function(obj, iteratee, memo, context) {\n      iteratee = optimizeCb(iteratee, context, 4);\n      var keys = !isArrayLike(obj) && _.keys(obj),\n          length = (keys || obj).length,\n          index = dir > 0 ? 0 : length - 1;\n      // Determine the initial value if none is provided.\n      if (arguments.length < 3) {\n        memo = obj[keys ? keys[index] : index];\n        index += dir;\n      }\n      return iterator(obj, iteratee, memo, keys, index, length);\n    };\n  }\n\n  // **Reduce** builds up a single result from a list of values, aka `inject`,\n  // or `foldl`.\n  _.reduce = _.foldl = _.inject = createReduce(1);\n\n  // The right-associative version of reduce, also known as `foldr`.\n  _.reduceRight = _.foldr = createReduce(-1);\n\n  // Return the first value which passes a truth test. Aliased as `detect`.\n  _.find = _.detect = function(obj, predicate, context) {\n    var key;\n    if (isArrayLike(obj)) {\n      key = _.findIndex(obj, predicate, context);\n    } else {\n      key = _.findKey(obj, predicate, context);\n    }\n    if (key !== void 0 && key !== -1) return obj[key];\n  };\n\n  // Return all the elements that pass a truth test.\n  // Aliased as `select`.\n  _.filter = _.select = function(obj, predicate, context) {\n    var results = [];\n    predicate = cb(predicate, context);\n    _.each(obj, function(value, index, list) {\n      if (predicate(value, index, list)) results.push(value);\n    });\n    return results;\n  };\n\n  // Return all the elements for which a truth test fails.\n  _.reject = function(obj, predicate, context) {\n    return _.filter(obj, _.negate(cb(predicate)), context);\n  };\n\n  // Determine whether all of the elements match a truth test.\n  // Aliased as `all`.\n  _.every = _.all = function(obj, predicate, context) {\n    predicate = cb(predicate, context);\n    var keys = !isArrayLike(obj) && _.keys(obj),\n        length = (keys || obj).length;\n    for (var index = 0; index < length; index++) {\n      var currentKey = keys ? keys[index] : index;\n      if (!predicate(obj[currentKey], currentKey, obj)) return false;\n    }\n    return true;\n  };\n\n  // Determine if at least one element in the object matches a truth test.\n  // Aliased as `any`.\n  _.some = _.any = function(obj, predicate, context) {\n    predicate = cb(predicate, context);\n    var keys = !isArrayLike(obj) && _.keys(obj),\n        length = (keys || obj).length;\n    for (var index = 0; index < length; index++) {\n      var currentKey = keys ? keys[index] : index;\n      if (predicate(obj[currentKey], currentKey, obj)) return true;\n    }\n    return false;\n  };\n\n  // Determine if the array or object contains a given item (using `===`).\n  // Aliased as `includes` and `include`.\n  _.contains = _.includes = _.include = function(obj, item, fromIndex, guard) {\n    if (!isArrayLike(obj)) obj = _.values(obj);\n    if (typeof fromIndex != 'number' || guard) fromIndex = 0;\n    return _.indexOf(obj, item, fromIndex) >= 0;\n  };\n\n  // Invoke a method (with arguments) on every item in a collection.\n  _.invoke = function(obj, method) {\n    var args = slice.call(arguments, 2);\n    var isFunc = _.isFunction(method);\n    return _.map(obj, function(value) {\n      var func = isFunc ? method : value[method];\n      return func == null ? func : func.apply(value, args);\n    });\n  };\n\n  // Convenience version of a common use case of `map`: fetching a property.\n  _.pluck = function(obj, key) {\n    return _.map(obj, _.property(key));\n  };\n\n  // Convenience version of a common use case of `filter`: selecting only objects\n  // containing specific `key:value` pairs.\n  _.where = function(obj, attrs) {\n    return _.filter(obj, _.matcher(attrs));\n  };\n\n  // Convenience version of a common use case of `find`: getting the first object\n  // containing specific `key:value` pairs.\n  _.findWhere = function(obj, attrs) {\n    return _.find(obj, _.matcher(attrs));\n  };\n\n  // Return the maximum element (or element-based computation).\n  _.max = function(obj, iteratee, context) {\n    var result = -Infinity, lastComputed = -Infinity,\n        value, computed;\n    if (iteratee == null && obj != null) {\n      obj = isArrayLike(obj) ? obj : _.values(obj);\n      for (var i = 0, length = obj.length; i < length; i++) {\n        value = obj[i];\n        if (value > result) {\n          result = value;\n        }\n      }\n    } else {\n      iteratee = cb(iteratee, context);\n      _.each(obj, function(value, index, list) {\n        computed = iteratee(value, index, list);\n        if (computed > lastComputed || computed === -Infinity && result === -Infinity) {\n          result = value;\n          lastComputed = computed;\n        }\n      });\n    }\n    return result;\n  };\n\n  // Return the minimum element (or element-based computation).\n  _.min = function(obj, iteratee, context) {\n    var result = Infinity, lastComputed = Infinity,\n        value, computed;\n    if (iteratee == null && obj != null) {\n      obj = isArrayLike(obj) ? obj : _.values(obj);\n      for (var i = 0, length = obj.length; i < length; i++) {\n        value = obj[i];\n        if (value < result) {\n          result = value;\n        }\n      }\n    } else {\n      iteratee = cb(iteratee, context);\n      _.each(obj, function(value, index, list) {\n        computed = iteratee(value, index, list);\n        if (computed < lastComputed || computed === Infinity && result === Infinity) {\n          result = value;\n          lastComputed = computed;\n        }\n      });\n    }\n    return result;\n  };\n\n  // Shuffle a collection, using the modern version of the\n  // [Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher–Yates_shuffle).\n  _.shuffle = function(obj) {\n    var set = isArrayLike(obj) ? obj : _.values(obj);\n    var length = set.length;\n    var shuffled = Array(length);\n    for (var index = 0, rand; index < length; index++) {\n      rand = _.random(0, index);\n      if (rand !== index) shuffled[index] = shuffled[rand];\n      shuffled[rand] = set[index];\n    }\n    return shuffled;\n  };\n\n  // Sample **n** random values from a collection.\n  // If **n** is not specified, returns a single random element.\n  // The internal `guard` argument allows it to work with `map`.\n  _.sample = function(obj, n, guard) {\n    if (n == null || guard) {\n      if (!isArrayLike(obj)) obj = _.values(obj);\n      return obj[_.random(obj.length - 1)];\n    }\n    return _.shuffle(obj).slice(0, Math.max(0, n));\n  };\n\n  // Sort the object's values by a criterion produced by an iteratee.\n  _.sortBy = function(obj, iteratee, context) {\n    iteratee = cb(iteratee, context);\n    return _.pluck(_.map(obj, function(value, index, list) {\n      return {\n        value: value,\n        index: index,\n        criteria: iteratee(value, index, list)\n      };\n    }).sort(function(left, right) {\n      var a = left.criteria;\n      var b = right.criteria;\n      if (a !== b) {\n        if (a > b || a === void 0) return 1;\n        if (a < b || b === void 0) return -1;\n      }\n      return left.index - right.index;\n    }), 'value');\n  };\n\n  // An internal function used for aggregate \"group by\" operations.\n  var group = function(behavior) {\n    return function(obj, iteratee, context) {\n      var result = {};\n      iteratee = cb(iteratee, context);\n      _.each(obj, function(value, index) {\n        var key = iteratee(value, index, obj);\n        behavior(result, value, key);\n      });\n      return result;\n    };\n  };\n\n  // Groups the object's values by a criterion. Pass either a string attribute\n  // to group by, or a function that returns the criterion.\n  _.groupBy = group(function(result, value, key) {\n    if (_.has(result, key)) result[key].push(value); else result[key] = [value];\n  });\n\n  // Indexes the object's values by a criterion, similar to `groupBy`, but for\n  // when you know that your index values will be unique.\n  _.indexBy = group(function(result, value, key) {\n    result[key] = value;\n  });\n\n  // Counts instances of an object that group by a certain criterion. Pass\n  // either a string attribute to count by, or a function that returns the\n  // criterion.\n  _.countBy = group(function(result, value, key) {\n    if (_.has(result, key)) result[key]++; else result[key] = 1;\n  });\n\n  // Safely create a real, live array from anything iterable.\n  _.toArray = function(obj) {\n    if (!obj) return [];\n    if (_.isArray(obj)) return slice.call(obj);\n    if (isArrayLike(obj)) return _.map(obj, _.identity);\n    return _.values(obj);\n  };\n\n  // Return the number of elements in an object.\n  _.size = function(obj) {\n    if (obj == null) return 0;\n    return isArrayLike(obj) ? obj.length : _.keys(obj).length;\n  };\n\n  // Split a collection into two arrays: one whose elements all satisfy the given\n  // predicate, and one whose elements all do not satisfy the predicate.\n  _.partition = function(obj, predicate, context) {\n    predicate = cb(predicate, context);\n    var pass = [], fail = [];\n    _.each(obj, function(value, key, obj) {\n      (predicate(value, key, obj) ? pass : fail).push(value);\n    });\n    return [pass, fail];\n  };\n\n  // Array Functions\n  // ---------------\n\n  // Get the first element of an array. Passing **n** will return the first N\n  // values in the array. Aliased as `head` and `take`. The **guard** check\n  // allows it to work with `_.map`.\n  _.first = _.head = _.take = function(array, n, guard) {\n    if (array == null) return void 0;\n    if (n == null || guard) return array[0];\n    return _.initial(array, array.length - n);\n  };\n\n  // Returns everything but the last entry of the array. Especially useful on\n  // the arguments object. Passing **n** will return all the values in\n  // the array, excluding the last N.\n  _.initial = function(array, n, guard) {\n    return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n)));\n  };\n\n  // Get the last element of an array. Passing **n** will return the last N\n  // values in the array.\n  _.last = function(array, n, guard) {\n    if (array == null) return void 0;\n    if (n == null || guard) return array[array.length - 1];\n    return _.rest(array, Math.max(0, array.length - n));\n  };\n\n  // Returns everything but the first entry of the array. Aliased as `tail` and `drop`.\n  // Especially useful on the arguments object. Passing an **n** will return\n  // the rest N values in the array.\n  _.rest = _.tail = _.drop = function(array, n, guard) {\n    return slice.call(array, n == null || guard ? 1 : n);\n  };\n\n  // Trim out all falsy values from an array.\n  _.compact = function(array) {\n    return _.filter(array, _.identity);\n  };\n\n  // Internal implementation of a recursive `flatten` function.\n  var flatten = function(input, shallow, strict, startIndex) {\n    var output = [], idx = 0;\n    for (var i = startIndex || 0, length = getLength(input); i < length; i++) {\n      var value = input[i];\n      if (isArrayLike(value) && (_.isArray(value) || _.isArguments(value))) {\n        //flatten current level of array or arguments object\n        if (!shallow) value = flatten(value, shallow, strict);\n        var j = 0, len = value.length;\n        output.length += len;\n        while (j < len) {\n          output[idx++] = value[j++];\n        }\n      } else if (!strict) {\n        output[idx++] = value;\n      }\n    }\n    return output;\n  };\n\n  // Flatten out an array, either recursively (by default), or just one level.\n  _.flatten = function(array, shallow) {\n    return flatten(array, shallow, false);\n  };\n\n  // Return a version of the array that does not contain the specified value(s).\n  _.without = function(array) {\n    return _.difference(array, slice.call(arguments, 1));\n  };\n\n  // Produce a duplicate-free version of the array. If the array has already\n  // been sorted, you have the option of using a faster algorithm.\n  // Aliased as `unique`.\n  _.uniq = _.unique = function(array, isSorted, iteratee, context) {\n    if (!_.isBoolean(isSorted)) {\n      context = iteratee;\n      iteratee = isSorted;\n      isSorted = false;\n    }\n    if (iteratee != null) iteratee = cb(iteratee, context);\n    var result = [];\n    var seen = [];\n    for (var i = 0, length = getLength(array); i < length; i++) {\n      var value = array[i],\n          computed = iteratee ? iteratee(value, i, array) : value;\n      if (isSorted) {\n        if (!i || seen !== computed) result.push(value);\n        seen = computed;\n      } else if (iteratee) {\n        if (!_.contains(seen, computed)) {\n          seen.push(computed);\n          result.push(value);\n        }\n      } else if (!_.contains(result, value)) {\n        result.push(value);\n      }\n    }\n    return result;\n  };\n\n  // Produce an array that contains the union: each distinct element from all of\n  // the passed-in arrays.\n  _.union = function() {\n    return _.uniq(flatten(arguments, true, true));\n  };\n\n  // Produce an array that contains every item shared between all the\n  // passed-in arrays.\n  _.intersection = function(array) {\n    var result = [];\n    var argsLength = arguments.length;\n    for (var i = 0, length = getLength(array); i < length; i++) {\n      var item = array[i];\n      if (_.contains(result, item)) continue;\n      for (var j = 1; j < argsLength; j++) {\n        if (!_.contains(arguments[j], item)) break;\n      }\n      if (j === argsLength) result.push(item);\n    }\n    return result;\n  };\n\n  // Take the difference between one array and a number of other arrays.\n  // Only the elements present in just the first array will remain.\n  _.difference = function(array) {\n    var rest = flatten(arguments, true, true, 1);\n    return _.filter(array, function(value){\n      return !_.contains(rest, value);\n    });\n  };\n\n  // Zip together multiple lists into a single array -- elements that share\n  // an index go together.\n  _.zip = function() {\n    return _.unzip(arguments);\n  };\n\n  // Complement of _.zip. Unzip accepts an array of arrays and groups\n  // each array's elements on shared indices\n  _.unzip = function(array) {\n    var length = array && _.max(array, getLength).length || 0;\n    var result = Array(length);\n\n    for (var index = 0; index < length; index++) {\n      result[index] = _.pluck(array, index);\n    }\n    return result;\n  };\n\n  // Converts lists into objects. Pass either a single array of `[key, value]`\n  // pairs, or two parallel arrays of the same length -- one of keys, and one of\n  // the corresponding values.\n  _.object = function(list, values) {\n    var result = {};\n    for (var i = 0, length = getLength(list); i < length; i++) {\n      if (values) {\n        result[list[i]] = values[i];\n      } else {\n        result[list[i][0]] = list[i][1];\n      }\n    }\n    return result;\n  };\n\n  // Generator function to create the findIndex and findLastIndex functions\n  function createPredicateIndexFinder(dir) {\n    return function(array, predicate, context) {\n      predicate = cb(predicate, context);\n      var length = getLength(array);\n      var index = dir > 0 ? 0 : length - 1;\n      for (; index >= 0 && index < length; index += dir) {\n        if (predicate(array[index], index, array)) return index;\n      }\n      return -1;\n    };\n  }\n\n  // Returns the first index on an array-like that passes a predicate test\n  _.findIndex = createPredicateIndexFinder(1);\n  _.findLastIndex = createPredicateIndexFinder(-1);\n\n  // Use a comparator function to figure out the smallest index at which\n  // an object should be inserted so as to maintain order. Uses binary search.\n  _.sortedIndex = function(array, obj, iteratee, context) {\n    iteratee = cb(iteratee, context, 1);\n    var value = iteratee(obj);\n    var low = 0, high = getLength(array);\n    while (low < high) {\n      var mid = Math.floor((low + high) / 2);\n      if (iteratee(array[mid]) < value) low = mid + 1; else high = mid;\n    }\n    return low;\n  };\n\n  // Generator function to create the indexOf and lastIndexOf functions\n  function createIndexFinder(dir, predicateFind, sortedIndex) {\n    return function(array, item, idx) {\n      var i = 0, length = getLength(array);\n      if (typeof idx == 'number') {\n        if (dir > 0) {\n            i = idx >= 0 ? idx : Math.max(idx + length, i);\n        } else {\n            length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1;\n        }\n      } else if (sortedIndex && idx && length) {\n        idx = sortedIndex(array, item);\n        return array[idx] === item ? idx : -1;\n      }\n      if (item !== item) {\n        idx = predicateFind(slice.call(array, i, length), _.isNaN);\n        return idx >= 0 ? idx + i : -1;\n      }\n      for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) {\n        if (array[idx] === item) return idx;\n      }\n      return -1;\n    };\n  }\n\n  // Return the position of the first occurrence of an item in an array,\n  // or -1 if the item is not included in the array.\n  // If the array is large and already in sort order, pass `true`\n  // for **isSorted** to use binary search.\n  _.indexOf = createIndexFinder(1, _.findIndex, _.sortedIndex);\n  _.lastIndexOf = createIndexFinder(-1, _.findLastIndex);\n\n  // Generate an integer Array containing an arithmetic progression. A port of\n  // the native Python `range()` function. See\n  // [the Python documentation](http://docs.python.org/library/functions.html#range).\n  _.range = function(start, stop, step) {\n    if (stop == null) {\n      stop = start || 0;\n      start = 0;\n    }\n    step = step || 1;\n\n    var length = Math.max(Math.ceil((stop - start) / step), 0);\n    var range = Array(length);\n\n    for (var idx = 0; idx < length; idx++, start += step) {\n      range[idx] = start;\n    }\n\n    return range;\n  };\n\n  // Function (ahem) Functions\n  // ------------------\n\n  // Determines whether to execute a function as a constructor\n  // or a normal function with the provided arguments\n  var executeBound = function(sourceFunc, boundFunc, context, callingContext, args) {\n    if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args);\n    var self = baseCreate(sourceFunc.prototype);\n    var result = sourceFunc.apply(self, args);\n    if (_.isObject(result)) return result;\n    return self;\n  };\n\n  // Create a function bound to a given object (assigning `this`, and arguments,\n  // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if\n  // available.\n  _.bind = function(func, context) {\n    if (nativeBind && func.bind === nativeBind) return nativeBind.apply(func, slice.call(arguments, 1));\n    if (!_.isFunction(func)) throw new TypeError('Bind must be called on a function');\n    var args = slice.call(arguments, 2);\n    var bound = function() {\n      return executeBound(func, bound, context, this, args.concat(slice.call(arguments)));\n    };\n    return bound;\n  };\n\n  // Partially apply a function by creating a version that has had some of its\n  // arguments pre-filled, without changing its dynamic `this` context. _ acts\n  // as a placeholder, allowing any combination of arguments to be pre-filled.\n  _.partial = function(func) {\n    var boundArgs = slice.call(arguments, 1);\n    var bound = function() {\n      var position = 0, length = boundArgs.length;\n      var args = Array(length);\n      for (var i = 0; i < length; i++) {\n        args[i] = boundArgs[i] === _ ? arguments[position++] : boundArgs[i];\n      }\n      while (position < arguments.length) args.push(arguments[position++]);\n      return executeBound(func, bound, this, this, args);\n    };\n    return bound;\n  };\n\n  // Bind a number of an object's methods to that object. Remaining arguments\n  // are the method names to be bound. Useful for ensuring that all callbacks\n  // defined on an object belong to it.\n  _.bindAll = function(obj) {\n    var i, length = arguments.length, key;\n    if (length <= 1) throw new Error('bindAll must be passed function names');\n    for (i = 1; i < length; i++) {\n      key = arguments[i];\n      obj[key] = _.bind(obj[key], obj);\n    }\n    return obj;\n  };\n\n  // Memoize an expensive function by storing its results.\n  _.memoize = function(func, hasher) {\n    var memoize = function(key) {\n      var cache = memoize.cache;\n      var address = '' + (hasher ? hasher.apply(this, arguments) : key);\n      if (!_.has(cache, address)) cache[address] = func.apply(this, arguments);\n      return cache[address];\n    };\n    memoize.cache = {};\n    return memoize;\n  };\n\n  // Delays a function for the given number of milliseconds, and then calls\n  // it with the arguments supplied.\n  _.delay = function(func, wait) {\n    var args = slice.call(arguments, 2);\n    return setTimeout(function(){\n      return func.apply(null, args);\n    }, wait);\n  };\n\n  // Defers a function, scheduling it to run after the current call stack has\n  // cleared.\n  _.defer = _.partial(_.delay, _, 1);\n\n  // Returns a function, that, when invoked, will only be triggered at most once\n  // during a given window of time. Normally, the throttled function will run\n  // as much as it can, without ever going more than once per `wait` duration;\n  // but if you'd like to disable the execution on the leading edge, pass\n  // `{leading: false}`. To disable execution on the trailing edge, ditto.\n  _.throttle = function(func, wait, options) {\n    var context, args, result;\n    var timeout = null;\n    var previous = 0;\n    if (!options) options = {};\n    var later = function() {\n      previous = options.leading === false ? 0 : _.now();\n      timeout = null;\n      result = func.apply(context, args);\n      if (!timeout) context = args = null;\n    };\n    return function() {\n      var now = _.now();\n      if (!previous && options.leading === false) previous = now;\n      var remaining = wait - (now - previous);\n      context = this;\n      args = arguments;\n      if (remaining <= 0 || remaining > wait) {\n        if (timeout) {\n          clearTimeout(timeout);\n          timeout = null;\n        }\n        previous = now;\n        result = func.apply(context, args);\n        if (!timeout) context = args = null;\n      } else if (!timeout && options.trailing !== false) {\n        timeout = setTimeout(later, remaining);\n      }\n      return result;\n    };\n  };\n\n  // Returns a function, that, as long as it continues to be invoked, will not\n  // be triggered. The function will be called after it stops being called for\n  // N milliseconds. If `immediate` is passed, trigger the function on the\n  // leading edge, instead of the trailing.\n  _.debounce = function(func, wait, immediate) {\n    var timeout, args, context, timestamp, result;\n\n    var later = function() {\n      var last = _.now() - timestamp;\n\n      if (last < wait && last >= 0) {\n        timeout = setTimeout(later, wait - last);\n      } else {\n        timeout = null;\n        if (!immediate) {\n          result = func.apply(context, args);\n          if (!timeout) context = args = null;\n        }\n      }\n    };\n\n    return function() {\n      context = this;\n      args = arguments;\n      timestamp = _.now();\n      var callNow = immediate && !timeout;\n      if (!timeout) timeout = setTimeout(later, wait);\n      if (callNow) {\n        result = func.apply(context, args);\n        context = args = null;\n      }\n\n      return result;\n    };\n  };\n\n  // Returns the first function passed as an argument to the second,\n  // allowing you to adjust arguments, run code before and after, and\n  // conditionally execute the original function.\n  _.wrap = function(func, wrapper) {\n    return _.partial(wrapper, func);\n  };\n\n  // Returns a negated version of the passed-in predicate.\n  _.negate = function(predicate) {\n    return function() {\n      return !predicate.apply(this, arguments);\n    };\n  };\n\n  // Returns a function that is the composition of a list of functions, each\n  // consuming the return value of the function that follows.\n  _.compose = function() {\n    var args = arguments;\n    var start = args.length - 1;\n    return function() {\n      var i = start;\n      var result = args[start].apply(this, arguments);\n      while (i--) result = args[i].call(this, result);\n      return result;\n    };\n  };\n\n  // Returns a function that will only be executed on and after the Nth call.\n  _.after = function(times, func) {\n    return function() {\n      if (--times < 1) {\n        return func.apply(this, arguments);\n      }\n    };\n  };\n\n  // Returns a function that will only be executed up to (but not including) the Nth call.\n  _.before = function(times, func) {\n    var memo;\n    return function() {\n      if (--times > 0) {\n        memo = func.apply(this, arguments);\n      }\n      if (times <= 1) func = null;\n      return memo;\n    };\n  };\n\n  // Returns a function that will be executed at most one time, no matter how\n  // often you call it. Useful for lazy initialization.\n  _.once = _.partial(_.before, 2);\n\n  // Object Functions\n  // ----------------\n\n  // Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed.\n  var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString');\n  var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString',\n                      'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];\n\n  function collectNonEnumProps(obj, keys) {\n    var nonEnumIdx = nonEnumerableProps.length;\n    var constructor = obj.constructor;\n    var proto = (_.isFunction(constructor) && constructor.prototype) || ObjProto;\n\n    // Constructor is a special case.\n    var prop = 'constructor';\n    if (_.has(obj, prop) && !_.contains(keys, prop)) keys.push(prop);\n\n    while (nonEnumIdx--) {\n      prop = nonEnumerableProps[nonEnumIdx];\n      if (prop in obj && obj[prop] !== proto[prop] && !_.contains(keys, prop)) {\n        keys.push(prop);\n      }\n    }\n  }\n\n  // Retrieve the names of an object's own properties.\n  // Delegates to **ECMAScript 5**'s native `Object.keys`\n  _.keys = function(obj) {\n    if (!_.isObject(obj)) return [];\n    if (nativeKeys) return nativeKeys(obj);\n    var keys = [];\n    for (var key in obj) if (_.has(obj, key)) keys.push(key);\n    // Ahem, IE < 9.\n    if (hasEnumBug) collectNonEnumProps(obj, keys);\n    return keys;\n  };\n\n  // Retrieve all the property names of an object.\n  _.allKeys = function(obj) {\n    if (!_.isObject(obj)) return [];\n    var keys = [];\n    for (var key in obj) keys.push(key);\n    // Ahem, IE < 9.\n    if (hasEnumBug) collectNonEnumProps(obj, keys);\n    return keys;\n  };\n\n  // Retrieve the values of an object's properties.\n  _.values = function(obj) {\n    var keys = _.keys(obj);\n    var length = keys.length;\n    var values = Array(length);\n    for (var i = 0; i < length; i++) {\n      values[i] = obj[keys[i]];\n    }\n    return values;\n  };\n\n  // Returns the results of applying the iteratee to each element of the object\n  // In contrast to _.map it returns an object\n  _.mapObject = function(obj, iteratee, context) {\n    iteratee = cb(iteratee, context);\n    var keys =  _.keys(obj),\n          length = keys.length,\n          results = {},\n          currentKey;\n      for (var index = 0; index < length; index++) {\n        currentKey = keys[index];\n        results[currentKey] = iteratee(obj[currentKey], currentKey, obj);\n      }\n      return results;\n  };\n\n  // Convert an object into a list of `[key, value]` pairs.\n  _.pairs = function(obj) {\n    var keys = _.keys(obj);\n    var length = keys.length;\n    var pairs = Array(length);\n    for (var i = 0; i < length; i++) {\n      pairs[i] = [keys[i], obj[keys[i]]];\n    }\n    return pairs;\n  };\n\n  // Invert the keys and values of an object. The values must be serializable.\n  _.invert = function(obj) {\n    var result = {};\n    var keys = _.keys(obj);\n    for (var i = 0, length = keys.length; i < length; i++) {\n      result[obj[keys[i]]] = keys[i];\n    }\n    return result;\n  };\n\n  // Return a sorted list of the function names available on the object.\n  // Aliased as `methods`\n  _.functions = _.methods = function(obj) {\n    var names = [];\n    for (var key in obj) {\n      if (_.isFunction(obj[key])) names.push(key);\n    }\n    return names.sort();\n  };\n\n  // Extend a given object with all the properties in passed-in object(s).\n  _.extend = createAssigner(_.allKeys);\n\n  // Assigns a given object with all the own properties in the passed-in object(s)\n  // (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\n  _.extendOwn = _.assign = createAssigner(_.keys);\n\n  // Returns the first key on an object that passes a predicate test\n  _.findKey = function(obj, predicate, context) {\n    predicate = cb(predicate, context);\n    var keys = _.keys(obj), key;\n    for (var i = 0, length = keys.length; i < length; i++) {\n      key = keys[i];\n      if (predicate(obj[key], key, obj)) return key;\n    }\n  };\n\n  // Return a copy of the object only containing the whitelisted properties.\n  _.pick = function(object, oiteratee, context) {\n    var result = {}, obj = object, iteratee, keys;\n    if (obj == null) return result;\n    if (_.isFunction(oiteratee)) {\n      keys = _.allKeys(obj);\n      iteratee = optimizeCb(oiteratee, context);\n    } else {\n      keys = flatten(arguments, false, false, 1);\n      iteratee = function(value, key, obj) { return key in obj; };\n      obj = Object(obj);\n    }\n    for (var i = 0, length = keys.length; i < length; i++) {\n      var key = keys[i];\n      var value = obj[key];\n      if (iteratee(value, key, obj)) result[key] = value;\n    }\n    return result;\n  };\n\n   // Return a copy of the object without the blacklisted properties.\n  _.omit = function(obj, iteratee, context) {\n    if (_.isFunction(iteratee)) {\n      iteratee = _.negate(iteratee);\n    } else {\n      var keys = _.map(flatten(arguments, false, false, 1), String);\n      iteratee = function(value, key) {\n        return !_.contains(keys, key);\n      };\n    }\n    return _.pick(obj, iteratee, context);\n  };\n\n  // Fill in a given object with default properties.\n  _.defaults = createAssigner(_.allKeys, true);\n\n  // Creates an object that inherits from the given prototype object.\n  // If additional properties are provided then they will be added to the\n  // created object.\n  _.create = function(prototype, props) {\n    var result = baseCreate(prototype);\n    if (props) _.extendOwn(result, props);\n    return result;\n  };\n\n  // Create a (shallow-cloned) duplicate of an object.\n  _.clone = function(obj) {\n    if (!_.isObject(obj)) return obj;\n    return _.isArray(obj) ? obj.slice() : _.extend({}, obj);\n  };\n\n  // Invokes interceptor with the obj, and then returns obj.\n  // The primary purpose of this method is to \"tap into\" a method chain, in\n  // order to perform operations on intermediate results within the chain.\n  _.tap = function(obj, interceptor) {\n    interceptor(obj);\n    return obj;\n  };\n\n  // Returns whether an object has a given set of `key:value` pairs.\n  _.isMatch = function(object, attrs) {\n    var keys = _.keys(attrs), length = keys.length;\n    if (object == null) return !length;\n    var obj = Object(object);\n    for (var i = 0; i < length; i++) {\n      var key = keys[i];\n      if (attrs[key] !== obj[key] || !(key in obj)) return false;\n    }\n    return true;\n  };\n\n\n  // Internal recursive comparison function for `isEqual`.\n  var eq = function(a, b, aStack, bStack) {\n    // Identical objects are equal. `0 === -0`, but they aren't identical.\n    // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).\n    if (a === b) return a !== 0 || 1 / a === 1 / b;\n    // A strict comparison is necessary because `null == undefined`.\n    if (a == null || b == null) return a === b;\n    // Unwrap any wrapped objects.\n    if (a instanceof _) a = a._wrapped;\n    if (b instanceof _) b = b._wrapped;\n    // Compare `[[Class]]` names.\n    var className = toString.call(a);\n    if (className !== toString.call(b)) return false;\n    switch (className) {\n      // Strings, numbers, regular expressions, dates, and booleans are compared by value.\n      case '[object RegExp]':\n      // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n      case '[object String]':\n        // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n        // equivalent to `new String(\"5\")`.\n        return '' + a === '' + b;\n      case '[object Number]':\n        // `NaN`s are equivalent, but non-reflexive.\n        // Object(NaN) is equivalent to NaN\n        if (+a !== +a) return +b !== +b;\n        // An `egal` comparison is performed for other numeric values.\n        return +a === 0 ? 1 / +a === 1 / b : +a === +b;\n      case '[object Date]':\n      case '[object Boolean]':\n        // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n        // millisecond representations. Note that invalid dates with millisecond representations\n        // of `NaN` are not equivalent.\n        return +a === +b;\n    }\n\n    var areArrays = className === '[object Array]';\n    if (!areArrays) {\n      if (typeof a != 'object' || typeof b != 'object') return false;\n\n      // Objects with different constructors are not equivalent, but `Object`s or `Array`s\n      // from different frames are.\n      var aCtor = a.constructor, bCtor = b.constructor;\n      if (aCtor !== bCtor && !(_.isFunction(aCtor) && aCtor instanceof aCtor &&\n                               _.isFunction(bCtor) && bCtor instanceof bCtor)\n                          && ('constructor' in a && 'constructor' in b)) {\n        return false;\n      }\n    }\n    // Assume equality for cyclic structures. The algorithm for detecting cyclic\n    // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n\n    // Initializing stack of traversed objects.\n    // It's done here since we only need them for objects and arrays comparison.\n    aStack = aStack || [];\n    bStack = bStack || [];\n    var length = aStack.length;\n    while (length--) {\n      // Linear search. Performance is inversely proportional to the number of\n      // unique nested structures.\n      if (aStack[length] === a) return bStack[length] === b;\n    }\n\n    // Add the first object to the stack of traversed objects.\n    aStack.push(a);\n    bStack.push(b);\n\n    // Recursively compare objects and arrays.\n    if (areArrays) {\n      // Compare array lengths to determine if a deep comparison is necessary.\n      length = a.length;\n      if (length !== b.length) return false;\n      // Deep compare the contents, ignoring non-numeric properties.\n      while (length--) {\n        if (!eq(a[length], b[length], aStack, bStack)) return false;\n      }\n    } else {\n      // Deep compare objects.\n      var keys = _.keys(a), key;\n      length = keys.length;\n      // Ensure that both objects contain the same number of properties before comparing deep equality.\n      if (_.keys(b).length !== length) return false;\n      while (length--) {\n        // Deep compare each member\n        key = keys[length];\n        if (!(_.has(b, key) && eq(a[key], b[key], aStack, bStack))) return false;\n      }\n    }\n    // Remove the first object from the stack of traversed objects.\n    aStack.pop();\n    bStack.pop();\n    return true;\n  };\n\n  // Perform a deep comparison to check if two objects are equal.\n  _.isEqual = function(a, b) {\n    return eq(a, b);\n  };\n\n  // Is a given array, string, or object empty?\n  // An \"empty\" object has no enumerable own-properties.\n  _.isEmpty = function(obj) {\n    if (obj == null) return true;\n    if (isArrayLike(obj) && (_.isArray(obj) || _.isString(obj) || _.isArguments(obj))) return obj.length === 0;\n    return _.keys(obj).length === 0;\n  };\n\n  // Is a given value a DOM element?\n  _.isElement = function(obj) {\n    return !!(obj && obj.nodeType === 1);\n  };\n\n  // Is a given value an array?\n  // Delegates to ECMA5's native Array.isArray\n  _.isArray = nativeIsArray || function(obj) {\n    return toString.call(obj) === '[object Array]';\n  };\n\n  // Is a given variable an object?\n  _.isObject = function(obj) {\n    var type = typeof obj;\n    return type === 'function' || type === 'object' && !!obj;\n  };\n\n  // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp, isError.\n  _.each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp', 'Error'], function(name) {\n    _['is' + name] = function(obj) {\n      return toString.call(obj) === '[object ' + name + ']';\n    };\n  });\n\n  // Define a fallback version of the method in browsers (ahem, IE < 9), where\n  // there isn't any inspectable \"Arguments\" type.\n  if (!_.isArguments(arguments)) {\n    _.isArguments = function(obj) {\n      return _.has(obj, 'callee');\n    };\n  }\n\n  // Optimize `isFunction` if appropriate. Work around some typeof bugs in old v8,\n  // IE 11 (#1621), and in Safari 8 (#1929).\n  if (typeof /./ != 'function' && typeof Int8Array != 'object') {\n    _.isFunction = function(obj) {\n      return typeof obj == 'function' || false;\n    };\n  }\n\n  // Is a given object a finite number?\n  _.isFinite = function(obj) {\n    return isFinite(obj) && !isNaN(parseFloat(obj));\n  };\n\n  // Is the given value `NaN`? (NaN is the only number which does not equal itself).\n  _.isNaN = function(obj) {\n    return _.isNumber(obj) && obj !== +obj;\n  };\n\n  // Is a given value a boolean?\n  _.isBoolean = function(obj) {\n    return obj === true || obj === false || toString.call(obj) === '[object Boolean]';\n  };\n\n  // Is a given value equal to null?\n  _.isNull = function(obj) {\n    return obj === null;\n  };\n\n  // Is a given variable undefined?\n  _.isUndefined = function(obj) {\n    return obj === void 0;\n  };\n\n  // Shortcut function for checking if an object has a given property directly\n  // on itself (in other words, not on a prototype).\n  _.has = function(obj, key) {\n    return obj != null && hasOwnProperty.call(obj, key);\n  };\n\n  // Utility Functions\n  // -----------------\n\n  // Run Underscore.js in *noConflict* mode, returning the `_` variable to its\n  // previous owner. Returns a reference to the Underscore object.\n  _.noConflict = function() {\n    root._ = previousUnderscore;\n    return this;\n  };\n\n  // Keep the identity function around for default iteratees.\n  _.identity = function(value) {\n    return value;\n  };\n\n  // Predicate-generating functions. Often useful outside of Underscore.\n  _.constant = function(value) {\n    return function() {\n      return value;\n    };\n  };\n\n  _.noop = function(){};\n\n  _.property = property;\n\n  // Generates a function for a given object that returns a given property.\n  _.propertyOf = function(obj) {\n    return obj == null ? function(){} : function(key) {\n      return obj[key];\n    };\n  };\n\n  // Returns a predicate for checking whether an object has a given set of\n  // `key:value` pairs.\n  _.matcher = _.matches = function(attrs) {\n    attrs = _.extendOwn({}, attrs);\n    return function(obj) {\n      return _.isMatch(obj, attrs);\n    };\n  };\n\n  // Run a function **n** times.\n  _.times = function(n, iteratee, context) {\n    var accum = Array(Math.max(0, n));\n    iteratee = optimizeCb(iteratee, context, 1);\n    for (var i = 0; i < n; i++) accum[i] = iteratee(i);\n    return accum;\n  };\n\n  // Return a random integer between min and max (inclusive).\n  _.random = function(min, max) {\n    if (max == null) {\n      max = min;\n      min = 0;\n    }\n    return min + Math.floor(Math.random() * (max - min + 1));\n  };\n\n  // A (possibly faster) way to get the current timestamp as an integer.\n  _.now = Date.now || function() {\n    return new Date().getTime();\n  };\n\n   // List of HTML entities for escaping.\n  var escapeMap = {\n    '&': '&amp;',\n    '<': '&lt;',\n    '>': '&gt;',\n    '\"': '&quot;',\n    \"'\": '&#x27;',\n    '`': '&#x60;'\n  };\n  var unescapeMap = _.invert(escapeMap);\n\n  // Functions for escaping and unescaping strings to/from HTML interpolation.\n  var createEscaper = function(map) {\n    var escaper = function(match) {\n      return map[match];\n    };\n    // Regexes for identifying a key that needs to be escaped\n    var source = '(?:' + _.keys(map).join('|') + ')';\n    var testRegexp = RegExp(source);\n    var replaceRegexp = RegExp(source, 'g');\n    return function(string) {\n      string = string == null ? '' : '' + string;\n      return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;\n    };\n  };\n  _.escape = createEscaper(escapeMap);\n  _.unescape = createEscaper(unescapeMap);\n\n  // If the value of the named `property` is a function then invoke it with the\n  // `object` as context; otherwise, return it.\n  _.result = function(object, property, fallback) {\n    var value = object == null ? void 0 : object[property];\n    if (value === void 0) {\n      value = fallback;\n    }\n    return _.isFunction(value) ? value.call(object) : value;\n  };\n\n  // Generate a unique integer id (unique within the entire client session).\n  // Useful for temporary DOM ids.\n  var idCounter = 0;\n  _.uniqueId = function(prefix) {\n    var id = ++idCounter + '';\n    return prefix ? prefix + id : id;\n  };\n\n  // By default, Underscore uses ERB-style template delimiters, change the\n  // following template settings to use alternative delimiters.\n  _.templateSettings = {\n    evaluate    : /<%([\\s\\S]+?)%>/g,\n    interpolate : /<%=([\\s\\S]+?)%>/g,\n    escape      : /<%-([\\s\\S]+?)%>/g\n  };\n\n  // When customizing `templateSettings`, if you don't want to define an\n  // interpolation, evaluation or escaping regex, we need one that is\n  // guaranteed not to match.\n  var noMatch = /(.)^/;\n\n  // Certain characters need to be escaped so that they can be put into a\n  // string literal.\n  var escapes = {\n    \"'\":      \"'\",\n    '\\\\':     '\\\\',\n    '\\r':     'r',\n    '\\n':     'n',\n    '\\u2028': 'u2028',\n    '\\u2029': 'u2029'\n  };\n\n  var escaper = /\\\\|'|\\r|\\n|\\u2028|\\u2029/g;\n\n  var escapeChar = function(match) {\n    return '\\\\' + escapes[match];\n  };\n\n  // JavaScript micro-templating, similar to John Resig's implementation.\n  // Underscore templating handles arbitrary delimiters, preserves whitespace,\n  // and correctly escapes quotes within interpolated code.\n  // NB: `oldSettings` only exists for backwards compatibility.\n  _.template = function(text, settings, oldSettings) {\n    if (!settings && oldSettings) settings = oldSettings;\n    settings = _.defaults({}, settings, _.templateSettings);\n\n    // Combine delimiters into one regular expression via alternation.\n    var matcher = RegExp([\n      (settings.escape || noMatch).source,\n      (settings.interpolate || noMatch).source,\n      (settings.evaluate || noMatch).source\n    ].join('|') + '|$', 'g');\n\n    // Compile the template source, escaping string literals appropriately.\n    var index = 0;\n    var source = \"__p+='\";\n    text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {\n      source += text.slice(index, offset).replace(escaper, escapeChar);\n      index = offset + match.length;\n\n      if (escape) {\n        source += \"'+\\n((__t=(\" + escape + \"))==null?'':_.escape(__t))+\\n'\";\n      } else if (interpolate) {\n        source += \"'+\\n((__t=(\" + interpolate + \"))==null?'':__t)+\\n'\";\n      } else if (evaluate) {\n        source += \"';\\n\" + evaluate + \"\\n__p+='\";\n      }\n\n      // Adobe VMs need the match returned to produce the correct offest.\n      return match;\n    });\n    source += \"';\\n\";\n\n    // If a variable is not specified, place data values in local scope.\n    if (!settings.variable) source = 'with(obj||{}){\\n' + source + '}\\n';\n\n    source = \"var __t,__p='',__j=Array.prototype.join,\" +\n      \"print=function(){__p+=__j.call(arguments,'');};\\n\" +\n      source + 'return __p;\\n';\n\n    try {\n      var render = new Function(settings.variable || 'obj', '_', source);\n    } catch (e) {\n      e.source = source;\n      throw e;\n    }\n\n    var template = function(data) {\n      return render.call(this, data, _);\n    };\n\n    // Provide the compiled source as a convenience for precompilation.\n    var argument = settings.variable || 'obj';\n    template.source = 'function(' + argument + '){\\n' + source + '}';\n\n    return template;\n  };\n\n  // Add a \"chain\" function. Start chaining a wrapped Underscore object.\n  _.chain = function(obj) {\n    var instance = _(obj);\n    instance._chain = true;\n    return instance;\n  };\n\n  // OOP\n  // ---------------\n  // If Underscore is called as a function, it returns a wrapped object that\n  // can be used OO-style. This wrapper holds altered versions of all the\n  // underscore functions. Wrapped objects may be chained.\n\n  // Helper function to continue chaining intermediate results.\n  var result = function(instance, obj) {\n    return instance._chain ? _(obj).chain() : obj;\n  };\n\n  // Add your own custom functions to the Underscore object.\n  _.mixin = function(obj) {\n    _.each(_.functions(obj), function(name) {\n      var func = _[name] = obj[name];\n      _.prototype[name] = function() {\n        var args = [this._wrapped];\n        push.apply(args, arguments);\n        return result(this, func.apply(_, args));\n      };\n    });\n  };\n\n  // Add all of the Underscore functions to the wrapper object.\n  _.mixin(_);\n\n  // Add all mutator Array functions to the wrapper.\n  _.each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {\n    var method = ArrayProto[name];\n    _.prototype[name] = function() {\n      var obj = this._wrapped;\n      method.apply(obj, arguments);\n      if ((name === 'shift' || name === 'splice') && obj.length === 0) delete obj[0];\n      return result(this, obj);\n    };\n  });\n\n  // Add all accessor Array functions to the wrapper.\n  _.each(['concat', 'join', 'slice'], function(name) {\n    var method = ArrayProto[name];\n    _.prototype[name] = function() {\n      return result(this, method.apply(this._wrapped, arguments));\n    };\n  });\n\n  // Extracts the result from a wrapped and chained object.\n  _.prototype.value = function() {\n    return this._wrapped;\n  };\n\n  // Provide unwrapping proxy for some methods used in engine operations\n  // such as arithmetic and JSON stringification.\n  _.prototype.valueOf = _.prototype.toJSON = _.prototype.value;\n\n  _.prototype.toString = function() {\n    return '' + this._wrapped;\n  };\n\n  // AMD registration happens at the end for compatibility with AMD loaders\n  // that may not enforce next-turn semantics on modules. Even though general\n  // practice for AMD registration is to be anonymous, underscore registers\n  // as a named module because, like jQuery, it is a base library that is\n  // popular enough to be bundled in a third party lib, but not be part of\n  // an AMD load request. Those cases could generate an error when an\n  // anonymous define() is called outside of a loader request.\n  if (typeof define === 'function' && define.amd) {\n    define('underscore', [], function() {\n      return _;\n    });\n  }\n}.call(this));\n\n},{}],26:[function(require,module,exports){\narguments[4][19][0].apply(exports,arguments)\n},{\"dup\":19}],27:[function(require,module,exports){\nmodule.exports = function isBuffer(arg) {\n  return arg && typeof arg === 'object'\n    && typeof arg.copy === 'function'\n    && typeof arg.fill === 'function'\n    && typeof arg.readUInt8 === 'function';\n}\n},{}],28:[function(require,module,exports){\n(function (process,global){\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n  if (!isString(f)) {\n    var objects = [];\n    for (var i = 0; i < arguments.length; i++) {\n      objects.push(inspect(arguments[i]));\n    }\n    return objects.join(' ');\n  }\n\n  var i = 1;\n  var args = arguments;\n  var len = args.length;\n  var str = String(f).replace(formatRegExp, function(x) {\n    if (x === '%%') return '%';\n    if (i >= len) return x;\n    switch (x) {\n      case '%s': return String(args[i++]);\n      case '%d': return Number(args[i++]);\n      case '%j':\n        try {\n          return JSON.stringify(args[i++]);\n        } catch (_) {\n          return '[Circular]';\n        }\n      default:\n        return x;\n    }\n  });\n  for (var x = args[i]; i < len; x = args[++i]) {\n    if (isNull(x) || !isObject(x)) {\n      str += ' ' + x;\n    } else {\n      str += ' ' + inspect(x);\n    }\n  }\n  return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n  // Allow for deprecating things in the process of starting up.\n  if (isUndefined(global.process)) {\n    return function() {\n      return exports.deprecate(fn, msg).apply(this, arguments);\n    };\n  }\n\n  if (process.noDeprecation === true) {\n    return fn;\n  }\n\n  var warned = false;\n  function deprecated() {\n    if (!warned) {\n      if (process.throwDeprecation) {\n        throw new Error(msg);\n      } else if (process.traceDeprecation) {\n        console.trace(msg);\n      } else {\n        console.error(msg);\n      }\n      warned = true;\n    }\n    return fn.apply(this, arguments);\n  }\n\n  return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n  if (isUndefined(debugEnviron))\n    debugEnviron = process.env.NODE_DEBUG || '';\n  set = set.toUpperCase();\n  if (!debugs[set]) {\n    if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n      var pid = process.pid;\n      debugs[set] = function() {\n        var msg = exports.format.apply(exports, arguments);\n        console.error('%s %d: %s', set, pid, msg);\n      };\n    } else {\n      debugs[set] = function() {};\n    }\n  }\n  return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n  // default options\n  var ctx = {\n    seen: [],\n    stylize: stylizeNoColor\n  };\n  // legacy...\n  if (arguments.length >= 3) ctx.depth = arguments[2];\n  if (arguments.length >= 4) ctx.colors = arguments[3];\n  if (isBoolean(opts)) {\n    // legacy...\n    ctx.showHidden = opts;\n  } else if (opts) {\n    // got an \"options\" object\n    exports._extend(ctx, opts);\n  }\n  // set default options\n  if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n  if (isUndefined(ctx.depth)) ctx.depth = 2;\n  if (isUndefined(ctx.colors)) ctx.colors = false;\n  if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n  if (ctx.colors) ctx.stylize = stylizeWithColor;\n  return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n  'bold' : [1, 22],\n  'italic' : [3, 23],\n  'underline' : [4, 24],\n  'inverse' : [7, 27],\n  'white' : [37, 39],\n  'grey' : [90, 39],\n  'black' : [30, 39],\n  'blue' : [34, 39],\n  'cyan' : [36, 39],\n  'green' : [32, 39],\n  'magenta' : [35, 39],\n  'red' : [31, 39],\n  'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n  'special': 'cyan',\n  'number': 'yellow',\n  'boolean': 'yellow',\n  'undefined': 'grey',\n  'null': 'bold',\n  'string': 'green',\n  'date': 'magenta',\n  // \"name\": intentionally not styling\n  'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n  var style = inspect.styles[styleType];\n\n  if (style) {\n    return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n           '\\u001b[' + inspect.colors[style][1] + 'm';\n  } else {\n    return str;\n  }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n  return str;\n}\n\n\nfunction arrayToHash(array) {\n  var hash = {};\n\n  array.forEach(function(val, idx) {\n    hash[val] = true;\n  });\n\n  return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n  // Provide a hook for user-specified inspect functions.\n  // Check that value is an object with an inspect function on it\n  if (ctx.customInspect &&\n      value &&\n      isFunction(value.inspect) &&\n      // Filter out the util module, it's inspect function is special\n      value.inspect !== exports.inspect &&\n      // Also filter out any prototype objects using the circular check.\n      !(value.constructor && value.constructor.prototype === value)) {\n    var ret = value.inspect(recurseTimes, ctx);\n    if (!isString(ret)) {\n      ret = formatValue(ctx, ret, recurseTimes);\n    }\n    return ret;\n  }\n\n  // Primitive types cannot have properties\n  var primitive = formatPrimitive(ctx, value);\n  if (primitive) {\n    return primitive;\n  }\n\n  // Look up the keys of the object.\n  var keys = Object.keys(value);\n  var visibleKeys = arrayToHash(keys);\n\n  if (ctx.showHidden) {\n    keys = Object.getOwnPropertyNames(value);\n  }\n\n  // IE doesn't make error fields non-enumerable\n  // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n  if (isError(value)\n      && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n    return formatError(value);\n  }\n\n  // Some type of object without properties can be shortcutted.\n  if (keys.length === 0) {\n    if (isFunction(value)) {\n      var name = value.name ? ': ' + value.name : '';\n      return ctx.stylize('[Function' + name + ']', 'special');\n    }\n    if (isRegExp(value)) {\n      return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n    }\n    if (isDate(value)) {\n      return ctx.stylize(Date.prototype.toString.call(value), 'date');\n    }\n    if (isError(value)) {\n      return formatError(value);\n    }\n  }\n\n  var base = '', array = false, braces = ['{', '}'];\n\n  // Make Array say that they are Array\n  if (isArray(value)) {\n    array = true;\n    braces = ['[', ']'];\n  }\n\n  // Make functions say that they are functions\n  if (isFunction(value)) {\n    var n = value.name ? ': ' + value.name : '';\n    base = ' [Function' + n + ']';\n  }\n\n  // Make RegExps say that they are RegExps\n  if (isRegExp(value)) {\n    base = ' ' + RegExp.prototype.toString.call(value);\n  }\n\n  // Make dates with properties first say the date\n  if (isDate(value)) {\n    base = ' ' + Date.prototype.toUTCString.call(value);\n  }\n\n  // Make error with message first say the error\n  if (isError(value)) {\n    base = ' ' + formatError(value);\n  }\n\n  if (keys.length === 0 && (!array || value.length == 0)) {\n    return braces[0] + base + braces[1];\n  }\n\n  if (recurseTimes < 0) {\n    if (isRegExp(value)) {\n      return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n    } else {\n      return ctx.stylize('[Object]', 'special');\n    }\n  }\n\n  ctx.seen.push(value);\n\n  var output;\n  if (array) {\n    output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n  } else {\n    output = keys.map(function(key) {\n      return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n    });\n  }\n\n  ctx.seen.pop();\n\n  return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n  if (isUndefined(value))\n    return ctx.stylize('undefined', 'undefined');\n  if (isString(value)) {\n    var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n                                             .replace(/'/g, \"\\\\'\")\n                                             .replace(/\\\\\"/g, '\"') + '\\'';\n    return ctx.stylize(simple, 'string');\n  }\n  if (isNumber(value))\n    return ctx.stylize('' + value, 'number');\n  if (isBoolean(value))\n    return ctx.stylize('' + value, 'boolean');\n  // For some reason typeof null is \"object\", so special case here.\n  if (isNull(value))\n    return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n  return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n  var output = [];\n  for (var i = 0, l = value.length; i < l; ++i) {\n    if (hasOwnProperty(value, String(i))) {\n      output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n          String(i), true));\n    } else {\n      output.push('');\n    }\n  }\n  keys.forEach(function(key) {\n    if (!key.match(/^\\d+$/)) {\n      output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n          key, true));\n    }\n  });\n  return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n  var name, str, desc;\n  desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n  if (desc.get) {\n    if (desc.set) {\n      str = ctx.stylize('[Getter/Setter]', 'special');\n    } else {\n      str = ctx.stylize('[Getter]', 'special');\n    }\n  } else {\n    if (desc.set) {\n      str = ctx.stylize('[Setter]', 'special');\n    }\n  }\n  if (!hasOwnProperty(visibleKeys, key)) {\n    name = '[' + key + ']';\n  }\n  if (!str) {\n    if (ctx.seen.indexOf(desc.value) < 0) {\n      if (isNull(recurseTimes)) {\n        str = formatValue(ctx, desc.value, null);\n      } else {\n        str = formatValue(ctx, desc.value, recurseTimes - 1);\n      }\n      if (str.indexOf('\\n') > -1) {\n        if (array) {\n          str = str.split('\\n').map(function(line) {\n            return '  ' + line;\n          }).join('\\n').substr(2);\n        } else {\n          str = '\\n' + str.split('\\n').map(function(line) {\n            return '   ' + line;\n          }).join('\\n');\n        }\n      }\n    } else {\n      str = ctx.stylize('[Circular]', 'special');\n    }\n  }\n  if (isUndefined(name)) {\n    if (array && key.match(/^\\d+$/)) {\n      return str;\n    }\n    name = JSON.stringify('' + key);\n    if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n      name = name.substr(1, name.length - 2);\n      name = ctx.stylize(name, 'name');\n    } else {\n      name = name.replace(/'/g, \"\\\\'\")\n                 .replace(/\\\\\"/g, '\"')\n                 .replace(/(^\"|\"$)/g, \"'\");\n      name = ctx.stylize(name, 'string');\n    }\n  }\n\n  return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n  var numLinesEst = 0;\n  var length = output.reduce(function(prev, cur) {\n    numLinesEst++;\n    if (cur.indexOf('\\n') >= 0) numLinesEst++;\n    return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n  }, 0);\n\n  if (length > 60) {\n    return braces[0] +\n           (base === '' ? '' : base + '\\n ') +\n           ' ' +\n           output.join(',\\n  ') +\n           ' ' +\n           braces[1];\n  }\n\n  return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n  return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n  return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n  return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n  return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n  return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n  return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n  return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n  return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n  return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n  return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n  return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n  return isObject(e) &&\n      (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n  return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n  return arg === null ||\n         typeof arg === 'boolean' ||\n         typeof arg === 'number' ||\n         typeof arg === 'string' ||\n         typeof arg === 'symbol' ||  // ES6 symbol\n         typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n  return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n  return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n              'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n  var d = new Date();\n  var time = [pad(d.getHours()),\n              pad(d.getMinutes()),\n              pad(d.getSeconds())].join(':');\n  return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n  console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n *     prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n  // Don't do anything if add isn't an object\n  if (!add || !isObject(add)) return origin;\n\n  var keys = Object.keys(add);\n  var i = keys.length;\n  while (i--) {\n    origin[keys[i]] = add[keys[i]];\n  }\n  return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n  return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\n}).call(this,require('_process'),typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{\"./support/isBuffer\":27,\"_process\":24,\"inherits\":26}],29:[function(require,module,exports){\n// Returns a wrapper function that returns a wrapped callback\n// The wrapper function should do some stuff, and return a\n// presumably different callback function.\n// This makes sure that own properties are retained, so that\n// decorations and such are not lost along the way.\nmodule.exports = wrappy\nfunction wrappy (fn, cb) {\n  if (fn && cb) return wrappy(fn)(cb)\n\n  if (typeof fn !== 'function')\n    throw new TypeError('need wrapper function')\n\n  Object.keys(fn).forEach(function (k) {\n    wrapper[k] = fn[k]\n  })\n\n  return wrapper\n\n  function wrapper() {\n    var args = new Array(arguments.length)\n    for (var i = 0; i < args.length; i++) {\n      args[i] = arguments[i]\n    }\n    var ret = fn.apply(this, args)\n    var cb = args[args.length-1]\n    if (typeof ret === 'function' && ret !== cb) {\n      Object.keys(cb).forEach(function (k) {\n        ret[k] = cb[k]\n      })\n    }\n    return ret\n  }\n}\n\n},{}]},{},[7])(7)\n});"
  },
  {
    "path": "help/batch-operations/index.html",
    "content": "\n<!doctype html>\n<html lang=\"en\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Create, edit and apply permission profiles to multiple Android apps with PMX — batch templates, default profiles and bulk permission management.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/batch-operations/\">\n      \n      \n        <link rel=\"prev\" href=\"../permission-view/\">\n      \n      \n        <link rel=\"next\" href=\"../whatsrunning-integration/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../de/batch-operations/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../es/batch-operations/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../fr/batch-operations/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../pt-BR/batch-operations/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../ru/batch-operations/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../ar/batch-operations/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../zh/batch-operations/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Batch Operations - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#permission-profiles\" class=\"md-skip\">\n          Skip to content\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Header\">\n    <a href=\"..\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Batch Operations\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Select language\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../de/batch-operations/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../es/batch-operations/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../fr/batch-operations/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../pt-BR/batch-operations/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../ru/batch-operations/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../ar/batch-operations/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../zh/batch-operations/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Search\" placeholder=\"Search\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Search\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Clear\" aria-label=\"Clear\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Initializing search\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"..\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"..\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    What is PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Manifest Permissions and AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission References\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    User interface explained\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Search\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Scheduled Check\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission Watcher\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission View\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Batch Operations\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Batch Operations\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Table of contents\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Table of contents\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#permission-profiles\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Permission Profiles\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#operations-with-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Operations with References\n      \n    </span>\n  </a>\n  \n    <nav class=\"md-nav\" aria-label=\"Operations with References\">\n      <ul class=\"md-nav__list\">\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#set-permissions\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Set Permissions\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#set-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Set References\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#cleanup-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Cleanup References\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#reset-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Reset References\n      \n    </span>\n  </a>\n  \n</li>\n        \n      </ul>\n    </nav>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integration with WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Using PMX with ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX Versions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Paid features\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX FAQs\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Screenshots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ratings / Reviews / Comments / Upvotes / Stars\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contact Us\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Apps\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Apps\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission Manager X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android FAQs\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android FAQs\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Frequently Asked Questions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB Guide\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB Guide\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Pair/connect the app to ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Batch Operations</h1>\n\n<h2 id=\"permission-profiles\">Permission Profiles<a class=\"headerlink\" href=\"#permission-profiles\" title=\"Permanent link\">&para;</a></h2>\n<ul>\n<li>Create and edit permission profiles (templates).</li>\n<li>Apply a profile to a selected list of apps.</li>\n<li>Select a <strong>Default Profile</strong> to apply on newly installed apps (if <a href=\"../permission-watcher/\">Permission Watcher</a> is enabled).</li>\n</ul>\n<p><img alt=\"Permission profiles\" class=\"media\" src=\"../img/perm_profiles.webp\" /></p>\n<p><a href=\"../faqs/#faq39\">Here</a> is an example video guide how to create and apply a profile.</p>\n<hr />\n<h2 id=\"operations-with-references\">Operations with References<a class=\"headerlink\" href=\"#operations-with-references\" title=\"Permanent link\">&para;</a></h2>\n<h3 id=\"set-permissions\">Set Permissions<a class=\"headerlink\" href=\"#set-permissions\" title=\"Permanent link\">&para;</a></h3>\n<p>Go through a list of selected apps and make <font color=\"#FF0000\">RED</font> permissions <font color=\"#90EE90\">GREEN</font> by setting their states according to the <a href=\"../permission-references/\">reference values</a>. Permissions with Green and Orange states are ignored.</p>\n<p>This option is usually helpful when you have just restored a backup and there are many permissions with <font color=\"#FF0000\">RED</font> state.</p>\n<h3 id=\"set-references\">Set References<a class=\"headerlink\" href=\"#set-references\" title=\"Permanent link\">&para;</a></h3>\n<p>Go through a list of selected apps and make <font color=\"#FF0000\">RED</font> and <font color=\"#FFC107\">ORANGE</font> permissions <font color=\"#90EE90\">GREEN</font> by setting their <a href=\"../permission-references/\">reference values</a> according to the permission states.</p>\n<p>This option is usually helpful during an initial setup. You have just installed the PMX app and spent a few hours setting permissions. This option will make them all <font color=\"#90EE90\">GREEN</font> in a single tap.</p>\n<h3 id=\"cleanup-references\">Cleanup References<a class=\"headerlink\" href=\"#cleanup-references\" title=\"Permanent link\">&para;</a></h3>\n<p>Cleanup permissions references database. Unused references will be removed.</p>\n<p>If there's a huge list of unused references, a cleanup may improve loading of app list.</p>\n<h3 id=\"reset-references\">Reset References<a class=\"headerlink\" href=\"#reset-references\" title=\"Permanent link\">&para;</a></h3>\n<p>Reset permissions references database. All references will be removed.</p>\n<p>Not meant to be used normally. But in case if you want to start from scratch.</p>\n<p><img alt=\"Set references - batch operation\" class=\"media\" src=\"../img/set_refs.webp\" /></p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Back to top\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Footer\" >\n        \n          \n          <a href=\"../permission-view/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Previous: Permission View\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Previous\n              </span>\n              <div class=\"md-ellipsis\">\n                Permission View\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../whatsrunning-integration/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Next: Integration with WhatsRunning\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Next\n              </span>\n              <div class=\"md-ellipsis\">\n                Integration with WhatsRunning\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copied to clipboard\", \"clipboard.copy\": \"Copy to clipboard\", \"search.result.more.one\": \"1 more on this page\", \"search.result.more.other\": \"# more on this page\", \"search.result.none\": \"No matching documents\", \"search.result.one\": \"1 matching document\", \"search.result.other\": \"# matching documents\", \"search.result.placeholder\": \"Type to start searching\", \"search.result.term.missing\": \"Missing\", \"select.version\": \"Select version\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/css/extra.css",
    "content": "img.media,\nvideo.media {\n    max-height: 90vh;\n    object-fit: contain;\n    border-radius: 10px;\n    margin: 5px;\n    box-shadow: 0 2px 10px 0 grey;\n}\n\n@media (min-width: 768px) and (orientation: landscape) {\n\n    img.media,\n    video.media {\n        max-width: min(35vw, 400px);\n    }\n}\n\n@media (max-width: 767px) and (orientation: landscape) {\n\n    img.media,\n    video.media {\n        max-width: 45vw;\n    }\n}\n\n@media (orientation: portrait) {\n\n    img.media,\n    video.media {\n        max-width: min(90vw, 400px);\n    }\n}\n\n.dim-text {\n  opacity: 0.7;\n}\n\n\n:root  > * {\n    --md-primary-fg-color: #007F7F;\n}\n"
  },
  {
    "path": "help/de/batch-operations/index.html",
    "content": "\n<!doctype html>\n<html lang=\"de\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Erstellen, bearbeiten und wenden Sie Berechtigungsprofile für mehrere Android-Apps mit PMX — Batch-Vorlagen, Standardprofile und Massenberechtigungsverwaltung.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/batch-operations/\">\n      \n      \n        <link rel=\"prev\" href=\"../permission-view/\">\n      \n      \n        <link rel=\"next\" href=\"../whatsrunning-integration/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../batch-operations/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/batch-operations/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/batch-operations/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/batch-operations/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/batch-operations/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/batch-operations/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/batch-operations/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Batch-Operationen - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#permission-profiles\" class=\"md-skip\">\n          Zum Inhalt\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Kopfzeile\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Batch-Operationen\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Sprache wechseln\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../batch-operations/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/batch-operations/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/batch-operations/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/batch-operations/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/batch-operations/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/batch-operations/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/batch-operations/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Suche\" placeholder=\"Suche\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Suche\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Zurücksetzen\" aria-label=\"Zurücksetzen\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Suche wird initialisiert\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Was ist PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungen und AppOps verwalten\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungsreferenzen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Benutzeroberfläche erklärt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Suchen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Geplante Prüfung\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungs-Beobachter\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungsansicht\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Batch-Operationen\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Batch-Operationen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Inhaltsverzeichnis\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Inhaltsverzeichnis\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#permission-profiles\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Berechtigungsprofile\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#operations-with-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Operationen mit Referenzen\n      \n    </span>\n  </a>\n  \n    <nav class=\"md-nav\" aria-label=\"Operationen mit Referenzen\">\n      <ul class=\"md-nav__list\">\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#set-permissions\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Berechtigungen festlegen\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#set-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Referenzen festlegen\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#cleanup-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Referenzen bereinigen\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#reset-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Referenzen zurücksetzen\n      \n    </span>\n  </a>\n  \n</li>\n        \n      </ul>\n    </nav>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integration mit WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Verwendung von PMX mit ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX-Versionen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/de/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Bezahlte Funktionen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX-FAQ\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Screenshots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/de/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Bewertungen / Bewertungen / Kommentare / Upvotes / Sterne\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Kontaktiere uns\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Apps\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Apps\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungs-Manager X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android-FAQs\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android-FAQs\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Häufig gestellte Fragen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB-Anleitung\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB-Anleitung\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Die App mit ADB verbinden\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Batch-Operationen</h1>\n\n<h2 id=\"permission-profiles\">Berechtigungsprofile<a class=\"headerlink\" href=\"#permission-profiles\" title=\"Permanent link\">&para;</a></h2>\n<ul>\n<li>Berechtigungsprofile erstellen und bearbeiten (Vorlagen).</li>\n<li>Wenden Sie ein Profil auf eine ausgewählte App-Liste.</li>\n<li>Wähle ein <strong>Standardprofil</strong> aus, das für neu installierte Apps angewendet werden soll (wenn <a href=\"../permission-watcher/\">Berechtigungsüberwachung</a> aktiviert ist).</li>\n</ul>\n<p><img alt=\"Berechtigungsprofile\" class=\"media\" src=\"../../img/perm_profiles.webp\" /></p>\n<p><a href=\"../faqs/#faq39\">Here</a> ist eine Beispiel-Video-Anleitung, wie man ein Profil erstellt und anwendet.</p>\n<hr />\n<h2 id=\"operations-with-references\">Operationen mit Referenzen<a class=\"headerlink\" href=\"#operations-with-references\" title=\"Permanent link\">&para;</a></h2>\n<h3 id=\"set-permissions\">Berechtigungen festlegen<a class=\"headerlink\" href=\"#set-permissions\" title=\"Permanent link\">&para;</a></h3>\n<p>Gehe durch eine Liste ausgewählter Apps und erstelle <font color=\"#FF0000\">RED</font> Berechtigungen <font color=\"#90EE90\">GREEN</font>, indem du ihre Zustände gemäß den <a href=\"../permission-references/\">Referenzwerten</a> festlegst. Berechtigungen mit grünen und orangenen Staaten werden ignoriert.</p>\n<p>Diese Option ist normalerweise hilfreich, wenn Sie gerade ein Backup wiederhergestellt haben und es viele Berechtigungen mit dem <font color=\"#FF0000\">RED</font> Status gibt.</p>\n<h3 id=\"set-references\">Referenzen festlegen<a class=\"headerlink\" href=\"#set-references\" title=\"Permanent link\">&para;</a></h3>\n<p>Gehen Sie durch eine Liste ausgewählter Apps und erstellen Sie <font color=\"#FF0000\">RED</font> und <font color=\"#FFC107\">ORANGE</font> Berechtigungen <font color=\"#90EE90\">GREEN</font> durch Setzen ihrer <a href=\"../permission-references/\">Referenzwerte</a> gemäß den Berechtigungszuständen.</p>\n<p>Diese Option ist in der Regel während einer anfänglichen Einrichtung hilfreich. Sie haben gerade die PMX App installiert und einige Stunden lang die Berechtigungen für die Einstellung verwendet. Diese Option macht sie alle <font color=\"#90EE90\">GREEN</font> mit einem einzigen Tippen.</p>\n<h3 id=\"cleanup-references\">Referenzen bereinigen<a class=\"headerlink\" href=\"#cleanup-references\" title=\"Permanent link\">&para;</a></h3>\n<p>Berechtigungsreferenzen-Datenbank bereinigen. Nicht verwendete Referenzen werden entfernt.</p>\n<p>Wenn es eine riesige Liste von unbenutzten Referenzen gibt, kann eine Bereinigung das Laden der App-Liste verbessern.</p>\n<h3 id=\"reset-references\">Referenzen zurücksetzen<a class=\"headerlink\" href=\"#reset-references\" title=\"Permanent link\">&para;</a></h3>\n<p>Berechtigungsreferenzen-Datenbank zurücksetzen. Alle Referenzen werden entfernt.</p>\n<p>Nicht dazu gedacht, normal verwendet zu werden. Aber wenn Sie bei Null anfangen wollen.</p>\n<p><img alt=\"Verweise setzen - Batch Operation\" class=\"media\" src=\"../../img/set_refs.webp\" /></p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Zurück zum Seitenanfang\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Fußzeile\" >\n        \n          \n          <a href=\"../permission-view/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Zurück: Berechtigungsansicht\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Zurück\n              </span>\n              <div class=\"md-ellipsis\">\n                Berechtigungsansicht\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../whatsrunning-integration/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Weiter: Integration mit WhatsRunning\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Weiter\n              </span>\n              <div class=\"md-ellipsis\">\n                Integration mit WhatsRunning\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"In Zwischenablage kopiert\", \"clipboard.copy\": \"In Zwischenablage kopieren\", \"search.result.more.one\": \"1 weiteres Suchergebnis auf dieser Seite\", \"search.result.more.other\": \"# weitere Suchergebnisse auf dieser Seite\", \"search.result.none\": \"Keine Suchergebnisse\", \"search.result.one\": \"1 Suchergebnis\", \"search.result.other\": \"# Suchergebnisse\", \"search.result.placeholder\": \"Suchbegriff eingeben\", \"search.result.term.missing\": \"Es fehlt\", \"select.version\": \"Version ausw\\u00e4hlen\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/de/details/index.html",
    "content": "\n<!doctype html>\n<html lang=\"de\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"App-spezifische Berechtigungen in PMXansehen und verwalten: App-Details, Berechtigungslisten, Freigabe-/Widerrufsbelehr-Steuerelemente und UID-Modus-Informationen für Android-Apps.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/details/\">\n      \n      \n        <link rel=\"prev\" href=\"../permission-references/\">\n      \n      \n        <link rel=\"next\" href=\"../search/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../details/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/details/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/details/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/details/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/details/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/details/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/details/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Benutzeroberfläche erklärt - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#apps-list\" class=\"md-skip\">\n          Zum Inhalt\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Kopfzeile\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Benutzeroberfläche erklärt\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Sprache wechseln\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../details/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/details/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/details/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/details/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/details/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/details/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/details/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Suche\" placeholder=\"Suche\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Suche\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Zurücksetzen\" aria-label=\"Zurücksetzen\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Suche wird initialisiert\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Was ist PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungen und AppOps verwalten\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungsreferenzen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Benutzeroberfläche erklärt\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Benutzeroberfläche erklärt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Inhaltsverzeichnis\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Inhaltsverzeichnis\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#apps-list\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        App-Liste\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#permissions-list\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Berechtigungsliste\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Suchen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Geplante Prüfung\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungs-Beobachter\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungsansicht\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Batch-Operationen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integration mit WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Verwendung von PMX mit ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX-Versionen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/de/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Bezahlte Funktionen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX-FAQ\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Screenshots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/de/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Bewertungen / Bewertungen / Kommentare / Upvotes / Sterne\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Kontaktiere uns\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Apps\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Apps\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungs-Manager X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android-FAQs\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android-FAQs\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Häufig gestellte Fragen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB-Anleitung\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB-Anleitung\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Die App mit ADB verbinden\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Benutzeroberfläche erklärt</h1>\n\n<h2 id=\"apps-list\">App-Liste<a class=\"headerlink\" href=\"#apps-list\" title=\"Permanent link\">&para;</a></h2>\n<p><img alt=\"App-Liste Artikeldetails\" class=\"media\" src=\"../../img/pkg.webp\" /></p>\n<ol>\n<li>\n<p>Farbiger Streifen links zeigt <strong>Referenzzustand</strong></p>\n</li>\n<li>\n<p>App <strong>Symbol</strong></p>\n</li>\n<li>\n<p>Erste Zeile zeigt Paket <strong>label</strong></p>\n</li>\n<li>\n<p>Zweite Zeile zeigt Paket <strong>name</strong> und</p>\n</li>\n<li>\n<p><strong>UID</strong></p>\n</li>\n<li>\n<p>Dritte Zeile (optional) zeigt den Paketzustand: <strong>Kritisch</strong> (Framework), <strong>Framework</strong> oder <strong>System</strong> App. Auch wenn die App <strong>Deaktiviert</strong> ist. Es wird kein Status für <strong>Aktiviert</strong>, <strong>Benutzer</strong> Apps angezeigt.</p>\n</li>\n<li>\n<p>Die letzte Zeile zeigt die Anzahl der sichtbaren von insgesamt manifest Berechtigungen und</p>\n</li>\n<li>\n<p>AppOps Berechtigungen.</p>\n<p>Unsichtbare Berechtigungen sind in <em>Ausschließungsfiltern</em>.</p>\n</li>\n<li>\n<p>Wenn nach Installations- oder Updatezeit sortiert wird, zeigt die letzte Zeile auch Datum oder Uhrzeit auf der rechten Seite.</p>\n</li>\n</ol>\n<h2 id=\"permissions-list\">Berechtigungsliste<a class=\"headerlink\" href=\"#permissions-list\" title=\"Permanent link\">&para;</a></h2>\n<p><img alt=\"Berechtigungsliste Artikeldetails\" class=\"media\" src=\"../../img/perm.webp\" /></p>\n<p><img alt=\"Berechtigungsliste Artikeldetails\" class=\"media\" src=\"../../img/perm2.webp\" /></p>\n<ol>\n<li>Farbiger Streifen links zeigt <strong>Referenzzustand</strong></li>\n<li>Manifest Berechtigungen zeigen ein Flag in der oberen rechten Ecke</li>\n<li>Erlaubnis <strong>Symbol</strong></li>\n<li>Die erste Zeile zeigt <strong>Berechtigungsname</strong></li>\n<li>Die zweite Zeile zeigt Berechtigungs <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">Schutzlevel</a>: <strong>Normal</strong>, <strong>Gefährlich</strong>, <strong>Signatur</strong>, <strong>Entwicklung</strong>, <strong>Privilegiert</strong>, <strong>Festigt</strong>, <strong>AppOps</strong> oder <strong>Unbekannt</strong>. Auch wenn AppOp <strong>pro Paket</strong> oder <strong>pro UID</strong> ist. Und wenn es ein <strong>Extra</strong> AppOp ist (nie in den Filtereinstellungen ausgeschlossen).</li>\n<li>Dritte Zeile (im Falle von AppOp) zeigt <strong>letzte Zugriffszeit oder Ablehnungszeit</strong></li>\n<li>Vierte Zeile (im Falle von AppOp) zeigt den referenzierten Wert an, wenn er nicht mit dem aktuellen Wert übereinstimmt.</li>\n<li>Wechseln um den Berechtigungsstatus zu ändern</li>\n<li>Aktueller Status (im Fall von AppOp)</li>\n<li><strong>Standard</strong> zeigt an, dass der AppOp Status nie geändert wurde</li>\n</ol>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Zurück zum Seitenanfang\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Fußzeile\" >\n        \n          \n          <a href=\"../permission-references/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Zurück: Berechtigungsreferenzen\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Zurück\n              </span>\n              <div class=\"md-ellipsis\">\n                Berechtigungsreferenzen\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../search/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Weiter: Suchen\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Weiter\n              </span>\n              <div class=\"md-ellipsis\">\n                Suchen\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"In Zwischenablage kopiert\", \"clipboard.copy\": \"In Zwischenablage kopieren\", \"search.result.more.one\": \"1 weiteres Suchergebnis auf dieser Seite\", \"search.result.more.other\": \"# weitere Suchergebnisse auf dieser Seite\", \"search.result.none\": \"Keine Suchergebnisse\", \"search.result.one\": \"1 Suchergebnis\", \"search.result.other\": \"# Suchergebnisse\", \"search.result.placeholder\": \"Suchbegriff eingeben\", \"search.result.term.missing\": \"Es fehlt\", \"select.version\": \"Version ausw\\u00e4hlen\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/de/faqs/index.html",
    "content": "\n<!doctype html>\n<html lang=\"de\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Häufig gestellte Fragen zu PMX: Warum verwenden Sie PMX, AppOp/manifest Erklärungen, ADB Tipps und Fehlerbehebung für die Android Berechtigungskontrolle.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/faqs/\">\n      \n      \n        <link rel=\"prev\" href=\"../versions/\">\n      \n      \n      \n        \n          <link rel=\"alternate\" href=\"../../faqs/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/faqs/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/faqs/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/faqs/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/faqs/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/faqs/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/faqs/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>PMX-FAQ - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#faq36\" class=\"md-skip\">\n          Zum Inhalt\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Kopfzeile\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              PMX-FAQ\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Sprache wechseln\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../faqs/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/faqs/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/faqs/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/faqs/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/faqs/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/faqs/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/faqs/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Suche\" placeholder=\"Suche\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Suche\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Zurücksetzen\" aria-label=\"Zurücksetzen\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Suche wird initialisiert\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Was ist PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungen und AppOps verwalten\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungsreferenzen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Benutzeroberfläche erklärt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Suchen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Geplante Prüfung\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungs-Beobachter\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungsansicht\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Batch-Operationen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integration mit WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Verwendung von PMX mit ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX-Versionen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/de/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Bezahlte Funktionen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX-FAQ\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX-FAQ\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Inhaltsverzeichnis\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Inhaltsverzeichnis\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq36\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Warum muss ich PMX benutzen?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq1\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Warum PMX Root oder ADB Zugriff erfordert?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq33\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Mein Gerät ist nicht gerootet. Wie kann ich PMX verwenden?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq42\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Warum läuft PMX nicht richtig auf dem neuesten Android?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq43\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Warum funktioniert PMX nicht richtig auf OEM-Betriebssystemen oder benutzerdefiniertem ROMs?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq2\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Wie verändert PMX die Berechtigungen anderer Apps?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq34\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Bleiben die Berechtigungen geändert, nachdem ADB ausgeschaltet ist oder Root verweigert wird oder PMX deinstalliert wurde?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq15\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Warum kann ich die XYZ-Berechtigung nicht ändern?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq37\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Ich habe eine Berechtigung geändert, aber es funktioniert nicht. Warum?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq3\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Warum kann irgendein AppOps nicht geändert werden?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq6\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Warum sehe ich die XYZ-App nicht in der Paketliste?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq7\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Warum sehe ich keine XYZ-Berechtigung im ABC-Paket?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq8\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Warum sehe ich XYZ AppOp nicht im ABC-Paket?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq5\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Was sollte ich für die Privilegierte Daemon UID in den erweiterten Einstellungen auswählen? System oder ADB?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq9\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Was sind \"ungültige Berechtigungen\" in Ausschlussfiltern?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq10\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Was sind \"extra AppOps\" in Ausschließungsfiltern?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq11\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Was sind verschiedene AppOp Modi und welche sollte ich verwenden?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq12\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Was ist der Unterschied zwischen \"Ignorieren\" und \"Deny\" AppOp Modus?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq41\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Warum kann ich den AppOp Modus nicht in den Vordergrund stellen?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq14\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Was macht WAKE_LOCK Berechtigung?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq16\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Wie kann ich die INTERNET Berechtigung ändern?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq40\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Was sind feste Berechtigungen?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq17\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Wie kann ich System-Fixed Berechtigungen, Unterschriften/Privilegien oder die Berechtigungen von Framework-Apps ändern?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq18\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Was ist \"UID-Modus\" in AppOp Berechtigungen?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq39\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Kann ich die Android-Funktion \"Entfernen von Berechtigungen, wenn die App nicht verwendet wird\" von PMX kontrollieren?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq31\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Warum bekomme ich eine Menge \"Bad ROM\" Popups?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq19\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Was tun die \"Hide From List\"-Buttons (bei langem Drücken) ?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq21\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Gibt es eine vollständige Liste aller Berechtigungen mit Erklärung?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq22\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Wie verwende ich die App in Arbeitsprofil/Mehrbenutzerumgebung?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq24\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Wie vergleicht PMX mit XPrivacyLua? Können sie einander ersetzen?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq32\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Kann PMX automatisch Berechtigungen entfernen, wenn eine App geschlossen wird, wie Bouncer es tut?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq35\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Kann ich benachrichtigt werden, wenn eine neue App installiert ist?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq38\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Kann PMX standardmäßig auf die Berechtigungen verzichten, wenn eine neue App installiert ist?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq25\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Warum PMX erfordert INTERNET-Erlaubnis?\n      \n    </span>\n  </a>\n  \n    <nav class=\"md-nav\" aria-label=\"Warum PMX erfordert INTERNET-Erlaubnis?\">\n      <ul class=\"md-nav__list\">\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#optional-use-of-internet-permission\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Optionale Nutzung von android.permission.INTERNET Berechtigung\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#on-device-use-of-internet-permission\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Lokale (On-device) Nutzung von android.permission.INTERNET Berechtigung\n      \n    </span>\n  </a>\n  \n</li>\n        \n      </ul>\n    </nav>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq26\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Wie viel Datenschutzfreundlichkeit ist PMX? Erfassen Sie Benutzerdaten?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq27\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Spioniert mich PMX über das Netzwerk mit ADB aus?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq28\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Benutzt PMX die root-Privilegien, um meine Daten zu sammeln?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq29\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Ich denke, PMX ist nutzlos. Warum wurde sie geschaffen?\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Screenshots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/de/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Bewertungen / Bewertungen / Kommentare / Upvotes / Sterne\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Kontaktiere uns\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Apps\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Apps\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungs-Manager X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android-FAQs\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android-FAQs\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Häufig gestellte Fragen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB-Anleitung\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB-Anleitung\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Die App mit ADB verbinden\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>PMX-FAQ</h1>\n\n<h3 id=\"faq36\">Warum muss ich PMX benutzen?<a class=\"headerlink\" href=\"#faq36\" title=\"Permanent link\">&para;</a></h3>\n<p>Weil:</p>\n<ul>\n<li>PMX bietet alle verstreuten (oder anderweitig nicht verfügbaren) Berechtigungs-bezogenen <strong>Information</strong> und <strong>Steuerung</strong> auf einem einzigen Bildschirm, so dass Sie sie umfassend und bequem beobachten und steuern können.</li>\n<li>Es gibt kein offizielles Tool auf Lager Android um <strong>AppOps</strong> zu ändern. Nur eine Teilmenge von <strong>manifest Berechtigungen</strong> sind in den Berechtigungseinstellungen dem Benutzer ausgesetzt. PMX enthüllt alle Berechtigungen in Rohform. Verwandt: <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\">Manifest Berechtigungen und AppOps</a>.</li>\n<li>PMX macht es Ihnen einfach, alle <strong>unerwünschten</strong> Änderungen an den Berechtigungen im Auge zu behalten.</li>\n<li>Mit „ PMX ” kannst du die Kontrolle über dein Gerät übernehmen und so <strong>Geräteressourcen</strong> wie Akku und Netzwerkbandbreite sparen und <strong>deine Privatsphäre schützen</strong>. Sie sind nicht ganz der Gnade der App und der Entwickler von ROM ausgesetzt. Lies diese <a href=\"https://www.buzzfeednews.com/article/nicolenguyen/how-apps-take-your-data-and-sell-it-without-you-even\">article</a> um eine Idee zu bekommen.</li>\n<li>PMX kann Änderungen der Berechtigungen in Echtzeit überwachen und sie automatisch zurücksetzen, wenn Sie keine App mehr verwenden. Oder es kann <strong>geplante Scanner</strong> von Berechtigungen durchführen. Sie müssen sich also nicht an die Dinge erinnern.</li>\n<li>PMX macht es Ihnen einfach, die Berechtigungen <strong>zu sichern und wiederherzustellen</strong> der installierten Apps, so dass Sie nicht immer wieder die Berechtigungen einer App ändern müssen.</li>\n</ul>\n<p>Bitte lesen Sie auch <a href=\"../\">Was ist PMX</a>?</p>\n<hr />\n<h3 id=\"faq1\">Warum PMX Root oder ADB Zugriff erfordert?<a class=\"headerlink\" href=\"#faq1\" title=\"Permanent link\">&para;</a></h3>\n<p>Android beschränkt Apps absichtlich das Ändern von manifest oder AppOps Berechtigungen anderer Apps (und in vielen Fällen davon abgesehen, einige ihrer eigenen zu ändern). Diese Schutzmaßnahmen schützen die Privatsphäre der Benutzer und die Integrität des Systems.</p>\n<p>Um Aktionen auszuführen, die höhere Berechtigungen erfordern, verwendet PMX einen kleinen, separaten privilegierten Helfer, anstatt alles vom normalen App-Prozess zu tun. Standardmäßig läuft der Helfer unter der ADB UID (<code>2000</code>) wenn er über ADBgestartet wird, oder unter der System-UID (<code>1000</code>) auf gerooteten Geräten. Wenn du ein gerootetes Gerät hast, kannst du die UID des Helfers in den <em>Erweiterten Einstellungen</em> ändern.</p>\n<hr />\n<h3 id=\"faq33\">Mein Gerät ist nicht gerootet. Wie kann ich PMX verwenden?<a class=\"headerlink\" href=\"#faq33\" title=\"Permanent link\">&para;</a></h3>\n<p>Verwenden Sie <a href=\"../use-with-adb/\">PMX mit ADB</a>. Bitte lesen Sie die Notiz am Anfang. Auf einigen Geräten könnte es Einschränkungen geben.</p>\n<hr />\n<h3 id=\"faq42\">Warum läuft PMX nicht richtig auf dem neuesten Android?<a class=\"headerlink\" href=\"#faq42\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX stützt sich auf Android-versteckte APIs oder Nicht-SDK-Schnittstellen, die nicht dokumentiert sind (auf <a href=\"https://developer.android.com/\">Android Entwickler</a>) im Gegensatz zu Standard-APIs. Mit jeder neuen Android-Veröffentlichung müssen wir also durch den Android-Quellcode gehen, um herauszufinden, welche APIs kaputt sind (geändert oder entfernt).</p>\n<p>Außerdem braucht es Zeit, die kaputten APIs zu reparieren, manchmal Wochen, manchmal sogar Monate. Und es ist nicht garantiert, dass wir immer in der Lage sind, die kaputten APIs zu reparieren. Manchmal macht Google mit Absicht es schwierig oder unmöglich für uns, die versteckten APIs zu verwenden.</p>\n<p>Daher ist es uns nicht möglich, PMX sofort an jeder neuen Android-Version (insbesondere in der Beta-Phase) zu arbeiten, solange der endgültige AOSP-Quellcode nicht öffentlich veröffentlicht wird (auf <a href=\"https://cs.android.com/\">Code Search</a> oder <a href=\"https://android.googlesource.com/\">Git Repository</a>).</p>\n<p>PMX's letzte unterstützte Android-Version wird in der App-Beschreibung auf GitHub und Play Store angegeben. Wenn Sie die App zum ersten Mal auf einer nicht unterstützten Version ausführen, zeigt dies eine Warnung:</p>\n<p><img alt=\"Android-Version Warnung\" class=\"media\" src=\"../../img/unsupported_android_version_warning.webp\" /></p>\n<hr />\n<h3 id=\"faq43\">Warum funktioniert PMX nicht richtig auf OEM-Betriebssystemen oder benutzerdefiniertem ROMs?<a class=\"headerlink\" href=\"#faq43\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX stützt sich auf Android-versteckte APIs oder Nicht-SDK-Schnittstellen, die nicht dokumentiert sind (auf <a href=\"https://developer.android.com/\">Android Entwickler</a>) im Gegensatz zu Standard-APIs. Daher benötigen wir Zugriff auf den Quellcode Ihres ROM , um genau zu wissen, wie die versteckten APIs funktionieren.</p>\n<p>Nun, AOSP (die von Google entwickelt wird) ist Open-Source. Aber wenn Ihr OEM oder ROM Entwickler Änderungen an AOSP für den Anpassungszweck vornimmt, wir haben keine Möglichkeit, genau zu wissen, welche Änderungen sie an der Stock AOSP Code gemacht haben. Wir sind hier ziemlich hilflos. Und diese Tatsache ist in der App-Beschreibung auf GitHub und Play Store angegeben. Tut mir leid.</p>\n<hr />\n<h3 id=\"faq2\">Wie verändert PMX die Berechtigungen anderer Apps?<a class=\"headerlink\" href=\"#faq2\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX selbst kann und wird keine Berechtigungen anderer Apps erteilen oder widerrufen. Tatsächlich hat keine Drittanbieter-App das Privileg, dies zu tun. Es ist das Android-Betriebssystem, das die Berechtigungen von Apps kontrolliert. PMX sendet nur eine Anfrage an das Android Framework, um den Status einer Berechtigung zu ändern. Jetzt ist es ganz an Android, wie sehr es unserer Anfrage gerecht wird. Nicht alle Berechtigungen sind veränderbar. Und wenn Sie nicht in der Lage sind, den Status einer Berechtigung mit PMXzu ändern , Sie können es auch nicht anders ändern.</p>\n<hr />\n<h3 id=\"faq34\">Bleiben die Berechtigungen geändert, nachdem ADB ausgeschaltet ist oder Root verweigert wird oder PMX deinstalliert wurde?<a class=\"headerlink\" href=\"#faq34\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX selbst kann und wird keine Berechtigungen anderer Apps erteilen oder widerrufen. Tatsächlich hat keine Drittanbieter-App das Privileg, dies zu tun. Es ist das Android-Betriebssystem, das die Berechtigungen von Apps kontrolliert. PMX sendet nur eine Anfrage an das Android Framework, um den Status einer Berechtigung zu ändern.</p>\n<p>Sobald also eine Berechtigung geändert wurde, macht es keinen Unterschied, ob Sie PMX deinstallieren oder seine Berechtigungen fallen lassen. Die Berechtigung bleibt in welchem Zustand sie auch immer ist, es sei denn, Sie oder das Betriebssystem haben sich erneut geändert.</p>\n<hr />\n<h3 id=\"faq15\">Warum kann ich die XYZ-Berechtigung nicht ändern?<a class=\"headerlink\" href=\"#faq15\" title=\"Permanent link\">&para;</a></h3>\n<p>Manifest-Berechtigungen mit nur gefährlichem <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">Schutzlevel</a> (und ein paar andere) sind veränderbar. AppOps nicht abhängig von einem anderen AppOp sind veränderbar. So läuft Android, wir können das nicht ändern. Siehe <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\">Manifest Berechtigungen und AppOps</a>.</p>\n<p>Außerdem schützt PMX einige kritische Framework-Apps und Berechtigungen. Änderungen könnten das Gerät bricken. Siehe <a href=\"#faq17\">verwandte Frage</a>.</p>\n<p>Siehe auch <a href=\"#faq3\">Warum kann AppOps nicht geändert werden?</a></p>\n<p>Beachten Sie, dass ab Android 15, manifest Berechtigungen von System-Apps mit <em>Development</em> Schutzstufe nicht widerrufen werden können. Android ignoriert die Anfrage stillschweigend.</p>\n<hr />\n<h3 id=\"faq37\">Ich habe eine Berechtigung geändert, aber es funktioniert nicht. Warum?<a class=\"headerlink\" href=\"#faq37\" title=\"Permanent link\">&para;</a></h3>\n<p>Nach dem Ändern einer Berechtigung erfolgreich, wenn Sie nicht die gewünschten Ergebnisse erhalten, z. es rückgängig gemacht wird sofort oder nach einigen Stunden oder Tagen, es ist das Android Betriebssystem verantwortlich gemacht werden. Bitte sehen:</p>\n<ul>\n<li><a href=\"#faq2\">Wie verändert PMX andere App-Berechtigungen?</a></li>\n<li><a href=\"#faq3\">Warum kann AppOps nicht geändert werden?</a></li>\n</ul>\n<p>Während du Apps verwendest, kann Android seine Berechtigungen ändern. Und leider haben wir keine Möglichkeit, dies zu verhindern. <a href=\"../permission-watcher/\">Permission Watcher</a> und <a href=\"../scheduled-check/\">Zeitplanter Checker</a> können in dieser Hinsicht helfen.</p>\n<hr />\n<h3 id=\"faq3\">Warum kann irgendein AppOps nicht geändert werden?<a class=\"headerlink\" href=\"#faq3\" title=\"Permanent link\">&para;</a></h3>\n<p>Manchmal sehen Sie \"AppOp Modus nicht geändert\". Es bedeutet, dass Android die Anfrage zur Änderung des AppOp Modus abgelehnt hat. Sie können es nicht ändern, egal welche Methode oder App Sie verwenden. Es könnte mehrere mögliche Gründe geben.</p>\n<ul>\n<li>\n<p>Einige AppOps hängen von den entsprechenden manifest -Berechtigungen ab. Sie können also nicht unabhängig voneinander geändert werden. Zum Beispiel können Sie <code>READ_CONTACTS</code> AppOp nicht verweigern, wenn <code>android.permission.READ_CONTACTS</code> manifest Berechtigung erteilt wurde.</p>\n<p>Auch wenn die App die manifest Berechtigung in ihrer manifest Datei nicht angefordert hat, kann ihre AppOp Berechtigung auch nicht erteilt werden. Aber es könnte immer noch in der Berechtigungsliste der App erscheinen, wenn die App versucht hat, es zu verwenden (und abgelehnt wurden). <code>SYSTEM_ALERT_WINDOW</code> ist ein solches Beispiel.</p>\n</li>\n<li>\n<p>Einige AppOps werden von Android nur für Kompatibilität verwendet (z.B. <code>LEGACY_STORAGE</code>) und sie kontrollieren eigentlich nichts. Wenn wir ihre zugrunde liegende Arbeit erforschen, zeigt sich, dass die Gewährung / Aufhebung solcher Berechtigungen keinen Sinn ergibt.</p>\n</li>\n<li>\n<p>Einige Berechtigungen können nicht geändert werden, wenn die App aktiv ist oder eine ältere oder neuere Android-Version anspricht.</p>\n</li>\n<li>\n<p>Einige OEM ROMs verhalten sich komisch, wenn es um AppOps geht. Schau mal hier: <a href=\"#faq43\">Warum funktioniert „ PMX “ nicht richtig auf OEM-Betriebssystemen oder benutzerdefinierten „ ROMs“?</a></p>\n</li>\n<li>\n<p>Viele AppOps können 2 Modi haben: Paketmodus und UID-Modus. Es ist möglich, dass das eine geändert werden kann, während das andere nicht sein kann.</p>\n<p>Normalerweise haben UID AppOps Vorrang vor ihrem Paket AppOp Gegenstücke. In diesem Fall ist der effektive Modus des Pakets AppOp identisch mit dem des UID AppOps. Daher können Sie das Paket AppOp nicht allein ändern.</p>\n<p>Einige AppOps bevorzugen im Paketmodus, nicht im UID-Modus. Aber wenn es falsch im UID-Modus (mit Kommandozeilenwerkzeug oder einer anderen App) eingestellt ist, reagiert es nicht auf alle Änderungen. Mach mal „Reset AppOps“ im Menü oben rechts, damit es wieder klappt. Dies gilt auch für andere AppOps die eine entsprechende manifest Berechtigung mit <em>AppOp</em> <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">Schutzlevel</a>.</p>\n</li>\n</ul>\n<p>Eigentlich gibt es viele weitere Erklärungen, wenn wir jede App und jede Berechtigung einzeln ausgraben (was nicht praktikabel klingt). Wie oben erwähnt, ändert PMX die Berechtigungen anderer Apps nicht für sich. Selbst wenn Android aus irgendeinem unbekannten Grund keine Berechtigung ändert oder es sofort zurückzieht, es gibt nichts, was wir tun können, um es zu erzwingen, weil dies die Einschränkungen bei Android Ende. Vielmehr sollte ich sagen, dass dies so ist, wie Android funktioniert.</p>\n<p>Verwandt:</p>\n<ul>\n<li><a href=\"#faq11\">Was sind verschiedene AppOp Modi und welche soll ich verwenden?</a></li>\n<li><a href=\"#faq41\">Warum kann ich den AppOp Modus nicht in den Vordergrund stellen?</a></li>\n</ul>\n<hr />\n<h3 id=\"faq6\">Warum sehe ich die XYZ-App nicht in der Paketliste?<a class=\"headerlink\" href=\"#faq6\" title=\"Permanent link\">&para;</a></h3>\n<p>Bitte überprüfen Sie <strong>Ausschlussfilter</strong>. Fast alle Android Standardpakete sind standardmäßig ausgeschlossen. Sie können alle Pakete, die Sie von / zu sichtbar Liste ausschließen / einbinden.</p>\n<hr />\n<h3 id=\"faq7\">Warum sehe ich keine XYZ-Berechtigung im ABC-Paket?<a class=\"headerlink\" href=\"#faq7\" title=\"Permanent link\">&para;</a></h3>\n<p>Bitte überprüfen Sie <strong>Ausschlussfilter</strong>. Nicht veränderbare Berechtigungen sind standardmäßig von der sichtbaren Liste ausgeschlossen.</p>\n<hr />\n<h3 id=\"faq8\">Warum sehe ich XYZ AppOp nicht im ABC-Paket?<a class=\"headerlink\" href=\"#faq8\" title=\"Permanent link\">&para;</a></h3>\n<p>Bitte prüfen Sie <strong>Ausschlussfilter</strong> ob XYZ- AppOp von der sichtbaren Liste ausgeschlossen ist. Oder das ABC-Paket verwendet möglicherweise keine XYZ-Operation. Sie müssen sich darüber keine Sorgen machen.</p>\n<p>Aber wenn du den XYZ- AppOp für alle Apps sehen möchtest, gehe zu <strong>Ausschlussfilter → Extra- AppOps, nie ausgeschlossen</strong> und XYZ AppOp in der Liste überprüfen.</p>\n<p>Zum Beispiel schreibe <code>_CLIPBOARD</code> in das Suchfeld (mit aktivierter <strong>Deep Search</strong> ) und du erhältst alle Apps, die <code>READ_CLIPBOARD</code> oder <code>WRITE_CLIPBOARD</code> Berechtigung verwendet haben (oder versucht haben). Zeitstempel wird ebenfalls angezeigt (aber nicht für alle AppOps).</p>\n<p>Falls die App, über die Sie besorgt sind, nicht in den Suchergebnissen enthalten ist, überprüfen Sie bitte AppOps in der oben genannten Liste <strong>Ausschlussfilter</strong> .</p>\n<hr />\n<h3 id=\"faq5\">Was sollte ich für die Privilegierte Daemon UID in den erweiterten Einstellungen auswählen? System oder ADB?<a class=\"headerlink\" href=\"#faq5\" title=\"Permanent link\">&para;</a></h3>\n<p>Es spielt nur eine Rolle, wenn Sie root verwenden, oder <code>adbd</code> auf Ihrem Gerät läuft mit root (was bei den Endgeräten nicht der Fall ist).</p>\n<p>Verwenden Sie lieber <strong>System</strong> (UID <code>1000</code>), da es mehr Rechte als <strong>ADB</strong> (UID <code>2000</code>). Z.B. Änderung der \"<em>System-Fixed</em>\"-Berechtigungen ist nur möglich, wenn Sie als System ausgeführt werden.</p>\n<hr />\n<h3 id=\"faq9\">Was sind \"ungültige Berechtigungen\" in Ausschlussfiltern?<a class=\"headerlink\" href=\"#faq9\" title=\"Permanent link\">&para;</a></h3>\n<p>Wenn eine App eine manifest Berechtigung anfordert, aber nicht vom Android Framework oder einem der installierten Pakete deklariert wird (bereitgestellt) ist eine ungültige Berechtigung. Zum Beispiel ist <code>com.android.vending.BILLING</code> ungültig, wenn die Play Store App nicht auf Ihrem Gerät installiert ist.</p>\n<hr />\n<h3 id=\"faq10\">Was sind \"extra AppOps\" in Ausschließungsfiltern?<a class=\"headerlink\" href=\"#faq10\" title=\"Permanent link\">&para;</a></h3>\n<p>Nicht alle AppOps werden für alle installierten Apps verwendet. Aber du kannst eine AppOp für jede App erzwingen. Ausgewählte zusätzliche AppOps erscheinen in allen Berechtigungslisten der Apps, so dass Sie diese festlegen können.</p>\n<hr />\n<h3 id=\"faq11\">Was sind verschiedene AppOp Modi und welche sollte ich verwenden?<a class=\"headerlink\" href=\"#faq11\" title=\"Permanent link\">&para;</a></h3>\n<p>Normalerweise sollten Sie erlauben oder ignorieren. Oder Sie möchten eine Operation nur erlauben, wenn die App in <strong>Vordergrund</strong> ist (nur auf Android 9 und höher). <strong>Deny</strong> ist die intensive Version von Ignore, die die anfragende App abstürzen könnte. <strong>Standard</strong> ist das Standardverhalten des Systems, das sich für verschiedene AppOps unterscheidet.</p>\n<p>Bitte beachten Sie, dass nicht jeder AppOp Modus für jede App auf jeden AppOp gesetzt werden kann. Zum Beispiel dürfen <code>CAMERA</code> und <code>MICROPHONE</code> in den letzten Android Veröffentlichungen nur im Vordergrund verwendet werden (auch wenn der Modus <strong>Erlauben</strong> ist). Ebenso können einige AppOps niemals auf den <strong>Vordergrund</strong> Modus gesetzt werden.</p>\n<p>Verwandt: <a href=\"#faq3\">Warum kann AppOps nicht geändert werden?</a></p>\n<p>Offizielle Dokumentation: <a href=\"https://developer.android.com/reference/android/app/AppOpsManager#access-control\">AppOpsManager</a>.</p>\n<hr />\n<h3 id=\"faq12\">Was ist der Unterschied zwischen \"Ignorieren\" und \"Deny\" AppOp Modus?<a class=\"headerlink\" href=\"#faq12\" title=\"Permanent link\">&para;</a></h3>\n<p><a href=\"https://developer.android.com/reference/android/app/AppOpsManager#MODE_IGNORED\">Ignore</a> schlägt stillschweigend fehl, während <a href=\"https://developer.android.com/reference/android/app/AppOpsManager#MODE_ERRORED\">Deny</a> einen Fehler an die App zurückwirft, die die App möglicherweise nicht erwartet und abstürzt. Normalerweise solltest du <strong>Ignore</strong> verwenden.</p>\n<hr />\n<h3 id=\"faq41\">Warum kann ich den AppOp Modus nicht in den Vordergrund stellen?<a class=\"headerlink\" href=\"#faq41\" title=\"Permanent link\">&para;</a></h3>\n<p>Der Vordergrundmodus kann nicht für alle AppOps gesetzt werden. Selbst wenn sie gesetzt ist, werden sie möglicherweise nicht zu erwarteten Ergebnissen führen.</p>\n<p>Verwandt:</p>\n<ul>\n<li><a href=\"#faq11\">Was sind verschiedene AppOp Modi und welche soll ich verwenden?</a></li>\n<li><a href=\"#faq3\">Warum kann AppOps nicht geändert werden?</a></li>\n</ul>\n<p>Bitte beachten Sie, dass der Berechtigungsmodus \"Nur bei Verwendung der App erlauben\" nicht immer den AppOp Modus auf \"Vordergrund\" setzt:</p>\n<p><img alt=\"Vordergrund und einmalig Berechtigungsmodus\" class=\"media\" src=\"../../img/fg_and_one_time_perm_modes.webp\" /></p>\n<p>Normalerweise sehen wir nur zwei Staaten für eine manifest Erlaubnis: gewährt und widerrufen. Aber Android verwendet <a href=\"https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-13.0.0_r1/core/java/android/content/pm/PackageManager.java#4655\">flags</a>, um diese beiden Staaten in viele Unterstaaten aufzuteilen. Für einige Berechtigungen wird das gleiche Phänomen verwendet, um das Verhalten \"nur zu gewähren, wenn die App sichtbar ist\" zu erreichen. AppOp Berechtigung wird in diesem Fall nicht verwendet.</p>\n<p>Weitere Details finden Sie unter <a href=\"https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-13.0.0_r1/core/java/android/permission/Permissions.md#background-access\">Hintergrundzugriff</a> und <a href=\"https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-13.0.0_r1/core/java/android/app/AppOps.md#foreground\">Vordergrundzugriff</a>.</p>\n<p>Zur Einfachheit sieht PMX derzeit keine Berechtigungsflags an. Aber in Zukunft kann eine Option hinzugefügt werden, um auch Änderungen an den Berechtigungs-Flags zu verfolgen, selbst wenn der gewährte / widerrufte Modus unverändert bleibt.</p>\n<hr />\n<h3 id=\"faq14\">Was macht <code>WAKE_LOCK</code> Berechtigung?<a class=\"headerlink\" href=\"#faq14\" title=\"Permanent link\">&para;</a></h3>\n<p>Apps halten Wakelock, um das Gerät wach zu halten, d.h. nicht in <a href=\"https://developer.android.com/training/monitoring-device-state/doze-standby#understand_doze\">Doze-Modus</a>.</p>\n<hr />\n<h3 id=\"faq16\">Wie kann ich die <code>INTERNET</code> Berechtigung ändern?<a class=\"headerlink\" href=\"#faq16\" title=\"Permanent link\">&para;</a></h3>\n<p>Android erlaubt nicht, alle Berechtigungen zu ändern, wie die mit dem <strong>Normal</strong> <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">Schutzlevel</a> (e. . <code>INTERNET</code>) oder diejenigen mit <strong>festgestellten</strong> Flagge oder <strong>Signatur</strong> Schutzstufe (üblicherweise System- oder Framework-Apps). Siehe <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\">Manifest Berechtigungen und AppOps</a>.</p>\n<p>Aber wenn du gerootet bist, <a href=\"https://github.com/mirfatif/Fyrypt\">Fyrypt</a> gibt dir sehr starke Kontrolle über die Netzwerkaktivität, die auf deinem Gerät geschieht.</p>\n<hr />\n<h3 id=\"faq40\">Was sind feste Berechtigungen?<a class=\"headerlink\" href=\"#faq40\" title=\"Permanent link\">&para;</a></h3>\n<p>Die vorinstallierten Apps kriegen von den Herstellern oder den Entwicklern von ROM die systemfesten Berechtigungen. Sie sollen nicht geändert werden. Aber wenn Ihr Gerät gerootet ist, kann PMX System-feste Berechtigungen ändern.</p>\n<p><strong>Policy-fixed</strong> Berechtigungen werden von den IT-Administratoren auf verwalteten Geräten gewährt (oder verweigert). Sie können nicht geändert werden.</p>\n<p><strong>User-fixed</strong> Berechtigungen werden vom Benutzer behoben. Wenn ein Benutzer eine Berechtigung ein paar Mal verweigert, wenn die App dies anfordert das Betriebssystem markiert die Berechtigung als vom Benutzer behoben und zeigt dem Benutzer keine Aufforderung mehr an, die Erlaubnis zu erteilen, wenn die App erneut um die gleiche Berechtigung bittet. Diese Art von festen Berechtigungen kann leicht geändert werden, wann immer der Benutzer will.</p>\n<hr />\n<h3 id=\"faq17\">Wie kann ich System-Fixed Berechtigungen, Unterschriften/Privilegien oder die Berechtigungen von Framework-Apps ändern?<a class=\"headerlink\" href=\"#faq17\" title=\"Permanent link\">&para;</a></h3>\n<p>Wenn Ihr Gerät gerootet ist, in bezahlter Version kannst du in <strong>Erweiterten Einstellungen</strong> kritische Änderungen erlauben, um die Berechtigungen mit der <strong>System-repariert</strong> Flagge zu ändern Schutz Level <strong>Signatur</strong> oder <strong>Privilegiert</strong>, oder die von Framework App. Aber es wird nicht empfohlen, mit den System- und Framework-Apps zu spielen. Du kannst dein Gerät bricken.</p>\n<hr />\n<h3 id=\"faq18\">Was ist \"UID-Modus\" in AppOp Berechtigungen?<a class=\"headerlink\" href=\"#faq18\" title=\"Permanent link\">&para;</a></h3>\n<p>Es ist ein Modus einer AppOp Berechtigung, der anzeigt, dass das Ändern dieser AppOp auch andere Apps (mit der gleichen UID) betrifft, wenn installiert. Siehe <a href=\"https://developer.android.com/guide/topics/manifest/manifest-element#uid\"><code>sharedUserId</code></a>.</p>\n<p>Beachten Sie, dass der UID-Modus für viele AppOps Vorrang vor dem Paketmodus hat.</p>\n<hr />\n<h3 id=\"faq39\">Kann ich die Android-Funktion \"Entfernen von Berechtigungen, wenn die App nicht verwendet wird\" von PMX kontrollieren?<a class=\"headerlink\" href=\"#faq39\" title=\"Permanent link\">&para;</a></h3>\n<p>Ja. Diese Funktion ist seit <a href=\"https://developer.android.com/about/versions/11/privacy/permissions#auto-reset\">Android 11</a> verfügbar. Auf manchen Geräten heißt es auch <strong>„App-Aktivität bei Nichtgebrauch pausieren“</strong>.</p>\n<p><img alt=\"Nicht verwendete Berechtigungen automatisch entfernen\" class=\"media\" src=\"../../img/remove_unused_perms.webp\" /></p>\n<p>Um diese Option von PMX zu ändern:</p>\n<ol>\n<li>Gehen Sie zu <strong>Ausschlussfilter → Zusätzliche AppOps Liste</strong> und überprüfen Sie <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code>.</li>\n<li>Zurück auf dem Hauptbildschirm, tippen Sie <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code> in der oberen Suchleiste ein. Stellen Sie sicher, dass die tiefe Suche in den Sucheinstellungen aktiviert ist.</li>\n<li>Setze den Modus <strong>Erlauben</strong> oder <strong>Ignorieren</strong> für welche Apps du möchtest.</li>\n</ol>\n<p>Sie können auch <a href=\"../permission-view/\">Permission View</a> oder <a href=\"../batch-operations/\">Batch Operations</a> anstelle von Schritt 2 und 3 verwenden. Hier ist eine Anleitung, wie Sie es mit Batch Operations machen:</p>\n<video class=\"media\" controls muted>\n    <source src=\"../../img/remove_unused_perms.mp4\" type=\"video/webm\">\n    Remove permissions if app isn't used\n</video>\n\n<hr />\n<h3 id=\"faq31\">Warum bekomme ich eine Menge \"Bad ROM\" Popups?<a class=\"headerlink\" href=\"#faq31\" title=\"Permanent link\">&para;</a></h3>\n<p>OEMs machen echt große Änderungen am Standard-AOSP-Code (der von Google entwickelt wird). Das AppOps Framework für einige benutzerdefinierte / OEM ROMs liefert also unerwartete Ergebnisse, die PMX nicht verstehen kann. Sie können diese Popups ignorieren, aber sie bedeuten, dass die Funktionalität etwas eingeschränkt ist.</p>\n<p>Du kannst diese Popups in den <strong>Einstellungen</strong> → <strong>Allgemeine Einstellungen</strong> → <strong>schlechte ROM Toast deaktivieren</strong>.</p>\n<p>Schau mal hier: <a href=\"#faq43\">Warum funktioniert „ PMX “ nicht richtig auf OEM-Betriebssystemen oder benutzerdefinierten „ ROMs“?</a></p>\n<hr />\n<h3 id=\"faq19\">Was tun die \"Hide From List\"-Buttons (bei langem Drücken) ?<a class=\"headerlink\" href=\"#faq19\" title=\"Permanent link\">&para;</a></h3>\n<p>Beide verstecken nur die App oder die Berechtigung aus der sichtbaren Liste. Wenn du keine Berechtigung für eine App ändern möchtest, kannst du sie ausblenden. Und es wird für keine App angezeigt. Um es wieder aufzudecken, gehen Sie zu den <strong>Ausschlussfiltern</strong> Einstellungen.</p>\n<p>Ebenso können Sie eine App von der sichtbaren Liste ausschließen, wenn Sie sich keine Sorgen über ihre Berechtigungen machen.</p>\n<p><img alt=\"App aus der sichtbaren Liste ausblenden\" class=\"media\" src=\"../../img/hide_app_from_list.webp\" /> <img alt=\"Berechtigung aus der sichtbaren Liste ausblenden\" class=\"media\" src=\"../../img/hide_perm_from_list.webp\" /></p>\n<hr />\n<h3 id=\"faq21\">Gibt es eine vollständige Liste aller Berechtigungen mit Erklärung?<a class=\"headerlink\" href=\"#faq21\" title=\"Permanent link\">&para;</a></h3>\n<p>Es gibt keine vollständige Liste der Berechtigungen mit Beschreibung, zumindest in meinem Wissen. PMX Pro Version zeigt eine kurze Beschreibung der allgemeinen manifest und AppOp Berechtigungen.</p>\n<p>Es gibt fremde Ressourcen wie <a href=\"https://android.izzysoft.de/applists.php?topic=perms\">diese</a> von Izzy. Android's <a href=\"https://developer.android.com/\">offizielle Entwicklerseite</a> und <a href=\"https://cs.android.com/\">Quellcode</a> sind auch gute Quellen zum Lernen.</p>\n<p>Mit jedem neuen Android Release werden einige neue Berechtigungen hinzugefügt, und einige werden auch veraltet. Außerdem werden nicht alle Berechtigungen benötigt, um von jedem Benutzer betreut zu werden.</p>\n<hr />\n<h3 id=\"faq22\">Wie verwende ich die App in Arbeitsprofil/Mehrbenutzerumgebung?<a class=\"headerlink\" href=\"#faq22\" title=\"Permanent link\">&para;</a></h3>\n<p>Pro Version unterstützt Arbeitsprofile und mehrere Benutzer. Wählen Sie einen Benutzer aus dem Dropdown-Menü.</p>\n<p><img alt=\"Mehrbenutzermenü\" class=\"media\" src=\"../../img/multi_users.webp\" /></p>\n<hr />\n<h3 id=\"faq24\">Wie vergleicht PMX mit XPrivacyLua? Können sie einander ersetzen?<a class=\"headerlink\" href=\"#faq24\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX ist nicht dazu gedacht, Projekte wie XPrivacyLua zu ersetzen, sondern zu ergänzen. Sie haben unterschiedliche Designziele.</p>\n<p>XPrivacyLua hackt die Standardfunktionalität von Android, indem es in interne APIs gehackt wird, mit Xposed , die einige Android-Bibliotheken durch gehackte ersetzt. So erhalten wir zusätzliche Funktionen, wie das Einspeisen von gefälschten Daten an die Apps und werden über Ereignisse im Zusammenhang mit Genehmigungen benachrichtigt, die wir auf keinen anderen normalen Weg kennen können.</p>\n<p>PMX hingegen ist nicht als Framework-Modul gedacht. Es bietet bequemen Zugriff auf einige privilegierte APIs, die normale Apps nicht verwenden können. Es ist nicht hacken Android-Standardfunktionalität mit irgendwelchen Mitteln. Die meisten der Aufgaben, die PMX ausführt, können auch über die Kommandozeile ausgeführt werden, außer ein paar wie z.B. das Ändern von System-Fixed-Berechtigungen.</p>\n<p>Rooting und Xposed sind zwei strenge Anforderungen für den Einsatz von XPrivacyLua. PMX benötigt keine der beiden. Beide sind nicht für viele Geräte verfügbar oder viele Benutzer betrachten sie aufgrund der technischen Schwierigkeiten nicht als Option. Garantie ungültig, Fehler bei SafetyNet und andere Probleme.</p>\n<p>Weitere Erklärung <a href=\"https://github.com/mirfatif/PermissionManagerX/issues/9\">here</a> und <a href=\"https://github.com/mirfatif/PermissionManagerX/issues/56#issuecomment-2790539931\">here</a>.</p>\n<hr />\n<h3 id=\"faq32\">Kann PMX automatisch Berechtigungen entfernen, wenn eine App geschlossen wird, wie Bouncer es tut?<a class=\"headerlink\" href=\"#faq32\" title=\"Permanent link\">&para;</a></h3>\n<p>Ja. Siehe <a href=\"../permission-watcher/\">Permission Watcher</a> und <a href=\"../scheduled-check/\">Geplanter Check</a>. Aber es verwendet Android's <strong>Accessibility</strong> Funktion nicht, um Tippen / Klicks auf den Bildschirm im Namen des Benutzers auszuführen (obwohl es ein gutes Feature ist, ohne dass ein zusätzliches Setup erforderlich ist). PMX verlässt sich auf root oder ADB Privilegien. Es kann also viel mehr tun (siehe <a href=\"../\">Was ist PMX?</a>) als was mit Barrierefreiheitsfunktionen getan werden kann.</p>\n<p>Wenn Sie ADBverwenden und nicht root, kann <strong>Permission Watcher</strong> auf einigen Geräten nicht funktionieren. Bitte lesen Sie die <a href=\"../use-with-adb/#limitations-of-adb\">Grenzen des ADB</a>.</p>\n<hr />\n<h3 id=\"faq35\">Kann ich benachrichtigt werden, wenn eine neue App installiert ist?<a class=\"headerlink\" href=\"#faq35\" title=\"Permanent link\">&para;</a></h3>\n<p>Ja. Siehe <a href=\"../permission-watcher/\">Berechtigungsbeobachter</a>.</p>\n<p>Seit Android 8 ist es nicht möglich, dass Hintergrund-Apps (nicht läuft) über die neu installierte App benachrichtigt werden. Daher müssen wir einen Vordergrund-Dienst (mit permanenter Benachrichtigung) ausführen, um diese Veranstaltung zu erhalten. Oder Sie können die Verwendung von <a href=\"../scheduled-check/\">Scheduled Check</a> in Erwägung ziehen, um die Dinge am Laufen zu halten.</p>\n<hr />\n<h3 id=\"faq38\">Kann PMX standardmäßig auf die Berechtigungen verzichten, wenn eine neue App installiert ist?<a class=\"headerlink\" href=\"#faq38\" title=\"Permanent link\">&para;</a></h3>\n<p>Ja. Aber es gibt keine Berechtigungen, die man löschen kann. Alle widerrufbaren manifest Berechtigungen werden bereits widerrufen und bleiben widerrufen, es sei denn, der Benutzer erteilt sie ausdrücklich. Was die Dateien AppOps angeht, tauchen viele davon erst auf, wenn sie mindestens einmal von der App benutzt wurden, z. B. <code>VIBRATE</code> und <code>READ_CLIPBOARD</code>. Viele andere (z.B. <code>READ_CONTACTS</code>) haben bereits ihre entsprechenden manifest -Berechtigungen fallen gelassen, wie bereits erwähnt wurde. Es ist also zum Zeitpunkt der App-Installation nicht vorhersehbar, welche AppOps entfernt werden soll.</p>\n<p>Aber eine Benachrichtigung wird angezeigt, wenn eine neue App installiert ist (wenn <a href=\"../permission-watcher/\">Permission Watcher</a>) verwendet wird, so dass der Benutzer Berechtigungen einzeln festlegen kann oder <a href=\"../batch-operations/#permission-profiles\">ein Profil anwenden</a>.</p>\n<hr />\n<h3 id=\"faq25\">Warum PMX erfordert INTERNET-Erlaubnis?<a class=\"headerlink\" href=\"#faq25\" title=\"Permanent link\">&para;</a></h3>\n<p>Die <a href=\"https://mirfatif.github.io/mirfatif/getpro\">Standalone Pro Version</a> erfordert eine Internetverbindung zur Lizenzüberprüfung. Andere <a href=\"../versions/\">versions</a> können komplett offline funktionieren. Obwohl die Play Store-App eine Internetverbindung für die Lizenzüberprüfung benötigt.</p>\n<h4 id=\"optional-use-of-internet-permission\">Optionale Nutzung von <code>android.permission.INTERNET</code> Berechtigung<a class=\"headerlink\" href=\"#optional-use-of-internet-permission\" title=\"Permanent link\">&para;</a></h4>\n<ul>\n<li>Suche nach App-Updates. Du kannst dies in den App-Einstellungen deaktivieren.</li>\n</ul>\n<h4 id=\"on-device-use-of-internet-permission\">Lokale (On-device) Nutzung von <code>android.permission.INTERNET</code> Berechtigung<a class=\"headerlink\" href=\"#on-device-use-of-internet-permission\" title=\"Permanent link\">&para;</a></h4>\n<p>Android erlaubt Apps nicht, Netzwerk-Sockets zu erstellen, ohne die <a href=\"https://developer.android.com/reference/android/Manifest.permission#INTERNET\"><code>INTERNET</code></a> Berechtigung zu haben, auch wenn diese nur lokal und nicht für eine Internetverbindung verwendet werden sollen. PMX hat zwei Verwendungen lokaler (On-device) Verbindungen (die Fähigkeit, <code>localhost</code> Sockets unter <code>127.0.0.1</code>zu erstellen) für Inter Prozesskommunikation (IPC):</p>\n<ul>\n<li>PMX startet einen Hintergrundprozess mit root/ ADB Privilegien und Gesprächen mit diesem Prozess über Netzwerk-Sockel. Nach dem ersten Handschlag beginnen beide Prozesse über Binder zu sprechen. Wir haben keine bessere Möglichkeit, dies zu tun, da Android es auch nicht zulässt, dass Apps über UNIX-Domain-Sockets sprechen.</li>\n<li>Wenn Ihr Gerät nicht gerootet ist und Sie <a href=\"../use-with-adb/\"> PMX mit ADB</a>, dann benötigen Sie eine Verbindung zu <code>adbd</code> Internet-Berechtigungen. Check: <a href=\"#faq27\">Spioniert PMX mich über das Netzwerk mit ADB aus?</a></li>\n</ul>\n<p>Wenn die App also nicht in der Lage ist, lokale Netzwerk-Sockets zu erstellen oder zu verwenden, wird sie fehlschlagen. Und wenn du PMX an der Nutzung des Internet hindern möchtest, sie darf die App nicht daran hindern, über <a href=\"https://superuser.com/questions/263142\">loopback-Schnittstelle für IPC</a> mit On-Device-Prozessen zu sprechen. Dies ist normalerweise bei <code>iptables</code>basierten Firewalls wie <a href=\"https://github.com/mirfatif/Fyrypt\">Fyrypt</a> und VPN-basierten Firewalls wie NetGuard der Fall. Aber einige ROMs haben eine eingebaute Funktion, um den Zugriff auf das Netzwerk zu verbieten:</p>\n<p><img alt=\"Netzwerkzugriff erlauben\" class=\"media\" src=\"../../img/allow_network_access.webp\" /></p>\n<p>Dies verhindert nicht nur, dass die App Internet nutzt, sondern deaktiviert auch die Fähigkeit, Loopback-Sockets für IPC zu erstellen. <strong>PMX kann also keine Root-/ ADB -Berechtigungen erhalten, wenn diese Berechtigung verweigert wird</strong>.</p>\n<hr />\n<h3 id=\"faq26\">Wie viel Datenschutzfreundlichkeit ist PMX? Erfassen Sie Benutzerdaten?<a class=\"headerlink\" href=\"#faq26\" title=\"Permanent link\">&para;</a></h3>\n<p>Nein. Wir erheben Ihre Daten nicht. Nie. Nicht einmal ein Byte. PMX hat eine Open-Source-Version. Wir glauben daran, dass unsere Nutzer gut ausgebildet und informiert sind, warum sie PMX verwenden. Wir respektieren Ihre Privatsphäre, so dass keine Daten jemals erfasst werden, auch keine Absturzprotokolle. Sie können auch unsere <a href=\"https://mirfatif.github.io/PermissionManagerX/PRIVACY\">Datenschutzrichtlinie</a>.</p>\n<hr />\n<h3 id=\"faq27\">Spioniert mich PMX über das Netzwerk mit ADB aus?<a class=\"headerlink\" href=\"#faq27\" title=\"Permanent link\">&para;</a></h3>\n<p>Nein.</p>\n<p>PMX spricht mit <code>adbd</code> Prozess über localhost (<code>127.0.0.1</code>). Aber es gibt keine Möglichkeit, <code>adbd</code> nur auf localhsot zu starten, und nicht auf anderen Netzwerkschnittstellen (weil ADB extern von einem PC verwendet werden soll). Du kannst sicher verhindern, dass <code>adbd</code> von externen IP-Adressen aus zuhört, wenn du kannst. PMX würde immer noch funktionieren, ohne dass ein Port extern ausgesetzt wird.</p>\n<p>Außerdem kannst du in den <strong>Erweiterten Einstellungen</strong> den <code>5555</code> Port auf die gewünschte Nummer ändern. Es ist nicht hart codiert.</p>\n<p>Auch ADB seit Android 4.2 soll mit <strong>RSA Key Authentifizierung</strong> (einer der stärksten Authentifizierungsmechanismen) geschützt werden. Selbst wenn das Gerät über das Internet erreichbar ist (was hochgradig <a href=\"https://android.stackexchange.com/a/205807/218526\">unlikely</a>), kann niemand eine ADB Verbindung ohne Authentifizierung herstellen.</p>\n<p>Sie können diese Forderungen auf jede gewünschte Art und Weise überprüfen. Wir sind hier, um Ihnen technisch zu helfen.</p>\n<hr />\n<h3 id=\"faq28\">Benutzt PMX die root-Privilegien, um meine Daten zu sammeln?<a class=\"headerlink\" href=\"#faq28\" title=\"Permanent link\">&para;</a></h3>\n<p>Wir glauben an das <a href=\"https://wikipedia.org/wiki/Principle_of_least_privilege\">Prinzip des geringsten Privilegs</a>. Aufgrund des eingeschränkten Charakters des Android-Betriebssystems kann PMX jedoch ohne hohe Privilegien nicht funktionieren. Was wir anbieten können, ist, wenn Sie ein technisch versierter Mensch sind wir können dir beibringen, wie du es Apps schwierig machen kannst, Internetverbindungen herzustellen, auch mit Root-Rechten.</p>\n<hr />\n<h3 id=\"faq29\">Ich denke, PMX ist nutzlos. Warum wurde sie geschaffen?<a class=\"headerlink\" href=\"#faq29\" title=\"Permanent link\">&para;</a></h3>\n<p>Wir respektieren Ihre Meinung. PMX ist nicht für alle (und deshalb wurde es jahrelang nicht poliert und veröffentlicht, weil wir wussten, dass wir ein sehr kleines Publikum haben). Es ist nur für ein paar technisch versierte Seelen, die sich besonders um ihre Privatsphäre und ihre Gerätesteuerung kümmern. Die meisten Telefon-Nutzer sind nur in den Händen ihrer OEMs und App-Entwickler. Sie wissen nicht, was mit ihnen und ihren Daten gemacht wird. Die Mehrheit bevorzugt die Bequemlichkeit gegenüber der Privatsphäre. Und es ist in Ordnung.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Zurück zum Seitenanfang\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Fußzeile\" >\n        \n          \n          <a href=\"../versions/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Zurück: PMX-Versionen\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Zurück\n              </span>\n              <div class=\"md-ellipsis\">\n                PMX-Versionen\n              </div>\n            </div>\n          </a>\n        \n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"In Zwischenablage kopiert\", \"clipboard.copy\": \"In Zwischenablage kopieren\", \"search.result.more.one\": \"1 weiteres Suchergebnis auf dieser Seite\", \"search.result.more.other\": \"# weitere Suchergebnisse auf dieser Seite\", \"search.result.none\": \"Keine Suchergebnisse\", \"search.result.one\": \"1 Suchergebnis\", \"search.result.other\": \"# Suchergebnisse\", \"search.result.placeholder\": \"Suchbegriff eingeben\", \"search.result.term.missing\": \"Es fehlt\", \"select.version\": \"Version ausw\\u00e4hlen\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/de/index.html",
    "content": "\n<!doctype html>\n<html lang=\"de\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Übersicht über PMX und die Free vs Bezahl-Funktion – geplante Prüfungen, Berechtigungsbeobachter, automatische Widerrufsbelehrung, Batch-Operationen und erweiterte Berechtigungswerkzeuge.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/\">\n      \n      \n      \n        <link rel=\"next\" href=\"permission-references/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/de/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/es/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/fr/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/pt-BR/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/ru/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/ar/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/zh/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Was ist PMX? - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#rate-review\" class=\"md-skip\">\n          Zum Inhalt\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Kopfzeile\">\n    <a href=\"./\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Was ist PMX?\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Sprache wechseln\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/de/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/es/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/fr/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/pt-BR/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/ru/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/ar/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/zh/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Suche\" placeholder=\"Suche\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Suche\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Zurücksetzen\" aria-label=\"Zurücksetzen\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Suche wird initialisiert\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"./\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Was ist PMX?\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Was ist PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Inhaltsverzeichnis\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Inhaltsverzeichnis\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#rate-review\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Bewertungen / Bewertungen / Kommentare / Upvotes / Sterne\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungen und AppOps verwalten\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungsreferenzen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Benutzeroberfläche erklärt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Suchen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Geplante Prüfung\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungs-Beobachter\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungsansicht\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Batch-Operationen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integration mit WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Verwendung von PMX mit ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX-Versionen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/de/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Bezahlte Funktionen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX-FAQ\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Screenshots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/de/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Bewertungen / Bewertungen / Kommentare / Upvotes / Sterne\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Kontaktiere uns\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Apps\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Apps\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungs-Manager X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android-FAQs\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android-FAQs\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Häufig gestellte Fragen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB-Anleitung\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB-Anleitung\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Die App mit ADB verbinden\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Was ist PMX?</h1>\n\n<p>Es ist die eXtended Permission Manager App für Android, die es einfach macht, die gewünschten Berechtigungen für installierte Apps festzulegen und zu überprüfen alle unerwünschten Änderungen verfolgen. Die Steuerung des Geräts ermöglicht es Ihnen, Ihre Privatsphäre zu schützen und Ressourcen wie den Akkuverbrauch zu sparen.</p>\n<p>PMX bietet alle verstreuten (oder anderweitig nicht verfügbaren) Berechtigungsinformationen und Steuerelemente auf einem einzigen Bildschirm, so dass Sie sie umfassend und bequem beobachten und steuern können.</p>\n<p>Mit PMX können Sie:</p>\n<ul>\n<li>Ansicht / gewähren / widerrufen alle <strong>manifest Berechtigungen</strong> die über den App-Einstellungsbildschirm gesetzt werden können oder können. Die Liste der Berechtigungen, die nicht aus GUI gesetzt werden können, ist sehr lang.</li>\n<li>Sehen Sie sich alle <strong>AppOp Berechtigungen</strong> an, die normalerweise keine GUI Einstellungen haben. Z.B. <code>VIBRATE</code> und <code>READ_CLIPBOARD</code>. Sie können den gewünschten AppOps Modus einstellen, z.B. <em>Ignorieren</em> oder <em>Foreground</em>.</li>\n<li>Alle von einer App angeforderten Berechtigungen anzeigen, die <strong>nicht änderbar</strong> sind.</li>\n<li>Zeige die zuletzt verwendete Zeit für viele AppOp Berechtigungen.</li>\n<li>Ändern Sie <strong>System-Fixed</strong> Berechtigungen, die auf keinen anderen Weg geändert werden können.</li>\n<li>Echtzeit-Überwachung auf Änderungen der Berechtigungen oder geplante Scans.</li>\n<li>Apps und Berechtigungen nach vielen Parametern sortieren, einschließlich Installationsdatum und Anzahl der Berechtigungen.</li>\n<li>Erstelle erweiterte Suchanfragen in Apps und deren Berechtigungen.</li>\n<li>Und vieles mehr.</li>\n</ul>\n<p>Siehe auch Github <a href=\"https://mirfatif.github.io/PermissionManagerX\">README</a> und <a href=\"https://play.google.com/store/apps/details?id=com.mirfatif.permissionmanagerx\">Play Store</a> Beschreibung. Oder probieren Sie es einfach aus. Wir bieten eine kostenlose Version und einen Monat kostenlose Testversion an.</p>\n<hr />\n<p><strong>Es ist erstaunlich na?</strong> Lass uns in die Details kommen.</p>\n<ul>\n<li><a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\">Berechtigungen und AppOps</a></li>\n<li><a href=\"permission-references/\">Berechtigungsreferenzen</a></li>\n<li><a href=\"details/\">Benutzeroberfläche erklärt</a></li>\n<li><a href=\"search/\">Suche</a></li>\n<li><a href=\"scheduled-check/\">Geplanter Check</a></li>\n<li><a href=\"permission-watcher/\">Berechtigungsbeobachter</a></li>\n<li><a href=\"permission-view/\">Berechtigungsansicht</a></li>\n<li><a href=\"batch-operations/\">Stapelverarbeitung</a></li>\n<li><a href=\"whatsrunning-integration/\">Integration mit WhatsRunning</a></li>\n<li><a href=\"use-with-adb/\">PMX mit ADB</a></li>\n<li><a href=\"versions/\">PMX-Versionen</a></li>\n<li><a href=\"/PermissionManagerX/help/versions/#paid-features\">Bezahlte Funktionen</a></li>\n<li><a href=\"faqs/\">PMX-FAQs</a></li>\n<li><a href=\"https://mirfatif.github.io/PermissionManagerX\">Downloads</a></li>\n<li><a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\">Screenshots</a></li>\n<li><a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\">Kontaktiere uns</a></li>\n</ul>\n<hr />\n<h2 id=\"rate-review\">Bewertungen / Bewertungen / Kommentare / Upvotes / Sterne<a class=\"headerlink\" href=\"#rate-review\" title=\"Permanent link\">&para;</a></h2>\n<ul>\n<li><a href=\"https://play.google.com/store/apps/details?id=com.mirfatif.permissionmanagerx\">Play Store</a></li>\n<li><a href=\"https://forum.xda-developers.com/t/app-7-0-permission-manager-x-manage-appops-and-manifest-permissions.4187657\">XDA</a></li>\n<li><a href=\"https://github.com/mirfatif/PermissionManagerX\">GitHub</a></li>\n</ul>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Zurück zum Seitenanfang\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Fußzeile\" >\n        \n        \n          \n          <a href=\"permission-references/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Weiter: Berechtigungsreferenzen\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Weiter\n              </span>\n              <div class=\"md-ellipsis\">\n                Berechtigungsreferenzen\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"In Zwischenablage kopiert\", \"clipboard.copy\": \"In Zwischenablage kopieren\", \"search.result.more.one\": \"1 weiteres Suchergebnis auf dieser Seite\", \"search.result.more.other\": \"# weitere Suchergebnisse auf dieser Seite\", \"search.result.none\": \"Keine Suchergebnisse\", \"search.result.one\": \"1 Suchergebnis\", \"search.result.other\": \"# Suchergebnisse\", \"search.result.placeholder\": \"Suchbegriff eingeben\", \"search.result.term.missing\": \"Es fehlt\", \"select.version\": \"Version ausw\\u00e4hlen\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/de/permission-references/index.html",
    "content": "\n<!doctype html>\n<html lang=\"de\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Berechtigungsreferenzzustände in PMX speichern, vergleichen und wiederherstellen, damit Ihre gewünschte Berechtigungskonfiguration gesichert und während der Installation erneut angewendet werden kann.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/permission-references/\">\n      \n      \n        <link rel=\"prev\" href=\"../\">\n      \n      \n        <link rel=\"next\" href=\"../details/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../permission-references/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/permission-references/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/permission-references/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/permission-references/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/permission-references/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/permission-references/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/permission-references/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Berechtigungsreferenzen - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Kopfzeile\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Berechtigungsreferenzen\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Sprache wechseln\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../permission-references/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/permission-references/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/permission-references/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/permission-references/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/permission-references/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/permission-references/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/permission-references/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Suche\" placeholder=\"Suche\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Suche\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Zurücksetzen\" aria-label=\"Zurücksetzen\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Suche wird initialisiert\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Was ist PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungen und AppOps verwalten\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungsreferenzen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Benutzeroberfläche erklärt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Suchen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Geplante Prüfung\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungs-Beobachter\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungsansicht\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Batch-Operationen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integration mit WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Verwendung von PMX mit ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX-Versionen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/de/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Bezahlte Funktionen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX-FAQ\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Screenshots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/de/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Bewertungen / Bewertungen / Kommentare / Upvotes / Sterne\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Kontaktiere uns\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Apps\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Apps\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungs-Manager X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android-FAQs\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android-FAQs\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Häufig gestellte Fragen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB-Anleitung\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB-Anleitung\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Die App mit ADB verbinden\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Berechtigungsreferenzen</h1>\n\n<p>Angenommen, Sie haben eine ganze Sonntagseinstellung verbracht, Sie wollten Berechtigungen für 200+ installierte Apps. Und:</p>\n<ul>\n<li>Im nächsten Monat haben Sie Ihr Gerät aktualisiert oder einen neuen ROM installiert.</li>\n<li>Oder Sie haben einige Apps aus irgendeinem Grund deinstalliert und neu installiert.</li>\n<li>Oder Sie haben ein paar Berechtigungen erteilt, wie von den Apps verlangt.</li>\n</ul>\n<p>Werden Sie die ganze Mühe noch einmal durchgehen?</p>\n<p>Nein, das brauchst du nicht. Sie können PMX an Ihre gewünschten Berechtigungszustände erinnern. Legen Sie eine Berechtigung fest, machen Sie es <font color=\"#90EE90\">GREEN</font>und erledigt. Es wird nur wenige Augenblicke dauern, um sich alle installierten Pakete anzusehen und herauszufinden, welche Berechtigungen nicht korrekt gesetzt sind. , indem Sie eine schnelle Suche durchführen: <code>:RED|:ORANGE</code> oder <code>!:GREEN</code>. Siehe <a href=\"../search/\">Search</a> für weitere Details.</p>\n<p>Drei <strong>Referenzstates</strong> sind:</p>\n<ul>\n<li><font color=\"#FFC107\">ORANGE</font> zeigt an, dass kein Referenzwert gesetzt ist.</li>\n<li><font color=\"#90EE90\">GREEN</font> zeigt an, dass der Referenzwert mit dem aktuell gesetzten Wert übereinstimmt.</li>\n<li><font color=\"#FF0000\">RED</font> zeigt an, dass der Referenzwert und der Wert unterschiedlich sind.</li>\n</ul>\n<p>Referenzzustände können <strong>gesichert werden</strong> und komfortabel <strong>wiederhergestellt</strong> werden. Nach einer Wiederherstellung gibt es einen bequemen Weg, alle Berechtigungen entsprechend wiederhergestellter Referenzen zu setzen. Siehe <a href=\"../batch-operations/\">Batch Operations</a>.</p>\n<p>Es gibt mehrere Wege, eine Referenz zu setzen:</p>\n<ul>\n<li>Drücken Sie lange auf eine Berechtigung und tippen Sie auf die Schaltfläche \"Verweis setzen\" / \"Verweis löschen\".</li>\n<li>Es gibt eine obere Menüoption auf der Berechtigungsliste jeder App, um alle Referenzen zu setzen oder zu löschen.</li>\n<li>Setze Referenzen in Massen mit <a href=\"../batch-operations/\">Batch Operations</a>.</li>\n<li>Aktivieren Sie unter Einstellungen → Allgemeine Einstellungen die Einstellung \"Auto-Set Reference\" . Wenn Sie also einen Berechtigungsstatus ändern, wird er auch als Referenz festgelegt.</li>\n</ul>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Zurück zum Seitenanfang\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Fußzeile\" >\n        \n          \n          <a href=\"../\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Zurück: Was ist PMX?\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Zurück\n              </span>\n              <div class=\"md-ellipsis\">\n                Was ist PMX?\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../details/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Weiter: Benutzeroberfläche erklärt\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Weiter\n              </span>\n              <div class=\"md-ellipsis\">\n                Benutzeroberfläche erklärt\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"In Zwischenablage kopiert\", \"clipboard.copy\": \"In Zwischenablage kopieren\", \"search.result.more.one\": \"1 weiteres Suchergebnis auf dieser Seite\", \"search.result.more.other\": \"# weitere Suchergebnisse auf dieser Seite\", \"search.result.none\": \"Keine Suchergebnisse\", \"search.result.one\": \"1 Suchergebnis\", \"search.result.other\": \"# Suchergebnisse\", \"search.result.placeholder\": \"Suchbegriff eingeben\", \"search.result.term.missing\": \"Es fehlt\", \"select.version\": \"Version ausw\\u00e4hlen\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/de/permission-view/index.html",
    "content": "\n<!doctype html>\n<html lang=\"de\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Durchsuchen Sie Berechtigungen nach Namen und Schutzniveau, sehen Sie wie viele Apps jede Berechtigung verwenden und bohren Sie mit PMX in die Berechtigungskontrolle pro App.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/permission-view/\">\n      \n      \n        <link rel=\"prev\" href=\"../permission-watcher/\">\n      \n      \n        <link rel=\"next\" href=\"../batch-operations/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../permission-view/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/permission-view/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/permission-view/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/permission-view/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/permission-view/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/permission-view/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/permission-view/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Berechtigungsansicht - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Kopfzeile\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Berechtigungsansicht\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Sprache wechseln\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../permission-view/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/permission-view/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/permission-view/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/permission-view/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/permission-view/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/permission-view/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/permission-view/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Suche\" placeholder=\"Suche\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Suche\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Zurücksetzen\" aria-label=\"Zurücksetzen\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Suche wird initialisiert\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Was ist PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungen und AppOps verwalten\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungsreferenzen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Benutzeroberfläche erklärt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Suchen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Geplante Prüfung\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungs-Beobachter\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungsansicht\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Batch-Operationen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integration mit WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Verwendung von PMX mit ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX-Versionen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/de/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Bezahlte Funktionen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX-FAQ\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Screenshots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/de/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Bewertungen / Bewertungen / Kommentare / Upvotes / Sterne\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Kontaktiere uns\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Apps\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Apps\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungs-Manager X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android-FAQs\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android-FAQs\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Häufig gestellte Fragen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB-Anleitung\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB-Anleitung\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Die App mit ADB verbinden\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Berechtigungsansicht</h1>\n\n<p>Die Berechtigungsansicht zeigt eine Liste aller Berechtigungen mit einer Anzahl an, wie viele Apps diese Berechtigungen verwenden.</p>\n<p><img alt=\"Berechtigungsansicht\" class=\"media\" src=\"../../img/perm_view.webp\" /></p>\n<ol>\n<li>Berechtigungsname</li>\n<li>Schutzlevel</li>\n<li>App-Anzahl</li>\n<li>Anzahl der erteilten Berechtigungen aus der Gesamtzahl der Berechtigungen. Letzteres kann größer sein als die Anzahl der Apps, da einige Apps eine AppOp Berechtigung zweimal verwenden können (im <a href=\"../faqs/#faq18\">UID Modus</a>).</li>\n</ol>\n<p>Wenn Sie eine Berechtigung auswählen, erscheint eine Liste von Apps, die diese Berechtigung nutzen:</p>\n<p><img alt=\"Berechtigungsansicht\" class=\"media\" src=\"../../img/perm_view2.webp\" /></p>\n<ol>\n<li>Berechtigungsname</li>\n<li>Berechtigungsbeschreibung</li>\n<li>Flag, die angibt, dass die Berechtigung erteilt wird</li>\n<li>App-Symbol</li>\n<li>App-Label</li>\n<li>Paketname</li>\n<li>App-UID</li>\n</ol>\n<p>Wenn du eine App auswählst, öffnet sich die <a href=\"../details/#permissions-list\">Berechtigungsliste</a> wo du den Berechtigungsstatus ändern kannst.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Zurück zum Seitenanfang\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Fußzeile\" >\n        \n          \n          <a href=\"../permission-watcher/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Zurück: Berechtigungs-Beobachter\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Zurück\n              </span>\n              <div class=\"md-ellipsis\">\n                Berechtigungs-Beobachter\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../batch-operations/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Weiter: Batch-Operationen\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Weiter\n              </span>\n              <div class=\"md-ellipsis\">\n                Batch-Operationen\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"In Zwischenablage kopiert\", \"clipboard.copy\": \"In Zwischenablage kopieren\", \"search.result.more.one\": \"1 weiteres Suchergebnis auf dieser Seite\", \"search.result.more.other\": \"# weitere Suchergebnisse auf dieser Seite\", \"search.result.none\": \"Keine Suchergebnisse\", \"search.result.one\": \"1 Suchergebnis\", \"search.result.other\": \"# Suchergebnisse\", \"search.result.placeholder\": \"Suchbegriff eingeben\", \"search.result.term.missing\": \"Es fehlt\", \"select.version\": \"Version ausw\\u00e4hlen\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/de/permission-watcher/index.html",
    "content": "\n<!doctype html>\n<html lang=\"de\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Automatische Überwachung von App-Berechtigungsänderungen mit PMX: Erhalte Benachrichtigungen, rückgängig oder automatisch widerrufen, wenn Apps den Vordergrund verlassen.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/permission-watcher/\">\n      \n      \n        <link rel=\"prev\" href=\"../scheduled-check/\">\n      \n      \n        <link rel=\"next\" href=\"../permission-view/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../permission-watcher/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/permission-watcher/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/permission-watcher/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/permission-watcher/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/permission-watcher/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/permission-watcher/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/permission-watcher/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Berechtigungs-Beobachter - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Kopfzeile\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Berechtigungs-Beobachter\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Sprache wechseln\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../permission-watcher/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/permission-watcher/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/permission-watcher/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/permission-watcher/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/permission-watcher/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/permission-watcher/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/permission-watcher/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Suche\" placeholder=\"Suche\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Suche\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Zurücksetzen\" aria-label=\"Zurücksetzen\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Suche wird initialisiert\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Was ist PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungen und AppOps verwalten\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungsreferenzen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Benutzeroberfläche erklärt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Suchen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Geplante Prüfung\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungs-Beobachter\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungsansicht\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Batch-Operationen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integration mit WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Verwendung von PMX mit ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX-Versionen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/de/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Bezahlte Funktionen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX-FAQ\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Screenshots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/de/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Bewertungen / Bewertungen / Kommentare / Upvotes / Sterne\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Kontaktiere uns\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Apps\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Apps\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungs-Manager X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android-FAQs\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android-FAQs\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Häufig gestellte Fragen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB-Anleitung\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB-Anleitung\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Die App mit ADB verbinden\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Berechtigungs-Beobachter</h1>\n\n<p>Einige Apps funktionieren ohne eine bestimmte Berechtigung nicht. Aber Sie möchten die Berechtigung für die Zeit nur erteilen, wenn Sie die App verwenden, und widerrufen Sie die Erlaubnis, sobald Sie die App verlassen.</p>\n<p>Berechtigungs-Beobachter tut genau das. Sobald Sie die App verlassen oder nachdem die festgelegte Zeit abgelaufen ist, es widerruft die Berechtigungen einer App (manifest und AppOp) auf eigene Faust oder bittet Sie, dies zu tun, abhängig von den Einstellungen, die Sie gesetzt haben.</p>\n<p><img alt=\"Berechtigungsbeobachter\" class=\"media\" src=\"../../img/perm_watcher.gif\" /></p>\n<p>Berechtigungs-Beobachter benachrichtigt Sie auch, Berechtigungen für neu installierte Apps festzulegen (im primären Benutzer- / Eigentümerprofil).</p>\n<p><img alt=\"Berechtigungsbeobachtereinstellungen\" class=\"media\" src=\"../../img/watcher_settings.webp\" /></p>\n<p>Notiz:</p>\n<ul>\n<li>Nur die Berechtigungen mit <font color=\"#FF0000\">RED</font> Referenzstatus werden aufgehoben, nicht die mit dem <font color=\"#FFC107\">ORANGE</font> Status. Also hast du die Referenzzustände zuerst <strong>MUST</strong> gesetzt. Siehe <a href=\"../permission-references/\">Berechtigungsreferenzen</a>.</li>\n<li>Manifest Berechtigungen nur mit <em>Dangerous</em> <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">Schutz Level</a> werden beobachtet. Das sind diejenigen, die sich normalerweise ändern. Berechtigungen mit <em>Signatur</em> oder <em>Entwicklung</em> Schutzstufe oder denen mit <em>System-Fixed</em> Flags werden nicht beobachtet, obwohl sie geändert werden können.</li>\n<li>PMX beobachtet nur <em>Benutzer</em>-installiert oder normale <em>System</em>-Apps, nicht <em>Framework</em>-Apps. Ändern könnte das Gerät bricken.</li>\n<li>Auf einigen Geräten funktioniert Permission Watcher möglicherweise nicht zuverlässig für Apps im sekundären Benutzer/Profil. Es wird empfohlen, es in Kombination mit dem geplanten Checker zu verwenden.</li>\n</ul>\n<hr />\n<p><strong id=\"perm-watcher-fails\">Warum startet Berechtigungsbeobachter fehlgeschlagen?</strong></p>\n<p>Verwenden Sie ADB? Einige OEMs entfernen die Berechtigung <code>OBSERVE_GRANT_REVOKE_PERMISSIONS</code> oder <code>SET_ACTIVITY_WATCHER</code> aus dem <em>Shell</em> Paket. Wenn das bei Ihnen der Fall ist, dann tut es uns leid. Das können wir nicht beheben. Auf solchen Geräten kann Permission Watcher nur mit root funktionieren. Siehe die <a href=\"../use-with-adb/#limitations-of-adb\">Grenzen des ADB</a>.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Zurück zum Seitenanfang\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Fußzeile\" >\n        \n          \n          <a href=\"../scheduled-check/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Zurück: Geplante Prüfung\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Zurück\n              </span>\n              <div class=\"md-ellipsis\">\n                Geplante Prüfung\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../permission-view/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Weiter: Berechtigungsansicht\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Weiter\n              </span>\n              <div class=\"md-ellipsis\">\n                Berechtigungsansicht\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"In Zwischenablage kopiert\", \"clipboard.copy\": \"In Zwischenablage kopieren\", \"search.result.more.one\": \"1 weiteres Suchergebnis auf dieser Seite\", \"search.result.more.other\": \"# weitere Suchergebnisse auf dieser Seite\", \"search.result.none\": \"Keine Suchergebnisse\", \"search.result.one\": \"1 Suchergebnis\", \"search.result.other\": \"# Suchergebnisse\", \"search.result.placeholder\": \"Suchbegriff eingeben\", \"search.result.term.missing\": \"Es fehlt\", \"select.version\": \"Version ausw\\u00e4hlen\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/de/scheduled-check/index.html",
    "content": "\n<!doctype html>\n<html lang=\"de\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Automatisieren Sie periodische Berechtigungsprüfungen mit PMX. Geplante Prüfungen erkennen unerwünschte Änderungen, benachrichtigen Sie und widerrufen Sie freiwillig riskante Zuschüsse.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/scheduled-check/\">\n      \n      \n        <link rel=\"prev\" href=\"../search/\">\n      \n      \n        <link rel=\"next\" href=\"../permission-watcher/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../scheduled-check/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/scheduled-check/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/scheduled-check/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/scheduled-check/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/scheduled-check/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/scheduled-check/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/scheduled-check/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Geplante Prüfung - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Kopfzeile\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Geplante Prüfung\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Sprache wechseln\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../scheduled-check/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/scheduled-check/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/scheduled-check/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/scheduled-check/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/scheduled-check/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/scheduled-check/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/scheduled-check/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Suche\" placeholder=\"Suche\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Suche\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Zurücksetzen\" aria-label=\"Zurücksetzen\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Suche wird initialisiert\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Was ist PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungen und AppOps verwalten\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungsreferenzen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Benutzeroberfläche erklärt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Suchen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Geplante Prüfung\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungs-Beobachter\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungsansicht\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Batch-Operationen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integration mit WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Verwendung von PMX mit ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX-Versionen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/de/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Bezahlte Funktionen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX-FAQ\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Screenshots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/de/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Bewertungen / Bewertungen / Kommentare / Upvotes / Sterne\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Kontaktiere uns\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Apps\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Apps\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungs-Manager X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android-FAQs\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android-FAQs\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Häufig gestellte Fragen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB-Anleitung\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB-Anleitung\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Die App mit ADB verbinden\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Geplante Prüfung</h1>\n\n<p>Möchten Sie alle unerwünschten Änderungen an den Berechtigungen aller installierten Apps im Auge behalten? Geplanter Check kann dies in regelmäßigen Abständen (in Minuten, Stunden oder Tagen) für Sie tun.</p>\n<p>Setze <a href=\"../permission-references/\">Berechtigungsreferenzen</a> auf <font color=\"#90EE90\">GREEN</font> und lasse den Rest auf PMX. Wenn irgendeine Berechtigung geändert wurde (mit <font color=\"#FF0000\">RED</font> Status) oder wenn eine neue App installiert wurde (mit <font color=\"#FFC107\">ORANGE</font> Statusberechtigung), PMX erinnert Sie daran, dass etwas Ihre Aufmerksamkeit erfordert.</p>\n<p>Zusätzlich kann, wenn in den Einstellungen konfiguriert, geplante Prüfung automatisch erteilte Berechtigungen widerrufen gefolgt von einer informativen Benachrichtigung.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Zurück zum Seitenanfang\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Fußzeile\" >\n        \n          \n          <a href=\"../search/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Zurück: Suchen\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Zurück\n              </span>\n              <div class=\"md-ellipsis\">\n                Suchen\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../permission-watcher/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Weiter: Berechtigungs-Beobachter\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Weiter\n              </span>\n              <div class=\"md-ellipsis\">\n                Berechtigungs-Beobachter\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"In Zwischenablage kopiert\", \"clipboard.copy\": \"In Zwischenablage kopieren\", \"search.result.more.one\": \"1 weiteres Suchergebnis auf dieser Seite\", \"search.result.more.other\": \"# weitere Suchergebnisse auf dieser Seite\", \"search.result.none\": \"Keine Suchergebnisse\", \"search.result.one\": \"1 Suchergebnis\", \"search.result.other\": \"# Suchergebnisse\", \"search.result.placeholder\": \"Suchbegriff eingeben\", \"search.result.term.missing\": \"Es fehlt\", \"select.version\": \"Version ausw\\u00e4hlen\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/de/search/index.html",
    "content": "\n<!doctype html>\n<html lang=\"de\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Leistungsstarke PMX Suche: Suchen Sie Apps nach Label, Paket oder UID; verwenden Sie eine tiefe Suche auf Berechtigungsnamen und boolesche Operatoren für schnelle Berechtigungsprüfungen.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/search/\">\n      \n      \n        <link rel=\"prev\" href=\"../details/\">\n      \n      \n        <link rel=\"next\" href=\"../scheduled-check/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../search/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/search/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/search/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/search/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/search/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/search/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/search/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Suchen - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Kopfzeile\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Suchen\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Sprache wechseln\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../search/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/search/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/search/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/search/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/search/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/search/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/search/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Suche\" placeholder=\"Suche\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Suche\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Zurücksetzen\" aria-label=\"Zurücksetzen\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Suche wird initialisiert\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Was ist PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungen und AppOps verwalten\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungsreferenzen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Benutzeroberfläche erklärt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Suchen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Geplante Prüfung\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungs-Beobachter\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungsansicht\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Batch-Operationen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integration mit WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Verwendung von PMX mit ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX-Versionen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/de/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Bezahlte Funktionen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX-FAQ\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Screenshots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/de/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Bewertungen / Bewertungen / Kommentare / Upvotes / Sterne\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Kontaktiere uns\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Apps\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Apps\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungs-Manager X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android-FAQs\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android-FAQs\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Häufig gestellte Fragen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB-Anleitung\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB-Anleitung\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Die App mit ADB verbinden\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Suchen</h1>\n\n<p><img alt=\"Suche\" class=\"media\" src=\"../../img/search.webp\" /></p>\n<p>Normalerweise werden Paketbezeichnung, Name und UID aus der sichtbaren Liste durchsucht.</p>\n<p>Bei <strong>Deep Search</strong>, werden Berechtigungsname und andere Parameter abgefragt.</p>\n<p>Beachten Sie, dass die <strong>Ausschließungsfilter</strong> bei der Suche effektiv sind.</p>\n<p>Sie können folgende spezielle Suchbegriffe verwenden:</p>\n<ul>\n<li>\n<p>App-Status:</p>\n<p><code>:Critical</code> <code>:Framework</code> <code>:System</code> <code>:User</code> <code>:Disabled</code></p>\n</li>\n<li>\n<p>Referenzzustand:</p>\n<p><code>:ORANGE</code> <code>:GREEN</code> <code>:RED</code></p>\n</li>\n<li>\n<p>Berechtigungen <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">Schutzlevel</a>:</p>\n<p><code>:Normal</code> <code>:Dangerous</code> <code>:Signature</code> <code>:Internal</code> <code>:Development</code> <code>:Privileged</code> <code>:Fixed</code> <code>:AppOps</code> <code>:Unknown</code></p>\n</li>\n<li>\n<p>Pro UID AppOps:</p>\n<p><code>:UID</code></p>\n</li>\n<li>\n<p>AppOps mit letztem Zugriff oder Ablehnungszeit:</p>\n<p><code>:TIME</code></p>\n</li>\n<li>\n<p>Zusätzlicher AppOps (nie in den Filtereinstellungen ausgeschlossen):</p>\n<p><code>:EXTRA</code></p>\n</li>\n<li>\n<p><code>&amp;</code> (UND), <code>|</code> (OR) und <code>!</code> (NOT) Betreiber:</p>\n<p><code>Foo|Bar&amp;Baz</code></p>\n<p><code>Foo&amp;!Bar&amp;!Baz</code></p>\n</li>\n</ul>\n<p>Bezahlte Version zeigt auch Suchvorschläge (falls in den Präferenzen) an, um den Suchprozess zu vereinfachen.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Zurück zum Seitenanfang\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Fußzeile\" >\n        \n          \n          <a href=\"../details/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Zurück: Benutzeroberfläche erklärt\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Zurück\n              </span>\n              <div class=\"md-ellipsis\">\n                Benutzeroberfläche erklärt\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../scheduled-check/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Weiter: Geplante Prüfung\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Weiter\n              </span>\n              <div class=\"md-ellipsis\">\n                Geplante Prüfung\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"In Zwischenablage kopiert\", \"clipboard.copy\": \"In Zwischenablage kopieren\", \"search.result.more.one\": \"1 weiteres Suchergebnis auf dieser Seite\", \"search.result.more.other\": \"# weitere Suchergebnisse auf dieser Seite\", \"search.result.none\": \"Keine Suchergebnisse\", \"search.result.one\": \"1 Suchergebnis\", \"search.result.other\": \"# Suchergebnisse\", \"search.result.placeholder\": \"Suchbegriff eingeben\", \"search.result.term.missing\": \"Es fehlt\", \"select.version\": \"Version ausw\\u00e4hlen\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/de/use-with-adb/index.html",
    "content": "\n<!doctype html>\n<html lang=\"de\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Einrichten und verwenden Sie den Berechtigungsmanager X mit ADB auf Nicht-Root-Android-Geräten — Kopplung, nützliche ADB Befehle, Einschränkungen und praktische Tipps.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/use-with-adb/\">\n      \n      \n        <link rel=\"prev\" href=\"../whatsrunning-integration/\">\n      \n      \n        <link rel=\"next\" href=\"../versions/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../use-with-adb/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/use-with-adb/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/use-with-adb/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/use-with-adb/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/use-with-adb/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/use-with-adb/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/use-with-adb/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Verwendung von PMX mit ADB - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#limitations-of-adb\" class=\"md-skip\">\n          Zum Inhalt\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Kopfzeile\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Verwendung von PMX mit ADB\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Sprache wechseln\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../use-with-adb/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/use-with-adb/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/use-with-adb/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/use-with-adb/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/use-with-adb/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/use-with-adb/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/use-with-adb/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Suche\" placeholder=\"Suche\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Suche\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Zurücksetzen\" aria-label=\"Zurücksetzen\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Suche wird initialisiert\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Was ist PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungen und AppOps verwalten\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungsreferenzen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Benutzeroberfläche erklärt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Suchen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Geplante Prüfung\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungs-Beobachter\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungsansicht\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Batch-Operationen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integration mit WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Verwendung von PMX mit ADB\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Verwendung von PMX mit ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Inhaltsverzeichnis\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Inhaltsverzeichnis\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#limitations-of-adb\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Einschränkungen von ADB\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#adb-guide\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ADB Anleitung\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX-Versionen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/de/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Bezahlte Funktionen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX-FAQ\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Screenshots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/de/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Bewertungen / Bewertungen / Kommentare / Upvotes / Sterne\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Kontaktiere uns\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Apps\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Apps\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungs-Manager X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android-FAQs\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android-FAQs\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Häufig gestellte Fragen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB-Anleitung\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB-Anleitung\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Die App mit ADB verbinden\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Verwendung von PMX mit ADB</h1>\n\n<h2 id=\"limitations-of-adb\">Einschränkungen von ADB<a class=\"headerlink\" href=\"#limitations-of-adb\" title=\"Permanent link\">&para;</a></h2>\n<p>ADB ist nicht so mächtig wie Root. Du kannst den aktuellen Status dessen, was ADB tun kann, in <strong>About</strong> → <strong>Privileges</strong> (Menüeintrag):</p>\n<p><img alt=\"PMX Berechtigungen\" class=\"media\" src=\"../../img/privs.webp\" /></p>\n<p>Für weitere Details siehe <a href=\"https://mirfatif.github.io/adb-guide/adb-limits/\">Grenzen des ADB</a>. Siehe auch <a href=\"../faqs/#faq43\">Warum funktioniert „ PMX “ nicht richtig auf OEM-Betriebssystemen oder benutzerdefinierten „ ROMs“?</a></p>\n<hr />\n<h2 id=\"adb-guide\">ADB Anleitung<a class=\"headerlink\" href=\"#adb-guide\" title=\"Permanent link\">&para;</a></h2>\n<p>Bitte lesen Sie <a href=\"https://mirfatif.github.io/adb-guide/\">ADB Paarung / Verbindungsanleitung</a>.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Zurück zum Seitenanfang\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Fußzeile\" >\n        \n          \n          <a href=\"../whatsrunning-integration/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Zurück: Integration mit WhatsRunning\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Zurück\n              </span>\n              <div class=\"md-ellipsis\">\n                Integration mit WhatsRunning\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../versions/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Weiter: PMX-Versionen\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Weiter\n              </span>\n              <div class=\"md-ellipsis\">\n                PMX-Versionen\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"In Zwischenablage kopiert\", \"clipboard.copy\": \"In Zwischenablage kopieren\", \"search.result.more.one\": \"1 weiteres Suchergebnis auf dieser Seite\", \"search.result.more.other\": \"# weitere Suchergebnisse auf dieser Seite\", \"search.result.none\": \"Keine Suchergebnisse\", \"search.result.one\": \"1 Suchergebnis\", \"search.result.other\": \"# Suchergebnisse\", \"search.result.placeholder\": \"Suchbegriff eingeben\", \"search.result.term.missing\": \"Es fehlt\", \"select.version\": \"Version ausw\\u00e4hlen\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/de/versions/index.html",
    "content": "\n<!doctype html>\n<html lang=\"de\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Vergleichen Sie PMX Free vs Bezahlt: Zu den kostenpflichtigen Funktionen gehören geplante Prüfungen, Berechtigungsbeobachter, Auto-Widerruf, Mehrbenutzer-Support und Batch-Operationen.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/versions/\">\n      \n      \n        <link rel=\"prev\" href=\"../use-with-adb/\">\n      \n      \n        <link rel=\"next\" href=\"../faqs/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../versions/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/versions/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/versions/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/versions/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/versions/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/versions/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/versions/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>PMX-Versionen - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#paid-features\" class=\"md-skip\">\n          Zum Inhalt\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Kopfzeile\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              PMX-Versionen\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Sprache wechseln\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../versions/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/versions/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/versions/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/versions/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/versions/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/versions/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/versions/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Suche\" placeholder=\"Suche\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Suche\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Zurücksetzen\" aria-label=\"Zurücksetzen\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Suche wird initialisiert\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Was ist PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungen und AppOps verwalten\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungsreferenzen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Benutzeroberfläche erklärt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Suchen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Geplante Prüfung\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungs-Beobachter\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungsansicht\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Batch-Operationen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integration mit WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Verwendung von PMX mit ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX-Versionen\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX-Versionen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Inhaltsverzeichnis\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Inhaltsverzeichnis\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#paid-features\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Bezahlte Funktionen\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/de/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Bezahlte Funktionen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX-FAQ\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Screenshots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/de/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Bewertungen / Bewertungen / Kommentare / Upvotes / Sterne\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Kontaktiere uns\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Apps\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Apps\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungs-Manager X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android-FAQs\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android-FAQs\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Häufig gestellte Fragen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB-Anleitung\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB-Anleitung\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Die App mit ADB verbinden\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>PMX-Versionen</h1>\n\n<p>PMX ist in zwei Varianten verfügbar: <strong>Bezahlt</strong> und <strong>Kostenlos</strong>. Bezahlte Version ist in zwei Varianten erhältlich: <strong>Play Store</strong> und <strong>Pro</strong>. Neueste APKs werden im Play Store, GitHub und dem Telegram Kanal veröffentlicht.</p>\n<h2 id=\"paid-features\">Bezahlte Funktionen<a class=\"headerlink\" href=\"#paid-features\" title=\"Permanent link\">&para;</a></h2>\n<p>Bezahlte Version enthält alles, was in der kostenlosen Version enthalten ist, sowie die folgenden zusätzlichen Features, die auch in der Play Store Beschreibung aufgeführt sind:</p>\n<ul>\n<li>Geplante Prüfung, um schlechte Referenzstatus zu benachrichtigen</li>\n<li>Änderungen der Berechtigungen überwachen und rückgängig machen</li>\n<li>Erteilte Berechtigungen mit RED-Status automatisch widerrufen</li>\n<li>Änderungen an kritischen Apps und Berechtigungen vornehmen</li>\n<li>Unterstützung für mehrere Benutzer / Arbeitsprofil</li>\n<li>Stapeloperationen (Profile)</li>\n<li>Berechtigungsansicht</li>\n</ul>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Zurück zum Seitenanfang\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Fußzeile\" >\n        \n          \n          <a href=\"../use-with-adb/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Zurück: Verwendung von PMX mit ADB\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Zurück\n              </span>\n              <div class=\"md-ellipsis\">\n                Verwendung von PMX mit ADB\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../faqs/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Weiter: PMX-FAQ\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Weiter\n              </span>\n              <div class=\"md-ellipsis\">\n                PMX-FAQ\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"In Zwischenablage kopiert\", \"clipboard.copy\": \"In Zwischenablage kopieren\", \"search.result.more.one\": \"1 weiteres Suchergebnis auf dieser Seite\", \"search.result.more.other\": \"# weitere Suchergebnisse auf dieser Seite\", \"search.result.none\": \"Keine Suchergebnisse\", \"search.result.one\": \"1 Suchergebnis\", \"search.result.other\": \"# Suchergebnisse\", \"search.result.placeholder\": \"Suchbegriff eingeben\", \"search.result.term.missing\": \"Es fehlt\", \"select.version\": \"Version ausw\\u00e4hlen\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/de/whatsrunning-integration/index.html",
    "content": "\n<!doctype html>\n<html lang=\"de\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"PMX integriert sich in WhatsRunning — springt zwischen die Werkzeuge, um zu sehen, ob Apps mit eingeschränkten Berechtigungen laufen und ihre Ressourcennutzung überprüfen.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/whatsrunning-integration/\">\n      \n      \n        <link rel=\"prev\" href=\"../batch-operations/\">\n      \n      \n        <link rel=\"next\" href=\"../use-with-adb/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../whatsrunning-integration/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/whatsrunning-integration/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/whatsrunning-integration/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/whatsrunning-integration/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/whatsrunning-integration/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/whatsrunning-integration/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/whatsrunning-integration/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Integration mit WhatsRunning - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Kopfzeile\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Integration mit WhatsRunning\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Sprache wechseln\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../whatsrunning-integration/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/whatsrunning-integration/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/whatsrunning-integration/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/whatsrunning-integration/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/whatsrunning-integration/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/whatsrunning-integration/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/whatsrunning-integration/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Suche\" placeholder=\"Suche\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Suche\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Zurücksetzen\" aria-label=\"Zurücksetzen\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Suche wird initialisiert\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Was ist PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungen und AppOps verwalten\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungsreferenzen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Benutzeroberfläche erklärt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Suchen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Geplante Prüfung\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungs-Beobachter\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungsansicht\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Batch-Operationen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integration mit WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Verwendung von PMX mit ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX-Versionen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/de/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Bezahlte Funktionen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX-FAQ\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Screenshots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/de/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Bewertungen / Bewertungen / Kommentare / Upvotes / Sterne\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Kontaktiere uns\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Apps\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Apps\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Berechtigungs-Manager X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android-FAQs\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android-FAQs\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Häufig gestellte Fragen\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB-Anleitung\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB-Anleitung\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Die App mit ADB verbinden\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Integration mit WhatsRunning</h1>\n\n<p>PMX ist in <a href=\"https://github.com/mirfatif/WhatsRunning\">WhatsRunning</a> integriert, so dass du eine von der anderen öffnen kannst.</p>\n<p><img alt=\"WhatsRunning-Integration\" class=\"media\" src=\"../../img/wrun_integration1.jpg\" /> <img alt=\"WhatsRunning-Integration\" class=\"media\" src=\"../../img/wrun_integration2.webp\" /></p>\n<p>So können Sie von PMX zu WhatsRunning wechseln, um herauszufinden, ob eine App mit eingeschränkten Berechtigungen noch läuft. Wenn ja, in welchem Zustand es ist und wie viel Ressourcen es verbraucht.</p>\n<p>In ähnlicher Weise können Sie von WhatsRunning zu PMX wechseln, um herauszufinden, welche Berechtigungen einer laufenden (oder toten) App gewährt werden.</p>\n<p>Dies ist besonders hilfreich bei der Analyse der Auswirkungen von Berechtigungen wie <code>RUN_IN_BACKGROUND</code>.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Zurück zum Seitenanfang\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Fußzeile\" >\n        \n          \n          <a href=\"../batch-operations/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Zurück: Batch-Operationen\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Zurück\n              </span>\n              <div class=\"md-ellipsis\">\n                Batch-Operationen\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../use-with-adb/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Weiter: Verwendung von PMX mit ADB\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Weiter\n              </span>\n              <div class=\"md-ellipsis\">\n                Verwendung von PMX mit ADB\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"In Zwischenablage kopiert\", \"clipboard.copy\": \"In Zwischenablage kopieren\", \"search.result.more.one\": \"1 weiteres Suchergebnis auf dieser Seite\", \"search.result.more.other\": \"# weitere Suchergebnisse auf dieser Seite\", \"search.result.none\": \"Keine Suchergebnisse\", \"search.result.one\": \"1 Suchergebnis\", \"search.result.other\": \"# Suchergebnisse\", \"search.result.placeholder\": \"Suchbegriff eingeben\", \"search.result.term.missing\": \"Es fehlt\", \"select.version\": \"Version ausw\\u00e4hlen\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/details/index.html",
    "content": "\n<!doctype html>\n<html lang=\"en\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"View and manage app-specific permissions in PMX: app details, permission lists, grant/revoke controls and UID-mode info for Android apps.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/details/\">\n      \n      \n        <link rel=\"prev\" href=\"../permission-references/\">\n      \n      \n        <link rel=\"next\" href=\"../search/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../de/details/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../es/details/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../fr/details/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../pt-BR/details/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../ru/details/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../ar/details/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../zh/details/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>User interface explained - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#apps-list\" class=\"md-skip\">\n          Skip to content\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Header\">\n    <a href=\"..\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              User interface explained\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Select language\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../de/details/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../es/details/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../fr/details/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../pt-BR/details/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../ru/details/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../ar/details/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../zh/details/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Search\" placeholder=\"Search\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Search\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Clear\" aria-label=\"Clear\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Initializing search\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"..\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"..\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    What is PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Manifest Permissions and AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission References\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    User interface explained\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    User interface explained\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Table of contents\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Table of contents\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#apps-list\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Apps List\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#permissions-list\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Permissions List\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Search\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Scheduled Check\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission Watcher\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission View\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Batch Operations\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integration with WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Using PMX with ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX Versions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Paid features\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX FAQs\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Screenshots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ratings / Reviews / Comments / Upvotes / Stars\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contact Us\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Apps\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Apps\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission Manager X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android FAQs\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android FAQs\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Frequently Asked Questions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB Guide\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB Guide\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Pair/connect the app to ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>User interface explained</h1>\n\n<h2 id=\"apps-list\">Apps List<a class=\"headerlink\" href=\"#apps-list\" title=\"Permanent link\">&para;</a></h2>\n<p><img alt=\"Apps list item details\" class=\"media\" src=\"../img/pkg.webp\" /></p>\n<ol>\n<li>\n<p>Colored strip at the left indicates <strong>reference state</strong></p>\n</li>\n<li>\n<p>App <strong>icon</strong></p>\n</li>\n<li>\n<p>First line shows package <strong>label</strong></p>\n</li>\n<li>\n<p>Second line shows package <strong>name</strong> and</p>\n</li>\n<li>\n<p><strong>UID</strong></p>\n</li>\n<li>\n<p>Third line (optionally) shows package's state: <strong>Critical</strong> (Framework), <strong>Framework</strong> or <strong>System</strong> app. Also if the app is <strong>Disabled</strong>. No state is shown for <strong>Enabled</strong>, <strong>User</strong> apps.</p>\n</li>\n<li>\n<p>Last line shows <strong>count</strong> of visible out of total manifest permissions and</p>\n</li>\n<li>\n<p>AppOps permissions.</p>\n<p>Invisible permissions are those excluded in <em>Exclusion Filters</em>.</p>\n</li>\n<li>\n<p>If sorted by install or update time, the last line also shows date or time on the right side.</p>\n</li>\n</ol>\n<h2 id=\"permissions-list\">Permissions List<a class=\"headerlink\" href=\"#permissions-list\" title=\"Permanent link\">&para;</a></h2>\n<p><img alt=\"Permissions list item details\" class=\"media\" src=\"../img/perm.webp\" /></p>\n<p><img alt=\"Permissions list item details\" class=\"media\" src=\"../img/perm2.webp\" /></p>\n<ol>\n<li>Colored strip at the left indicates <strong>reference state</strong></li>\n<li>Manifest permissions show a flag in the upper right corner</li>\n<li>Permission <strong>icon</strong></li>\n<li>First line shows <strong>permission name</strong></li>\n<li>Second line shows permission's <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">protection level</a>: <strong>Normal</strong>, <strong>Dangerous</strong>, <strong>Signature</strong>, <strong>Development</strong>, <strong>Privileged</strong>, <strong>Fixed</strong>, <strong>AppOps</strong> or <strong>Unknown</strong>. Also if AppOp is <strong>per Package</strong> or <strong>per UID</strong>. And if it is an <strong>Extra</strong> AppOp (never excluded in filter settings).</li>\n<li>Third line (in case of AppOp) shows <strong>last access or reject time</strong></li>\n<li>Fourth line (in case of AppOp) shows the referenced value if it doesn't match the current set value.</li>\n<li>Switch to change the permission state</li>\n<li>Current state (in case of AppOp)</li>\n<li><strong>Default</strong> indicates that the AppOp state has never been changed</li>\n</ol>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Back to top\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Footer\" >\n        \n          \n          <a href=\"../permission-references/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Previous: Permission References\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Previous\n              </span>\n              <div class=\"md-ellipsis\">\n                Permission References\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../search/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Next: Search\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Next\n              </span>\n              <div class=\"md-ellipsis\">\n                Search\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copied to clipboard\", \"clipboard.copy\": \"Copy to clipboard\", \"search.result.more.one\": \"1 more on this page\", \"search.result.more.other\": \"# more on this page\", \"search.result.none\": \"No matching documents\", \"search.result.one\": \"1 matching document\", \"search.result.other\": \"# matching documents\", \"search.result.placeholder\": \"Type to start searching\", \"search.result.term.missing\": \"Missing\", \"select.version\": \"Select version\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/es/batch-operations/index.html",
    "content": "\n<!doctype html>\n<html lang=\"es\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Crea, edita y aplica perfiles de permisos a múltiples aplicaciones Android con PMX — plantillas por lotes, perfiles predeterminados y gestión masiva de permisos.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/batch-operations/\">\n      \n      \n        <link rel=\"prev\" href=\"../permission-view/\">\n      \n      \n        <link rel=\"next\" href=\"../whatsrunning-integration/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../batch-operations/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/batch-operations/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/batch-operations/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/batch-operations/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/batch-operations/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/batch-operations/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/batch-operations/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Operaciones de Lote - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#permission-profiles\" class=\"md-skip\">\n          Saltar a contenido\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Cabecera\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Operaciones de Lote\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Seleccionar idioma\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../batch-operations/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/batch-operations/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/batch-operations/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/batch-operations/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/batch-operations/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/batch-operations/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/batch-operations/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Búsqueda\" placeholder=\"Búsqueda\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Buscar\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Limpiar\" aria-label=\"Limpiar\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Inicializando búsqueda\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navegación\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ¿Qué es PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permisos de manifiesto y AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Referencias de Permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interfaz de usuario explicada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Buscar\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Chequeo Programado\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observador de Permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ver permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Operaciones de Lote\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Operaciones de Lote\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Tabla de contenidos\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Tabla de contenidos\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#permission-profiles\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Perfiles de permisos\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#operations-with-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Operaciones con referencias\n      \n    </span>\n  </a>\n  \n    <nav class=\"md-nav\" aria-label=\"Operaciones con referencias\">\n      <ul class=\"md-nav__list\">\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#set-permissions\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Establecer permisos\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#set-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Establecer Referencias\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#cleanup-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Limpiar referencias\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#reset-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Restablecer referencias\n      \n    </span>\n  </a>\n  \n</li>\n        \n      </ul>\n    </nav>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integración con WhatsRrunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Usando PMX con ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versiones PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/es/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Funciones pagadas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs de PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Descargas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Capturas de pantalla\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/es/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Calificaciones / reseñas / Comentarios / votos positivos / estrellas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contáctenos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Aplicaciones\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Aplicaciones\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gestor de permisos X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRrunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQs Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Preguntas frecuentes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guía ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guía ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Emparejar/conectar la aplicación a ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Operaciones de Lote</h1>\n\n<h2 id=\"permission-profiles\">Perfiles de permisos<a class=\"headerlink\" href=\"#permission-profiles\" title=\"Permanent link\">&para;</a></h2>\n<ul>\n<li>Crear y editar perfiles de permisos (plantillas).</li>\n<li>Aplicar un perfil a una lista seleccionada de aplicaciones.</li>\n<li>Selecciona un <strong>Perfil predeterminado</strong> para aplicar a las aplicaciones recién instaladas (si <a href=\"../permission-watcher/\">Permission Watcher</a> está habilitado).</li>\n</ul>\n<p><img alt=\"Perfiles de permisos\" class=\"media\" src=\"../../img/perm_profiles.webp\" /></p>\n<p><a href=\"../faqs/#faq39\">Here</a> es una guía de vídeo de ejemplo cómo crear y aplicar un perfil.</p>\n<hr />\n<h2 id=\"operations-with-references\">Operaciones con referencias<a class=\"headerlink\" href=\"#operations-with-references\" title=\"Permanent link\">&para;</a></h2>\n<h3 id=\"set-permissions\">Establecer permisos<a class=\"headerlink\" href=\"#set-permissions\" title=\"Permanent link\">&para;</a></h3>\n<p>Vaya a través de una lista de aplicaciones seleccionadas y haga <font color=\"#FF0000\">RED</font> permisos <font color=\"#90EE90\">GREEN</font> configurando sus estados de acuerdo a los <a href=\"../permission-references/\">valores de referencia</a>. Se ignoran los permisos con los Estados Verdes y Naranja.</p>\n<p>Esta opción suele ser útil cuando acaba de restaurar una copia de seguridad y hay muchos permisos con un estado <font color=\"#FF0000\">RED</font>.</p>\n<h3 id=\"set-references\">Establecer Referencias<a class=\"headerlink\" href=\"#set-references\" title=\"Permanent link\">&para;</a></h3>\n<p>Vaya a través de una lista de aplicaciones seleccionadas y haga <font color=\"#FF0000\">RED</font> y <font color=\"#FFC107\">ORANGAR</font> permisos <font color=\"#90EE90\">GREEN</font> configurando sus <a href=\"../permission-references/\">valores de referencia</a> de acuerdo a los estados de permisos.</p>\n<p>Esta opción suele ser útil durante una configuración inicial. Acabas de instalar la aplicación PMX y pasaste unas horas configurando los permisos. Esta opción hará que todos <font color=\"#90EE90\">GREEN</font> en un solo toque.</p>\n<h3 id=\"cleanup-references\">Limpiar referencias<a class=\"headerlink\" href=\"#cleanup-references\" title=\"Permanent link\">&para;</a></h3>\n<p>Limpiar la base de datos de referencias de permisos. Las referencias no utilizadas serán eliminadas.</p>\n<p>Si hay una gran lista de referencias no utilizadas, una limpieza puede mejorar la carga de la lista de aplicaciones.</p>\n<h3 id=\"reset-references\">Restablecer referencias<a class=\"headerlink\" href=\"#reset-references\" title=\"Permanent link\">&para;</a></h3>\n<p>Restablecer referencias de permisos de base de datos. Se eliminarán todas las referencias.</p>\n<p>No se pretende utilizar normalmente. Pero en caso de que quiera empezar desde cero.</p>\n<p><img alt=\"Establecer referencias - operación por lote\" class=\"media\" src=\"../../img/set_refs.webp\" /></p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Volver al principio\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Pie\" >\n        \n          \n          <a href=\"../permission-view/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Anterior: Ver permisos\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Anterior\n              </span>\n              <div class=\"md-ellipsis\">\n                Ver permisos\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../whatsrunning-integration/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Siguiente: Integración con WhatsRrunning\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Siguiente\n              </span>\n              <div class=\"md-ellipsis\">\n                Integración con WhatsRrunning\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copiado al portapapeles\", \"clipboard.copy\": \"Copiar al portapapeles\", \"search.result.more.one\": \"1 m\\u00e1s en esta p\\u00e1gina\", \"search.result.more.other\": \"# m\\u00e1s en esta p\\u00e1gina\", \"search.result.none\": \"No se encontraron documentos\", \"search.result.one\": \"1 documento encontrado\", \"search.result.other\": \"# documentos encontrados\", \"search.result.placeholder\": \"Teclee para comenzar b\\u00fasqueda\", \"search.result.term.missing\": \"Falta\", \"select.version\": \"Seleccionar versi\\u00f3n\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/es/details/index.html",
    "content": "\n<!doctype html>\n<html lang=\"es\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Ver y administrar permisos específicos de la aplicación en PMX: detalles de la aplicación, listas de permisos, controles de concedida/revocación e información del modo UID para aplicaciones Android.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/details/\">\n      \n      \n        <link rel=\"prev\" href=\"../permission-references/\">\n      \n      \n        <link rel=\"next\" href=\"../search/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../details/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/details/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/details/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/details/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/details/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/details/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/details/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Interfaz de usuario explicada - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#apps-list\" class=\"md-skip\">\n          Saltar a contenido\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Cabecera\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Interfaz de usuario explicada\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Seleccionar idioma\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../details/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/details/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/details/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/details/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/details/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/details/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/details/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Búsqueda\" placeholder=\"Búsqueda\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Buscar\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Limpiar\" aria-label=\"Limpiar\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Inicializando búsqueda\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navegación\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ¿Qué es PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permisos de manifiesto y AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Referencias de Permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interfaz de usuario explicada\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interfaz de usuario explicada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Tabla de contenidos\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Tabla de contenidos\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#apps-list\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Lista de Aplicaciones\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#permissions-list\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Lista de permisos\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Buscar\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Chequeo Programado\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observador de Permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ver permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Operaciones de Lote\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integración con WhatsRrunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Usando PMX con ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versiones PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/es/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Funciones pagadas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs de PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Descargas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Capturas de pantalla\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/es/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Calificaciones / reseñas / Comentarios / votos positivos / estrellas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contáctenos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Aplicaciones\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Aplicaciones\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gestor de permisos X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRrunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQs Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Preguntas frecuentes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guía ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guía ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Emparejar/conectar la aplicación a ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Interfaz de usuario explicada</h1>\n\n<h2 id=\"apps-list\">Lista de Aplicaciones<a class=\"headerlink\" href=\"#apps-list\" title=\"Permanent link\">&para;</a></h2>\n<p><img alt=\"Apps lista detalles del artículo\" class=\"media\" src=\"../../img/pkg.webp\" /></p>\n<ol>\n<li>\n<p>El clip coloreado a la izquierda indica <strong>estado de referencia</strong></p>\n</li>\n<li>\n<p><strong>icono</strong> de la aplicación</p>\n</li>\n<li>\n<p>Primera línea muestra el paquete <strong>etiqueta</strong></p>\n</li>\n<li>\n<p>La segunda línea muestra el paquete <strong>nombre</strong> y</p>\n</li>\n<li>\n<p><strong>UID</strong></p>\n</li>\n<li>\n<p>Tercera línea (opcionalmente) muestra el estado del paquete: aplicación <strong>Crítica</strong> (Framework), <strong>Framework</strong> o <strong>System</strong>. También si la aplicación está <strong>desactivada</strong>. No se muestra ningún estado para aplicaciones <strong>Habilitadas</strong>, <strong>Usuario</strong>.</p>\n</li>\n<li>\n<p>La última línea muestra <strong>cuenta</strong> de los permisos totales de manifest visibles y</p>\n</li>\n<li>\n<p>Permisos AppOps.</p>\n<p>Los permisos invisibles son los excluidos en <em>Filtros de exclusión</em>.</p>\n</li>\n<li>\n<p>Si se ordenan por hora de instalación o actualización, la última línea también muestra fecha o hora en el lado derecho.</p>\n</li>\n</ol>\n<h2 id=\"permissions-list\">Lista de permisos<a class=\"headerlink\" href=\"#permissions-list\" title=\"Permanent link\">&para;</a></h2>\n<p><img alt=\"Lista de permisos detalles del artículo\" class=\"media\" src=\"../../img/perm.webp\" /></p>\n<p><img alt=\"Lista de permisos detalles del artículo\" class=\"media\" src=\"../../img/perm2.webp\" /></p>\n<ol>\n<li>El clip coloreado a la izquierda indica <strong>estado de referencia</strong></li>\n<li>Manifest Los permisos muestran una bandera en la esquina superior derecha.</li>\n<li>Permiso <strong>icono</strong></li>\n<li>Primera línea muestra <strong>nombre de permiso</strong></li>\n<li>La segunda línea muestra el <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">nivel de protección</a>: <strong>Normal</strong>, <strong>Peligro</strong>, <strong>Firma</strong>, <strong>Desarrollo</strong>, <strong>Privilegido</strong>, <strong>Corregido</strong>, <strong>AppOps</strong> o <strong>Desconocido</strong>. También si AppOp es <strong>por paquete</strong> o <strong>por UID</strong>. Y si es una AppOp <strong>Extra</strong> (nunca se excluye en los ajustes de filtros).</li>\n<li>Tercera línea (en caso de AppOp) muestra <strong>tiempo de último acceso o rechazo</strong></li>\n<li>La cuarta línea (en caso de AppOp) muestra el valor referenciado si no coincide con el valor establecido actual.</li>\n<li>Cambiar para cambiar el estado de permiso</li>\n<li>Estado actual (en caso de AppOp)</li>\n<li><strong>Por defecto</strong> indica que el estado AppOp nunca ha sido cambiado</li>\n</ol>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Volver al principio\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Pie\" >\n        \n          \n          <a href=\"../permission-references/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Anterior: Referencias de Permisos\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Anterior\n              </span>\n              <div class=\"md-ellipsis\">\n                Referencias de Permisos\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../search/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Siguiente: Buscar\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Siguiente\n              </span>\n              <div class=\"md-ellipsis\">\n                Buscar\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copiado al portapapeles\", \"clipboard.copy\": \"Copiar al portapapeles\", \"search.result.more.one\": \"1 m\\u00e1s en esta p\\u00e1gina\", \"search.result.more.other\": \"# m\\u00e1s en esta p\\u00e1gina\", \"search.result.none\": \"No se encontraron documentos\", \"search.result.one\": \"1 documento encontrado\", \"search.result.other\": \"# documentos encontrados\", \"search.result.placeholder\": \"Teclee para comenzar b\\u00fasqueda\", \"search.result.term.missing\": \"Falta\", \"select.version\": \"Seleccionar versi\\u00f3n\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/es/faqs/index.html",
    "content": "\n<!doctype html>\n<html lang=\"es\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Preguntas frecuentes sobre PMX: ¿por qué usar explicaciones PMX, AppOp/manifest , consejos ADB y solución de problemas para control de permisos de Android.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/faqs/\">\n      \n      \n        <link rel=\"prev\" href=\"../versions/\">\n      \n      \n      \n        \n          <link rel=\"alternate\" href=\"../../faqs/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/faqs/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/faqs/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/faqs/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/faqs/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/faqs/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/faqs/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>FAQs de PMX - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#faq36\" class=\"md-skip\">\n          Saltar a contenido\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Cabecera\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              FAQs de PMX\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Seleccionar idioma\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../faqs/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/faqs/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/faqs/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/faqs/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/faqs/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/faqs/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/faqs/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Búsqueda\" placeholder=\"Búsqueda\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Buscar\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Limpiar\" aria-label=\"Limpiar\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Inicializando búsqueda\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navegación\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ¿Qué es PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permisos de manifiesto y AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Referencias de Permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interfaz de usuario explicada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Buscar\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Chequeo Programado\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observador de Permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ver permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Operaciones de Lote\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integración con WhatsRrunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Usando PMX con ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versiones PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/es/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Funciones pagadas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs de PMX\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs de PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Tabla de contenidos\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Tabla de contenidos\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq36\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Por qué necesito usar PMX?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq1\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Por qué PMX requiere acceso root o ADB?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq33\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Mi dispositivo no está rooteado. ¿Cómo puedo usar PMX?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq42\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Por qué PMX no funciona o funciona correctamente en la última versión de Android?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq43\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Por qué PMX no funciona correctamente en sistemas operativos OEM o ROMs personalizados?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq2\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Cómo cambia PMX otros permisos de aplicaciones?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq34\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Quedan los permisos cambiados después de que ADB esté deshabilitado, o se deniega el root o se desinstala PMX?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq15\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Por qué no puedo cambiar el permiso XYZ?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq37\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        He cambiado un permiso pero no funciona. ¿Por qué?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq3\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Por qué no se pueden cambiar algunos AppOps?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq6\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Por qué no veo la aplicación XYZ en la lista de paquetes?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq7\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Por qué no veo el permiso XYZ en el paquete ABC?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq8\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Por qué no veo XYZ AppOp en el paquete ABC?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq5\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Qué debo seleccionar para UID de Daemon Privileged en Configuración Avanzada? ¿Sistema o ADB?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq9\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Qué son \"permisos inválidos\" en los filtros de exclusión?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq10\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Qué son \" AppOpsextra\" en los filtros de exclusión?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq11\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Qué son los diferentes modos AppOp y cuál debería usar?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq12\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Cuál es la diferencia entre los modos \"Ignore\" y \"Denegar\" AppOp?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq41\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Por qué no puedo cambiar el modo AppOp en primer plano?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq14\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Qué hace el permiso WAKE_LOCK?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq16\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Cómo puedo cambiar el permiso INTERNET?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq40\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Qué son los permisos fijos?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq17\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Cómo puedo cambiar los permisos fijados en el sistema, los permisos de Firma/Privilegio o los permisos de las aplicaciones de framework?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq18\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Qué es el \"modo UID\" en los permisos AppOp?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq39\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Puedo controlar la función \"Quitar permisos si no se utiliza la aplicación\" de Android de PMX?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq31\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Por qué recibo un montón de popups \"Bad ROM\"?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq19\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Qué hacen los botones \"Ocultar de la lista\" (en pulsación larga)?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq21\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Hay una lista completa de todos los permisos disponibles con explicación?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq22\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Cómo utilizar la aplicación en el perfil de trabajo / entorno multiusuario?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq24\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Cómo se compara PMX con XPrivacyLua? ¿Pueden sustituirse mutuamente?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq32\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Puede PMX eliminar los permisos automaticamente cuando una aplicación está cerrada, como lo hace Bouncer?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq35\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Puedo recibir notificaciones cuando se instala una nueva aplicación?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq38\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Cuando una nueva aplicación está instalada, ¿puede PMX soltar sus permisos por defecto?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq25\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Por qué PMX requiere permisos de INTERNET?\n      \n    </span>\n  </a>\n  \n    <nav class=\"md-nav\" aria-label=\"¿Por qué PMX requiere permisos de INTERNET?\">\n      <ul class=\"md-nav__list\">\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#optional-use-of-internet-permission\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Uso opcional del permiso android.permission.INTERNET\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#on-device-use-of-internet-permission\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Uso local (en dispositivo) del permiso android.permission.INTERNET\n      \n    </span>\n  </a>\n  \n</li>\n        \n      </ul>\n    </nav>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq26\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Cuánta privacidad es amigable con PMX? ¿Recolectas los datos de los usuarios?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq27\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿Me está espiando PMX usando ADB en red?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq28\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ¿ PMX está utilizando mal los privilegios de root para recoger mis datos?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq29\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Creo que PMX es inútil. ¿Por qué se creó?\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Descargas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Capturas de pantalla\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/es/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Calificaciones / reseñas / Comentarios / votos positivos / estrellas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contáctenos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Aplicaciones\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Aplicaciones\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gestor de permisos X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRrunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQs Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Preguntas frecuentes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guía ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guía ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Emparejar/conectar la aplicación a ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>FAQs de PMX</h1>\n\n<h3 id=\"faq36\">¿Por qué necesito usar PMX?<a class=\"headerlink\" href=\"#faq36\" title=\"Permanent link\">&para;</a></h3>\n<p>Porque:</p>\n<ul>\n<li>PMX proporciona toda la <strong>información</strong> y <strong>controles</strong> dispersos (o por lo demás no disponibles) relacionados con los permisos en una sola pantalla para que puedas verlos y controlarlos de una manera completa y conveniente.</li>\n<li>No hay ninguna herramienta oficial disponible en Android para cambiar <strong>AppOps</strong>. Solo un subconjunto de <strong>permisos manifest</strong> están expuestos al usuario en la configuración de permisos. PMX expone todos los permisos en forma cruda. Relacionado: <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\"> permisosManifest y AppOps</a>.</li>\n<li>PMX te facilita el seguimiento de cualquier <strong>cambio no deseado</strong> en los permisos.</li>\n<li>PMX te permite <strong>ahorrar recursos del dispositivo</strong> como la batería y el ancho de banda de la red y <strong>proteger tu privacidad</strong>. No te dejas totalmente a merced de los desarrolladores ROM y de la aplicación. Lee esta <a href=\"https://www.buzzfeednews.com/article/nicolenguyen/how-apps-take-your-data-and-sell-it-without-you-even\">article</a> para obtener una idea.</li>\n<li>PMX puede <strong>monitorear los cambios de permisos</strong> en tiempo real, revertiéndolos automáticamente cuando dejes de usar una aplicación. O puede realizar <strong>análisis programados</strong> de permisos. Así que no tienes que recordar las cosas.</li>\n<li>PMX te facilita el estado de las aplicaciones instaladas <strong>copias de seguridad y restauración</strong> para que no tengas que modificar los permisos de una aplicación una y otra vez.</li>\n</ul>\n<p>Por favor vea <a href=\"../\">¿Qué es PMX</a>?</p>\n<hr />\n<h3 id=\"faq1\">¿Por qué PMX requiere acceso root o ADB?<a class=\"headerlink\" href=\"#faq1\" title=\"Permanent link\">&para;</a></h3>\n<p>Android restringe intencionalmente las aplicaciones para modificar los permisos manifest o AppOps de otras aplicaciones (y en muchos casos para cambiar algunas propias). Estas medidas de seguridad de la plataforma protegen la privacidad de los usuarios y la integridad del sistema.</p>\n<p>Para realizar acciones que requieren privilegios elevados, PMX utiliza un ayudante con privilegios pequeños y separados en lugar de intentar hacer todo desde el proceso normal de la aplicación. Por defecto ese ayudante corre bajo el UID ADB (<code>2000</code>) cuando se inicia a través de ADB, o bajo el UID del sistema (<code>1000</code>) en dispositivos rooteados. Si tiene un dispositivo rooteado, puede cambiar el UID del ayudante en <em>Configuración avanzada</em>.</p>\n<hr />\n<h3 id=\"faq33\">Mi dispositivo no está rooteado. ¿Cómo puedo usar PMX?<a class=\"headerlink\" href=\"#faq33\" title=\"Permanent link\">&para;</a></h3>\n<p>Usar <a href=\"../use-with-adb/\">PMX con ADB</a>. Por favor, lea la nota al comienzo. Puede haber algunas limitaciones en algunos dispositivos.</p>\n<hr />\n<h3 id=\"faq42\">¿Por qué PMX no funciona o funciona correctamente en la última versión de Android?<a class=\"headerlink\" href=\"#faq42\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX se basa en las API ocultas de Android o las interfaces no SDK que no están documentadas (en <a href=\"https://developer.android.com/\">Desarrolladores Android</a>) a diferencia de las API estándar. Así que con cada nueva versión de Android, tenemos que pasar por el código fuente de Android para averiguar qué APIs se han roto (cambiado o eliminado).</p>\n<p>Además, se tarda tiempo en reparar las APIs rotas; a veces semanas, a veces meses. Y no está garantizado que siempre podremos arreglar las APIs rotas. A veces Google con el propósito nos hace difícil o imposible seguir usando las API ocultas.</p>\n<p>Por lo tanto, no es posible hacer que el PMX funcione inmediatamente en cada nueva versión de Android (especialmente en fase beta) mientras el código fuente final de AOSP no sea publicado públicamente (en <a href=\"https://cs.android.com/\">Búsqueda de código</a> o <a href=\"https://android.googlesource.com/\">Repositorio de Git</a>).</p>\n<p>La versión final de Android compatible con PMXse indica en la descripción de la aplicación en GitHub y Play Store. Cuando ejecutas la aplicación en una versión no compatible por primera vez, muestra una advertencia como esta:</p>\n<p><img alt=\"Advertencia de versión de Android no soportada\" class=\"media\" src=\"../../img/unsupported_android_version_warning.webp\" /></p>\n<hr />\n<h3 id=\"faq43\">¿Por qué PMX no funciona correctamente en sistemas operativos OEM o ROMs personalizados?<a class=\"headerlink\" href=\"#faq43\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX se basa en las API ocultas de Android o las interfaces no SDK que no están documentadas (en <a href=\"https://developer.android.com/\">Desarrolladores Android</a>) a diferencia de las API estándar. Así que necesitamos acceso al código fuente de tu ROM para saber exactamente cómo funcionan las API ocultas.</p>\n<p>Bueno, AOSP (que es desarrollado por Google) es de código abierto. Pero si tu desarrollador OEM o ROM hace algunos cambios en AOSP para el propósito de personalización, no tenemos forma de saber exactamente qué cambios han hecho en el código AOSP de stock. Estamos bastante indefensos aquí. Y este hecho se indica en la descripción de la aplicación en GitHub y Play Store. Lo sentimos.</p>\n<hr />\n<h3 id=\"faq2\">¿Cómo cambia PMX otros permisos de aplicaciones?<a class=\"headerlink\" href=\"#faq2\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX por sí misma no puede conceder ni revocar los permisos de otras aplicaciones. De hecho, ninguna aplicación de terceros tiene el privilegio de hacerlo. Es el sistema operativo Android el que controla los permisos de las aplicaciones. PMX sólo envía una solicitud al framework Android para cambiar el estado de un permiso. Ahora depende totalmente de Android cuánto honra nuestra petición. No todos los permisos son cambiables. Y si no puedes cambiar el estado de un permiso usando PMX, tampoco podrás cambiarlo de otra manera.</p>\n<hr />\n<h3 id=\"faq34\">¿Quedan los permisos cambiados después de que ADB esté deshabilitado, o se deniega el root o se desinstala PMX?<a class=\"headerlink\" href=\"#faq34\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX por sí misma no puede conceder ni revocar los permisos de otras aplicaciones. De hecho, ninguna aplicación de terceros tiene el privilegio de hacerlo. Es el sistema operativo Android el que controla los permisos de las aplicaciones. PMX sólo envía una solicitud al framework Android para cambiar el estado de un permiso.</p>\n<p>Así que una vez que se cambia un permiso, no hay diferencia si desinstalas PMX o dejas de tener sus privilegios. El permiso permanece en cualquier estado que sea, a menos que usted o el sistema operativo lo cambien de nuevo.</p>\n<hr />\n<h3 id=\"faq15\">¿Por qué no puedo cambiar el permiso XYZ?<a class=\"headerlink\" href=\"#faq15\" title=\"Permanent link\">&para;</a></h3>\n<p>Permisos de manifiesto con solo <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">nivel de protección</a> (y algunos otros) son cambiables. AppOps no dependen de otros AppOp son modificables. Así es como funciona Android, no podemos cambiar el comportamiento. Ver <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\">Manifest permisos y AppOps</a>.</p>\n<p>Adicionalmente, PMX protege algunas aplicaciones y permisos críticos del framework. Cambiarlos podría bloquear el dispositivo. Ver la <a href=\"#faq17\">pregunta relacionada</a>.</p>\n<p>También ve <a href=\"#faq3\">¿Por qué no se puede cambiar algo AppOps ?</a></p>\n<p>Ten en cuenta que a partir de Android 15, los permisos manifest de las aplicaciones del sistema con nivel de protección <em>Desarrollo</em> no pueden ser revocados. Android ignora silenciosamente la solicitud.</p>\n<hr />\n<h3 id=\"faq37\">He cambiado un permiso pero no funciona. ¿Por qué?<a class=\"headerlink\" href=\"#faq37\" title=\"Permanent link\">&para;</a></h3>\n<p>Después de cambiar un permiso con éxito, si no está obteniendo los resultados deseados e.j. se revierte inmediatamente o después de algunas horas o días, es el sistema operativo Android al que hay que culpar. Por favor vea:</p>\n<ul>\n<li><a href=\"#faq2\">¿Cómo cambia PMX otros permisos de aplicaciones?</a></li>\n<li><a href=\"#faq3\">¿Por qué no se puede cambiar algún AppOps ?</a></li>\n</ul>\n<p>A medida que usas aplicaciones, Android puede cambiar sus permisos. Y por desgracia no tenemos ninguna manera de evitarlo. <a href=\"../permission-watcher/\">Asistente de permisos</a> y <a href=\"../scheduled-check/\">Checker Programado</a> pueden ayudar en este sentido.</p>\n<hr />\n<h3 id=\"faq3\">¿Por qué no se pueden cambiar algunos AppOps?<a class=\"headerlink\" href=\"#faq3\" title=\"Permanent link\">&para;</a></h3>\n<p>A veces ves el modo \"AppOp no cambiado\". Significa que Android rechazó la solicitud de cambiar el modo AppOp. No puedes cambiarlo sin importar qué método o aplicación utilices. Podría haber múltiples razones posibles.</p>\n<ul>\n<li>\n<p>Algunos AppOps dependen de sus permisos manifest correspondientes. Por lo tanto, no se pueden cambiar de forma independiente. Por ejemplo, es posible que no puedas negar <code>READ_CONTACTS</code> AppOp si se concede un permiso <code>android.permission.READ_CONTACTS</code> manifest.</p>\n<p>También si la aplicación no ha solicitado el permiso manifest en su archivo manifest , su permiso AppOp tampoco se puede conceder. Pero todavía puede aparecer en la lista de permisos de la aplicación si la aplicación ha intentado usarla (y ha sido rechazada). La <code>SYSTEM_ALERT_WINDOW</code> es uno de esos ejemplos.</p>\n</li>\n<li>\n<p>Algunos AppOps sólo son usados por Android por compatibilidad (por ejemplo, <code>LEGACY_STORAGE</code>) y no controlan nada. Si exploramos su trabajo subyacente se revela que conceder o revocar dichos permisos no tiene sentido.</p>\n</li>\n<li>\n<p>Algunos permisos no se pueden cambiar si la aplicación se está ejecutando o está apuntando a una versión más antigua o nueva de Android.</p>\n</li>\n<li>\n<p>Algunos OEM ROMs se comportan extraños cuando se trata de AppOps. Ver <a href=\"#faq43\">¿Por qué PMX no funciona correctamente en sistemas operativos OEM o ROMspersonalizados?</a></p>\n</li>\n<li>\n<p>Muchos AppOps pueden tener 2 modos: modo paquete y modo UID. Es posible que uno pueda ser cambiado mientras que el otro no lo sea.</p>\n<p>Generalmente UID AppOps tiene precedencia sobre sus contrapartes AppOp del paquete. En este caso, el modo efectivo del paquete AppOp es el mismo que el de su UID AppOps. Así que no puede cambiar el paquete AppOp solo.</p>\n<p>Algunos AppOps prefieren configurarse en modo de paquete, no en modo UID. Pero si está mal configurado en modo UID (con la herramienta de línea de comandos o por alguna otra aplicación), no responde a los cambios. Haz \"Restablecer AppOps\" desde el menú superior derecho para que funcione de nuevo. Este es también el caso de otros AppOps que tienen un permiso manifest correspondiente con <em>AppOp</em> <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">nivel de protección</a>.</p>\n</li>\n</ul>\n<p>En realidad hay muchas más explicaciones si buscamos cada aplicación y permiso individualmente (lo cual no suena práctico). Como se ha dicho anteriormente, PMX no cambia los permisos de otras aplicaciones por sí sola. Así que incluso si por alguna razón desconocida, Android no cambia un permiso, o lo revierte inmediatamente, no hay nada que podamos hacer para forzarlo porque estas son las limitaciones en el final de Android. Más bien, debo decir que así es como funciona Android.</p>\n<p>Relacionado:</p>\n<ul>\n<li><a href=\"#faq11\">¿Qué son diferentes modos AppOp y cuál debería usar?</a></li>\n<li><a href=\"#faq41\">¿Por qué no puedo cambiar el modo AppOp en primer plano?</a></li>\n</ul>\n<hr />\n<h3 id=\"faq6\">¿Por qué no veo la aplicación XYZ en la lista de paquetes?<a class=\"headerlink\" href=\"#faq6\" title=\"Permanent link\">&para;</a></h3>\n<p>Por favor, compruebe <strong>Filtros de exclusión</strong>. Casi todos los paquetes de Android están excluidos por defecto. Puedes excluir / incluir cualquier paquete que quieras de / a la lista visible.</p>\n<hr />\n<h3 id=\"faq7\">¿Por qué no veo el permiso XYZ en el paquete ABC?<a class=\"headerlink\" href=\"#faq7\" title=\"Permanent link\">&para;</a></h3>\n<p>Por favor, compruebe <strong>Filtros de exclusión</strong>. Los permisos que no son cambiables están excluidos de la lista visible por defecto.</p>\n<hr />\n<h3 id=\"faq8\">¿Por qué no veo XYZ AppOp en el paquete ABC?<a class=\"headerlink\" href=\"#faq8\" title=\"Permanent link\">&para;</a></h3>\n<p>Por favor, compruebe <strong>Filtros de exclusión</strong> si XYZ AppOp está excluido de la lista visible. O puede que el paquete ABC no esté usando la operación XYZ. Usted no necesita estar preocupado por esto.</p>\n<p>Pero si quieres ver el XYZ AppOp para todas las aplicaciones, ve a <strong>Filtros de Exclusión → AppOpsExtra , nunca excluido</strong> y compruebe XYZ AppOp en la lista.</p>\n<p>Por ejemplo, escribe <code>_CLIPBOARD</code> en el cuadro de búsqueda (con casilla <strong>Búsqueda profunda</strong> marcada) y obtendrás todas las aplicaciones que usaron (o intentaron usar) el permiso <code>READ_CLIPBOARD</code> o <code>WRITE_CLIPBOARD</code>. La marca de tiempo también se muestra (pero no para todos los AppOps).</p>\n<p>Si la aplicación que te preocupa no está en los resultados de la búsqueda, comprueba AppOps en la lista de <strong>filtros de exclusión</strong> mencionada anteriormente.</p>\n<hr />\n<h3 id=\"faq5\">¿Qué debo seleccionar para UID de Daemon Privileged en Configuración Avanzada? ¿Sistema o ADB?<a class=\"headerlink\" href=\"#faq5\" title=\"Permanent link\">&para;</a></h3>\n<p>Solo importa si estás usando root, o <code>adbd</code> en su dispositivo se está ejecutando con root (lo que no es el caso con los dispositivos de usuario finales).</p>\n<p>Preferiblemente use <strong>System</strong> (UID <code>1000</code>) ya que permite más privilegios que <strong>ADB</strong> (UID <code>2000</code>). Ejemplo. cambiar los permisos \"<em>System-Fixed</em>\" sólo es posible cuando se ejecuta como sistema.</p>\n<hr />\n<h3 id=\"faq9\">¿Qué son \"permisos inválidos\" en los filtros de exclusión?<a class=\"headerlink\" href=\"#faq9\" title=\"Permanent link\">&para;</a></h3>\n<p>Si una aplicación está solicitando un permiso manifest pero no está declarada (proporcionada) por el framework Android o cualquiera de los paquetes instalados, es un permiso inválido. Por ejemplo, <code>com.android.vending.BILLING</code> no es un permiso válido si la aplicación Play Store no está instalada en tu dispositivo.</p>\n<hr />\n<h3 id=\"faq10\">¿Qué son \" AppOpsextra\" en los filtros de exclusión?<a class=\"headerlink\" href=\"#faq10\" title=\"Permanent link\">&para;</a></h3>\n<p>No todos los AppOps están siendo usados para todas las aplicaciones instaladas. Pero puedes imponer un AppOp a cualquier aplicación. Seleccionados AppOps adicionales aparecen en todas las listas de permisos de las aplicaciones para que puedas configurarlas.</p>\n<hr />\n<h3 id=\"faq11\">¿Qué son los diferentes modos AppOp y cuál debería usar?<a class=\"headerlink\" href=\"#faq11\" title=\"Permanent link\">&para;</a></h3>\n<p>Normalmente deberías permitir o Ignorar. O tal vez quieras permitir una operación sólo cuando la aplicación está en <strong>el primer plano</strong> (sólo en Android 9 y superior). <strong>Denegar</strong> es la versión intensa de Ignore que puede bloquear la aplicación solicitante. <strong>Por defecto</strong> es el comportamiento predeterminado del sistema, el cual difiere para diferentes AppOps.</p>\n<p>Ten en cuenta que no todos los modos AppOp se pueden establecer en cada AppOp para cada aplicación. Por ejemplo en las versiones recientes de Android <code>CAMERA</code> y <code>MICROPHONE</code> están permitidas para ser usadas por aplicaciones de usuario solo en primer plano (incluso si el modo establecido es <strong>Permitir</strong>). De la misma manera, algunos AppOps nunca pueden establecerse en modo <strong>Foreground</strong>.</p>\n<p>Relacionado: <a href=\"#faq3\">¿Por qué no se puede cambiar AppOps ?</a></p>\n<p>Documentación oficial: <a href=\"https://developer.android.com/reference/android/app/AppOpsManager#access-control\">AppOpsManager</a>.</p>\n<hr />\n<h3 id=\"faq12\">¿Cuál es la diferencia entre los modos \"Ignore\" y \"Denegar\" AppOp?<a class=\"headerlink\" href=\"#faq12\" title=\"Permanent link\">&para;</a></h3>\n<p><a href=\"https://developer.android.com/reference/android/app/AppOpsManager#MODE_IGNORED\">Ignore</a> falla silenciosamente mientras que <a href=\"https://developer.android.com/reference/android/app/AppOpsManager#MODE_ERRORED\">Deny</a> vuelve a lanzar un error a la aplicación que la aplicación podría no estar esperando y podría bloquear. Normalmente deberías usar <strong>Ignorar</strong>.</p>\n<hr />\n<h3 id=\"faq41\">¿Por qué no puedo cambiar el modo AppOp en primer plano?<a class=\"headerlink\" href=\"#faq41\" title=\"Permanent link\">&para;</a></h3>\n<p>El modo de primer plano no puede establecerse para todos los AppOps. Incluso cuando se establezca, puede que no dé resultados esperados.</p>\n<p>Relacionado:</p>\n<ul>\n<li><a href=\"#faq11\">¿Qué son diferentes modos AppOp y cuál debería usar?</a></li>\n<li><a href=\"#faq3\">¿Por qué no se puede cambiar algún AppOps ?</a></li>\n</ul>\n<p>Por favor, ten en cuenta que el modo de permiso \"Permitir solo mientras usas la aplicación\" no siempre establece el modo AppOp en \"Primer plano\":</p>\n<p><img alt=\"Modo de permiso de primer plano y de una vez\" class=\"media\" src=\"../../img/fg_and_one_time_perm_modes.webp\" /></p>\n<p>Normalmente solo vemos dos estados para un permiso manifest : otorgados y revocados. Pero Android usa <a href=\"https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-13.0.0_r1/core/java/android/content/pm/PackageManager.java#4655\">flags</a> para dividir estos dos estados en muchos subestados. Para algunos permisos se utiliza el mismo fenómeno para lograr la \"concesión sólo cuando la aplicación es visible\" comportamiento. El permiso AppOp no se utiliza en este caso.</p>\n<p>Para obtener más información, consulte la documentación oficial de <a href=\"https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-13.0.0_r1/core/java/android/permission/Permissions.md#background-access\">acceso en segundo plano</a> y <a href=\"https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-13.0.0_r1/core/java/android/app/AppOps.md#foreground\">acceso en primer plano</a>.</p>\n<p>Para la simplicidad, PMX no vigila las banderas de permisos en este momento. Pero en el futuro se podría añadir una opción para rastrear también los cambios en las banderas de permiso, incluso si el modo concedido o revocado permanece sin cambios.</p>\n<hr />\n<h3 id=\"faq14\">¿Qué hace el permiso <code>WAKE_LOCK</code>?<a class=\"headerlink\" href=\"#faq14\" title=\"Permanent link\">&para;</a></h3>\n<p>Las aplicaciones mantén wakelock para mantener el dispositivo despierto, es decir, no entra en <a href=\"https://developer.android.com/training/monitoring-device-state/doze-standby#understand_doze\">Modo Doz</a>.</p>\n<hr />\n<h3 id=\"faq16\">¿Cómo puedo cambiar el permiso <code>INTERNET</code>?<a class=\"headerlink\" href=\"#faq16\" title=\"Permanent link\">&para;</a></h3>\n<p>Android no permite cambiar todos los permisos, como los que tienen el <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">nivel de protección</a> <strong>Normal</strong> (e. <code>INTERNET</code>) o aquellos con un nivel de protección <strong>Fijo</strong> o <strong>Firma</strong> (generalmente aplicaciones de sistema o marco). Ver <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\">Manifest permisos y AppOps</a>.</p>\n<p>Pero si eres rooteado, <a href=\"https://github.com/mirfatif/Fyrypt\">Fyrypt</a> te da un control muy fuerte sobre la actividad de la red que ocurre en tu dispositivo.</p>\n<hr />\n<h3 id=\"faq40\">¿Qué son los permisos fijos?<a class=\"headerlink\" href=\"#faq40\" title=\"Permanent link\">&para;</a></h3>\n<p>Los permisos <strong>arreglados por el sistema</strong> son otorgados a las aplicaciones preinstaladas por los desarrolladores OEM o ROM. No se supone que se cambien. Pero si tu dispositivo está rooteado, PMX puede cambiar los permisos fijados por el sistema.</p>\n<p>Los permisos <strong>fijados en políticas</strong> son otorgados (o denegados) por los administradores de IT en dispositivos administrados. No se pueden cambiar.</p>\n<p>Los permisos <strong>fijados por el usuario</strong> son arreglados por el usuario. Si un usuario niega un permiso algunas veces cuando la aplicación lo solicita, el sistema operativo marca el permiso como fijado por el usuario y no muestra más peticiones al usuario para que conceda el permiso si la aplicación solicita el mismo permiso de nuevo. Este tipo de permisos fijos se pueden cambiar fácilmente cuando el usuario lo desee.</p>\n<hr />\n<h3 id=\"faq17\">¿Cómo puedo cambiar los permisos fijados en el sistema, los permisos de Firma/Privilegio o los permisos de las aplicaciones de framework?<a class=\"headerlink\" href=\"#faq17\" title=\"Permanent link\">&para;</a></h3>\n<p>Si tu dispositivo está rooteado, en la versión de pago puedes <strong>Permitir Cambios Críticos</strong> en <strong>Opciones Avanzadas</strong> para hacer cambios a los permisos con la bandera <strong>Corregida por sistema</strong>, nivel de protección <strong>Signature</strong> o <strong>Privileged</strong>, o los de framework app. Pero no se recomienda jugar con el sistema y las aplicaciones de framework. Puedes bloquear tu dispositivo.</p>\n<hr />\n<h3 id=\"faq18\">¿Qué es el \"modo UID\" en los permisos AppOp?<a class=\"headerlink\" href=\"#faq18\" title=\"Permanent link\">&para;</a></h3>\n<p>Es un modo de permiso AppOp que indica que cambiar esta AppOp también afectará a otras aplicaciones (con el mismo UID), si está instalado. Ver <a href=\"https://developer.android.com/guide/topics/manifest/manifest-element#uid\"><code>sharedUserId</code></a>.</p>\n<p>Ten en cuenta que el modo UID tiene precedencia sobre el modo paquete para muchos AppOps.</p>\n<hr />\n<h3 id=\"faq39\">¿Puedo controlar la función \"Quitar permisos si no se utiliza la aplicación\" de Android de PMX?<a class=\"headerlink\" href=\"#faq39\" title=\"Permanent link\">&para;</a></h3>\n<p>Sí. Esta característica está disponible desde <a href=\"https://developer.android.com/about/versions/11/privacy/permissions#auto-reset\">Android 11</a>. También está etiquetado como <strong>\"Pausar la actividad de la aplicación si no se usa\"</strong> en algunos dispositivos.</p>\n<p><img alt=\"Auto-remover permisos no utilizados\" class=\"media\" src=\"../../img/remove_unused_perms.webp\" /></p>\n<p>Para cambiar esta opción de PMX:</p>\n<ol>\n<li>Vaya a <strong>Filtros de Exclusión → Lista AppOps Extra</strong> y compruebe <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code>.</li>\n<li>Volver a la pantalla principal, escribe <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code> en la barra de búsqueda superior. Asegúrese de que la búsqueda profunda está activada en los ajustes de búsqueda.</li>\n<li>Estableció el modo <strong>Permitir</strong> o <strong>Ignorar</strong> para las aplicaciones que quieras.</li>\n</ol>\n<p>También puedes usar <a href=\"../permission-view/\">Vista de Permisos</a> o <a href=\"../batch-operations/\">Operaciones de Lotes</a> en lugar del paso 2 y 3. Aquí tienes una guía sobre cómo hacerlo utilizando operaciones por lotes:</p>\n<video class=\"media\" controls muted>\n    <source src=\"../../img/remove_unused_perms.mp4\" type=\"video/webm\">\n    Remove permissions if app isn't used\n</video>\n\n<hr />\n<h3 id=\"faq31\">¿Por qué recibo un montón de popups \"Bad ROM\"?<a class=\"headerlink\" href=\"#faq31\" title=\"Permanent link\">&para;</a></h3>\n<p>Los OEMs hacen enormes cambios en el código AOSP de stock (que es desarrollado por Google). Así que el framework AppOps en alguna personalización / OEM ROMs devuelve resultados inesperados que PMX no puede entender. Puede ignorar estas ventanas emergentes, pero significan que la funcionalidad es algo limitada.</p>\n<p>Puedes desactivar estos popups en <strong>Ajustes</strong> → <strong>Ajustes generales</strong> → <strong>Desactivar los toast ROM</strong>.</p>\n<p>Ver <a href=\"#faq43\">¿Por qué PMX no funciona correctamente en sistemas operativos OEM o ROMspersonalizados?</a></p>\n<hr />\n<h3 id=\"faq19\">¿Qué hacen los botones \"Ocultar de la lista\" (en pulsación larga)?<a class=\"headerlink\" href=\"#faq19\" title=\"Permanent link\">&para;</a></h3>\n<p>Ambos simplemente ocultan la aplicación o el permiso de la lista visible. Si no quieres cambiar un permiso para ninguna aplicación, puedes ocultarla. Y no aparecerá para ninguna aplicación. Para mostrarlo de nuevo, vaya a los ajustes de <strong>Filtros de exclusión</strong>.</p>\n<p>Del mismo modo, puede excluir una aplicación de la lista visible si no le preocupan sus permisos.</p>\n<p><img alt=\"Ocultar aplicación de la lista visible\" class=\"media\" src=\"../../img/hide_app_from_list.webp\" /> <img alt=\"Ocultar permiso de la lista visible\" class=\"media\" src=\"../../img/hide_perm_from_list.webp\" /></p>\n<hr />\n<h3 id=\"faq21\">¿Hay una lista completa de todos los permisos disponibles con explicación?<a class=\"headerlink\" href=\"#faq21\" title=\"Permanent link\">&para;</a></h3>\n<p>No hay una lista completa de permisos con descripción, al menos en mi conocimiento. La versión PMX Pro muestra una breve descripción de los permisos comunes de manifest y AppOp.</p>\n<p>Hay recursos de terceros como <a href=\"https://android.izzysoft.de/applists.php?topic=perms\">esta</a> por Izzy. El <a href=\"https://developer.android.com/\">sitio oficial de desarrollador</a> de Android y <a href=\"https://cs.android.com/\">código fuente</a> también son buenas fuentes para el aprendizaje.</p>\n<p>Con cada nueva versión de Android se añaden nuevos permisos y algunos también obsoletos. Además, no todos los permisos son necesarios para ser atendidos por cada usuario.</p>\n<hr />\n<h3 id=\"faq22\">¿Cómo utilizar la aplicación en el perfil de trabajo / entorno multiusuario?<a class=\"headerlink\" href=\"#faq22\" title=\"Permanent link\">&para;</a></h3>\n<p>La versión Pro soporta perfiles de trabajo y múltiples usuarios. Seleccione un usuario del menú desplegable.</p>\n<p><img alt=\"Menú multiusuario\" class=\"media\" src=\"../../img/multi_users.webp\" /></p>\n<hr />\n<h3 id=\"faq24\">¿Cómo se compara PMX con XPrivacyLua? ¿Pueden sustituirse mutuamente?<a class=\"headerlink\" href=\"#faq24\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX no está diseñado para reemplazar sino para complementar proyectos como XPrivacyLua. Tienen diferentes objetivos de diseño.</p>\n<p>XPrivacyLua hackea la funcionalidad estándar de Android conectándose en API internas, usando Xposed que sustituye algunas librerías Android por las hackeadas. Así que obtenemos funciones adicionales como alimentar datos falsos a las aplicaciones y recibir notificaciones de eventos relacionados con el permiso que no podemos conocer por ningún otro medio normal.</p>\n<p>Por otra parte, la PMX no está dirigida a ser un módulo de framework. Proporciona acceso conveniente a algunas API privilegiadas que las aplicaciones normales no pueden utilizar. No es hacking de la funcionalidad estándar de Android por ningún medio. La mayoría de las tareas que realiza PMX también se pueden realizar desde la línea de comandos, excepto algunas como cambiar los permisos fijos del sistema.</p>\n<p>La raíz y Xposed son dos requisitos estrictos para usar XPrivacyLua. PMX no requiere ninguno de los dos para la mayor parte. Ambos no están disponibles para muchos dispositivos o muchos usuarios no los consideran como una opción debido a las dificultades técnicas implicadas anulación de garantía, fallo de SafetyNet y otros problemas.</p>\n<p>Más explicación <a href=\"https://github.com/mirfatif/PermissionManagerX/issues/9\">here</a> y <a href=\"https://github.com/mirfatif/PermissionManagerX/issues/56#issuecomment-2790539931\">here</a>.</p>\n<hr />\n<h3 id=\"faq32\">¿Puede PMX eliminar los permisos automaticamente cuando una aplicación está cerrada, como lo hace Bouncer?<a class=\"headerlink\" href=\"#faq32\" title=\"Permanent link\">&para;</a></h3>\n<p>Sí. Ver <a href=\"../permission-watcher/\">Asistente de permisos</a> y <a href=\"../scheduled-check/\">Control programado</a>. Pero no utiliza la función <strong>Accesibilidad</strong> de Android para realizar toques / clics en pantalla en nombre del usuario (aunque es una buena característica sin necesidad de ninguna configuración adicional). PMX depende de privilegios root o ADB. Así que puede hacer mucho más (ver <a href=\"../\">¿Qué es PMX?</a>) de lo que se puede hacer usando funciones de Accesibilidad.</p>\n<p>Si utilizas ADBy no root, es posible que <strong>Permission Watcher</strong> no funcione en algunos dispositivos. Por favor vea <a href=\"../use-with-adb/#limitations-of-adb\">Limitaciones de ADB</a>.</p>\n<hr />\n<h3 id=\"faq35\">¿Puedo recibir notificaciones cuando se instala una nueva aplicación?<a class=\"headerlink\" href=\"#faq35\" title=\"Permanent link\">&para;</a></h3>\n<p>Sí. Consulta <a href=\"../permission-watcher/\">Permission Watcher</a>.</p>\n<p>Desde Android 8, las aplicaciones en segundo plano (que no se están ejecutando) no pueden recibir notificaciones sobre la instalación de nuevas aplicaciones. Por lo tanto, tenéis que ejecutar un servicio en primer plano (con notificación persistente) para recibir este evento. O puede considerar el uso de <a href=\"../scheduled-check/\">Check Programado</a> para mantener las cosas en su lugar.</p>\n<hr />\n<h3 id=\"faq38\">Cuando una nueva aplicación está instalada, ¿puede PMX soltar sus permisos por defecto?<a class=\"headerlink\" href=\"#faq38\" title=\"Permanent link\">&para;</a></h3>\n<p>Sí. Pero no hay permisos para caer. Todos los permisos revocables de manifest ya son revocados y permanecen revocados a menos que el usuario les conceda explícitamente. En lo que se refiere a AppOps , muchos de ellos no aparecen hasta al menos una vez utilizados por la aplicación, por ejemplo, <code>VIBRATE</code> y <code>READ_CLIPBOARD</code>. Muchos otros (por ejemplo, <code>READ_CONTACTS</code>) ya han eliminado los permisos correspondientes manifest , tal y como se ha señalado. Así que no es predecible en el momento de la instalación de la aplicación qué AppOps debe ser eliminado.</p>\n<p>Sin embargo, se muestra una notificación cuando se instala una nueva aplicación (si se utiliza <a href=\"../permission-watcher/\">Permission Watcher</a>), por lo que el usuario puede configurar los permisos uno por uno o <a href=\"../batch-operations/#permission-profiles\">aplicar un perfil</a>.</p>\n<hr />\n<h3 id=\"faq25\">¿Por qué PMX requiere permisos de INTERNET?<a class=\"headerlink\" href=\"#faq25\" title=\"Permanent link\">&para;</a></h3>\n<p>La <a href=\"https://mirfatif.github.io/mirfatif/getpro\">versión Pro independiente</a> requiere conexión a internet para verificar la licencia. Otra <a href=\"../versions/\">versions</a> puede funcionar completamente sin conexión. Aunque la aplicación Play Store necesita conexión a internet para verificar la licencia.</p>\n<h4 id=\"optional-use-of-internet-permission\">Uso opcional del permiso <code>android.permission.INTERNET</code><a class=\"headerlink\" href=\"#optional-use-of-internet-permission\" title=\"Permanent link\">&para;</a></h4>\n<ul>\n<li>Buscar actualizaciones de la aplicación. Puedes desactivar esto en la configuración de la aplicación.</li>\n</ul>\n<h4 id=\"on-device-use-of-internet-permission\">Uso local (en dispositivo) del permiso <code>android.permission.INTERNET</code><a class=\"headerlink\" href=\"#on-device-use-of-internet-permission\" title=\"Permanent link\">&para;</a></h4>\n<p>Android no permite que las aplicaciones creen sockets de red sin tener el permiso <a href=\"https://developer.android.com/reference/android/Manifest.permission#INTERNET\"><code>INTERNET</code></a> incluso si están destinadas a ser utilizadas solo localmente y no para una conexión a Internet. PMX tiene dos usos de conexiones locales (en el dispositivo) (la capacidad de crear sockets <code>localhost</code> en <code>127.0.0.1</code>) para la Comunicación de Inter Proceso (IPC):</p>\n<ul>\n<li>PMX inicia un proceso en segundo plano con privilegios root / ADB y habla con ese proceso a través del socket de red. Después del batido de mano inicial, ambos procesos empiezan a hablar sobre Binder. No tenemos mejor manera de hacerlo porque Android no permite que las aplicaciones hablen sobre los sockets de dominio UNIX tampoco.</li>\n<li>Si tu dispositivo no está rooteado y <a href=\"../use-with-adb/\">usas PMX con ADB</a>, entonces conectarte a <code>adbd</code> requiere permisos de Internet. Ver <a href=\"#faq27\">¿Está PMX espiándome usando ADB a través de red?</a></li>\n</ul>\n<p>Así que si la aplicación no puede crear o usar sockets de red local, fallará. Y si quieres detener el uso de Internet de PMX . no debe impedir que la aplicación hable con procesos en el dispositivo a través de <a href=\"https://superuser.com/questions/263142\">interfaz de loopback para IPC</a>. Este es normalmente el caso de firewalls basados en <code>iptables</code>como <a href=\"https://github.com/mirfatif/Fyrypt\">Fyrypt</a> y cortafuegos basados en VPN como NetGuard. Pero algunos ROMs tienen una función integrada para no permitir el acceso a la red:</p>\n<p><img alt=\"Permitir acceso a red\" class=\"media\" src=\"../../img/allow_network_access.webp\" /></p>\n<p>Esto no solo evita que la aplicación use internet, sino que también deshabilita su capacidad de crear sockets de bucle para IPC. Así que <strong>PMX no podrá obtener privilegios root / ADB si se deniega este permiso</strong>.</p>\n<hr />\n<h3 id=\"faq26\">¿Cuánta privacidad es amigable con PMX? ¿Recolectas los datos de los usuarios?<a class=\"headerlink\" href=\"#faq26\" title=\"Permanent link\">&para;</a></h3>\n<p>No. No recogemos sus datos. Nunca. Ni siquiera un byte. PMX tiene una versión de código abierto. Creemos que nuestros usuarios están educados y bien informados de por qué están usando PMX. Respetamos su privacidad, por lo que no se recogen datos nunca, incluso los registros de accidentes. También puede que quieras ver nuestra <a href=\"https://mirfatif.github.io/PermissionManagerX/PRIVACY\">Política de privacidad</a>.</p>\n<hr />\n<h3 id=\"faq27\">¿Me está espiando PMX usando ADB en red?<a class=\"headerlink\" href=\"#faq27\" title=\"Permanent link\">&para;</a></h3>\n<p>No.</p>\n<p>PMX habla con el proceso <code>adbd</code> sobre localhost (<code>127.0.0.1</code>). Pero no hay forma de iniciar <code>adbd</code> solo escucha en localhsot, y no en otras interfaces de red (porque ADB está pensado para ser usado externamente desde un PC). Seguramente puedes detener que <code>adbd</code> escuche desde direcciones IP externas, si puedes. El PMX seguiría funcionando sin que ningún puerto estuviera expuesto externamente.</p>\n<p>También puedes cambiar el puerto <code>5555</code> a cualquier número que quieras en <strong>Configuración avanzada</strong>. No es un código duro.</p>\n<p>También ADB desde Android 4.2 está pensado para ser protegido con <strong>autenticación de clave RSA</strong> (uno de los mecanismos de autenticación más fuertes). Así que incluso si el dispositivo es accesible desde Internet (que es altamente <a href=\"https://android.stackexchange.com/a/205807/218526\">unlikely</a>), nadie puede hacer una conexión ADB sin autenticación.</p>\n<p>Puede verificar estas afirmaciones de la forma que desee. Estamos aquí para asistirle técnicamente.</p>\n<hr />\n<h3 id=\"faq28\">¿ PMX está utilizando mal los privilegios de root para recoger mis datos?<a class=\"headerlink\" href=\"#faq28\" title=\"Permanent link\">&para;</a></h3>\n<p>Creemos en el <a href=\"https://wikipedia.org/wiki/Principle_of_least_privilege\">principio del menor privilegio</a>. Pero debido a la naturaleza restringida del sistema operativo Android, PMX no puede funcionar sin tener privilegios elevados. Lo que podemos ofrecer es, si eres una persona experta en tecnología podemos enseñarte cómo hacer difícil que las aplicaciones hagan conexiones a Internet, incluso con privilegios de root.</p>\n<hr />\n<h3 id=\"faq29\">Creo que PMX es inútil. ¿Por qué se creó?<a class=\"headerlink\" href=\"#faq29\" title=\"Permanent link\">&para;</a></h3>\n<p>Respetamos su opinión. PMX no es para todos (y por eso no fue pulido y liberado al público durante años porque sabíamos que tenemos una audiencia muy pequeña). Es sólo para algunas almas más expertas en tecnología que son extravagantes acerca de su privacidad y control de dispositivos. La mayoría de los usuarios del teléfono están en manos de sus desarrolladores de aplicaciones y OEM. No saben lo que se les está haciendo y sus datos. La mayoría prefiere la comodidad sobre la privacidad. Y está bien.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Volver al principio\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Pie\" >\n        \n          \n          <a href=\"../versions/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Anterior: Versiones PMX\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Anterior\n              </span>\n              <div class=\"md-ellipsis\">\n                Versiones PMX\n              </div>\n            </div>\n          </a>\n        \n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copiado al portapapeles\", \"clipboard.copy\": \"Copiar al portapapeles\", \"search.result.more.one\": \"1 m\\u00e1s en esta p\\u00e1gina\", \"search.result.more.other\": \"# m\\u00e1s en esta p\\u00e1gina\", \"search.result.none\": \"No se encontraron documentos\", \"search.result.one\": \"1 documento encontrado\", \"search.result.other\": \"# documentos encontrados\", \"search.result.placeholder\": \"Teclee para comenzar b\\u00fasqueda\", \"search.result.term.missing\": \"Falta\", \"select.version\": \"Seleccionar versi\\u00f3n\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/es/index.html",
    "content": "\n<!doctype html>\n<html lang=\"es\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Resumen de PMX y la función gratuita vs pagada - comprobaciones programadas, observación de permisos, revocación automática, operaciones por lotes y herramientas avanzadas de permisos.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/\">\n      \n      \n      \n        <link rel=\"next\" href=\"permission-references/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/de/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/es/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/fr/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/pt-BR/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/ru/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/ar/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/zh/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>¿Qué es PMX? - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#rate-review\" class=\"md-skip\">\n          Saltar a contenido\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Cabecera\">\n    <a href=\"./\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              ¿Qué es PMX?\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Seleccionar idioma\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/de/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/es/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/fr/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/pt-BR/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/ru/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/ar/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/zh/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Búsqueda\" placeholder=\"Búsqueda\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Buscar\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Limpiar\" aria-label=\"Limpiar\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Inicializando búsqueda\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navegación\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"./\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ¿Qué es PMX?\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ¿Qué es PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Tabla de contenidos\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Tabla de contenidos\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#rate-review\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Calificaciones / Reseñas / Comentarios / votos positivos / estrellas\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permisos de manifiesto y AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Referencias de Permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interfaz de usuario explicada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Buscar\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Chequeo Programado\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observador de Permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ver permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Operaciones de Lote\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integración con WhatsRrunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Usando PMX con ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versiones PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/es/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Funciones pagadas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs de PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Descargas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Capturas de pantalla\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/es/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Calificaciones / reseñas / Comentarios / votos positivos / estrellas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contáctenos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Aplicaciones\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Aplicaciones\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gestor de permisos X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRrunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQs Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Preguntas frecuentes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guía ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guía ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Emparejar/conectar la aplicación a ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>¿Qué es PMX?</h1>\n\n<p>Es la aplicación eXtended Permission Manager para Android la que facilita la configuración y revisión de los permisos deseados en las aplicaciones instaladas, mantener un seguimiento de cualquier cambio no deseado. Aprovechando el control de su dispositivo, le permite proteger su privacidad y ahorrar recursos como el uso de la batería.</p>\n<p>PMX proporciona toda la información y controles dispersos (o no disponibles) relacionados con los permisos en una sola pantalla para que puedas verlos y controlarlos de una manera completa y conveniente.</p>\n<p>Usando PMX puedes:</p>\n<ul>\n<li>Ver / conceder / revocar todos los <strong>permisos manifest</strong> que se pueden configurar o no desde la pantalla de configuración de la aplicación. La lista de permisos que no se pueden establecer desde GUI es muy larga.</li>\n<li>Ver todos los <strong>permisos AppOp</strong> que normalmente no tienen ninguna configuración de GUI. Ejemplo. <code>VIBRATE</code> y <code>READ_CLIPBOARD</code>. Puede configurar el modo AppOps deseado, p. ej., <em>Ignorar</em> o <em>Foreground</em>.</li>\n<li>Ver todos los permisos solicitados por una aplicación <strong>no cambiable</strong>.</li>\n<li>Ver el último tiempo usado para muchos permisos de AppOp.</li>\n<li>Cambie los permisos <strong>arreglados por sistema</strong> que no pueden ser cambiados por ningún otro medio.</li>\n<li>Supervisa en tiempo real los cambios de permisos o realiza análisis programados.</li>\n<li>Ordenar aplicaciones y permisos por muchos parámetros, incluyendo fecha de instalación y número de permisos.</li>\n<li>Hacer consultas de búsqueda avanzada en aplicaciones y sus permisos.</li>\n<li>Y mucho más.</li>\n</ul>\n<p>Vea también la descripción de Github <a href=\"https://mirfatif.github.io/PermissionManagerX\">README</a> y <a href=\"https://play.google.com/store/apps/details?id=com.mirfatif.permissionmanagerx\">Play Store</a>. O simplemente pruébalo. Ofrecemos una versión gratuita y una prueba gratuita de un mes.</p>\n<hr />\n<p><strong>¿Es increíble na?</strong> Vamos a entrar en detalles.</p>\n<ul>\n<li><a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\">Permisos de manifiesto y AppOps</a></li>\n<li><a href=\"permission-references/\">Referencias de Permiso</a></li>\n<li><a href=\"details/\">Interfaz de usuario explicada</a></li>\n<li><a href=\"search/\">Buscar</a></li>\n<li><a href=\"scheduled-check/\">Chequeo Programado</a></li>\n<li><a href=\"permission-watcher/\">Permission Watcher</a></li>\n<li><a href=\"permission-view/\">Vista de Permisos</a></li>\n<li><a href=\"batch-operations/\">Operaciones por lote</a></li>\n<li><a href=\"whatsrunning-integration/\">Integración con WhatsRunning</a></li>\n<li><a href=\"use-with-adb/\">Usando PMX con ADB</a></li>\n<li><a href=\"versions/\">Versiones PMX</a></li>\n<li><a href=\"/PermissionManagerX/help/versions/#paid-features\">Funciones pagadas</a></li>\n<li><a href=\"faqs/\">Preguntas Frecuentes de PMX</a></li>\n<li><a href=\"https://mirfatif.github.io/PermissionManagerX\">Descargas</a></li>\n<li><a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\">Capturas de pantalla</a></li>\n<li><a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\">Contáctenos</a></li>\n</ul>\n<hr />\n<h2 id=\"rate-review\">Calificaciones / Reseñas / Comentarios / votos positivos / estrellas<a class=\"headerlink\" href=\"#rate-review\" title=\"Permanent link\">&para;</a></h2>\n<ul>\n<li><a href=\"https://play.google.com/store/apps/details?id=com.mirfatif.permissionmanagerx\">Play Store</a></li>\n<li><a href=\"https://forum.xda-developers.com/t/app-7-0-permission-manager-x-manage-appops-and-manifest-permissions.4187657\">XDA</a></li>\n<li><a href=\"https://github.com/mirfatif/PermissionManagerX\">GitHub</a></li>\n</ul>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Volver al principio\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Pie\" >\n        \n        \n          \n          <a href=\"permission-references/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Siguiente: Referencias de Permisos\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Siguiente\n              </span>\n              <div class=\"md-ellipsis\">\n                Referencias de Permisos\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copiado al portapapeles\", \"clipboard.copy\": \"Copiar al portapapeles\", \"search.result.more.one\": \"1 m\\u00e1s en esta p\\u00e1gina\", \"search.result.more.other\": \"# m\\u00e1s en esta p\\u00e1gina\", \"search.result.none\": \"No se encontraron documentos\", \"search.result.one\": \"1 documento encontrado\", \"search.result.other\": \"# documentos encontrados\", \"search.result.placeholder\": \"Teclee para comenzar b\\u00fasqueda\", \"search.result.term.missing\": \"Falta\", \"select.version\": \"Seleccionar versi\\u00f3n\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/es/permission-references/index.html",
    "content": "\n<!doctype html>\n<html lang=\"es\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Guardar, comparar y restaurar los estados de referencia de permisos en PMX para que la configuración de permisos deseada pueda ser respaldada y reaplicada a través de instalaciones.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/permission-references/\">\n      \n      \n        <link rel=\"prev\" href=\"../\">\n      \n      \n        <link rel=\"next\" href=\"../details/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../permission-references/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/permission-references/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/permission-references/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/permission-references/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/permission-references/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/permission-references/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/permission-references/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Referencias de Permisos - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Cabecera\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Referencias de Permisos\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Seleccionar idioma\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../permission-references/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/permission-references/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/permission-references/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/permission-references/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/permission-references/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/permission-references/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/permission-references/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Búsqueda\" placeholder=\"Búsqueda\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Buscar\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Limpiar\" aria-label=\"Limpiar\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Inicializando búsqueda\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navegación\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ¿Qué es PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permisos de manifiesto y AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Referencias de Permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interfaz de usuario explicada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Buscar\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Chequeo Programado\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observador de Permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ver permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Operaciones de Lote\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integración con WhatsRrunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Usando PMX con ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versiones PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/es/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Funciones pagadas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs de PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Descargas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Capturas de pantalla\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/es/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Calificaciones / reseñas / Comentarios / votos positivos / estrellas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contáctenos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Aplicaciones\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Aplicaciones\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gestor de permisos X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRrunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQs Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Preguntas frecuentes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guía ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guía ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Emparejar/conectar la aplicación a ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Referencias de Permisos</h1>\n\n<p>Supongamos que pasaste un ajuste de domingo entero los permisos deseados en más de 200 aplicaciones instaladas. Y:</p>\n<ul>\n<li>Al mes siguiente actualizaste tu dispositivo o instalaste un nuevo ROM.</li>\n<li>O desinstalaste y reinstalaste algunas de las aplicaciones por alguna razón.</li>\n<li>O usted concedió algunos permisos, como solicitaron las aplicaciones.</li>\n</ul>\n<p>¿Va a pasar por todo el problema una vez más?</p>\n<p>No lo necesitas. Puedes hacer que PMX recuerde los estados de tu permiso deseado. Establece un permiso, hazlo <font color=\"#90EE90\">GREEN</font>y listo. Sólo tardará unos minutos en ver todos los paquetes instalados y averiguar qué permisos no están correctamente configurados. . realizando una búsqueda rápida: <code>:RED|:ORANGE</code> o <code>!:GREEN</code>. Ver <a href=\"../search/\">Search</a> para más detalles.</p>\n<p>Tres <strong>estados de referencia</strong> son:</p>\n<ul>\n<li><font color=\"#FFC107\">ORANGE</font> estado indica que no se ha establecido ningún valor de referencia.</li>\n<li><font color=\"#90EE90\">GREEN</font> indica que el valor de referencia coincide con el valor establecido actualmente.</li>\n<li><font color=\"#FF0000\">RED</font> indica que el valor de referencia y el valor establecido difieren.</li>\n</ul>\n<p>Los estados de referencia pueden ser <strong>respaldados</strong> y <strong>restaurados</strong> convenientemente. Después de una restauración, hay una manera conveniente de establecer todos los permisos de acuerdo a las referencias restauradas. Ver <a href=\"../batch-operations/\">Operaciones por lote</a>.</p>\n<p>Hay múltiples formas de establecer una referencia:</p>\n<ul>\n<li>Mantenga pulsado un permiso y pulse el botón \"Establecer referencia\" / \"Limpiar referencia\".</li>\n<li>Hay una opción de menú superior en la pantalla de lista de permisos de cada aplicación para establecer o borrar todas las referencias.</li>\n<li>Establece referencias a granel con <a href=\"../batch-operations/\">Operaciones de lote</a>.</li>\n<li>Active la preferencia \"Configuración automática de referencia\" en Ajustes → Configuración General. Así que cada vez que cambia un estado de permisos, también se establece como referencia.</li>\n</ul>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Volver al principio\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Pie\" >\n        \n          \n          <a href=\"../\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Anterior: ¿Qué es PMX?\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Anterior\n              </span>\n              <div class=\"md-ellipsis\">\n                ¿Qué es PMX?\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../details/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Siguiente: Interfaz de usuario explicada\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Siguiente\n              </span>\n              <div class=\"md-ellipsis\">\n                Interfaz de usuario explicada\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copiado al portapapeles\", \"clipboard.copy\": \"Copiar al portapapeles\", \"search.result.more.one\": \"1 m\\u00e1s en esta p\\u00e1gina\", \"search.result.more.other\": \"# m\\u00e1s en esta p\\u00e1gina\", \"search.result.none\": \"No se encontraron documentos\", \"search.result.one\": \"1 documento encontrado\", \"search.result.other\": \"# documentos encontrados\", \"search.result.placeholder\": \"Teclee para comenzar b\\u00fasqueda\", \"search.result.term.missing\": \"Falta\", \"select.version\": \"Seleccionar versi\\u00f3n\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/es/permission-view/index.html",
    "content": "\n<!doctype html>\n<html lang=\"es\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Navegar los permisos por nombre y nivel de protección, ver cuántas aplicaciones usan cada permiso y perforar los controles de permisos por aplicación con PMX.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/permission-view/\">\n      \n      \n        <link rel=\"prev\" href=\"../permission-watcher/\">\n      \n      \n        <link rel=\"next\" href=\"../batch-operations/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../permission-view/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/permission-view/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/permission-view/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/permission-view/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/permission-view/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/permission-view/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/permission-view/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Ver permisos - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Cabecera\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Ver permisos\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Seleccionar idioma\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../permission-view/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/permission-view/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/permission-view/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/permission-view/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/permission-view/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/permission-view/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/permission-view/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Búsqueda\" placeholder=\"Búsqueda\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Buscar\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Limpiar\" aria-label=\"Limpiar\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Inicializando búsqueda\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navegación\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ¿Qué es PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permisos de manifiesto y AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Referencias de Permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interfaz de usuario explicada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Buscar\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Chequeo Programado\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observador de Permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ver permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Operaciones de Lote\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integración con WhatsRrunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Usando PMX con ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versiones PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/es/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Funciones pagadas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs de PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Descargas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Capturas de pantalla\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/es/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Calificaciones / reseñas / Comentarios / votos positivos / estrellas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contáctenos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Aplicaciones\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Aplicaciones\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gestor de permisos X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRrunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQs Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Preguntas frecuentes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guía ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guía ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Emparejar/conectar la aplicación a ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Ver permisos</h1>\n\n<p>Vista de permisos muestra una lista de todos los permisos con un recuento de cuántas aplicaciones están usando estos permisos.</p>\n<p><img alt=\"Vista de permiso\" class=\"media\" src=\"../../img/perm_view.webp\" /></p>\n<ol>\n<li>Nombre de permiso</li>\n<li>Nivel de protección</li>\n<li>Conteo de aplicaciones</li>\n<li>Número de permisos concedidos fuera del total de permisos. Este último puede ser más grande que el conteo de aplicaciones porque algunas aplicaciones pueden usar un permiso AppOp dos veces (en <a href=\"../faqs/#faq18\">modo UID</a>).</li>\n</ol>\n<p>Cuando selecciona un permiso, se muestra una lista de aplicaciones que utilizan este permiso:</p>\n<p><img alt=\"Vista de permiso\" class=\"media\" src=\"../../img/perm_view2.webp\" /></p>\n<ol>\n<li>Nombre de permiso</li>\n<li>Descripción del permiso</li>\n<li>Marca que indica que el permiso es otorgado</li>\n<li>Icono App</li>\n<li>Etiqueta de la aplicación</li>\n<li>Nombre del paquete</li>\n<li>UID de App</li>\n</ol>\n<p>Cuando seleccionas una aplicación, la <a href=\"../details/#permissions-list\">lista de permisos</a> abre donde puedes cambiar el estado del permiso.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Volver al principio\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Pie\" >\n        \n          \n          <a href=\"../permission-watcher/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Anterior: Observador de Permisos\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Anterior\n              </span>\n              <div class=\"md-ellipsis\">\n                Observador de Permisos\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../batch-operations/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Siguiente: Operaciones de Lote\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Siguiente\n              </span>\n              <div class=\"md-ellipsis\">\n                Operaciones de Lote\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copiado al portapapeles\", \"clipboard.copy\": \"Copiar al portapapeles\", \"search.result.more.one\": \"1 m\\u00e1s en esta p\\u00e1gina\", \"search.result.more.other\": \"# m\\u00e1s en esta p\\u00e1gina\", \"search.result.none\": \"No se encontraron documentos\", \"search.result.one\": \"1 documento encontrado\", \"search.result.other\": \"# documentos encontrados\", \"search.result.placeholder\": \"Teclee para comenzar b\\u00fasqueda\", \"search.result.term.missing\": \"Falta\", \"select.version\": \"Seleccionar versi\\u00f3n\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/es/permission-watcher/index.html",
    "content": "\n<!doctype html>\n<html lang=\"es\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Monitorear automáticamente los cambios de permisos de la aplicación con PMX: obtener notificaciones, revertir cambios no deseados o revocar automáticamente cuando las aplicaciones salen de primer plano.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/permission-watcher/\">\n      \n      \n        <link rel=\"prev\" href=\"../scheduled-check/\">\n      \n      \n        <link rel=\"next\" href=\"../permission-view/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../permission-watcher/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/permission-watcher/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/permission-watcher/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/permission-watcher/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/permission-watcher/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/permission-watcher/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/permission-watcher/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Observador de Permisos - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Cabecera\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Observador de Permisos\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Seleccionar idioma\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../permission-watcher/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/permission-watcher/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/permission-watcher/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/permission-watcher/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/permission-watcher/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/permission-watcher/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/permission-watcher/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Búsqueda\" placeholder=\"Búsqueda\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Buscar\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Limpiar\" aria-label=\"Limpiar\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Inicializando búsqueda\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navegación\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ¿Qué es PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permisos de manifiesto y AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Referencias de Permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interfaz de usuario explicada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Buscar\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Chequeo Programado\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observador de Permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ver permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Operaciones de Lote\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integración con WhatsRrunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Usando PMX con ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versiones PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/es/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Funciones pagadas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs de PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Descargas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Capturas de pantalla\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/es/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Calificaciones / reseñas / Comentarios / votos positivos / estrellas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contáctenos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Aplicaciones\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Aplicaciones\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gestor de permisos X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRrunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQs Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Preguntas frecuentes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guía ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guía ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Emparejar/conectar la aplicación a ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Observador de Permisos</h1>\n\n<p>Algunas aplicaciones no funcionan sin tener cierto permiso concedido. Pero quieres conceder el permiso por el momento solo cuando estás usando la aplicación, y revocar el permiso tan pronto como abandones la aplicación.</p>\n<p>Permission Watcher hace exactamente eso. Tan pronto como salga de la aplicación, o después de que haya pasado el tiempo establecido, revoca los permisos de una aplicación (manifest y AppOp) por sí sola. o le pide que lo haga, dependiendo de las preferencias que haya establecido.</p>\n<p><img alt=\"Vigilante de permisos\" class=\"media\" src=\"../../img/perm_watcher.gif\" /></p>\n<p>El permiso Watcher también le notifica que establezca permisos en aplicaciones recién instaladas (en el perfil principal de usuario / propietario solamente).</p>\n<p><img alt=\"Ajustes del observador de permisos\" class=\"media\" src=\"../../img/watcher_settings.webp\" /></p>\n<p>Nota:</p>\n<ul>\n<li>Solo se revocan los permisos con estado de referencia <font color=\"#FF0000\">ROJO</font>, no los que tienen estado <font color=\"#FFC107\">NARANJA</font>. Así que <strong>DEBAS</strong> primero estableces los estados de referencia. Ver <a href=\"../permission-references/\">Referencias de Permisos</a>.</li>\n<li>Manifest permisos solo se supervisan los con el <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">nivel de protección</a> <em>Peligroso</em>. Éstos son los que normalmente cambian. Los permisos con nivel de protección <em>Signature</em> o <em>Desarrollo</em> o aquellos con bandera <em>Corregida por sistema</em> no son observados, aunque son cambiables.</li>\n<li>PMX solo supervisa las aplicaciones instaladas por el usuario o las aplicaciones normales del sistema, no las aplicaciones del marco. Cambiarlos podría ladrar el dispositivo.</li>\n<li>En algunos dispositivos, el Watcher de Permisos puede no funcionar de forma fiable para aplicaciones en el usuario / perfil secundario. Se recomienda usarlo en combinación con el Checker Programado.</li>\n</ul>\n<hr />\n<p><strong id=\"perm-watcher-fails\">¿Por qué falló iniciar el Watcher de Permisos?</strong></p>\n<p>¿Estás usando ADB? Algunos OEMs eliminan el permiso <code>OBSERVE_GRANT_REVOKE_PERMISSIONS</code> o <code>SET_ACTIVITY_WATCHER</code> del paquete <em>Shell</em>. Si este es el caso de usted, lo lamentamos. Esto es algo que no podemos solucionar. En tales dispositivos, el Watcher de Permisos sólo puede funcionar con root. Ver <a href=\"../use-with-adb/#limitations-of-adb\">Limitaciones de ADB</a>.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Volver al principio\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Pie\" >\n        \n          \n          <a href=\"../scheduled-check/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Anterior: Chequeo Programado\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Anterior\n              </span>\n              <div class=\"md-ellipsis\">\n                Chequeo Programado\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../permission-view/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Siguiente: Ver permisos\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Siguiente\n              </span>\n              <div class=\"md-ellipsis\">\n                Ver permisos\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copiado al portapapeles\", \"clipboard.copy\": \"Copiar al portapapeles\", \"search.result.more.one\": \"1 m\\u00e1s en esta p\\u00e1gina\", \"search.result.more.other\": \"# m\\u00e1s en esta p\\u00e1gina\", \"search.result.none\": \"No se encontraron documentos\", \"search.result.one\": \"1 documento encontrado\", \"search.result.other\": \"# documentos encontrados\", \"search.result.placeholder\": \"Teclee para comenzar b\\u00fasqueda\", \"search.result.term.missing\": \"Falta\", \"select.version\": \"Seleccionar versi\\u00f3n\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/es/scheduled-check/index.html",
    "content": "\n<!doctype html>\n<html lang=\"es\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Automatiza las auditorías de permisos periódicos con PMX. Las comprobaciones programadas detectan cambios no deseados, lo notifican y, opcionalmente, las subvenciones de riesgo auto-revocar.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/scheduled-check/\">\n      \n      \n        <link rel=\"prev\" href=\"../search/\">\n      \n      \n        <link rel=\"next\" href=\"../permission-watcher/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../scheduled-check/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/scheduled-check/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/scheduled-check/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/scheduled-check/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/scheduled-check/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/scheduled-check/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/scheduled-check/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Chequeo Programado - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Cabecera\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Chequeo Programado\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Seleccionar idioma\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../scheduled-check/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/scheduled-check/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/scheduled-check/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/scheduled-check/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/scheduled-check/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/scheduled-check/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/scheduled-check/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Búsqueda\" placeholder=\"Búsqueda\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Buscar\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Limpiar\" aria-label=\"Limpiar\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Inicializando búsqueda\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navegación\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ¿Qué es PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permisos de manifiesto y AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Referencias de Permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interfaz de usuario explicada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Buscar\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Chequeo Programado\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observador de Permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ver permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Operaciones de Lote\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integración con WhatsRrunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Usando PMX con ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versiones PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/es/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Funciones pagadas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs de PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Descargas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Capturas de pantalla\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/es/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Calificaciones / reseñas / Comentarios / votos positivos / estrellas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contáctenos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Aplicaciones\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Aplicaciones\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gestor de permisos X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRrunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQs Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Preguntas frecuentes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guía ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guía ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Emparejar/conectar la aplicación a ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Chequeo Programado</h1>\n\n<p>¿Quiere hacer un seguimiento de los cambios no deseados en los permisos de todas las aplicaciones instaladas? El chequeo programado puede hacerlo por usted en intervalos regulares (en minutos, horas o días).</p>\n<p>Establece <a href=\"../permission-references/\">Referencias de Permisos</a> a <font color=\"#90EE90\">GREEN</font> y deja el resto a PMX. Si se encuentra algún permiso cambiado (con <font color=\"#FF0000\">RED</font> estado) o cuando se instala una nueva aplicación (con <font color=\"#FFC107\">ORANGE</font> permisos de estado), PMX te recuerda que algo necesita tu atención.</p>\n<p>Adicionalmente, si se configura en preferencias, la revisión programada puede revocar automáticamente los permisos concedidos seguido de una notificación.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Volver al principio\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Pie\" >\n        \n          \n          <a href=\"../search/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Anterior: Buscar\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Anterior\n              </span>\n              <div class=\"md-ellipsis\">\n                Buscar\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../permission-watcher/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Siguiente: Observador de Permisos\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Siguiente\n              </span>\n              <div class=\"md-ellipsis\">\n                Observador de Permisos\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copiado al portapapeles\", \"clipboard.copy\": \"Copiar al portapapeles\", \"search.result.more.one\": \"1 m\\u00e1s en esta p\\u00e1gina\", \"search.result.more.other\": \"# m\\u00e1s en esta p\\u00e1gina\", \"search.result.none\": \"No se encontraron documentos\", \"search.result.one\": \"1 documento encontrado\", \"search.result.other\": \"# documentos encontrados\", \"search.result.placeholder\": \"Teclee para comenzar b\\u00fasqueda\", \"search.result.term.missing\": \"Falta\", \"select.version\": \"Seleccionar versi\\u00f3n\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/es/search/index.html",
    "content": "\n<!doctype html>\n<html lang=\"es\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Poderosa búsqueda PMX : encontrar aplicaciones por etiqueta, paquete o UID; usar búsqueda profunda en nombres de permisos y operadores booleanos para auditorías de permisos rápidas.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/search/\">\n      \n      \n        <link rel=\"prev\" href=\"../details/\">\n      \n      \n        <link rel=\"next\" href=\"../scheduled-check/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../search/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/search/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/search/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/search/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/search/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/search/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/search/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Buscar - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Cabecera\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Buscar\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Seleccionar idioma\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../search/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/search/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/search/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/search/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/search/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/search/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/search/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Búsqueda\" placeholder=\"Búsqueda\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Buscar\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Limpiar\" aria-label=\"Limpiar\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Inicializando búsqueda\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navegación\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ¿Qué es PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permisos de manifiesto y AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Referencias de Permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interfaz de usuario explicada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Buscar\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Chequeo Programado\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observador de Permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ver permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Operaciones de Lote\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integración con WhatsRrunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Usando PMX con ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versiones PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/es/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Funciones pagadas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs de PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Descargas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Capturas de pantalla\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/es/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Calificaciones / reseñas / Comentarios / votos positivos / estrellas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contáctenos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Aplicaciones\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Aplicaciones\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gestor de permisos X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRrunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQs Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Preguntas frecuentes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guía ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guía ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Emparejar/conectar la aplicación a ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Buscar</h1>\n\n<p><img alt=\"Buscar\" class=\"media\" src=\"../../img/search.webp\" /></p>\n<p>Normalmente la etiqueta del paquete, el nombre y el UID se buscan en la lista visible.</p>\n<p>Con <strong>Búsqueda profunda</strong>, el nombre del permiso y otros parámetros son consultados.</p>\n<p>Tenga en cuenta que los <strong>Filtros de exclusión</strong> son efectivos al realizar la búsqueda.</p>\n<p>Puede utilizar las siguientes palabras clave especiales en la búsqueda:</p>\n<ul>\n<li>\n<p>Estado de la aplicación:</p>\n<p><code>:Critical</code> <code>:Framework</code> <code>:System</code> <code>:User</code> <code>:Disabled</code></p>\n</li>\n<li>\n<p>Estado de referencia:</p>\n<p><code>:ORANGE</code> <code>:GREEN</code> <code>:RED</code></p>\n</li>\n<li>\n<p>Permisos <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">nivel de protección</a>:</p>\n<p><code>:Normal</code> <code>:Dangerous</code> <code>:Signature</code> <code>:Internal</code> <code>:Development</code> <code>:Privileged</code> <code>:Fixed</code> <code>:AppOps</code> <code>:Unknown</code></p>\n</li>\n<li>\n<p>Por UID AppOps:</p>\n<p><code>:UID</code></p>\n</li>\n<li>\n<p>AppOps con el último acceso o rechazar el tiempo:</p>\n<p><code>:TIME</code></p>\n</li>\n<li>\n<p>AppOps extra (nunca excluido en la configuración del filtro):</p>\n<p><code>:EXTRA</code></p>\n</li>\n<li>\n<p>Operadores <code>&amp;</code> (AND), <code>|</code> (OR) y <code>!</code> (NOT):</p>\n<p><code>Foo|Bar&amp;Baz</code></p>\n<p><code>Foo&amp;!Bar&amp;!Baz</code></p>\n</li>\n</ul>\n<p>La versión pagada también muestra sugerencias de búsqueda (si se establecen preferencias) para facilitar el proceso de búsqueda.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Volver al principio\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Pie\" >\n        \n          \n          <a href=\"../details/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Anterior: Interfaz de usuario explicada\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Anterior\n              </span>\n              <div class=\"md-ellipsis\">\n                Interfaz de usuario explicada\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../scheduled-check/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Siguiente: Chequeo Programado\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Siguiente\n              </span>\n              <div class=\"md-ellipsis\">\n                Chequeo Programado\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copiado al portapapeles\", \"clipboard.copy\": \"Copiar al portapapeles\", \"search.result.more.one\": \"1 m\\u00e1s en esta p\\u00e1gina\", \"search.result.more.other\": \"# m\\u00e1s en esta p\\u00e1gina\", \"search.result.none\": \"No se encontraron documentos\", \"search.result.one\": \"1 documento encontrado\", \"search.result.other\": \"# documentos encontrados\", \"search.result.placeholder\": \"Teclee para comenzar b\\u00fasqueda\", \"search.result.term.missing\": \"Falta\", \"select.version\": \"Seleccionar versi\\u00f3n\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/es/use-with-adb/index.html",
    "content": "\n<!doctype html>\n<html lang=\"es\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Configurar y usar el Administrador de Permisos X con ADB en dispositivos Android no root: emparejar, comandos útiles ADB , limitaciones y consejos prácticos.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/use-with-adb/\">\n      \n      \n        <link rel=\"prev\" href=\"../whatsrunning-integration/\">\n      \n      \n        <link rel=\"next\" href=\"../versions/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../use-with-adb/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/use-with-adb/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/use-with-adb/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/use-with-adb/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/use-with-adb/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/use-with-adb/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/use-with-adb/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Usando PMX con ADB - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#limitations-of-adb\" class=\"md-skip\">\n          Saltar a contenido\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Cabecera\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Usando PMX con ADB\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Seleccionar idioma\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../use-with-adb/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/use-with-adb/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/use-with-adb/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/use-with-adb/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/use-with-adb/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/use-with-adb/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/use-with-adb/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Búsqueda\" placeholder=\"Búsqueda\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Buscar\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Limpiar\" aria-label=\"Limpiar\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Inicializando búsqueda\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navegación\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ¿Qué es PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permisos de manifiesto y AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Referencias de Permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interfaz de usuario explicada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Buscar\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Chequeo Programado\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observador de Permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ver permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Operaciones de Lote\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integración con WhatsRrunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Usando PMX con ADB\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Usando PMX con ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Tabla de contenidos\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Tabla de contenidos\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#limitations-of-adb\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Limitaciones de ADB\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#adb-guide\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Guía ADB\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versiones PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/es/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Funciones pagadas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs de PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Descargas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Capturas de pantalla\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/es/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Calificaciones / reseñas / Comentarios / votos positivos / estrellas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contáctenos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Aplicaciones\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Aplicaciones\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gestor de permisos X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRrunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQs Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Preguntas frecuentes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guía ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guía ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Emparejar/conectar la aplicación a ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Usando PMX con ADB</h1>\n\n<h2 id=\"limitations-of-adb\">Limitaciones de ADB<a class=\"headerlink\" href=\"#limitations-of-adb\" title=\"Permanent link\">&para;</a></h2>\n<p>ADB no es tan potente como la raíz. Puedes comprobar el estado actual de lo que ADB puede hacer en <strong>Acerca de</strong> → <strong>Privileges</strong> (elemento del menú):</p>\n<p><img alt=\" privilegiosPMX \" class=\"media\" src=\"../../img/privs.webp\" /></p>\n<p>Para más detalles vea <a href=\"https://mirfatif.github.io/adb-guide/adb-limits/\">Limitaciones de ADB</a>. Vea también <a href=\"../faqs/#faq43\">¿Por qué PMX no funciona correctamente en sistemas operativos OEM o ROMspersonalizados?</a></p>\n<hr />\n<h2 id=\"adb-guide\">Guía ADB<a class=\"headerlink\" href=\"#adb-guide\" title=\"Permanent link\">&para;</a></h2>\n<p>Consulte <a href=\"https://mirfatif.github.io/adb-guide/\">ADB Guía de emparejamiento / Conexión</a>.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Volver al principio\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Pie\" >\n        \n          \n          <a href=\"../whatsrunning-integration/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Anterior: Integración con WhatsRrunning\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Anterior\n              </span>\n              <div class=\"md-ellipsis\">\n                Integración con WhatsRrunning\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../versions/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Siguiente: Versiones PMX\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Siguiente\n              </span>\n              <div class=\"md-ellipsis\">\n                Versiones PMX\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copiado al portapapeles\", \"clipboard.copy\": \"Copiar al portapapeles\", \"search.result.more.one\": \"1 m\\u00e1s en esta p\\u00e1gina\", \"search.result.more.other\": \"# m\\u00e1s en esta p\\u00e1gina\", \"search.result.none\": \"No se encontraron documentos\", \"search.result.one\": \"1 documento encontrado\", \"search.result.other\": \"# documentos encontrados\", \"search.result.placeholder\": \"Teclee para comenzar b\\u00fasqueda\", \"search.result.term.missing\": \"Falta\", \"select.version\": \"Seleccionar versi\\u00f3n\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/es/versions/index.html",
    "content": "\n<!doctype html>\n<html lang=\"es\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Comparar PMX Gratis vs Pagado: las características de pago incluyen controles programados, supervisión de permisos, revocación automática, soporte para múltiples usuarios y operaciones por lotes.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/versions/\">\n      \n      \n        <link rel=\"prev\" href=\"../use-with-adb/\">\n      \n      \n        <link rel=\"next\" href=\"../faqs/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../versions/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/versions/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/versions/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/versions/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/versions/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/versions/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/versions/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Versiones PMX - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#paid-features\" class=\"md-skip\">\n          Saltar a contenido\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Cabecera\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Versiones PMX\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Seleccionar idioma\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../versions/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/versions/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/versions/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/versions/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/versions/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/versions/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/versions/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Búsqueda\" placeholder=\"Búsqueda\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Buscar\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Limpiar\" aria-label=\"Limpiar\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Inicializando búsqueda\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navegación\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ¿Qué es PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permisos de manifiesto y AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Referencias de Permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interfaz de usuario explicada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Buscar\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Chequeo Programado\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observador de Permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ver permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Operaciones de Lote\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integración con WhatsRrunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Usando PMX con ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versiones PMX\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versiones PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Tabla de contenidos\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Tabla de contenidos\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#paid-features\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Características de Paga\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/es/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Funciones pagadas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs de PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Descargas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Capturas de pantalla\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/es/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Calificaciones / reseñas / Comentarios / votos positivos / estrellas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contáctenos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Aplicaciones\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Aplicaciones\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gestor de permisos X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRrunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQs Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Preguntas frecuentes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guía ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guía ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Emparejar/conectar la aplicación a ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Versiones PMX</h1>\n\n<p>El PMX está disponible en dos variantes: <strong>Pagado</strong> y <strong>Gratis</strong>. La versión pagada está disponible en dos variantes: <strong>Play Store</strong> y <strong>Pro</strong>. Últimos APKs son lanzados en Play Store, GitHub y el Canal de Telegram.</p>\n<h2 id=\"paid-features\">Características de Paga<a class=\"headerlink\" href=\"#paid-features\" title=\"Permanent link\">&para;</a></h2>\n<p>La versión de pago incluye todo lo que está en la versión Gratis, además de las siguientes características adicionales que también aparecen en la descripción de Play Store:</p>\n<ul>\n<li>Comprobación programada para notificar estados de referencia incorrectos</li>\n<li>Controlar los cambios de permisos y deshacerlos</li>\n<li>Auto revocar permisos concedidos con estados RED</li>\n<li>Hacer cambios en aplicaciones y permisos críticos</li>\n<li>Soporte de múltiples usuarios / perfiles de trabajo</li>\n<li>Operaciones de Lote (Perfiles)</li>\n<li>Ver permisos</li>\n</ul>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Volver al principio\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Pie\" >\n        \n          \n          <a href=\"../use-with-adb/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Anterior: Usando PMX con ADB\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Anterior\n              </span>\n              <div class=\"md-ellipsis\">\n                Usando PMX con ADB\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../faqs/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Siguiente: FAQs de PMX\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Siguiente\n              </span>\n              <div class=\"md-ellipsis\">\n                FAQs de PMX\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copiado al portapapeles\", \"clipboard.copy\": \"Copiar al portapapeles\", \"search.result.more.one\": \"1 m\\u00e1s en esta p\\u00e1gina\", \"search.result.more.other\": \"# m\\u00e1s en esta p\\u00e1gina\", \"search.result.none\": \"No se encontraron documentos\", \"search.result.one\": \"1 documento encontrado\", \"search.result.other\": \"# documentos encontrados\", \"search.result.placeholder\": \"Teclee para comenzar b\\u00fasqueda\", \"search.result.term.missing\": \"Falta\", \"select.version\": \"Seleccionar versi\\u00f3n\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/es/whatsrunning-integration/index.html",
    "content": "\n<!doctype html>\n<html lang=\"es\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"PMX se integra con WhatsRrunning — salta entre herramientas para ver si las aplicaciones con permisos restringidos se están ejecutando e inspecciona su uso de recursos.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/whatsrunning-integration/\">\n      \n      \n        <link rel=\"prev\" href=\"../batch-operations/\">\n      \n      \n        <link rel=\"next\" href=\"../use-with-adb/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../whatsrunning-integration/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/whatsrunning-integration/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/whatsrunning-integration/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/whatsrunning-integration/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/whatsrunning-integration/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/whatsrunning-integration/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/whatsrunning-integration/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Integración con WhatsRrunning - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Cabecera\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Integración con WhatsRrunning\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Seleccionar idioma\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../whatsrunning-integration/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/whatsrunning-integration/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/whatsrunning-integration/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/whatsrunning-integration/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/whatsrunning-integration/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/whatsrunning-integration/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/whatsrunning-integration/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Búsqueda\" placeholder=\"Búsqueda\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Buscar\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Limpiar\" aria-label=\"Limpiar\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Inicializando búsqueda\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navegación\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ¿Qué es PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permisos de manifiesto y AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Referencias de Permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interfaz de usuario explicada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Buscar\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Chequeo Programado\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observador de Permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ver permisos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Operaciones de Lote\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integración con WhatsRrunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Usando PMX con ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versiones PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/es/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Funciones pagadas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs de PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Descargas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Capturas de pantalla\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/es/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Calificaciones / reseñas / Comentarios / votos positivos / estrellas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contáctenos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Aplicaciones\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Aplicaciones\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gestor de permisos X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRrunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQs Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Preguntas frecuentes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guía ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guía ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Emparejar/conectar la aplicación a ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Integración con WhatsRrunning</h1>\n\n<p>PMX está integrado con <a href=\"https://github.com/mirfatif/WhatsRunning\">WhatsRunning</a> para que puedas abrir uno desde el otro.</p>\n<p><img alt=\"Integración en ejecución\" class=\"media\" src=\"../../img/wrun_integration1.jpg\" /> <img alt=\"Integración en ejecución\" class=\"media\" src=\"../../img/wrun_integration2.webp\" /></p>\n<p>De modo que desde PMX puedes cambiar a WhatsRrunning para averiguar si una aplicación con permisos restringidos sigue funcionando. En caso afirmativo, en qué estado se encuentra y cuántos recursos está utilizando.</p>\n<p>Del mismo modo, desde WhatsRrunning puedes cambiar a PMX para averiguar qué permisos se concede una aplicación en ejecución (o muerta).</p>\n<p>Esto es particularmente útil al analizar el efecto de los permisos como <code>RUN_IN_BACKGROUND</code>.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Volver al principio\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Pie\" >\n        \n          \n          <a href=\"../batch-operations/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Anterior: Operaciones de Lote\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Anterior\n              </span>\n              <div class=\"md-ellipsis\">\n                Operaciones de Lote\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../use-with-adb/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Siguiente: Usando PMX con ADB\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Siguiente\n              </span>\n              <div class=\"md-ellipsis\">\n                Usando PMX con ADB\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copiado al portapapeles\", \"clipboard.copy\": \"Copiar al portapapeles\", \"search.result.more.one\": \"1 m\\u00e1s en esta p\\u00e1gina\", \"search.result.more.other\": \"# m\\u00e1s en esta p\\u00e1gina\", \"search.result.none\": \"No se encontraron documentos\", \"search.result.one\": \"1 documento encontrado\", \"search.result.other\": \"# documentos encontrados\", \"search.result.placeholder\": \"Teclee para comenzar b\\u00fasqueda\", \"search.result.term.missing\": \"Falta\", \"select.version\": \"Seleccionar versi\\u00f3n\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/faqs/index.html",
    "content": "\n<!doctype html>\n<html lang=\"en\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Frequently asked questions about PMX: why use PMX, AppOp/manifest explanations, ADB tips and troubleshooting for Android permission control.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/faqs/\">\n      \n      \n        <link rel=\"prev\" href=\"../versions/\">\n      \n      \n      \n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../de/faqs/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../es/faqs/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../fr/faqs/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../pt-BR/faqs/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../ru/faqs/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../ar/faqs/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../zh/faqs/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>PMX FAQs - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#faq36\" class=\"md-skip\">\n          Skip to content\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Header\">\n    <a href=\"..\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              PMX FAQs\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Select language\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../de/faqs/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../es/faqs/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../fr/faqs/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../pt-BR/faqs/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../ru/faqs/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../ar/faqs/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../zh/faqs/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Search\" placeholder=\"Search\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Search\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Clear\" aria-label=\"Clear\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Initializing search\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"..\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"..\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    What is PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Manifest Permissions and AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission References\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    User interface explained\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Search\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Scheduled Check\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission Watcher\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission View\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Batch Operations\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integration with WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Using PMX with ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX Versions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Paid features\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX FAQs\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX FAQs\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Table of contents\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Table of contents\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq36\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Why do I need to use PMX?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq1\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Why PMX requires root or ADB access?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq33\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        My device isn't rooted. How can I use PMX?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq42\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Why does PMX not run or work properly on the latest Android?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq43\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Why does PMX not work properly on OEM operating systems or custom ROMs?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq2\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        How does PMX change other apps permissions?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq34\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Do the permissions remain changed after ADB is turned off, or root is denied, or PMX is uninstalled?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq15\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Why can't I change XYZ permission?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq37\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        I've changed a permission but it's not working. Why?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq3\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Why do some AppOps cannot be changed?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq6\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Why don't I see XYZ app in packages list?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq7\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Why don't I see XYZ permission in ABC package?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq8\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Why don't I see XYZ AppOp in ABC package?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq5\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        What should I select for Privileged Daemon UID in Advanced Settings? System or ADB?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq9\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        What are \"invalid permissions\" in Exclusion Filters?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq10\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        What are \"extra AppOps\" in Exclusion Filters?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq11\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        What are different AppOp modes and which one should I use?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq12\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        What's the difference between \"Ignore\" and \"Deny\" AppOp modes?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq41\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Why cannot I set AppOp mode to foreground?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq14\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        What does WAKE_LOCK permission do?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq16\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        How can I change INTERNET permission?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq40\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        What are Fixed permissions?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq17\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        How can I change System-Fixed permissions, Signature/Privileged permissions, or the permissions of framework apps?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq18\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        What is \"UID mode\" in AppOp permissions?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq39\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Can I control Android's \"Remove permissions if app isn't used\" feature from PMX?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq31\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Why do I get a lot of \"Bad ROM\" popups?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq19\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        What do the \"Hide From List\" buttons (on long press) do?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq21\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Is there a complete list of all permissions available with explanation?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq22\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        How to use the app in work profile / multi-user environment?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq24\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        How does PMX compare to XPrivacyLua? Can they replace each other?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq32\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Can PMX auto remove permissions when an app is closed, like Bouncer does?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq35\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Can I get notified when a new app is installed?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq38\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        When a new app is installed, can PMX drop its permissions by default?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq25\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Why PMX requires INTERNET permission?\n      \n    </span>\n  </a>\n  \n    <nav class=\"md-nav\" aria-label=\"Why PMX requires INTERNET permission?\">\n      <ul class=\"md-nav__list\">\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#optional-use-of-internet-permission\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Optional use of android.permission.INTERNET permission\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#on-device-use-of-internet-permission\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Local (on-device) use of android.permission.INTERNET permission\n      \n    </span>\n  </a>\n  \n</li>\n        \n      </ul>\n    </nav>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq26\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        How much privacy friendly PMX is? Do you collect users' data?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq27\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Is PMX spying on me using ADB over network?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq28\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Is PMX misusing root privileges to collect my data?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq29\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        I think PMX is useless. Why was it created?\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Screenshots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ratings / Reviews / Comments / Upvotes / Stars\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contact Us\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Apps\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Apps\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission Manager X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android FAQs\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android FAQs\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Frequently Asked Questions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB Guide\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB Guide\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Pair/connect the app to ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>PMX FAQs</h1>\n\n<h3 id=\"faq36\">Why do I need to use PMX?<a class=\"headerlink\" href=\"#faq36\" title=\"Permanent link\">&para;</a></h3>\n<p>Because:</p>\n<ul>\n<li>PMX provides all the scattered (or otherwise unavailable) permission-related <strong>information</strong> and <strong>controls</strong> on a single screen so that you can watch and control them in a comprehensive and convenient way.</li>\n<li>There's no official tool available in stock Android to change <strong>AppOps</strong>. Only a subset of <strong>manifest permissions</strong> are exposed to user in permission settings. PMX exposes all the permissions in raw form. Related: <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\">Manifest permissions and AppOps</a>.</li>\n<li>PMX makes it easy for you to keep track of any <strong>unwanted changes</strong> to permissions.</li>\n<li>Giving control on your device, PMX enables you to <strong>save device resources</strong> like battery and network bandwidth, and <strong>protect your privacy</strong>. You are not entirely left to the mercy of app and ROM developers. Read this <a href=\"https://www.buzzfeednews.com/article/nicolenguyen/how-apps-take-your-data-and-sell-it-without-you-even\">article</a> to get an idea.</li>\n<li>PMX can <strong>monitor permission changes</strong> in realtime, reverting them automatically when you stop using an app. Or it can perform <strong>scheduled scan</strong> of permissions. So you don't have to remember things.</li>\n<li>PMX makes it easy for you to <strong>backup and restore permissions</strong> state of installed apps so that you don't have to tweak an app's permissions again and again.</li>\n</ul>\n<p>Please also see <a href=\"../\">What is PMX</a>?</p>\n<hr />\n<h3 id=\"faq1\">Why PMX requires root or ADB access?<a class=\"headerlink\" href=\"#faq1\" title=\"Permanent link\">&para;</a></h3>\n<p>Android intentionally restricts apps from modifying other apps' manifest or AppOps permissions (and in many cases from changing some of their own). These platform safeguards protect user privacy and system integrity.</p>\n<p>To perform actions that require elevated privileges, PMX uses a small, separate privileged helper rather than trying to do everything from the normal app process. By default that helper runs under the ADB UID (<code>2000</code>) when started via ADB, or under the System UID (<code>1000</code>) on rooted devices. If you have a rooted device, you can change the helper's UID in <em>Advanced Settings</em>.</p>\n<hr />\n<h3 id=\"faq33\">My device isn't rooted. How can I use PMX?<a class=\"headerlink\" href=\"#faq33\" title=\"Permanent link\">&para;</a></h3>\n<p>Use <a href=\"../use-with-adb/\">PMX with ADB</a>. Please do read the note at the start. There might be some limitations on some devices.</p>\n<hr />\n<h3 id=\"faq42\">Why does PMX not run or work properly on the latest Android?<a class=\"headerlink\" href=\"#faq42\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX relies on Android's hidden APIs or non-SDK interfaces which are not documented (on <a href=\"https://developer.android.com/\">Android Developers</a>) unlike standard APIs. So with every new Android release, we have to go through the Android source code to find out which APIs have broken (changed or removed).</p>\n<p>Also, it takes time to fix the broken APIs; sometimes weeks, sometime months. And it's not guaranteed that we'll always be able to fix the broken APIs. Sometimes Google on purpose makes it difficult or impossible for us to keep using the hidden APIs.</p>\n<p>Therefore it's not possible for us to make the PMX immediately work on every new Android release (particularly in beta phase) as long as the final AOSP source code is not publicly released (on <a href=\"https://cs.android.com/\">Code Search</a> or <a href=\"https://android.googlesource.com/\">Git Repository</a>).</p>\n<p>PMX's final supported Android version is stated in app description on GitHub and Play Store. When you run the app on an unsupported version for the first time, it shows a warning like this:</p>\n<p><img alt=\"Unsupported Android version warning\" class=\"media\" src=\"../img/unsupported_android_version_warning.webp\" /></p>\n<hr />\n<h3 id=\"faq43\">Why does PMX not work properly on OEM operating systems or custom ROMs?<a class=\"headerlink\" href=\"#faq43\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX relies on Android's hidden APIs or non-SDK interfaces which are not documented (on <a href=\"https://developer.android.com/\">Android Developers</a>) unlike standard APIs. So we need access to the source code of your ROM to know exactly how the hidden APIs work.</p>\n<p>Well, AOSP (which is developed by Google) is open-source. But if your OEM or ROM developer makes some changes to AOSP for the customization purpose, we've no way to know exactly what changes they have made to the stock AOSP code. We're quite helpless here. And this fact is stated in app description on GitHub and Play Store. Sorry.</p>\n<hr />\n<h3 id=\"faq2\">How does PMX change other apps permissions?<a class=\"headerlink\" href=\"#faq2\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX itself cannot and does not grant or revoke other apps' permissions. In fact no third party app is privileged to do that. It's the Android OS which controls apps' permissions. PMX just sends a request to the Android framework to change a permission's state. Now it's entirely up to Android how much it honors our request. Not all permissions are changeable. And if you are not able to change a permission's state using PMX, you won't be able to change it in any other way either.</p>\n<hr />\n<h3 id=\"faq34\">Do the permissions remain changed after ADB is turned off, or root is denied, or PMX is uninstalled?<a class=\"headerlink\" href=\"#faq34\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX itself cannot and does not grant or revoke other apps' permissions. In fact no third party app is privileged to do that. It's the Android OS which controls apps' permissions. PMX just sends a request to the Android framework to change a permission's state.</p>\n<p>So once a permission is changed, it makes no difference if you uninstall PMX or drop its privileges. The permission remains in whatever state it is, unless changed again by you or the operating system.</p>\n<hr />\n<h3 id=\"faq15\">Why can't I change XYZ permission?<a class=\"headerlink\" href=\"#faq15\" title=\"Permanent link\">&para;</a></h3>\n<p>Manifest permissions with only Dangerous <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">protection level</a> (and a few others) are changeable. AppOps not dependent on some other AppOp are changeable. That's how Android works, we can't change the behavior. See <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\">Manifest permissions and AppOps</a>.</p>\n<p>Additionally, PMX protects some critical framework apps and permissions; changing them might brick the device. See the <a href=\"#faq17\">related question</a>.</p>\n<p>Also see <a href=\"#faq3\">Why do some AppOps cannot be changed?</a></p>\n<p>Note that starting with Android 15, manifest permissions of system apps with <em>Development</em> protection level cannot be revoked. Android silently ignores the request.</p>\n<hr />\n<h3 id=\"faq37\">I've changed a permission but it's not working. Why?<a class=\"headerlink\" href=\"#faq37\" title=\"Permanent link\">&para;</a></h3>\n<p>After changing a permission successfully, if you are not getting the desired results i.e. it reverts back immediately or after some hours or days, it's the Android operating system to be blamed. Please see:</p>\n<ul>\n<li><a href=\"#faq2\">How does PMX change other apps permissions?</a></li>\n<li><a href=\"#faq3\">Why do some AppOps cannot be changed?</a></li>\n</ul>\n<p>As you use apps, Android may change their permissions. And unfortunately we do not have a way to prevent this. <a href=\"../permission-watcher/\">Permission Watcher</a> and <a href=\"../scheduled-check/\">Scheduled Checker</a> may help in this regard.</p>\n<hr />\n<h3 id=\"faq3\">Why do some AppOps cannot be changed?<a class=\"headerlink\" href=\"#faq3\" title=\"Permanent link\">&para;</a></h3>\n<p>Sometimes you see \"AppOp mode not changed\". It means that Android rejected the request to change the AppOp mode. You cannot change it no matter what method or app you use. There could be multiple possible reasons.</p>\n<ul>\n<li>\n<p>Some AppOps are dependent on their corresponding manifest permissions. So they cannot be changed independently. For instance you may not be able to deny <code>READ_CONTACTS</code> AppOp if <code>android.permission.READ_CONTACTS</code> manifest permission is granted.</p>\n<p>Also if the app has not requested the manifest permission in its manifest file, its AppOp permission can also not be granted. But it may still appear in the app's permission list if the app has tried to use it (and got rejected). <code>SYSTEM_ALERT_WINDOW</code> is one such example.</p>\n</li>\n<li>\n<p>Some AppOps are only used by Android for compatibility (e.g. <code>LEGACY_STORAGE</code>) and they don't actually control anything. If we explore their underlying working it's revealed that granting / revoking such permissions doesn't make sense.</p>\n</li>\n<li>\n<p>Some permissions cannot be changed if the app is running on or is targeting an older or newer Android version.</p>\n</li>\n<li>\n<p>Some OEM ROMs behave weird when it comes to AppOps. See <a href=\"#faq43\">Why does PMX not work properly on OEM operating systems or custom ROMs?</a></p>\n</li>\n<li>\n<p>Many AppOps can have 2 modes: package mode and UID mode. It's possible that one can be changed while the other cannot be.</p>\n<p>Usually UID AppOps take precedence over their package AppOp counterparts. In this case the effective mode of the package AppOp is same as that of its UID AppOps. So you cannot change the package AppOp alone.</p>\n<p>Some AppOps prefer to be set in package mode, not UID mode. But if it's wrongly set in UID mode (with commandline tool or by some other app), it becomes non-responsive to any changes. Do \"Reset AppOps\" from top right menu to make it work again. This is also the case with other AppOps which have a corresponding manifest permission with <em>AppOp</em> <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">protection level</a>.</p>\n</li>\n</ul>\n<p>Actually there come many more explanations if we dig every app and permission individually (which doesn't sound practical). As stated above, PMX doesn't change other apps' permissions on its own. So even if for some unknown reason Android doesn't change a permission, or reverts it back immediately, there's nothing we can do to force it because these are the limitations at Android end. Rather, I should say this is how Android works.</p>\n<p>Related:</p>\n<ul>\n<li><a href=\"#faq11\">What are different AppOp modes and which one should I use?</a></li>\n<li><a href=\"#faq41\">Why cannot I set AppOp mode to foreground?</a></li>\n</ul>\n<hr />\n<h3 id=\"faq6\">Why don't I see XYZ app in packages list?<a class=\"headerlink\" href=\"#faq6\" title=\"Permanent link\">&para;</a></h3>\n<p>Please check <strong>Exclusion Filters</strong>. Almost all the stock Android packages are excluded by default. You can exclude / include any package you want from / to visible list.</p>\n<hr />\n<h3 id=\"faq7\">Why don't I see XYZ permission in ABC package?<a class=\"headerlink\" href=\"#faq7\" title=\"Permanent link\">&para;</a></h3>\n<p>Please check <strong>Exclusion Filters</strong>. Permissions which are not changeable are excluded from the visible list by-default.</p>\n<hr />\n<h3 id=\"faq8\">Why don't I see XYZ AppOp in ABC package?<a class=\"headerlink\" href=\"#faq8\" title=\"Permanent link\">&para;</a></h3>\n<p>Please check <strong>Exclusion Filters</strong> if XYZ AppOp is excluded from the visible list. Or ABC package might not be using XYZ operation. You don't need to be worried about this.</p>\n<p>But if you want to see the XYZ AppOp for all apps, go to <strong>Exclusion Filters → Extra AppOps, never excluded</strong> and check XYZ AppOp in the list.</p>\n<p>For instance, write <code>_CLIPBOARD</code> in search box (with <strong>Deep Search</strong> box checked) and you'll get all apps which used (or tried to use) <code>READ_CLIPBOARD</code> or <code>WRITE_CLIPBOARD</code> permission. Timestamp is also shown (but not for all AppOps).</p>\n<p>So if the app you are concerned about isn't in the search results, check both AppOps in the <strong>Exclusion Filters</strong> list mentioned above.</p>\n<hr />\n<h3 id=\"faq5\">What should I select for Privileged Daemon UID in Advanced Settings? System or ADB?<a class=\"headerlink\" href=\"#faq5\" title=\"Permanent link\">&para;</a></h3>\n<p>It matters only if you are using root, or <code>adbd</code> on your device is running with root (which is not the case with the final user devices).</p>\n<p>Preferably use <strong>System</strong> (UID <code>1000</code>) as it allows more privileges than <strong>ADB</strong> (UID <code>2000</code>). E.g. changing \"<em>System-Fixed</em>\" permissions is possible only when running as system.</p>\n<hr />\n<h3 id=\"faq9\">What are \"invalid permissions\" in Exclusion Filters?<a class=\"headerlink\" href=\"#faq9\" title=\"Permanent link\">&para;</a></h3>\n<p>If an app is requesting a manifest permission but it's not declared (provided) by Android framework or any of the installed packages, it's an invalid permission. For instance <code>com.android.vending.BILLING</code> is an invalid permission if Play Store app is not installed on your device.</p>\n<hr />\n<h3 id=\"faq10\">What are \"extra AppOps\" in Exclusion Filters?<a class=\"headerlink\" href=\"#faq10\" title=\"Permanent link\">&para;</a></h3>\n<p>Not all AppOps are being used for all installed apps. But you can enforce an AppOp to any app. Selected Extra AppOps appear in all apps' permission lists so that you can set them.</p>\n<hr />\n<h3 id=\"faq11\">What are different AppOp modes and which one should I use?<a class=\"headerlink\" href=\"#faq11\" title=\"Permanent link\">&para;</a></h3>\n<p>Normally you should Allow or Ignore. Or you may want to allow an operation only when the app is in <strong>Foreground</strong> (only on Android 9 and above). <strong>Deny</strong> is the intense version of Ignore which may crash the requesting app. <strong>Default</strong> is the system's default behavior which differs for different AppOps.</p>\n<p>Please note that not every AppOp mode can be possibly set on every AppOp for every app. For instance on recent Android releases <code>CAMERA</code> and <code>MICROPHONE</code> are allowed to be used by user apps only in foreground (even if set mode is <strong>Allow</strong>). Similarly, some AppOps can never be set to <strong>Foreground</strong> mode.</p>\n<p>Related: <a href=\"#faq3\">Why do some AppOps cannot be changed?</a></p>\n<p>Official documentation: <a href=\"https://developer.android.com/reference/android/app/AppOpsManager#access-control\">AppOpsManager</a>.</p>\n<hr />\n<h3 id=\"faq12\">What's the difference between \"Ignore\" and \"Deny\" AppOp modes?<a class=\"headerlink\" href=\"#faq12\" title=\"Permanent link\">&para;</a></h3>\n<p><a href=\"https://developer.android.com/reference/android/app/AppOpsManager#MODE_IGNORED\">Ignore</a> silently fails while <a href=\"https://developer.android.com/reference/android/app/AppOpsManager#MODE_ERRORED\">Deny</a> throws back an error to the app which the app might not be expecting and may crash. You should normally be using <strong>Ignore</strong>.</p>\n<hr />\n<h3 id=\"faq41\">Why cannot I set AppOp mode to foreground?<a class=\"headerlink\" href=\"#faq41\" title=\"Permanent link\">&para;</a></h3>\n<p>Foreground mode cannot be set for all AppOps. Even when set, it may not give expected results.</p>\n<p>Related:</p>\n<ul>\n<li><a href=\"#faq11\">What are different AppOp modes and which one should I use?</a></li>\n<li><a href=\"#faq3\">Why do some AppOps cannot be changed?</a></li>\n</ul>\n<p>Please note that the permission mode \"Allow only while using the app\" does not alway set the AppOp mode to \"Foreground\":</p>\n<p><img alt=\"Foreground and one time permission modes\" class=\"media\" src=\"../img/fg_and_one_time_perm_modes.webp\" /></p>\n<p>Normally we see only two states for a manifest permission: granted and revoked. But Android uses <a href=\"https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-13.0.0_r1/core/java/android/content/pm/PackageManager.java#4655\">flags</a> to split these two states into many sub-states. For some permissions the same phenomenon is used to achieve the \"grant only when the app is visible\" behavior. AppOp permission is not used in this case.</p>\n<p>For more details see official documentation of <a href=\"https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-13.0.0_r1/core/java/android/permission/Permissions.md#background-access\">background access</a> and <a href=\"https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-13.0.0_r1/core/java/android/app/AppOps.md#foreground\">foreground access</a>.</p>\n<p>For simplicity, PMX does not watch permission flags at the moment. But in future an option might be added to also track changes to permission flags even if granted / revoked mode remains unchanged.</p>\n<hr />\n<h3 id=\"faq14\">What does <code>WAKE_LOCK</code> permission do?<a class=\"headerlink\" href=\"#faq14\" title=\"Permanent link\">&para;</a></h3>\n<p>Apps hold wakelock to keep the device awake i.e. not entering <a href=\"https://developer.android.com/training/monitoring-device-state/doze-standby#understand_doze\">Doze mode</a>.</p>\n<hr />\n<h3 id=\"faq16\">How can I change <code>INTERNET</code> permission?<a class=\"headerlink\" href=\"#faq16\" title=\"Permanent link\">&para;</a></h3>\n<p>Android doesn't allow changing all permissions, like those with the <strong>Normal</strong> <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">protection level</a> (e.g. <code>INTERNET</code>) or those with <strong>Fixed</strong> flag or <strong>Signature</strong> protection level (usually System or Framework apps). See <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\">Manifest permissions and AppOps</a>.</p>\n<p>But if you are rooted, <a href=\"https://github.com/mirfatif/Fyrypt\">Fyrypt</a> gives you very strong control over network activity happening on your device.</p>\n<hr />\n<h3 id=\"faq40\">What are Fixed permissions?<a class=\"headerlink\" href=\"#faq40\" title=\"Permanent link\">&para;</a></h3>\n<p><strong>System-fixed</strong> permissions are granted to the preinstalled apps by the OEMs or ROM developers. They are not meant to be changed. But if your device is rooted, PMX can change system-fixed permissions.</p>\n<p><strong>Policy-fixed</strong> permissions are granted (or denied) by the IT admins on managed devices. They cannot be changed.</p>\n<p><strong>User-fixed</strong> permissions are fixed by the user. If a user denies a permission a few times when the app requests for it, the operating system marks the permission as user-fixed and shows no more prompts to the user to grant the permission if the app asks for the same permission again. This kind of fixed permissions can be changed easily whenever the user wants.</p>\n<hr />\n<h3 id=\"faq17\">How can I change System-Fixed permissions, Signature/Privileged permissions, or the permissions of framework apps?<a class=\"headerlink\" href=\"#faq17\" title=\"Permanent link\">&para;</a></h3>\n<p>If your device is rooted, in paid version you can <strong>Allow Critical Changes</strong> in <strong>Advanced Settings</strong> to make changes to the permissions with the <strong>System-Fixed</strong> flag, protection level <strong>Signature</strong> or <strong>Privileged</strong>, or those of framework app. But it's not recommended to play with the System and Framework apps. You can brick your device.</p>\n<hr />\n<h3 id=\"faq18\">What is \"UID mode\" in AppOp permissions?<a class=\"headerlink\" href=\"#faq18\" title=\"Permanent link\">&para;</a></h3>\n<p>It's a mode of an AppOp permission which indicates that changing this AppOp will also affect other apps (with the same UID), if installed. See <a href=\"https://developer.android.com/guide/topics/manifest/manifest-element#uid\"><code>sharedUserId</code></a>.</p>\n<p>Note that UID mode takes precedence over package mode for many AppOps.</p>\n<hr />\n<h3 id=\"faq39\">Can I control Android's \"Remove permissions if app isn't used\" feature from PMX?<a class=\"headerlink\" href=\"#faq39\" title=\"Permanent link\">&para;</a></h3>\n<p>Yes. This feature is available since <a href=\"https://developer.android.com/about/versions/11/privacy/permissions#auto-reset\">Android 11</a>. It's also labeled as <strong>\"Pause app activity if unused\"</strong> on some devices.</p>\n<p><img alt=\"Auto-remove unused permissions\" class=\"media\" src=\"../img/remove_unused_perms.webp\" /></p>\n<p>To change this option from PMX:</p>\n<ol>\n<li>Go to <strong>Exclusion Filters → Extra AppOps list</strong> and check <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code>.</li>\n<li>Back on the main screen, type <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code> in the top search bar. Make sure that deep search is enabled in search settings.</li>\n<li>Set the mode <strong>Allow</strong> or <strong>Ignore</strong> for whichever apps you want.</li>\n</ol>\n<p>You can also use <a href=\"../permission-view/\">Permission View</a> or <a href=\"../batch-operations/\">Batch Operations</a> in place of step 2 and 3. Here's a guide how you would do it using Batch Operations:</p>\n<video class=\"media\" controls muted>\n    <source src=\"../img/remove_unused_perms.mp4\" type=\"video/webm\">\n    Remove permissions if app isn't used\n</video>\n\n<hr />\n<h3 id=\"faq31\">Why do I get a lot of \"Bad ROM\" popups?<a class=\"headerlink\" href=\"#faq31\" title=\"Permanent link\">&para;</a></h3>\n<p>OEMs make huge changes to stock AOSP code (which is developed by Google). So the AppOps framework on some custom / OEM ROMs returns unexpected results which PMX cannot understand. You can ignore these popups, but they mean that the functionality is somewhat limited.</p>\n<p>You can turn off these popups in <strong>Settings</strong> → <strong>General settings</strong> → <strong>Disable bad ROM toasts</strong>.</p>\n<p>See <a href=\"#faq43\">Why does PMX not work properly on OEM operating systems or custom ROMs?</a></p>\n<hr />\n<h3 id=\"faq19\">What do the \"Hide From List\" buttons (on long press) do?<a class=\"headerlink\" href=\"#faq19\" title=\"Permanent link\">&para;</a></h3>\n<p>They both just hide the app or the permission from the visible list. If you don't want to change a permission for any app, you may hide it. And it won't appear for any app. To unhide it again go to <strong>Exclusion Filters</strong> settings.</p>\n<p>Similarly, you can exclude an app from the visible list if you are not concerned about its permissions.</p>\n<p><img alt=\"Hide app from visible list\" class=\"media\" src=\"../img/hide_app_from_list.webp\" /> <img alt=\"Hide permission from visible list\" class=\"media\" src=\"../img/hide_perm_from_list.webp\" /></p>\n<hr />\n<h3 id=\"faq21\">Is there a complete list of all permissions available with explanation?<a class=\"headerlink\" href=\"#faq21\" title=\"Permanent link\">&para;</a></h3>\n<p>There's no complete list of permissions with description, at least in my knowledge. PMX Pro version shows a brief description of common manifest and AppOp permissions.</p>\n<p>There are third party resources like <a href=\"https://android.izzysoft.de/applists.php?topic=perms\">this one</a> by Izzy. Android's <a href=\"https://developer.android.com/\">official developer site</a> and <a href=\"https://cs.android.com/\">source code</a> are also good sources for learning.</p>\n<p>With every new Android release some new permissions are added, and some also get obsolete. Also, not all permissions are needed to be taken care of by every user.</p>\n<hr />\n<h3 id=\"faq22\">How to use the app in work profile / multi-user environment?<a class=\"headerlink\" href=\"#faq22\" title=\"Permanent link\">&para;</a></h3>\n<p>Pro version supports work profiles and multiple users. Select a user from the drop-down menu.</p>\n<p><img alt=\"Multi-user menu\" class=\"media\" src=\"../img/multi_users.webp\" /></p>\n<hr />\n<h3 id=\"faq24\">How does PMX compare to XPrivacyLua? Can they replace each other?<a class=\"headerlink\" href=\"#faq24\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX is not designed to replace but to compliment projects like XPrivacyLua. They have different design goals.</p>\n<p>XPrivacyLua hacks Android's standard functionality by hooking into internal APIs, using Xposed which replaces some Android libraries with the hacked ones. So we get extra functionality like feeding fake data to the apps and get notified of permission related events which we cannot know of by any other normal means.</p>\n<p>PMX on the other hand is not targeted to be a framework module. It provides convenient access to some privileged APIs which normal apps cannot use. It's not hacking Android's standard functionality by any means. Most of the tasks PMX performs can also be performed from commandline, except a few like changing System-Fixed permissions.</p>\n<p>Rooting and Xposed are two strict requirements for using XPrivacyLua. PMX doesn't require any of the both for the most part. Both aren't available for many devices or many users don't consider them as an option due to the technical difficulties involved, warranty void, SafetyNet failing and other issues.</p>\n<p>More explanation <a href=\"https://github.com/mirfatif/PermissionManagerX/issues/9\">here</a> and <a href=\"https://github.com/mirfatif/PermissionManagerX/issues/56#issuecomment-2790539931\">here</a>.</p>\n<hr />\n<h3 id=\"faq32\">Can PMX auto remove permissions when an app is closed, like Bouncer does?<a class=\"headerlink\" href=\"#faq32\" title=\"Permanent link\">&para;</a></h3>\n<p>Yes. See <a href=\"../permission-watcher/\">Permission Watcher</a> and <a href=\"../scheduled-check/\">Scheduled Check</a>. But it doesn't use Android's <strong>Accessibility</strong> feature to perform taps / clicks on screen on user's behalf (though it's a good feature without requiring any extra setup). PMX relies on root or ADB privileges. So it can do far more (see <a href=\"../\">What is PMX?</a>) than what can be done using Accessibility features.</p>\n<p>If you are using ADB, and not root, <strong>Permission Watcher</strong> may not work on some devices. Please see the <a href=\"../use-with-adb/#limitations-of-adb\">Limitations of ADB</a>.</p>\n<hr />\n<h3 id=\"faq35\">Can I get notified when a new app is installed?<a class=\"headerlink\" href=\"#faq35\" title=\"Permanent link\">&para;</a></h3>\n<p>Yes. See <a href=\"../permission-watcher/\">Permission Watcher</a>.</p>\n<p>Since Android 8 it's not possible for background (not running) apps to get notified of the new app installed event. So we've to run a foreground service (with persistent notification) to receive this event. Or you may consider using <a href=\"../scheduled-check/\">Scheduled Check</a> to keep things in place.</p>\n<hr />\n<h3 id=\"faq38\">When a new app is installed, can PMX drop its permissions by default?<a class=\"headerlink\" href=\"#faq38\" title=\"Permanent link\">&para;</a></h3>\n<p>Yes. But there are no permissions to drop. All the revocable manifest permissions are already revoked and stay revoked unless the user grants them explicitly. As far as AppOps are concerned, many of them don't appear until at least once used by the app e.g. <code>VIBRATE</code> and <code>READ_CLIPBOARD</code>. Many others (e.g. <code>READ_CONTACTS</code>) have their corresponding manifest permissions already dropped, as pointed out. So it's not predictable at the time of app installation which AppOps should be removed.</p>\n<p>But a notification is displayed when a new app is installed (if using <a href=\"../permission-watcher/\">Permission Watcher</a>) so the user can set permissions one by one or <a href=\"../batch-operations/#permission-profiles\">apply a profile</a>.</p>\n<hr />\n<h3 id=\"faq25\">Why PMX requires INTERNET permission?<a class=\"headerlink\" href=\"#faq25\" title=\"Permanent link\">&para;</a></h3>\n<p>The <a href=\"https://mirfatif.github.io/mirfatif/getpro\">standalone Pro version</a> requires internet connection for license verification. Other <a href=\"../versions/\">versions</a> can work completely offline. Though Play Store app needs internet connection for license verification.</p>\n<h4 id=\"optional-use-of-internet-permission\">Optional use of <code>android.permission.INTERNET</code> permission<a class=\"headerlink\" href=\"#optional-use-of-internet-permission\" title=\"Permanent link\">&para;</a></h4>\n<ul>\n<li>Check for app updates. You can disable this in app settings.</li>\n</ul>\n<h4 id=\"on-device-use-of-internet-permission\">Local (on-device) use of <code>android.permission.INTERNET</code> permission<a class=\"headerlink\" href=\"#on-device-use-of-internet-permission\" title=\"Permanent link\">&para;</a></h4>\n<p>Android does not allow apps to create network sockets without having the <a href=\"https://developer.android.com/reference/android/Manifest.permission#INTERNET\"><code>INTERNET</code></a> permission even if they are meant to be used only locally and not for an internet connection. PMX has two uses of local (on-device) connections (the ability to create <code>localhost</code> sockets at <code>127.0.0.1</code>) for Inter Process Communication (IPC):</p>\n<ul>\n<li>PMX starts a background process with root / ADB privileges and talks to that process over network socket. After the initial handshake, both processes start talking over Binder. We have no better way to do this because Android doesn't allow apps to talk over UNIX domain sockets either.</li>\n<li>If your device is not rooted and you <a href=\"../use-with-adb/\">use PMX with ADB</a>, then connecting to <code>adbd</code> requires internet permissions. See <a href=\"#faq27\">Is PMX spying on me using ADB over network?</a></li>\n</ul>\n<p>So if the app is unable to create or use local network sockets, it will fail. And if you want to stop PMX from using internet, it must not stop the app from talking to on-device processes over <a href=\"https://superuser.com/questions/263142\">loopback interface for IPC</a>. This is usually the case with <code>iptables</code>-based firewalls like <a href=\"https://github.com/mirfatif/Fyrypt\">Fyrypt</a> and VPN based firewalls like NetGuard. But some ROMs have a built-in feature to disallow network access:</p>\n<p><img alt=\"Allow network access setting\" class=\"media\" src=\"../img/allow_network_access.webp\" /></p>\n<p>This not only prevents the app from using internet but also disables its ability to create loopback sockets for IPC. So <strong>PMX won't be able to get root / ADB privileges if this permission is denied</strong>.</p>\n<hr />\n<h3 id=\"faq26\">How much privacy friendly PMX is? Do you collect users' data?<a class=\"headerlink\" href=\"#faq26\" title=\"Permanent link\">&para;</a></h3>\n<p>No. We do not collect your data. Never. Not even a single byte. PMX has an open source version. We believe in our users being educated and well-informed of why they are using PMX. We respect your privacy, so no data is collected ever, even the crash logs. You may also want to see our <a href=\"https://mirfatif.github.io/PermissionManagerX/PRIVACY\">Privacy Policy</a>.</p>\n<hr />\n<h3 id=\"faq27\">Is PMX spying on me using ADB over network?<a class=\"headerlink\" href=\"#faq27\" title=\"Permanent link\">&para;</a></h3>\n<p>No.</p>\n<p>PMX talks to <code>adbd</code> process over localhost (<code>127.0.0.1</code>). But there's no way to start <code>adbd</code> listen on localhsot only, and not on other network interfaces (because ADB is meant to be used externally from a PC). You can surely stop <code>adbd</code> listening from external IP addresses, if you can. PMX would still work, without any port being exposed externally.</p>\n<p>Also you can change <code>5555</code> port to whatever number you want in <strong>Advanced Settings</strong>. It's not hard-coded.</p>\n<p>Also ADB since Android 4.2 is meant to be protected with <strong>RSA key authentication</strong> (one of the strongest authentication mechanism). So even if the device is accessible from internet (which is highly <a href=\"https://android.stackexchange.com/a/205807/218526\">unlikely</a>), no one can make an ADB connection without authentication.</p>\n<p>You can verify these claims in whatever way you want. We are here to assist you technically.</p>\n<hr />\n<h3 id=\"faq28\">Is PMX misusing root privileges to collect my data?<a class=\"headerlink\" href=\"#faq28\" title=\"Permanent link\">&para;</a></h3>\n<p>We believe in the <a href=\"https://wikipedia.org/wiki/Principle_of_least_privilege\">principle of the least privilege</a>. But due to the restricted nature of Android operating system, PMX cannot function without having high privileges. What we can offer is, if you are a tech-savvy person, we can teach you how to make it difficult for apps to make internet connections, even with root privileges.</p>\n<hr />\n<h3 id=\"faq29\">I think PMX is useless. Why was it created?<a class=\"headerlink\" href=\"#faq29\" title=\"Permanent link\">&para;</a></h3>\n<p>We respect your opinion. PMX is not for everyone (and that's why it wasn't polished and released to public for years because we knew we've a very small audience). It's only for some extra tech-savvy souls who are extra-conscious about their privacy and device control. Majority of the phone users are just in the hands of their OEMs and app developers. They aren't aware of what's being done to them and their data. Majority prefers convenience over privacy. And it's fine.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Back to top\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Footer\" >\n        \n          \n          <a href=\"../versions/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Previous: PMX Versions\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Previous\n              </span>\n              <div class=\"md-ellipsis\">\n                PMX Versions\n              </div>\n            </div>\n          </a>\n        \n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copied to clipboard\", \"clipboard.copy\": \"Copy to clipboard\", \"search.result.more.one\": \"1 more on this page\", \"search.result.more.other\": \"# more on this page\", \"search.result.none\": \"No matching documents\", \"search.result.one\": \"1 matching document\", \"search.result.other\": \"# matching documents\", \"search.result.placeholder\": \"Type to start searching\", \"search.result.term.missing\": \"Missing\", \"select.version\": \"Select version\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/fr/batch-operations/index.html",
    "content": "\n<!doctype html>\n<html lang=\"fr\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Créez, modifiez et appliquez des profils d'autorisations à plusieurs applications Android avec PMX — modèles de lot, profils par défaut et gestion groupée des permissions.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/batch-operations/\">\n      \n      \n        <link rel=\"prev\" href=\"../permission-view/\">\n      \n      \n        <link rel=\"next\" href=\"../whatsrunning-integration/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../batch-operations/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/batch-operations/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/batch-operations/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/batch-operations/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/batch-operations/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/batch-operations/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/batch-operations/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Opérations par lots - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#permission-profiles\" class=\"md-skip\">\n          Aller au contenu\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"En-tête\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Opérations par lots\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Sélectionner la langue\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../batch-operations/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/batch-operations/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/batch-operations/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/batch-operations/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/batch-operations/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/batch-operations/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/batch-operations/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Rechercher\" placeholder=\"Rechercher\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Recherche\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Effacer\" aria-label=\"Effacer\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Initialisation de la recherche\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Qu'est-ce que le PMX ?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Autorisations manifestes et AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Références d'autorisation\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interface utilisateur expliquée\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Chercher\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Vérification programmée\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observateur de Permissions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Vue Permission\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Opérations par lots\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Opérations par lots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Table des matières\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Table des matières\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#permission-profiles\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Profils de Permission\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#operations-with-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Opérations avec références\n      \n    </span>\n  </a>\n  \n    <nav class=\"md-nav\" aria-label=\"Opérations avec références\">\n      <ul class=\"md-nav__list\">\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#set-permissions\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Définir les permissions\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#set-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Définir les références\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#cleanup-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Nettoyer les références\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#reset-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Réinitialiser les références\n      \n    </span>\n  </a>\n  \n</li>\n        \n      </ul>\n    </nav>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Intégration avec WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Utiliser PMX avec ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versions PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/fr/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fonctionnalités payantes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Téléchargements\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Captures d'écran\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/fr/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Évaluations / Avis / Commentaires / Upvotes / Étoiles\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contactez-nous\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Applications\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Applications\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gestionnaire d'autorisations X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQ Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQ Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Foire aux questions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guide ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guide ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Associer/connecter l'application à ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Opérations par lots</h1>\n\n<h2 id=\"permission-profiles\">Profils de Permission<a class=\"headerlink\" href=\"#permission-profiles\" title=\"Permanent link\">&para;</a></h2>\n<ul>\n<li>Créer et éditer des profils de permission (modèles).</li>\n<li>Appliquer un profil à une liste d'applications sélectionnées.</li>\n<li>Sélectionnez un <strong>Profil par défaut</strong> à appliquer sur les applications nouvellement installées (si <a href=\"../permission-watcher/\">Permission Watcher</a> est activé).</li>\n</ul>\n<p><img alt=\"Profils de Permission\" class=\"media\" src=\"../../img/perm_profiles.webp\" /></p>\n<p><a href=\"../faqs/#faq39\">Ici</a> tu trouveras une vidéo qui explique comment créer et utiliser un profil.</p>\n<hr />\n<h2 id=\"operations-with-references\">Opérations avec références<a class=\"headerlink\" href=\"#operations-with-references\" title=\"Permanent link\">&para;</a></h2>\n<h3 id=\"set-permissions\">Définir les permissions<a class=\"headerlink\" href=\"#set-permissions\" title=\"Permanent link\">&para;</a></h3>\n<p>Passez en revue une liste des applications sélectionnées et faites <font color=\"#FF0000\">RED</font> autorisations <font color=\"#90EE90\">GREEN</font> en définissant leurs états en fonction des <a href=\"../permission-references/\">valeurs de référence</a>. Les autorisations avec les États verts et orange sont ignorées.</p>\n<p>Cette option est généralement utile lorsque vous venez de restaurer une sauvegarde et qu'il y a beaucoup de permissions avec l'état <font color=\"#FF0000\">RED</font>.</p>\n<h3 id=\"set-references\">Définir les références<a class=\"headerlink\" href=\"#set-references\" title=\"Permanent link\">&para;</a></h3>\n<p>Passez en revue une liste des applications sélectionnées et faites <font color=\"#FF0000\">RED</font> et <font color=\"#FFC107\">ORANGE</font> permissions <font color=\"#90EE90\">GREEN</font> en définissant leurs <a href=\"../permission-references/\">valeurs de référence</a> selon les états d'autorisation.</p>\n<p>Cette option est généralement utile lors d'une installation initiale. Vous venez d'installer l'application PMX et avez passé quelques heures à définir les autorisations. Cette option les rendra toutes <font color=\"#90EE90\">VERTES</font> en un seul clic.</p>\n<h3 id=\"cleanup-references\">Nettoyer les références<a class=\"headerlink\" href=\"#cleanup-references\" title=\"Permanent link\">&para;</a></h3>\n<p>Nettoyer la base de données des références des permissions. Les références inutilisées seront supprimées.</p>\n<p>S'il y a une grande liste de références inutilisées, un nettoyage peut améliorer le chargement de la liste des applications.</p>\n<h3 id=\"reset-references\">Réinitialiser les références<a class=\"headerlink\" href=\"#reset-references\" title=\"Permanent link\">&para;</a></h3>\n<p>Réinitialiser la base de données des références des permissions. Toutes les références seront supprimées.</p>\n<p>Non destiné à être utilisé normalement. Mais au cas où vous voulez commencer à partir de zéro.</p>\n<p><img alt=\"Définir les références - opération groupée\" class=\"media\" src=\"../../img/set_refs.webp\" /></p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Retour en haut de la page\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Pied de page\" >\n        \n          \n          <a href=\"../permission-view/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Précédent: Vue Permission\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Précédent\n              </span>\n              <div class=\"md-ellipsis\">\n                Vue Permission\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../whatsrunning-integration/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Suivant: Intégration avec WhatsRunning\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Suivant\n              </span>\n              <div class=\"md-ellipsis\">\n                Intégration avec WhatsRunning\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copi\\u00e9 dans le presse-papier\", \"clipboard.copy\": \"Copier dans le presse-papier\", \"search.result.more.one\": \"1 de plus sur cette page\", \"search.result.more.other\": \"# de plus sur cette page\", \"search.result.none\": \"Aucun document trouv\\u00e9\", \"search.result.one\": \"1 document trouv\\u00e9\", \"search.result.other\": \"# documents trouv\\u00e9s\", \"search.result.placeholder\": \"Taper pour d\\u00e9marrer la recherche\", \"search.result.term.missing\": \"Non trouv\\u00e9\", \"select.version\": \"S\\u00e9lectionner la version\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/fr/details/index.html",
    "content": "\n<!doctype html>\n<html lang=\"fr\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Voir et gérer les autorisations spécifiques à l'application dans PMX: détails de l'application, listes d'autorisations, accorder/révoquer des contrôles et informations sur le mode UID pour les applications Android.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/details/\">\n      \n      \n        <link rel=\"prev\" href=\"../permission-references/\">\n      \n      \n        <link rel=\"next\" href=\"../search/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../details/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/details/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/details/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/details/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/details/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/details/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/details/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Interface utilisateur expliquée - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#apps-list\" class=\"md-skip\">\n          Aller au contenu\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"En-tête\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Interface utilisateur expliquée\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Sélectionner la langue\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../details/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/details/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/details/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/details/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/details/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/details/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/details/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Rechercher\" placeholder=\"Rechercher\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Recherche\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Effacer\" aria-label=\"Effacer\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Initialisation de la recherche\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Qu'est-ce que le PMX ?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Autorisations manifestes et AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Références d'autorisation\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interface utilisateur expliquée\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interface utilisateur expliquée\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Table des matières\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Table des matières\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#apps-list\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Liste des applications\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#permissions-list\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Liste des permissions\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Chercher\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Vérification programmée\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observateur de Permissions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Vue Permission\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Opérations par lots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Intégration avec WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Utiliser PMX avec ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versions PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/fr/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fonctionnalités payantes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Téléchargements\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Captures d'écran\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/fr/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Évaluations / Avis / Commentaires / Upvotes / Étoiles\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contactez-nous\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Applications\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Applications\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gestionnaire d'autorisations X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQ Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQ Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Foire aux questions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guide ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guide ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Associer/connecter l'application à ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Interface utilisateur expliquée</h1>\n\n<h2 id=\"apps-list\">Liste des applications<a class=\"headerlink\" href=\"#apps-list\" title=\"Permanent link\">&para;</a></h2>\n<p><img alt=\"Détails de la liste des apps\" class=\"media\" src=\"../../img/pkg.webp\" /></p>\n<ol>\n<li>\n<p>La bande colorée à gauche indique <strong>état de référence</strong></p>\n</li>\n<li>\n<p><strong>icône</strong> de l'application</p>\n</li>\n<li>\n<p>La première ligne montre le paquet <strong>label</strong></p>\n</li>\n<li>\n<p>La deuxième ligne montre le paquet <strong>name</strong> et</p>\n</li>\n<li>\n<p><strong>UID</strong></p>\n</li>\n<li>\n<p>La troisième ligne (optionnellement) montre l'état du paquet : <strong>Critique</strong> (Framework), <strong>Framework</strong> ou <strong>System</strong>. Aussi si l'application est <strong>désactivée</strong>. Aucun état n'est affiché pour les applications <strong>activées</strong>, <strong>Utilisateur</strong>.</p>\n</li>\n<li>\n<p>La dernière ligne montre <strong>compte</strong> des permissions visibles sur le total manifest et</p>\n</li>\n<li>\n<p>Autorisations AppOps.</p>\n<p>Les permissions invisibles sont celles exclues dans <em>les filtres d'exclusion</em>.</p>\n</li>\n<li>\n<p>Si vous triez par heure d'installation ou de mise à jour, la dernière ligne affiche également la date ou l'heure sur le côté droit.</p>\n</li>\n</ol>\n<h2 id=\"permissions-list\">Liste des permissions<a class=\"headerlink\" href=\"#permissions-list\" title=\"Permanent link\">&para;</a></h2>\n<p><img alt=\"Détails de l'élément de la liste des autorisations\" class=\"media\" src=\"../../img/perm.webp\" /></p>\n<p><img alt=\"Détails de l'élément de la liste des autorisations\" class=\"media\" src=\"../../img/perm2.webp\" /></p>\n<ol>\n<li>La bande colorée à gauche indique <strong>état de référence</strong></li>\n<li>Les permissions Manifest montrent un drapeau dans le coin supérieur droit</li>\n<li>Permission <strong>icône</strong></li>\n<li>La première ligne montre <strong>le nom de la permission</strong></li>\n<li>La seconde ligne montre le <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">niveau de protection de la permission</a>: <strong>Normal</strong>, <strong>Dangerous</strong>, <strong>Signature</strong>, <strong>Développement</strong>, <strong>Privilège</strong>, <strong>Fixe</strong>, <strong>AppOps</strong> ou <strong>Inconnu</strong>. Également si AppOp est <strong>par Package</strong> ou <strong>par UID</strong>. Et si c'est un AppOp <strong>extra</strong> (jamais exclu dans les paramètres de filtre).</li>\n<li>La troisième ligne (en cas de AppOp) montre <strong>le dernier accès ou le dernier délai de rejet</strong></li>\n<li>La quatrième ligne (en cas de AppOp) montre la valeur référencée si elle ne correspond pas à la valeur actuelle de l'ensemble.</li>\n<li>Basculer pour changer l'état des permissions</li>\n<li>État actuel (dans le cas de AppOp)</li>\n<li><strong>Par défaut</strong> indique que l'état AppOp n'a jamais été changé</li>\n</ol>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Retour en haut de la page\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Pied de page\" >\n        \n          \n          <a href=\"../permission-references/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Précédent: Références d&#39;autorisation\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Précédent\n              </span>\n              <div class=\"md-ellipsis\">\n                Références d'autorisation\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../search/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Suivant: Chercher\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Suivant\n              </span>\n              <div class=\"md-ellipsis\">\n                Chercher\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copi\\u00e9 dans le presse-papier\", \"clipboard.copy\": \"Copier dans le presse-papier\", \"search.result.more.one\": \"1 de plus sur cette page\", \"search.result.more.other\": \"# de plus sur cette page\", \"search.result.none\": \"Aucun document trouv\\u00e9\", \"search.result.one\": \"1 document trouv\\u00e9\", \"search.result.other\": \"# documents trouv\\u00e9s\", \"search.result.placeholder\": \"Taper pour d\\u00e9marrer la recherche\", \"search.result.term.missing\": \"Non trouv\\u00e9\", \"select.version\": \"S\\u00e9lectionner la version\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/fr/faqs/index.html",
    "content": "\n<!doctype html>\n<html lang=\"fr\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Foire aux questions sur PMX: pourquoi utiliser PMX, AppOp/manifest explications, ADB conseils et dépannage pour le contrôle de permission Android.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/faqs/\">\n      \n      \n        <link rel=\"prev\" href=\"../versions/\">\n      \n      \n      \n        \n          <link rel=\"alternate\" href=\"../../faqs/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/faqs/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/faqs/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/faqs/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/faqs/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/faqs/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/faqs/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>FAQs PMX - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#faq36\" class=\"md-skip\">\n          Aller au contenu\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"En-tête\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              FAQs PMX\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Sélectionner la langue\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../faqs/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/faqs/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/faqs/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/faqs/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/faqs/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/faqs/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/faqs/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Rechercher\" placeholder=\"Rechercher\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Recherche\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Effacer\" aria-label=\"Effacer\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Initialisation de la recherche\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Qu'est-ce que le PMX ?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Autorisations manifestes et AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Références d'autorisation\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interface utilisateur expliquée\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Chercher\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Vérification programmée\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observateur de Permissions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Vue Permission\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Opérations par lots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Intégration avec WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Utiliser PMX avec ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versions PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/fr/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fonctionnalités payantes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs PMX\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Table des matières\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Table des matières\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq36\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Pourquoi dois-je utiliser PMX?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq1\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Pourquoi PMX requiert un accès root ou ADB?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq33\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Mon appareil n'est pas rooté. Comment puis-je utiliser PMX?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq42\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Pourquoi PMX ne fonctionne pas ou ne fonctionne pas correctement sur la dernière version d'Android ?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq43\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Pourquoi PMX ne fonctionne pas correctement sur les systèmes d'exploitation OEM ou sur mesure ROMs?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq2\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Comment PMX modifie-t-il les autorisations des autres applications ?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq34\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Les permissions restent-elles modifiées après la désactivation de ADB ou le root est refusé, ou bien PMX est désinstallé ?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq15\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Pourquoi ne puis-je pas modifier la permission XYZ ?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq37\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        J'ai changé de permission, mais ça ne fonctionne pas. Pourquoi?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq3\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Pourquoi certains AppOps ne peuvent pas être changés ?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq6\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Pourquoi ne pas voir l'application XYZ dans la liste des paquets ?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq7\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Pourquoi ne puis-je pas voir les permissions XYZ dans le paquet ABC ?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq8\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Pourquoi ne puis-je pas voir XYZ AppOp dans le paquet ABC ?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq5\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Que dois-je sélectionner pour l'UID du démon privilège dans les paramètres avancés ? Système ou ADB?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq9\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Que sont les \"permissions invalides\" dans les filtres d'exclusion ?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq10\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Que sont les « AppOpssupplémentaires » dans les filtres d'exclusion ?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq11\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Quels sont les différents modes AppOp et lesquels dois-je utiliser ?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq12\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Quelle est la différence entre les modes « Ignorer » et « Refuser » AppOp?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq41\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Pourquoi ne puis-je pas mettre le mode AppOp au premier plan ?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq14\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Que fait la permission WAKE_LOCK?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq16\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Comment puis-je changer la permission INTERNET?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq40\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Que sont les permissions fixes?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq17\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Comment puis-je modifier les permissions fixées par le système, les autorisations de signature/privilèges ou les permissions des applications du framework ?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq18\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Qu'est-ce que le \"mode UID\" dans les autorisations AppOp?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq39\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Est-ce que je peux contrôler la fonctionnalité Android « Supprimer les autorisations si l'appli n'est pas utilisée » depuis PMX?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq31\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Pourquoi ai-je beaucoup de popupons \"Mauvais ROM\" ?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq19\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Que font les boutons \"Cacher de la liste\" (sur appui long) ?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq21\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Y a-t-il une liste complète de toutes les autorisations disponibles avec explication ?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq22\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Comment utiliser l'appli dans un profil professionnel / un environnement multi-utilisateurs ?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq24\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Comment PMX se compare-t-il à XPrivacyLua? Peuvent-ils se remplacer?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq32\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Est-ce que PMX peut supprimer automatiquement les autorisations lorsqu'une application est fermée, comme Bouncer le fait ?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq35\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Puis-je être averti quand une nouvelle application est installée?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq38\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Quand une nouvelle application est installée, PMX peut-elle supprimer ses autorisations par défaut ?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq25\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Pourquoi PMX requiert une autorisation INTERNET ?\n      \n    </span>\n  </a>\n  \n    <nav class=\"md-nav\" aria-label=\"Pourquoi PMX requiert une autorisation INTERNET ?\">\n      <ul class=\"md-nav__list\">\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#optional-use-of-internet-permission\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Utilisation optionnelle de la permission android.permission.INTERNET\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#on-device-use-of-internet-permission\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Utilisation locale (sur appareil) de la permission android.permission.INTERNET\n      \n    </span>\n  </a>\n  \n</li>\n        \n      </ul>\n    </nav>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq26\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        PMX , c'est cool pour la confidentialité ? Est-ce que vous collectez les données des utilisateurs ?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq27\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Est-ce que l'espionnage PMX sur mon réseau utilise ADB?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq28\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Est-ce que PMX utilise les privilèges root pour collecter mes données ?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq29\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Je pense que PMX est inutile. Pourquoi a-t-elle été créée?\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Téléchargements\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Captures d'écran\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/fr/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Évaluations / Avis / Commentaires / Upvotes / Étoiles\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contactez-nous\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Applications\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Applications\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gestionnaire d'autorisations X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQ Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQ Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Foire aux questions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guide ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guide ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Associer/connecter l'application à ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>FAQs PMX</h1>\n\n<h3 id=\"faq36\">Pourquoi dois-je utiliser PMX?<a class=\"headerlink\" href=\"#faq36\" title=\"Permanent link\">&para;</a></h3>\n<p>Parce que :</p>\n<ul>\n<li>PMX rassemble toutes les infos et les commandes liées aux autorisations qui sont éparpillées (ou pas disponibles) sur un seul écran pour que tu puisses les voir et les contrôler de manière claire et pratique.</li>\n<li>Il n'y a pas d'outil officiel disponible en stock Android pour changer <strong>AppOps</strong>. Seuls un sous-ensemble de <strong>permissions manifest</strong> sont exposés à l'utilisateur dans les paramètres d'autorisation. PMX expose toutes les autorisations sous forme brute. Relatif : <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\"> AutorisationsManifest et AppOps</a>.</li>\n<li>PMX te permet de suivre facilement toutes les <strong>modifications indésirables</strong> apportées aux autorisations.</li>\n<li>En donnant le contrôle sur votre appareil, PMX vous permet <strong>d'économiser des ressources de l'appareil</strong> comme la batterie et la bande passante du réseau, et <strong>de protéger votre vie privée</strong>. Vous n'êtes pas entièrement laissé à la merci de l'application et des développeurs ROM. Lisez ceci <a href=\"https://www.buzzfeednews.com/article/nicolenguyen/how-apps-take-your-data-and-sell-it-without-you-even\">article</a> pour avoir une idée.</li>\n<li>PMX peux suivre les changements d'autorisation en direct et les annuler automatiquement quand tu arrêtes d'utiliser une appli. Ou il peut effectuer une <strong>analyse programmée</strong> des permissions. Vous n'avez donc pas à vous souvenir des choses.</li>\n<li>PMX vous facilite la <strong>sauvegarde et restauration des autorisations</strong> de l'état des applications installées, de sorte que vous n'ayez pas à modifier les permissions d'une application encore et encore.</li>\n</ul>\n<p>Veuillez également voir <a href=\"../\">Qu'est-ce que PMX</a> ?</p>\n<hr />\n<h3 id=\"faq1\">Pourquoi PMX requiert un accès root ou ADB?<a class=\"headerlink\" href=\"#faq1\" title=\"Permanent link\">&para;</a></h3>\n<p>Android empêche intentionnellement les applications de modifier les autorisations manifest ou AppOps d'autres applications (et dans de nombreux cas de modifier certaines de leurs propres applications). Ces protections protègent la confidentialité des utilisateurs et l'intégrité du système.</p>\n<p>Pour effectuer des actions qui nécessitent des privilèges élevés, PMX utilise un petit assistant privilégié séparé plutôt que d'essayer de tout faire depuis le processus normal de l'application. Par défaut, cette aide s'exécute sous l'UID ADB (<code>2000</code>) lorsque démarré via ADB, ou sous l'UID System (<code>1000</code>) sur les périphériques rootés. Si vous avez un périphérique rooté, vous pouvez modifier l'UID de l'aide dans <em>Paramètres avancés</em>.</p>\n<hr />\n<h3 id=\"faq33\">Mon appareil n'est pas rooté. Comment puis-je utiliser PMX?<a class=\"headerlink\" href=\"#faq33\" title=\"Permanent link\">&para;</a></h3>\n<p>Utiliser <a href=\"../use-with-adb/\">PMX avec ADB</a>. Veuillez lire la note au début. Il peut y avoir des limitations sur certains appareils.</p>\n<hr />\n<h3 id=\"faq42\">Pourquoi PMX ne fonctionne pas ou ne fonctionne pas correctement sur la dernière version d'Android ?<a class=\"headerlink\" href=\"#faq42\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX s'appuie sur les API cachées d'Android ou les interfaces non-SDK qui ne sont pas documentées (<a href=\"https://developer.android.com/\">Développeurs Android</a>) à la différence des API standard. Donc, à chaque nouvelle version d'Android, nous devons passer par le code source d'Android pour savoir quelles API ont cassé (changé ou supprimé).</p>\n<p>De plus, il faut du temps pour réparer les APIs cassés ; parfois des semaines, parfois des mois. Et il n'est pas garanti que nous serons toujours en mesure de corriger les API cassées. Parfois, Google a pour but de rendre difficile ou impossible pour nous de continuer à utiliser les API cachées.</p>\n<p>Par conséquent, il n'est pas possible pour nous de faire en sorte que l' PMX fonctionne immédiatement sur chaque nouvelle version d'Android (particulièrement en phase bêta) tant que le code source AOSP final n'est pas publié publiquement (<a href=\"https://cs.android.com/\">Recherche de code</a> ou <a href=\"https://android.googlesource.com/\">Référentiel Git</a>).</p>\n<p>La version finale d'Android prise en charge par PMXest indiquée dans la description de l'application sur GitHub et le Play Store. Lorsque vous exécutez l'application sur une version non prise en charge pour la première fois, elle affiche un avertissement comme celui-ci :</p>\n<p><img alt=\"Avertissement de version Android non pris en charge\" class=\"media\" src=\"../../img/unsupported_android_version_warning.webp\" /></p>\n<hr />\n<h3 id=\"faq43\">Pourquoi PMX ne fonctionne pas correctement sur les systèmes d'exploitation OEM ou sur mesure ROMs?<a class=\"headerlink\" href=\"#faq43\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX s'appuie sur les API cachées d'Android ou les interfaces non-SDK qui ne sont pas documentées (<a href=\"https://developer.android.com/\">Développeurs Android</a>) à la différence des API standard. Nous avons donc besoin d'accéder au code source de votre ROM pour savoir exactement comment fonctionnent les API cachées.</p>\n<p>Eh bien, AOSP (qui est développé par Google) est open-source. Mais si votre développeur OEM ou ROM apporte quelques modifications à AOSP à des fins de personnalisation, nous n'avons aucun moyen de savoir exactement quels changements ils ont apporté au code AOSP du stock. Nous sommes assez impuissants ici. Et ce fait est indiqué dans la description de l'application sur GitHub et le Play Store. Désolé.</p>\n<hr />\n<h3 id=\"faq2\">Comment PMX modifie-t-il les autorisations des autres applications ?<a class=\"headerlink\" href=\"#faq2\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX ne peut pas et ne donne ni ne retire les autorisations d'autres applis. En fait, aucune application tierce n'a le privilège de le faire. C'est l'OS Android qui contrôle les autorisations des applications. PMX envoie une demande au framework Android pour modifier l'état d'une autorisation. Maintenant, c'est entièrement à Android combien cela honore notre demande. Toutes les permissions ne sont pas modifiables. Et si vous n'êtes pas en mesure de changer l'état d'une permission en utilisant PMX, vous ne pourrez pas non plus le modifier autrement.</p>\n<hr />\n<h3 id=\"faq34\">Les permissions restent-elles modifiées après la désactivation de ADB ou le root est refusé, ou bien PMX est désinstallé ?<a class=\"headerlink\" href=\"#faq34\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX ne peut pas et ne donne ni ne retire les autorisations d'autres applis. En fait, aucune application tierce n'a le privilège de le faire. C'est l'OS Android qui contrôle les autorisations des applications. PMX envoie une demande au framework Android pour modifier l'état d'une autorisation.</p>\n<p>Donc, une fois qu'une permission est modifiée, cela ne fait aucune différence si vous désinstallez PMX ou supprimez ses privilèges. La permission reste dans quelque état que ce soit, sauf si vous ou le système d'exploitation avez changé à nouveau.</p>\n<hr />\n<h3 id=\"faq15\">Pourquoi ne puis-je pas modifier la permission XYZ ?<a class=\"headerlink\" href=\"#faq15\" title=\"Permanent link\">&para;</a></h3>\n<p>Les permissions de manifestes avec seulement <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">niveau de protection</a> dangereux (et quelques autres) sont modifiables. AppOps qui ne dépendent pas d'autres AppOp sont modifiables. C'est ainsi que fonctionne Android, nous ne pouvons pas modifier le comportement. Voir <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\"> les permissionsManifest et AppOps</a>.</p>\n<p>De plus, PMX protège certaines applications et autorisations critiques du framework ; les changer peuvent bloquer l'appareil. Voir la <a href=\"#faq17\">question liée</a>.</p>\n<p>Voir aussi <a href=\"#faq3\">Pourquoi certains AppOps ne peuvent pas être changés?</a></p>\n<p>Notez que depuis Android 15, les autorisations manifest des applications système avec le niveau de protection <em>Développement</em> ne peuvent pas être révoquées. Android ignore silencieusement la requête.</p>\n<hr />\n<h3 id=\"faq37\">J'ai changé de permission, mais ça ne fonctionne pas. Pourquoi?<a class=\"headerlink\" href=\"#faq37\" title=\"Permanent link\">&para;</a></h3>\n<p>Après avoir modifié une permission avec succès, si vous ne obtenez pas les résultats souhaités i.e. il revient immédiatement ou après quelques heures ou quelques jours, c'est le système d'exploitation Android à blâmer. Veuillez voir:</p>\n<ul>\n<li><a href=\"#faq2\">Comment PMX change-t-il les autorisations des autres applications ?</a></li>\n<li><a href=\"#faq3\">Pourquoi certains AppOps ne peuvent pas être changés?</a></li>\n</ul>\n<p>Lorsque vous utilisez des applications, Android peut modifier leurs permissions. Et nous n'avons malheureusement aucun moyen de l'empêcher. <a href=\"../permission-watcher/\">Observateur de permission</a> et <a href=\"../scheduled-check/\">Vérificateur programmé</a> peuvent vous aider à cet égard.</p>\n<hr />\n<h3 id=\"faq3\">Pourquoi certains AppOps ne peuvent pas être changés ?<a class=\"headerlink\" href=\"#faq3\" title=\"Permanent link\">&para;</a></h3>\n<p>Parfois, vous voyez \" Le modeAppOp n'a pas été changé\". Cela signifie qu'Android a rejeté la demande de modification du mode AppOp. Vous ne pouvez pas le modifier quelle que soit la méthode ou l'application que vous utilisez. Il pourrait y avoir plusieurs raisons possibles.</p>\n<ul>\n<li>\n<p>Certains AppOps dépendent de leurs permissions manifest correspondantes. Ils ne peuvent donc pas être modifiés indépendamment. Par exemple, vous ne pourrez peut-être pas refuser <code>READ_CONTACTS</code> AppOp si une permission <code>android.permission.READ_CONTACTS</code> manifest est accordée.</p>\n<p>Également si l'application n'a pas demandé la permission manifest dans son fichier manifest , sa permission AppOp ne peut pas non plus être accordée. Mais il peut toujours apparaître dans la liste des permissions de l'application si l'application a essayé de l'utiliser (et a été rejetée). <code>SYSTEM_ALERT_WINDOW</code> en est un exemple.</p>\n</li>\n<li>\n<p>Certains AppOps ne sont utilisés par Android que pour des raisons de compatibilité (par exemple <code>LEGACY_STORAGE</code>) et ils ne contrôlent rien. Si nous explorons leur travail sous-jacent, il est révélé que l'octroie/révocation de telles autorisations n'a aucun sens.</p>\n</li>\n<li>\n<p>Certaines autorisations ne peuvent pas être modifiées si l'application est en cours d'exécution ou cible une version Android plus ancienne ou plus récente.</p>\n</li>\n<li>\n<p>Certains OEM ROMs se comportent bizarrement en ce qui concerne AppOps. Voir <a href=\"#faq43\">Pourquoi PMX ne fonctionne pas correctement sur les systèmes d'exploitation OEM ou ROMspersonnalisés ?</a></p>\n</li>\n<li>\n<p>De nombreux AppOps peuvent avoir 2 modes : le mode package et le mode UID. Il est possible que l'un puisse être changé alors que l'autre ne peut pas être.</p>\n<p>Habituellement UID AppOps a préséance sur ses homologues AppOp paquets. Dans ce cas, le mode effectif du package AppOp est identique à celui de son UID AppOps. Vous ne pouvez donc pas changer le package AppOp seul.</p>\n<p>Certains AppOps préfèrent être configurés en mode paquet, pas en mode UID. Mais si elle est mal définie en mode UID (avec un outil en ligne de commande ou par une autre application), elle ne répond pas aux changements. Faites \"Réinitialiser AppOps\" depuis le menu en haut à droite pour le faire fonctionner à nouveau. C'est également le cas pour les autres AppOps qui ont une permission manifest correspondante avec <em>AppOp</em> <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">niveau de protection</a>.</p>\n</li>\n</ul>\n<p>En fait, il y a beaucoup plus d'explications si nous fouillons chaque application et chaque autorisation individuellement (ce qui ne semble pas pratique). Comme on l'a dit plus haut, PMX ne change pas tout seul les autorisations des autres applis. Donc, même si pour une raison inconnue, Android ne modifie pas une permission, ou le remet immédiatement à zéro, il n'y a rien que nous pouvons faire pour le forcer car ce sont les limitations à la fin d'Android. Je devrais plutôt dire que c'est ainsi que fonctionne Android.</p>\n<p>Relatif :</p>\n<ul>\n<li><a href=\"#faq11\">Quels sont les différents modes AppOp et lesquels devrais-je utiliser?</a></li>\n<li><a href=\"#faq41\">Pourquoi ne puis-je pas mettre le mode AppOp au premier plan?</a></li>\n</ul>\n<hr />\n<h3 id=\"faq6\">Pourquoi ne pas voir l'application XYZ dans la liste des paquets ?<a class=\"headerlink\" href=\"#faq6\" title=\"Permanent link\">&para;</a></h3>\n<p>Veuillez vérifier les <strong>filtres d'exclusion</strong>. Presque tous les paquets Android d'origine sont exclus par défaut. Vous pouvez exclure / inclure n'importe quel paquet que vous voulez de / à la liste visible.</p>\n<hr />\n<h3 id=\"faq7\">Pourquoi ne puis-je pas voir les permissions XYZ dans le paquet ABC ?<a class=\"headerlink\" href=\"#faq7\" title=\"Permanent link\">&para;</a></h3>\n<p>Veuillez vérifier les <strong>filtres d'exclusion</strong>. Les permissions qui ne sont pas modifiables sont exclues de la liste visible par défaut.</p>\n<hr />\n<h3 id=\"faq8\">Pourquoi ne puis-je pas voir XYZ AppOp dans le paquet ABC ?<a class=\"headerlink\" href=\"#faq8\" title=\"Permanent link\">&para;</a></h3>\n<p>Veuillez vérifier les <strong>filtres d'exclusion</strong> si XYZ AppOp est exclu de la liste visible. Ou ABC package peut ne pas utiliser une opération XYZ. Vous n'avez pas besoin de vous inquiéter à ce sujet.</p>\n<p>Mais si vous voulez voir le XYZ AppOp pour toutes les applications, allez dans <strong>Exclusion Filters → Extra AppOps, jamais exclu</strong> et vérifiez XYZ AppOp dans la liste.</p>\n<p>Par exemple, écrivez <code>_CLIPBOARD</code> dans la boîte de recherche (avec la case <strong>Recherche profonde</strong> cochée) et vous obtiendrez toutes les applications qui ont utilisé (ou tenté d'utiliser) la permission <code>READ_CLIPBOARD</code> ou <code>WRITE_CLIPBOARD</code>. L'horodatage est également affiché (mais pas pour tous les AppOps).</p>\n<p>Donc, si l'application qui vous préoccupe n'est pas dans les résultats de recherche, vérifiez AppOps dans la liste <strong>Filtres d'exclusion</strong> mentionnée ci-dessus.</p>\n<hr />\n<h3 id=\"faq5\">Que dois-je sélectionner pour l'UID du démon privilège dans les paramètres avancés ? Système ou ADB?<a class=\"headerlink\" href=\"#faq5\" title=\"Permanent link\">&para;</a></h3>\n<p>Cela ne compte que si vous utilisez root, ou <code>adbd</code> sur votre appareil fonctionne avec le root (ce qui n'est pas le cas avec les appareils de l'utilisateur final).</p>\n<p>Utilisez de préférence <strong>Système</strong> (UID <code>1000</code>) car il permet plus de privilèges que <strong>ADB</strong> (UID <code>2000</code>). Par ex. modifier les permissions \"<em>Système-Fixed</em>\" n'est possible que lorsque le système est lancé.</p>\n<hr />\n<h3 id=\"faq9\">Que sont les \"permissions invalides\" dans les filtres d'exclusion ?<a class=\"headerlink\" href=\"#faq9\" title=\"Permanent link\">&para;</a></h3>\n<p>Si une application demande une autorisation manifest mais qu'elle ne soit pas déclarée (fournie) par le framework Android ou par aucun des paquets installés, c'est une permission invalide. Par exemple, <code>com.android.vending.BILLING</code> n'est pas une autorisation valide si l'application Play Store n'est pas installée sur votre appareil.</p>\n<hr />\n<h3 id=\"faq10\">Que sont les « AppOpssupplémentaires » dans les filtres d'exclusion ?<a class=\"headerlink\" href=\"#faq10\" title=\"Permanent link\">&para;</a></h3>\n<p>Tous les AppOps ne sont pas utilisés pour toutes les applications installées. Mais vous pouvez imposer un AppOp à n'importe quelle application. L' AppOps supplémentaire sélectionné apparaît dans les listes d'autorisations de toutes les applications afin que vous puissiez les définir.</p>\n<hr />\n<h3 id=\"faq11\">Quels sont les différents modes AppOp et lesquels dois-je utiliser ?<a class=\"headerlink\" href=\"#faq11\" title=\"Permanent link\">&para;</a></h3>\n<p>Normalement, vous devriez autoriser ou ignorer. Ou vous pouvez autoriser une opération uniquement lorsque l'application est en <strong>premier plan</strong> (uniquement sur Android 9 et supérieur). <strong>Refuser</strong> est la version intense d'Ignore qui peut faire planter l'application requise. <strong>Par défaut</strong> est le comportement par défaut du système qui diffère pour différents AppOps.</p>\n<p>Veuillez noter que tous les modes AppOp ne peuvent pas être configurés sur chaque AppOp pour chaque application. Par exemple, sur les dernières versions d'Android <code>CAMERA</code> et <code>MICROPHONE</code> sont autorisés à être utilisés par les applications utilisateur uniquement au premier plan (même si le mode défini est <strong>Autorisé</strong>). De la même façon, certains AppOps ne peuvent jamais être réglés en mode <strong>Foreground</strong>.</p>\n<p>Lié : <a href=\"#faq3\">Pourquoi AppOps ne peut pas être modifié ?</a></p>\n<p>Documentation officielle: <a href=\"https://developer.android.com/reference/android/app/AppOpsManager#access-control\">AppOpsManager</a>.</p>\n<hr />\n<h3 id=\"faq12\">Quelle est la différence entre les modes « Ignorer » et « Refuser » AppOp?<a class=\"headerlink\" href=\"#faq12\" title=\"Permanent link\">&para;</a></h3>\n<p><a href=\"https://developer.android.com/reference/android/app/AppOpsManager#MODE_IGNORED\">Ignore</a> échoue silencieusement alors que <a href=\"https://developer.android.com/reference/android/app/AppOpsManager#MODE_ERRORED\">Deny</a> renvoie une erreur à l'application que l'application pourrait ne pas attendre et peut crasher. Vous devriez normalement utiliser <strong>Ignorer</strong>.</p>\n<hr />\n<h3 id=\"faq41\">Pourquoi ne puis-je pas mettre le mode AppOp au premier plan ?<a class=\"headerlink\" href=\"#faq41\" title=\"Permanent link\">&para;</a></h3>\n<p>Le mode de premier plan ne peut pas être défini pour tous les AppOps. Même si elle est définie, elle peut ne pas donner de résultats attendus.</p>\n<p>Relatif :</p>\n<ul>\n<li><a href=\"#faq11\">Quels sont les différents modes AppOp et lesquels devrais-je utiliser?</a></li>\n<li><a href=\"#faq3\">Pourquoi certains AppOps ne peuvent pas être changés?</a></li>\n</ul>\n<p>Veuillez noter que le mode d'autorisation \"Autoriser uniquement lorsque vous utilisez l'application\" ne définit pas toujours le mode AppOp sur \"Premier plan\":</p>\n<p><img alt=\"Modes de permission au premier plan et à une fois\" class=\"media\" src=\"../../img/fg_and_one_time_perm_modes.webp\" /></p>\n<p>Normalement, nous ne voyons que deux états pour une autorisation manifest : accordée et révoquée. Mais Android utilise <a href=\"https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-13.0.0_r1/core/java/android/content/pm/PackageManager.java#4655\">flags</a> pour scinder ces deux états en plusieurs sous-états. Pour certaines autorisations, le même phénomène est utilisé pour obtenir le comportement \"accorder uniquement lorsque l'application est visible\". La permission AppOp n'est pas utilisée dans ce cas.</p>\n<p>Pour plus de détails, voir la documentation officielle de <a href=\"https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-13.0.0_r1/core/java/android/permission/Permissions.md#background-access\">accès en arrière-plan</a> et <a href=\"https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-13.0.0_r1/core/java/android/app/AppOps.md#foreground\">accès au premier plan</a>.</p>\n<p>Pour plus de simplicité, PMX ne regarde pas les drapeaux de permission pour le moment. Mais à l'avenir, une option pourrait être ajoutée pour suivre également les modifications des options de permission, même si le mode autorisé/révoqué reste inchangé.</p>\n<hr />\n<h3 id=\"faq14\">Que fait la permission <code>WAKE_LOCK</code>?<a class=\"headerlink\" href=\"#faq14\" title=\"Permanent link\">&para;</a></h3>\n<p>Les applications maintiennent wakelock pour garder l'appareil éveillé, c'est-à-dire ne pas entrer en <a href=\"https://developer.android.com/training/monitoring-device-state/doze-standby#understand_doze\">mode Doze</a>.</p>\n<hr />\n<h3 id=\"faq16\">Comment puis-je changer la permission <code>INTERNET</code>?<a class=\"headerlink\" href=\"#faq16\" title=\"Permanent link\">&para;</a></h3>\n<p>Android ne permet pas de changer toutes les permissions, comme celles qui ont le **niveau de protection <strong>Normal</strong> <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">niveau de protection</a> (e. . <code>INTERNET</code>) ou ceux qui ont un indicateur <strong>fixe</strong> ou un niveau de protection <strong>Signature</strong> (généralement des applications System ou Framework). Voir <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\"> les permissionsManifest et AppOps</a>.</p>\n<p>Mais si vous êtes rooté, <a href=\"https://github.com/mirfatif/Fyrypt\">Fyrypt</a> vous donne un contrôle très fort sur l'activité du réseau sur votre appareil.</p>\n<hr />\n<h3 id=\"faq40\">Que sont les permissions fixes?<a class=\"headerlink\" href=\"#faq40\" title=\"Permanent link\">&para;</a></h3>\n<p>Les permissions <strong>réparées par le système</strong> sont accordées aux applications préinstallées par les développeurs OEMs ou ROM. Elles ne sont pas censées être modifiées. Mais si votre appareil est rooté, PMX peut modifier les permissions fixées par le système.</p>\n<p>Les autorisations <strong>fixées par la politique</strong> sont accordées (ou refusées) par les administrateurs informatiques sur les appareils gérés. Elles ne peuvent pas être modifiées.</p>\n<p>Les permissions <strong>fixes</strong> sont fixées par l'utilisateur. Si un utilisateur refuse une autorisation à plusieurs reprises lorsque l'application le demande, le système d'exploitation marque la permission comme réglée par l'utilisateur et n'affiche plus d'invite l'utilisateur à accorder l'autorisation si l'application demande la même permission à nouveau. Ce type d'autorisations fixes peut être facilement modifié quand l'utilisateur le veut.</p>\n<hr />\n<h3 id=\"faq17\">Comment puis-je modifier les permissions fixées par le système, les autorisations de signature/privilèges ou les permissions des applications du framework ?<a class=\"headerlink\" href=\"#faq17\" title=\"Permanent link\">&para;</a></h3>\n<p>Si votre appareil est rooté, dans la version payante, vous pouvez <strong>autoriser les modifications critiques</strong> dans les <strong>Réglages avancés</strong> pour apporter des modifications aux permissions avec l'option <strong>Système-Fixed</strong>, niveau de protection <strong>Signature</strong> ou <strong>Privilèges</strong>, ou ceux de l'application Framework. Mais il n'est pas recommandé de jouer avec les applications System and Framework. Vous pouvez briquer votre appareil.</p>\n<hr />\n<h3 id=\"faq18\">Qu'est-ce que le \"mode UID\" dans les autorisations AppOp?<a class=\"headerlink\" href=\"#faq18\" title=\"Permanent link\">&para;</a></h3>\n<p>C'est un mode d'autorisation AppOp qui indique que le changement de l' AppOp affectera également les autres applications (avec le même UID), si installé. Voir <a href=\"https://developer.android.com/guide/topics/manifest/manifest-element#uid\"><code>sharedUserId</code></a>.</p>\n<p>Notez que le mode UID a préséance sur le mode package pour beaucoup de AppOps.</p>\n<hr />\n<h3 id=\"faq39\">Est-ce que je peux contrôler la fonctionnalité Android « Supprimer les autorisations si l'appli n'est pas utilisée » depuis PMX?<a class=\"headerlink\" href=\"#faq39\" title=\"Permanent link\">&para;</a></h3>\n<p>Oui. Cette fonctionnalité est disponible depuis <a href=\"https://developer.android.com/about/versions/11/privacy/permissions#auto-reset\">Android 11</a>. Il est également marqué comme <strong>\"Pause l'activité de l'application si non utilisée\"</strong> sur certains appareils.</p>\n<p><img alt=\"Suppression automatique des permissions inutilisées\" class=\"media\" src=\"../../img/remove_unused_perms.webp\" /></p>\n<p>Pour changer cette option de PMX:</p>\n<ol>\n<li>Allez dans la liste <strong>Exclusion Filters → Extra AppOps</strong> et cochez <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code>.</li>\n<li>Retour sur l'écran principal, tapez <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code> dans la barre de recherche supérieure. Assurez-vous que la recherche approfondie est activée dans les paramètres de recherche.</li>\n<li>Définit le mode <strong>Autoriser</strong> ou <strong>Ignorer</strong> pour toutes les applications que vous voulez.</li>\n</ol>\n<p>Vous pouvez également utiliser <a href=\"../permission-view/\">Permission View</a> ou <a href=\"../batch-operations/\">Batch Operations</a> à la place des étapes 2 et 3. Voici un guide sur la façon dont vous le feriez en utilisant des opérations par lots :</p>\n<video class=\"media\" controls muted>\n    <source src=\"../../img/remove_unused_perms.mp4\" type=\"video/webm\">\n    Remove permissions if app isn't used\n</video>\n\n<hr />\n<h3 id=\"faq31\">Pourquoi ai-je beaucoup de popupons \"Mauvais ROM\" ?<a class=\"headerlink\" href=\"#faq31\" title=\"Permanent link\">&para;</a></h3>\n<p>Les OEMs apportent d'énormes modifications au code AOSP (développé par Google). Donc le framework AppOps sur certains OEM personnalisés / ROMs retourne des résultats inattendus que PMX ne peut comprendre. Vous pouvez ignorer ces popups, mais cela signifie que la fonctionnalité est quelque peu limitée.</p>\n<p>Vous pouvez désactiver ces popups dans <strong>Paramètres</strong> → <strong>Réglages généraux</strong> → <strong>Désactiver les toasts ROM mauvaises</strong>.</p>\n<p>Voir <a href=\"#faq43\">Pourquoi PMX ne fonctionne pas correctement sur les systèmes d'exploitation OEM ou ROMspersonnalisés ?</a></p>\n<hr />\n<h3 id=\"faq19\">Que font les boutons \"Cacher de la liste\" (sur appui long) ?<a class=\"headerlink\" href=\"#faq19\" title=\"Permanent link\">&para;</a></h3>\n<p>Ils ne font que cacher l'application ou la permission de la liste visible. Si vous ne voulez pas modifier une permission pour une application, vous pouvez la masquer. Et il n'apparaîtra pas pour aucune application. Pour le décocher à nouveau, allez dans les paramètres de <strong>Filtres d'exclusion</strong>.</p>\n<p>De même, vous pouvez exclure une application de la liste visible si vous n'êtes pas préoccupé par ses permissions.</p>\n<p><img alt=\"Cacher l'application de la liste visible\" class=\"media\" src=\"../../img/hide_app_from_list.webp\" /> <img alt=\"Cacher la permission de la liste visible\" class=\"media\" src=\"../../img/hide_perm_from_list.webp\" /></p>\n<hr />\n<h3 id=\"faq21\">Y a-t-il une liste complète de toutes les autorisations disponibles avec explication ?<a class=\"headerlink\" href=\"#faq21\" title=\"Permanent link\">&para;</a></h3>\n<p>Il n'y a pas de liste complète des permissions avec la description, au moins à ma connaissance. La version PMX Pro montre une brève description des autorisations manifest et AppOp.</p>\n<p>Il y a des ressources tierces comme <a href=\"https://android.izzysoft.de/applists.php?topic=perms\">celle-ci</a> par Izzy. Le <a href=\"https://developer.android.com/\">site officiel du développeur</a> d'Android et le <a href=\"https://cs.android.com/\">code source</a> sont également de bonnes sources d'apprentissage.</p>\n<p>Avec chaque nouvelle version d'Android, de nouvelles autorisations sont ajoutées, et d'autres sont obsolètes. En outre, toutes les autorisations ne sont pas nécessaires pour être prises en charge par chaque utilisateur.</p>\n<hr />\n<h3 id=\"faq22\">Comment utiliser l'appli dans un profil professionnel / un environnement multi-utilisateurs ?<a class=\"headerlink\" href=\"#faq22\" title=\"Permanent link\">&para;</a></h3>\n<p>La version Pro permet d'avoir des profils professionnels et plusieurs utilisateurs. Sélectionnez un utilisateur dans le menu déroulant.</p>\n<p><img alt=\"Menu multi-utilisateurs\" class=\"media\" src=\"../../img/multi_users.webp\" /></p>\n<hr />\n<h3 id=\"faq24\">Comment PMX se compare-t-il à XPrivacyLua? Peuvent-ils se remplacer?<a class=\"headerlink\" href=\"#faq24\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX n'est pas conçu pour remplacer mais pour complimenter des projets comme XPrivacyLua. Ils ont des objectifs de conception différents.</p>\n<p>XPrivacyLua hate la fonctionnalité standard d'Android en se branchant à des API internes, en utilisant Xposed qui remplace certaines bibliothèques Android par les bibliothèques hackées. Ainsi, nous obtenons des fonctionnalités supplémentaires telles que l'envoi de fausses données aux applications et nous sommes informés des événements liés aux autorisations dont nous ne pouvons pas être informés par d'autres moyens normaux.</p>\n<p>PMX d'un autre côté, n'est pas censé être un module de base. Il fournit un accès pratique à certaines API privilégiées que les applications normales ne peuvent utiliser. Ce n'est pas un piratage des fonctionnalités standards d'Android par quelque moyen que ce soit. La plupart des tâches accomplies par PMX peuvent également être exécutées à partir de la ligne de commande, à l'exception de quelques tâches comme la modification des permissions système fixes.</p>\n<p>Le rootage et l' Xposed sont deux conditions obligatoires pour utiliser XPrivacyLua. PMX n'a pas besoin des deux pour la plupart. Les deux ne sont pas disponibles pour de nombreux appareils ou beaucoup d'utilisateurs ne les considèrent pas comme une option en raison des difficultés techniques impliquées. garantie annulée, échec de SafetyNet et autres problèmes.</p>\n<p>Plus d'explications <a href=\"https://github.com/mirfatif/PermissionManagerX/issues/9\">here</a> et <a href=\"https://github.com/mirfatif/PermissionManagerX/issues/56#issuecomment-2790539931\">here</a>.</p>\n<hr />\n<h3 id=\"faq32\">Est-ce que PMX peut supprimer automatiquement les autorisations lorsqu'une application est fermée, comme Bouncer le fait ?<a class=\"headerlink\" href=\"#faq32\" title=\"Permanent link\">&para;</a></h3>\n<p>Oui. Voir <a href=\"../permission-watcher/\">Gardien de permission</a> et <a href=\"../scheduled-check/\">Vérification programmée</a>. Mais il n'utilise pas la fonction <strong>Accessibilité</strong> d'Android pour effectuer des taps / clics à l'écran au nom de l'utilisateur (même si c'est une bonne fonctionnalité sans nécessiter de configuration supplémentaire). PMX dépend des privilèges root ou ADB. Elle peut donc faire bien plus (voir <a href=\"../\">Qu'est-ce que PMX?</a>) que ce qui peut être fait en utilisant les fonctionnalités d'accessibilité.</p>\n<p>Si vous utilisez ADB, et non root, <strong>Permission Watcher</strong> peut ne pas fonctionner sur certains appareils. Veuillez consulter les <a href=\"../use-with-adb/#limitations-of-adb\">Limitations de ADB</a>.</p>\n<hr />\n<h3 id=\"faq35\">Puis-je être averti quand une nouvelle application est installée?<a class=\"headerlink\" href=\"#faq35\" title=\"Permanent link\">&para;</a></h3>\n<p>Oui. Voir <a href=\"../permission-watcher/\">Gardien de permission</a>.</p>\n<p>Depuis Android 8, il n'est pas possible pour les applications en arrière-plan (pas en cours d'exécution) de recevoir une notification sur la nouvelle application installée. Nous devons donc exécuter un service de premier plan (avec des notifications persistantes) pour recevoir cet événement. Ou vous pouvez envisager d'utiliser <a href=\"../scheduled-check/\">Vérification programmée</a> pour garder les choses en place.</p>\n<hr />\n<h3 id=\"faq38\">Quand une nouvelle application est installée, PMX peut-elle supprimer ses autorisations par défaut ?<a class=\"headerlink\" href=\"#faq38\" title=\"Permanent link\">&para;</a></h3>\n<p>Oui. Mais il n'y a pas de permissions à supprimer. Toutes les autorisations manifest révocables sont déjà révoquées et restent révoquées à moins que l'utilisateur ne leur accorde explicitement. En ce qui concerne AppOps , beaucoup d'entre eux n'apparaissent pas avant au moins une fois utilisé par l'application (par exemple <code>VIBRATE</code> et <code>READ_CLIPBOARD</code>). Beaucoup d'autres (par exemple <code>READ_CONTACTS</code>) ont déjà leurs permissions manifest correspondantes, comme indiqué. Il n'est donc pas prévisible au moment de l'installation de l'application que AppOps doit supprimer.</p>\n<p>Mais une notification s'affiche lorsqu'une nouvelle application est installée (si vous utilisez <a href=\"../permission-watcher/\">Permission Watcher</a>) afin que l'utilisateur puisse définir les permissions une par une ou <a href=\"../batch-operations/#permission-profiles\">appliquer un profil</a>.</p>\n<hr />\n<h3 id=\"faq25\">Pourquoi PMX requiert une autorisation INTERNET ?<a class=\"headerlink\" href=\"#faq25\" title=\"Permanent link\">&para;</a></h3>\n<p>La <a href=\"https://mirfatif.github.io/mirfatif/getpro\">version standalone Pro</a> nécessite une connexion internet pour la vérification de licence. Les autres <a href=\"../versions/\">versions</a> peuvent fonctionner complètement hors ligne. Bien que l'application Play Store ait besoin d'une connexion internet pour la vérification des licences.</p>\n<h4 id=\"optional-use-of-internet-permission\">Utilisation optionnelle de la permission <code>android.permission.INTERNET</code><a class=\"headerlink\" href=\"#optional-use-of-internet-permission\" title=\"Permanent link\">&para;</a></h4>\n<ul>\n<li>Vérifier les mises à jour de l'application. Vous pouvez désactiver cela dans les paramètres de l'application.</li>\n</ul>\n<h4 id=\"on-device-use-of-internet-permission\">Utilisation locale (sur appareil) de la permission <code>android.permission.INTERNET</code><a class=\"headerlink\" href=\"#on-device-use-of-internet-permission\" title=\"Permanent link\">&para;</a></h4>\n<p>Android n'autorise pas les applications à créer des sockets réseau sans avoir la permission <a href=\"https://developer.android.com/reference/android/Manifest.permission#INTERNET\"><code>INTERNET</code></a> même si elles sont destinées à être utilisées uniquement localement et non pour une connexion Internet. PMX a deux utilisations de connexions locales (sur le périphérique) (la possibilité de créer des sockets <code>localhost</code> à <code>127.0.0.1</code>) pour la Communication Inter Process (IPC) :</p>\n<ul>\n<li>PMX démarre un processus en arrière-plan avec les privilèges root / ADB et parle à ce processus via le socket réseau. Après la poignée de main initiale, les deux processus commencent à parler de Binder. Nous n'avons pas de meilleur moyen de le faire parce qu'Android ne permet pas non plus aux applications de parler des sockets de domaine UNIX.</li>\n<li>Si votre appareil n'est pas rooté et que vous <a href=\"../use-with-adb/\">utilisez PMX avec ADB</a>, la connexion à <code>adbd</code> nécessite des autorisations internet. Voir <a href=\"#faq27\">L'espionnage de PMX est-il sur moi en utilisant ADB sur le réseau?</a></li>\n</ul>\n<p>Donc, si l'application est incapable de créer ou d'utiliser des sockets réseau local, cela échouera. Et si vous voulez empêcher PMX d'utiliser Internet, cela ne doit pas empêcher l'application de parler avec les processus sur l'appareil via <a href=\"https://superuser.com/questions/263142\">l'interface de bouclage pour IPC</a>. C'est généralement le cas avec les pare-feu basés sur <code>iptables</code>comme <a href=\"https://github.com/mirfatif/Fyrypt\">Fyrypt</a> et les pare-feu VPN comme NetGuard. Mais certains ROMs ont une fonctionnalité intégrée pour interdire l'accès au réseau :</p>\n<p><img alt=\"Autoriser les paramètres d'accès au réseau\" class=\"media\" src=\"../../img/allow_network_access.webp\" /></p>\n<p>Cela empêche non seulement l'application d'utiliser Internet, mais désactive également sa capacité à créer des sockets de bouclage pour IPC. Donc <strong>PMX ne pourra pas obtenir les privilèges root / ADB si cette permission est refusée</strong>.</p>\n<hr />\n<h3 id=\"faq26\">PMX , c'est cool pour la confidentialité ? Est-ce que vous collectez les données des utilisateurs ?<a class=\"headerlink\" href=\"#faq26\" title=\"Permanent link\">&para;</a></h3>\n<p>Non. Nous ne collectons pas vos données. Jamais. Pas même un seul octet. PMX a une version open source. Nous croyons que nos utilisateurs sont éduqués et bien informés de la raison pour laquelle ils utilisent PMX. Nous respectons votre vie privée, donc aucune donnée n'est recueillie jamais, même les journaux de plantage. Vous pouvez également consulter notre <a href=\"https://mirfatif.github.io/PermissionManagerX/PRIVACY\">Politique de confidentialité</a>.</p>\n<hr />\n<h3 id=\"faq27\">Est-ce que l'espionnage PMX sur mon réseau utilise ADB?<a class=\"headerlink\" href=\"#faq27\" title=\"Permanent link\">&para;</a></h3>\n<p>Non.</p>\n<p>PMX parle au processus <code>adbd</code> via localhost (<code>127.0.0.1</code>). Mais il n'y a aucun moyen de commencer <code>adbd</code> à écouter sur localhsot seulement, et pas sur les autres interfaces réseau (car ADB est destiné à être utilisé en externe depuis un PC). Vous pouvez certainement arrêter l'écoute <code>adbd</code> depuis des adresses IP externes, si vous le pouvez. PMX fonctionnerait toujours, sans qu’aucun port ne soit exposé à l’extérieur.</p>\n<p>Vous pouvez également changer le port <code>5555</code> à n'importe quel numéro dans les <strong>Réglages Avancés</strong>. Ce n'est pas codé en dur.</p>\n<p>Aussi ADB depuis Android 4.2 est destiné à être protégé avec <strong>l'authentification par clé RSA</strong> (un des mécanismes d'authentification les plus forts). Ainsi, même si l'appareil est accessible à partir d'Internet (ce qui est fortement <a href=\"https://android.stackexchange.com/a/205807/218526\">unlikely</a> ), personne ne peut faire une connexion ADB sans authentification.</p>\n<p>Vous pouvez vérifier ces allégations comme vous le souhaitez. Nous sommes là pour vous aider techniquement.</p>\n<hr />\n<h3 id=\"faq28\">Est-ce que PMX utilise les privilèges root pour collecter mes données ?<a class=\"headerlink\" href=\"#faq28\" title=\"Permanent link\">&para;</a></h3>\n<p>Nous croyons au <a href=\"https://wikipedia.org/wiki/Principle_of_least_privilege\">principe du moins de privilèges</a>. Mais en raison de la nature restreinte du système d'exploitation Android, PMX ne peut pas fonctionner sans avoir des privilèges élevés. Ce que nous pouvons vous offrir, c'est si vous êtes une personne avisée de la technologie, nous pouvons vous apprendre comment rendre difficile pour les applications de se connecter à Internet, même avec les privilèges de root.</p>\n<hr />\n<h3 id=\"faq29\">Je pense que PMX est inutile. Pourquoi a-t-elle été créée?<a class=\"headerlink\" href=\"#faq29\" title=\"Permanent link\">&para;</a></h3>\n<p>Nous respectons votre opinion. PMX n'est pas pour tout le monde (et c'est pour ça qu'il n'a pas été peaufiné et sorti pendant des années, parce qu'on savait qu'on avait un public super restreint). Ce n'est que pour certaines âmes de technologie supplémentaire qui sont très conscientes de leur vie privée et du contrôle de leurs appareils. La majorité des utilisateurs du téléphone sont entre les mains de leurs OEMs et de leurs développeurs d'applications. Ils ne sont pas au courant de ce qui leur est fait et de leurs données. La majorité préfère la commodité au respect de la vie privée. Et c'est très bien.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Retour en haut de la page\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Pied de page\" >\n        \n          \n          <a href=\"../versions/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Précédent: Versions PMX\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Précédent\n              </span>\n              <div class=\"md-ellipsis\">\n                Versions PMX\n              </div>\n            </div>\n          </a>\n        \n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copi\\u00e9 dans le presse-papier\", \"clipboard.copy\": \"Copier dans le presse-papier\", \"search.result.more.one\": \"1 de plus sur cette page\", \"search.result.more.other\": \"# de plus sur cette page\", \"search.result.none\": \"Aucun document trouv\\u00e9\", \"search.result.one\": \"1 document trouv\\u00e9\", \"search.result.other\": \"# documents trouv\\u00e9s\", \"search.result.placeholder\": \"Taper pour d\\u00e9marrer la recherche\", \"search.result.term.missing\": \"Non trouv\\u00e9\", \"select.version\": \"S\\u00e9lectionner la version\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/fr/index.html",
    "content": "\n<!doctype html>\n<html lang=\"fr\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Aperçu de PMX et de l'ensemble de fonctionnalités gratuites contre payantes — vérifications planifiées, surveillance des permissions, révocation automatique, opérations de lots et outils de permission avancés.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/\">\n      \n      \n      \n        <link rel=\"next\" href=\"permission-references/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/de/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/es/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/fr/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/pt-BR/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/ru/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/ar/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/zh/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Qu'est-ce que le PMX ? - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#rate-review\" class=\"md-skip\">\n          Aller au contenu\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"En-tête\">\n    <a href=\"./\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Qu'est-ce que le PMX ?\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Sélectionner la langue\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/de/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/es/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/fr/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/pt-BR/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/ru/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/ar/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/zh/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Rechercher\" placeholder=\"Rechercher\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Recherche\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Effacer\" aria-label=\"Effacer\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Initialisation de la recherche\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"./\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Qu'est-ce que le PMX ?\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Qu'est-ce que le PMX ?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Table des matières\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Table des matières\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#rate-review\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Notes/Avis / Commentaires / Upvotes / Étoiles\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Autorisations manifestes et AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Références d'autorisation\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interface utilisateur expliquée\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Chercher\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Vérification programmée\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observateur de Permissions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Vue Permission\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Opérations par lots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Intégration avec WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Utiliser PMX avec ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versions PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/fr/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fonctionnalités payantes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Téléchargements\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Captures d'écran\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/fr/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Évaluations / Avis / Commentaires / Upvotes / Étoiles\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contactez-nous\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Applications\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Applications\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gestionnaire d'autorisations X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQ Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQ Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Foire aux questions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guide ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guide ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Associer/connecter l'application à ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Qu'est-ce que le PMX ?</h1>\n\n<p>C'est l'application eXtended Permission Manager pour Android qui facilite la définition et la révision des autorisations souhaitées sur les applications installées, en gardant une trace de tout changement indésirable. En donnant le contrôle sur votre appareil, il vous permet de protéger votre vie privée et d'économiser vos ressources comme l'utilisation de la batterie.</p>\n<p>PMX fournit toutes les informations et contrôles de permission dispersés (ou autrement indisponibles) sur un seul écran afin que vous puissiez les regarder et les contrôler de manière complète et pratique.</p>\n<p>Vous pouvez utiliser PMX:</p>\n<ul>\n<li>Voir / accorder / révoquer toutes les <strong>permissions manifest</strong> qui peuvent ou ne peuvent pas être définies à l'aide de l'écran de configuration de l'application. La liste des permissions qui ne peuvent pas être définies à partir de l'interface est très longue.</li>\n<li>Voir toutes les <strong>permissions AppOp</strong> qui n'ont généralement aucun paramètre GUI. Par ex. <code>VIBRATE</code> et <code>READ_CLIPBOARD</code>. Vous pouvez définir le mode AppOps désiré, par exemple <em>Ignorer</em> ou <em>Avant-plan</em>.</li>\n<li>Voir toutes les autorisations demandées par une application qui ne sont <strong>pas modifiables</strong>.</li>\n<li>Voir le dernier temps utilisé pour plusieurs autorisations AppOp.</li>\n<li>Changez les permissions <strong>System-Fixed</strong> qui ne peuvent être modifiées par aucun autre moyen.</li>\n<li>Suivre en temps réel les modifications des permissions ou effectuer des balayages programmés.</li>\n<li>Trier les applications et les autorisations par de nombreux paramètres, y compris la date d'installation et le nombre d'autorisations.</li>\n<li>Réaliser des requêtes de recherche avancées dans les applications et leurs autorisations.</li>\n<li>Et bien plus encore.</li>\n</ul>\n<p>Voir aussi la description de Github <a href=\"https://mirfatif.github.io/PermissionManagerX\">README</a> et <a href=\"https://play.google.com/store/apps/details?id=com.mirfatif.permissionmanagerx\">Play Store</a>. Ou essayez-le. Nous offrons une version gratuite et un mois d'essai gratuit.</p>\n<hr />\n<p><strong>C'est incroyable na?</strong> Nous allons entrer dans les détails.</p>\n<ul>\n<li><a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\">Autorisations manifestes et AppOps</a></li>\n<li><a href=\"permission-references/\">Références de permission</a></li>\n<li><a href=\"details/\">Explication de l'interface utilisateur</a></li>\n<li><a href=\"search/\">Recherche</a></li>\n<li><a href=\"scheduled-check/\">Contrôle programmé</a></li>\n<li><a href=\"permission-watcher/\">Observateur de permission</a></li>\n<li><a href=\"permission-view/\">Vue des permissions</a></li>\n<li><a href=\"batch-operations/\">Opérations de lots</a></li>\n<li><a href=\"whatsrunning-integration/\">Intégration avec WhatsRunning</a></li>\n<li><a href=\"use-with-adb/\">Utilisation de PMX avec ADB</a></li>\n<li><a href=\"versions/\">Versions PMX</a></li>\n<li><a href=\"/PermissionManagerX/help/versions/#paid-features\">Fonctionnalités payantes</a></li>\n<li><a href=\"faqs/\">FAQ PMX</a></li>\n<li><a href=\"https://mirfatif.github.io/PermissionManagerX\">Téléchargements</a></li>\n<li><a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\">Captures d'écran</a></li>\n<li><a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\">Nous contacter</a></li>\n</ul>\n<hr />\n<h2 id=\"rate-review\">Notes/Avis / Commentaires / Upvotes / Étoiles<a class=\"headerlink\" href=\"#rate-review\" title=\"Permanent link\">&para;</a></h2>\n<ul>\n<li><a href=\"https://play.google.com/store/apps/details?id=com.mirfatif.permissionmanagerx\">Play Store</a></li>\n<li><a href=\"https://forum.xda-developers.com/t/app-7-0-permission-manager-x-manage-appops-and-manifest-permissions.4187657\">XDA</a></li>\n<li><a href=\"https://github.com/mirfatif/PermissionManagerX\">GitHub</a></li>\n</ul>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Retour en haut de la page\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Pied de page\" >\n        \n        \n          \n          <a href=\"permission-references/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Suivant: Références d&#39;autorisation\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Suivant\n              </span>\n              <div class=\"md-ellipsis\">\n                Références d'autorisation\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copi\\u00e9 dans le presse-papier\", \"clipboard.copy\": \"Copier dans le presse-papier\", \"search.result.more.one\": \"1 de plus sur cette page\", \"search.result.more.other\": \"# de plus sur cette page\", \"search.result.none\": \"Aucun document trouv\\u00e9\", \"search.result.one\": \"1 document trouv\\u00e9\", \"search.result.other\": \"# documents trouv\\u00e9s\", \"search.result.placeholder\": \"Taper pour d\\u00e9marrer la recherche\", \"search.result.term.missing\": \"Non trouv\\u00e9\", \"select.version\": \"S\\u00e9lectionner la version\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/fr/permission-references/index.html",
    "content": "\n<!doctype html>\n<html lang=\"fr\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Sauvegardez, comparez et restaurez les états de référence des autorisations dans PMX afin que la configuration des autorisations souhaitée puisse être sauvegardée et réappliquée à travers les installations.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/permission-references/\">\n      \n      \n        <link rel=\"prev\" href=\"../\">\n      \n      \n        <link rel=\"next\" href=\"../details/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../permission-references/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/permission-references/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/permission-references/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/permission-references/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/permission-references/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/permission-references/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/permission-references/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Références d'autorisation - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"En-tête\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Références d'autorisation\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Sélectionner la langue\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../permission-references/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/permission-references/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/permission-references/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/permission-references/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/permission-references/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/permission-references/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/permission-references/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Rechercher\" placeholder=\"Rechercher\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Recherche\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Effacer\" aria-label=\"Effacer\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Initialisation de la recherche\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Qu'est-ce que le PMX ?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Autorisations manifestes et AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Références d'autorisation\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interface utilisateur expliquée\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Chercher\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Vérification programmée\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observateur de Permissions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Vue Permission\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Opérations par lots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Intégration avec WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Utiliser PMX avec ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versions PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/fr/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fonctionnalités payantes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Téléchargements\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Captures d'écran\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/fr/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Évaluations / Avis / Commentaires / Upvotes / Étoiles\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contactez-nous\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Applications\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Applications\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gestionnaire d'autorisations X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQ Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQ Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Foire aux questions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guide ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guide ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Associer/connecter l'application à ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Références d'autorisation</h1>\n\n<p>Supposons que vous avez passé un dimanche entier à définir les permissions voulues sur plus de 200 applications installées. Et:</p>\n<ul>\n<li>Le mois suivant, vous avez mis à niveau votre appareil ou installé un nouveau ROM.</li>\n<li>Ou vous avez désinstallé et réinstallé quelques-unes des applications pour une raison quelconque.</li>\n<li>Ou vous avez accordé quelques autorisations, comme demandé par les applications.</li>\n</ul>\n<p>Allez-vous revivre les tracasseries ?</p>\n<p>Non, vous n'avez pas besoin de le faire. Vous pouvez faire en sorte que PMX se souvienne des états de permission souhaités. Définis une autorisation, mets-la <font color=\"#90EE90\">en VERT</font>, et c'est bon. Il ne faudra que quelques instants pour regarder tous les paquets installés et déterminer quelles permissions ne sont pas correctement définies. . en effectuant une recherche rapide : <code>:RED|:ORANGE</code> ou <code>!:GREEN</code>. Voir <a href=\"../search/\">Search</a> pour plus de détails.</p>\n<p>Trois <strong>états de référence</strong> sont:</p>\n<ul>\n<li><font color=\"#FFC107\">état ORANGE</font> indique qu'aucune valeur de référence n'est définie.</li>\n<li><font color=\"#90EE90\">GREEN</font> indique que la valeur de référence correspond à la valeur actuellement définie.</li>\n<li><font color=\"#FF0000\">RED</font> indique que la valeur de référence et définir la valeur diffère.</li>\n</ul>\n<p>Les états de référence peuvent être <strong>sauvegardés</strong> et <strong>restaurés</strong> facilement. Après une restauration, il y a un moyen pratique de définir toutes les autorisations selon les références restaurées. Voir <a href=\"../batch-operations/\">Opérations de lots</a>.</p>\n<p>Il y a plusieurs façons de définir une référence :</p>\n<ul>\n<li>Appuyez longuement sur une permission et appuyez sur le bouton « Set Reference » / « Clear Reference».</li>\n<li>Il y a une option de menu en haut de la liste des permissions de chaque application pour définir ou effacer toutes les références.</li>\n<li>Définir les références en vrac avec <a href=\"../batch-operations/\">Opérations par lots</a>.</li>\n<li>Activez la préférence \"Auto-set reference\" dans Réglages → Réglages généraux. Donc, chaque fois que vous changez un état de permission, il est également défini comme référence.</li>\n</ul>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Retour en haut de la page\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Pied de page\" >\n        \n          \n          <a href=\"../\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Précédent: Qu&#39;est-ce que le PMX ?\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Précédent\n              </span>\n              <div class=\"md-ellipsis\">\n                Qu'est-ce que le PMX ?\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../details/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Suivant: Interface utilisateur expliquée\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Suivant\n              </span>\n              <div class=\"md-ellipsis\">\n                Interface utilisateur expliquée\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copi\\u00e9 dans le presse-papier\", \"clipboard.copy\": \"Copier dans le presse-papier\", \"search.result.more.one\": \"1 de plus sur cette page\", \"search.result.more.other\": \"# de plus sur cette page\", \"search.result.none\": \"Aucun document trouv\\u00e9\", \"search.result.one\": \"1 document trouv\\u00e9\", \"search.result.other\": \"# documents trouv\\u00e9s\", \"search.result.placeholder\": \"Taper pour d\\u00e9marrer la recherche\", \"search.result.term.missing\": \"Non trouv\\u00e9\", \"select.version\": \"S\\u00e9lectionner la version\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/fr/permission-view/index.html",
    "content": "\n<!doctype html>\n<html lang=\"fr\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Parcourir les autorisations par nom et niveau de protection, voir combien d'applications utilisent chaque permission, et percer dans les contrôles d'autorisations par application avec PMX.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/permission-view/\">\n      \n      \n        <link rel=\"prev\" href=\"../permission-watcher/\">\n      \n      \n        <link rel=\"next\" href=\"../batch-operations/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../permission-view/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/permission-view/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/permission-view/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/permission-view/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/permission-view/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/permission-view/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/permission-view/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Vue Permission - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"En-tête\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Vue Permission\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Sélectionner la langue\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../permission-view/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/permission-view/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/permission-view/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/permission-view/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/permission-view/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/permission-view/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/permission-view/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Rechercher\" placeholder=\"Rechercher\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Recherche\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Effacer\" aria-label=\"Effacer\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Initialisation de la recherche\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Qu'est-ce que le PMX ?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Autorisations manifestes et AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Références d'autorisation\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interface utilisateur expliquée\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Chercher\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Vérification programmée\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observateur de Permissions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Vue Permission\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Opérations par lots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Intégration avec WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Utiliser PMX avec ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versions PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/fr/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fonctionnalités payantes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Téléchargements\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Captures d'écran\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/fr/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Évaluations / Avis / Commentaires / Upvotes / Étoiles\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contactez-nous\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Applications\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Applications\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gestionnaire d'autorisations X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQ Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQ Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Foire aux questions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guide ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guide ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Associer/connecter l'application à ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Vue Permission</h1>\n\n<p>La vue Permission montre une liste de toutes les autorisations avec un nombre de nombre d'applications qui utilisent ces permissions.</p>\n<p><img alt=\"Vue Permission\" class=\"media\" src=\"../../img/perm_view.webp\" /></p>\n<ol>\n<li>Nom de la permission</li>\n<li>Niveau de protection</li>\n<li>Nombre d'applications</li>\n<li>Nombre de permissions accordées hors du nombre total de permissions. Ce dernier peut être plus grand que le nombre d'applications car certaines applications peuvent utiliser une autorisation AppOp deux fois (en <a href=\"../faqs/#faq18\">mode UID</a>).</li>\n</ol>\n<p>Lorsque vous sélectionnez une autorisation, une liste d'applications utilisant cette autorisation apparaît :</p>\n<p><img alt=\"Vue Permission\" class=\"media\" src=\"../../img/perm_view2.webp\" /></p>\n<ol>\n<li>Nom de la permission</li>\n<li>Description de la permission</li>\n<li>Drapeau indiquant que la permission est accordée</li>\n<li>Icône de l'application</li>\n<li>Libellé de l'application</li>\n<li>Nom du paquet</li>\n<li>UID de l'application</li>\n</ol>\n<p>Lorsque vous sélectionnez une application, la <a href=\"../details/#permissions-list\">liste des permissions</a> s'ouvre où vous pouvez modifier l'état des permissions.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Retour en haut de la page\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Pied de page\" >\n        \n          \n          <a href=\"../permission-watcher/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Précédent: Observateur de Permissions\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Précédent\n              </span>\n              <div class=\"md-ellipsis\">\n                Observateur de Permissions\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../batch-operations/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Suivant: Opérations par lots\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Suivant\n              </span>\n              <div class=\"md-ellipsis\">\n                Opérations par lots\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copi\\u00e9 dans le presse-papier\", \"clipboard.copy\": \"Copier dans le presse-papier\", \"search.result.more.one\": \"1 de plus sur cette page\", \"search.result.more.other\": \"# de plus sur cette page\", \"search.result.none\": \"Aucun document trouv\\u00e9\", \"search.result.one\": \"1 document trouv\\u00e9\", \"search.result.other\": \"# documents trouv\\u00e9s\", \"search.result.placeholder\": \"Taper pour d\\u00e9marrer la recherche\", \"search.result.term.missing\": \"Non trouv\\u00e9\", \"select.version\": \"S\\u00e9lectionner la version\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/fr/permission-watcher/index.html",
    "content": "\n<!doctype html>\n<html lang=\"fr\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Surveiller automatiquement les modifications des autorisations des applications avec PMX: obtenez des notifications, annulez les modifications non désirées ou révoquez automatiquement lorsque les applications quittent au premier plan.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/permission-watcher/\">\n      \n      \n        <link rel=\"prev\" href=\"../scheduled-check/\">\n      \n      \n        <link rel=\"next\" href=\"../permission-view/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../permission-watcher/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/permission-watcher/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/permission-watcher/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/permission-watcher/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/permission-watcher/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/permission-watcher/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/permission-watcher/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Observateur de Permissions - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"En-tête\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Observateur de Permissions\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Sélectionner la langue\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../permission-watcher/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/permission-watcher/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/permission-watcher/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/permission-watcher/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/permission-watcher/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/permission-watcher/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/permission-watcher/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Rechercher\" placeholder=\"Rechercher\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Recherche\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Effacer\" aria-label=\"Effacer\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Initialisation de la recherche\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Qu'est-ce que le PMX ?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Autorisations manifestes et AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Références d'autorisation\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interface utilisateur expliquée\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Chercher\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Vérification programmée\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observateur de Permissions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Vue Permission\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Opérations par lots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Intégration avec WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Utiliser PMX avec ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versions PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/fr/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fonctionnalités payantes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Téléchargements\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Captures d'écran\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/fr/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Évaluations / Avis / Commentaires / Upvotes / Étoiles\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contactez-nous\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Applications\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Applications\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gestionnaire d'autorisations X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQ Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQ Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Foire aux questions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guide ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guide ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Associer/connecter l'application à ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Observateur de Permissions</h1>\n\n<p>Certaines applications ne fonctionnent pas sans avoir une certaine autorisation. Mais vous voulez accorder la permission pour le temps seulement lorsque vous utilisez l'application, et révoquer l'autorisation dès que vous quittez l'application.</p>\n<p>Permission Watcher fait exactement cela. Dès que vous quittez l'application, ou après l'heure définie, il révoque les autorisations d'une application (manifest et AppOp) seuls, ou vous demandez de le faire, selon les préférences que vous avez définies.</p>\n<p><img alt=\"Observateur de Permission\" class=\"media\" src=\"../../img/perm_watcher.gif\" /></p>\n<p>Permission Watcher vous avertit également de définir les autorisations sur les applications nouvellement installées (dans le profil utilisateur / propriétaire principal uniquement).</p>\n<p><img alt=\"Paramètres du moniteur de permission\" class=\"media\" src=\"../../img/watcher_settings.webp\" /></p>\n<p>Remarque:</p>\n<ul>\n<li>Seules les autorisations avec un état de référence <font color=\"#FF0000\">RED</font> sont révoquées, pas celles avec l'état <font color=\"#FFC107\">ORANGE</font>. Donc vous <strong>DEVEZ</strong> d'abord définir les états de référence. Voir <a href=\"../permission-references/\">Références de permission</a>.</li>\n<li>Les permissions Manifest seulement avec <em>Dangerous</em> <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">niveau de protection</a> sont surveillées. Ce sont eux qui ont généralement changé. Les permissions avec le niveau de protection <em>Signature</em> ou <em>Développement</em> ou celles avec le paramètre <em>Fixe au système</em> ne sont pas vérifiées, même si elles sont modifiables.</li>\n<li>PMX surveille uniquement les applications <em>Utilisateur</em> ou <em>Système</em> normales, pas les applications <em>Framework</em>. Les modifier peuvent briquer l'appareil.</li>\n<li>Sur certains appareils, Permission Watcher peut ne pas fonctionner de manière fiable pour les applications dans l'utilisateur / le profil secondaire. Il est recommandé de l'utiliser en combinaison avec le vérificateur planifié.</li>\n</ul>\n<hr />\n<p><strong id=\"perm-watcher-fails\">Pourquoi le démarrage de Permission Watcher échoue?</strong></p>\n<p>Utilisez-vous ADB? Certains OEMs retirent la permission <code>OBSERVE_GRANT_REVOKE_PERMISSIONS</code> ou <code>SET_ACTIVITY_WATCHER</code> du paquet <em>Shell</em>. Si c'est le cas avec vous, nous sommes désolés. C'est quelque chose que nous ne pouvons réparer. Sur de tels appareils Permission Watcher ne peut fonctionner qu'avec root. Voir les <a href=\"../use-with-adb/#limitations-of-adb\">Limitations de ADB</a>.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Retour en haut de la page\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Pied de page\" >\n        \n          \n          <a href=\"../scheduled-check/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Précédent: Vérification programmée\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Précédent\n              </span>\n              <div class=\"md-ellipsis\">\n                Vérification programmée\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../permission-view/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Suivant: Vue Permission\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Suivant\n              </span>\n              <div class=\"md-ellipsis\">\n                Vue Permission\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copi\\u00e9 dans le presse-papier\", \"clipboard.copy\": \"Copier dans le presse-papier\", \"search.result.more.one\": \"1 de plus sur cette page\", \"search.result.more.other\": \"# de plus sur cette page\", \"search.result.none\": \"Aucun document trouv\\u00e9\", \"search.result.one\": \"1 document trouv\\u00e9\", \"search.result.other\": \"# documents trouv\\u00e9s\", \"search.result.placeholder\": \"Taper pour d\\u00e9marrer la recherche\", \"search.result.term.missing\": \"Non trouv\\u00e9\", \"select.version\": \"S\\u00e9lectionner la version\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/fr/scheduled-check/index.html",
    "content": "\n<!doctype html>\n<html lang=\"fr\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Automatiser les audits d'autorisations périodiques avec PMX. Les vérifications planifiées détectent les changements indésirables, vous avertissent et révoquent automatiquement les subventions à risque.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/scheduled-check/\">\n      \n      \n        <link rel=\"prev\" href=\"../search/\">\n      \n      \n        <link rel=\"next\" href=\"../permission-watcher/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../scheduled-check/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/scheduled-check/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/scheduled-check/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/scheduled-check/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/scheduled-check/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/scheduled-check/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/scheduled-check/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Vérification programmée - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"En-tête\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Vérification programmée\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Sélectionner la langue\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../scheduled-check/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/scheduled-check/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/scheduled-check/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/scheduled-check/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/scheduled-check/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/scheduled-check/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/scheduled-check/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Rechercher\" placeholder=\"Rechercher\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Recherche\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Effacer\" aria-label=\"Effacer\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Initialisation de la recherche\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Qu'est-ce que le PMX ?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Autorisations manifestes et AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Références d'autorisation\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interface utilisateur expliquée\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Chercher\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Vérification programmée\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observateur de Permissions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Vue Permission\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Opérations par lots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Intégration avec WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Utiliser PMX avec ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versions PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/fr/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fonctionnalités payantes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Téléchargements\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Captures d'écran\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/fr/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Évaluations / Avis / Commentaires / Upvotes / Étoiles\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contactez-nous\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Applications\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Applications\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gestionnaire d'autorisations X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQ Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQ Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Foire aux questions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guide ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guide ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Associer/connecter l'application à ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Vérification programmée</h1>\n\n<p>Voulez-vous garder une trace de toutes les modifications non souhaitées des autorisations pour toutes les applications installées ? Les chèques planifiés peuvent le faire pour vous à intervalles réguliers (en minutes, heure ou jours).</p>\n<p>Définissez <a href=\"../permission-references/\">Références de permission</a> à <font color=\"#90EE90\">VERTE</font> et laissez le reste à PMX. Si une permission est trouvée modifiée (état <font color=\"#FF0000\">RED</font> ) ou lorsqu'une nouvelle application est installée (avec les autorisations d'état <font color=\"#FFC107\">ORANGE</font> ), PMX vous rappelle que quelque chose a besoin de votre attention.</p>\n<p>De plus, si configuré dans les préférences, la vérification planifiée peut automatiquement révoquer les autorisations accordées suivies d'une notification informatoire.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Retour en haut de la page\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Pied de page\" >\n        \n          \n          <a href=\"../search/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Précédent: Chercher\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Précédent\n              </span>\n              <div class=\"md-ellipsis\">\n                Chercher\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../permission-watcher/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Suivant: Observateur de Permissions\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Suivant\n              </span>\n              <div class=\"md-ellipsis\">\n                Observateur de Permissions\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copi\\u00e9 dans le presse-papier\", \"clipboard.copy\": \"Copier dans le presse-papier\", \"search.result.more.one\": \"1 de plus sur cette page\", \"search.result.more.other\": \"# de plus sur cette page\", \"search.result.none\": \"Aucun document trouv\\u00e9\", \"search.result.one\": \"1 document trouv\\u00e9\", \"search.result.other\": \"# documents trouv\\u00e9s\", \"search.result.placeholder\": \"Taper pour d\\u00e9marrer la recherche\", \"search.result.term.missing\": \"Non trouv\\u00e9\", \"select.version\": \"S\\u00e9lectionner la version\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/fr/search/index.html",
    "content": "\n<!doctype html>\n<html lang=\"fr\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Recherche puissante PMX : trouver des applications par étiquette, paquet ou UID; utiliser une recherche approfondie sur les noms des autorisations et les opérateurs booléens pour des audits d'autorisation rapides.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/search/\">\n      \n      \n        <link rel=\"prev\" href=\"../details/\">\n      \n      \n        <link rel=\"next\" href=\"../scheduled-check/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../search/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/search/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/search/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/search/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/search/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/search/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/search/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Chercher - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"En-tête\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Chercher\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Sélectionner la langue\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../search/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/search/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/search/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/search/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/search/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/search/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/search/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Rechercher\" placeholder=\"Rechercher\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Recherche\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Effacer\" aria-label=\"Effacer\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Initialisation de la recherche\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Qu'est-ce que le PMX ?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Autorisations manifestes et AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Références d'autorisation\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interface utilisateur expliquée\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Chercher\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Vérification programmée\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observateur de Permissions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Vue Permission\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Opérations par lots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Intégration avec WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Utiliser PMX avec ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versions PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/fr/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fonctionnalités payantes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Téléchargements\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Captures d'écran\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/fr/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Évaluations / Avis / Commentaires / Upvotes / Étoiles\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contactez-nous\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Applications\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Applications\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gestionnaire d'autorisations X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQ Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQ Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Foire aux questions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guide ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guide ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Associer/connecter l'application à ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Chercher</h1>\n\n<p><img alt=\"Recherche\" class=\"media\" src=\"../../img/search.webp\" /></p>\n<p>Normalement, l'étiquette, le nom et l'UID des paquets sont recherchés dans la liste visible.</p>\n<p>Avec <strong>Recherche profonde</strong>, le nom des permissions et d'autres paramètres sont interrogés.</p>\n<p>Notez que les <strong>filtres d'exclusion</strong> sont efficaces lors de la recherche.</p>\n<p>Vous pouvez utiliser les mots-clés spéciaux suivants dans la recherche :</p>\n<ul>\n<li>\n<p>État de l'application:</p>\n<p><code>:Critical</code> <code>:Framework</code> <code>:System</code> <code>:User</code> <code>:Disabled</code></p>\n</li>\n<li>\n<p>État de référence :</p>\n<p><code>:ORANGE</code> <code>:GREEN</code> <code>:RED</code></p>\n</li>\n<li>\n<p>Permissions <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">niveau de protection</a>:</p>\n<p><code>:Normal</code> <code>:Dangerous</code> <code>:Signature</code> <code>:Internal</code> <code>:Development</code> <code>:Privileged</code> <code>:Fixed</code> <code>:AppOps</code> <code>:Unknown</code></p>\n</li>\n<li>\n<p>Par UID AppOps:</p>\n<p><code>:UID</code></p>\n</li>\n<li>\n<p>AppOps avec la dernière fois qu'on y a accédé ou rejeté :</p>\n<p><code>:TIME</code></p>\n</li>\n<li>\n<p>Extra AppOps (jamais exclu dans les paramètres de filtre) :</p>\n<p><code>:EXTRA</code></p>\n</li>\n<li>\n<p>Opérateurs <code>&amp;</code> (ET), <code>|</code> (OU) et <code>!</code> (NOT) :</p>\n<p><code>Foo|Bar&amp;Baz</code></p>\n<p><code>Foo&amp;!Bar&amp;!Baz</code></p>\n</li>\n</ul>\n<p>La version payante affiche également les suggestions de recherche (si définies dans les préférences) pour faciliter le processus de recherche.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Retour en haut de la page\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Pied de page\" >\n        \n          \n          <a href=\"../details/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Précédent: Interface utilisateur expliquée\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Précédent\n              </span>\n              <div class=\"md-ellipsis\">\n                Interface utilisateur expliquée\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../scheduled-check/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Suivant: Vérification programmée\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Suivant\n              </span>\n              <div class=\"md-ellipsis\">\n                Vérification programmée\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copi\\u00e9 dans le presse-papier\", \"clipboard.copy\": \"Copier dans le presse-papier\", \"search.result.more.one\": \"1 de plus sur cette page\", \"search.result.more.other\": \"# de plus sur cette page\", \"search.result.none\": \"Aucun document trouv\\u00e9\", \"search.result.one\": \"1 document trouv\\u00e9\", \"search.result.other\": \"# documents trouv\\u00e9s\", \"search.result.placeholder\": \"Taper pour d\\u00e9marrer la recherche\", \"search.result.term.missing\": \"Non trouv\\u00e9\", \"select.version\": \"S\\u00e9lectionner la version\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/fr/use-with-adb/index.html",
    "content": "\n<!doctype html>\n<html lang=\"fr\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Configuration et utilisation du gestionnaire d'autorisations X avec ADB sur des appareils Android non rootés — association, commandes ADB , limitations et conseils pratiques.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/use-with-adb/\">\n      \n      \n        <link rel=\"prev\" href=\"../whatsrunning-integration/\">\n      \n      \n        <link rel=\"next\" href=\"../versions/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../use-with-adb/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/use-with-adb/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/use-with-adb/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/use-with-adb/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/use-with-adb/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/use-with-adb/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/use-with-adb/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Utiliser PMX avec ADB - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#limitations-of-adb\" class=\"md-skip\">\n          Aller au contenu\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"En-tête\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Utiliser PMX avec ADB\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Sélectionner la langue\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../use-with-adb/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/use-with-adb/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/use-with-adb/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/use-with-adb/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/use-with-adb/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/use-with-adb/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/use-with-adb/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Rechercher\" placeholder=\"Rechercher\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Recherche\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Effacer\" aria-label=\"Effacer\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Initialisation de la recherche\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Qu'est-ce que le PMX ?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Autorisations manifestes et AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Références d'autorisation\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interface utilisateur expliquée\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Chercher\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Vérification programmée\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observateur de Permissions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Vue Permission\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Opérations par lots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Intégration avec WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Utiliser PMX avec ADB\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Utiliser PMX avec ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Table des matières\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Table des matières\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#limitations-of-adb\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Limitations de ADB\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#adb-guide\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Guide ADB\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versions PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/fr/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fonctionnalités payantes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Téléchargements\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Captures d'écran\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/fr/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Évaluations / Avis / Commentaires / Upvotes / Étoiles\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contactez-nous\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Applications\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Applications\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gestionnaire d'autorisations X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQ Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQ Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Foire aux questions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guide ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guide ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Associer/connecter l'application à ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Utiliser PMX avec ADB</h1>\n\n<h2 id=\"limitations-of-adb\">Limitations de ADB<a class=\"headerlink\" href=\"#limitations-of-adb\" title=\"Permanent link\">&para;</a></h2>\n<p>ADB n'est pas aussi puissant que le root. Vous pouvez vérifier l'état actuel de ce que ADB peut faire dans <strong>À propos</strong> → <strong>Privilèges</strong> (lien de menu) :</p>\n<p><img alt=\" PrivilègesPMX \" class=\"media\" src=\"../../img/privs.webp\" /></p>\n<p>Pour plus de détails, voir <a href=\"https://mirfatif.github.io/adb-guide/adb-limits/\">Limitations de ADB</a>. Voir aussi <a href=\"../faqs/#faq43\">Pourquoi PMX ne fonctionne pas correctement sur les systèmes d'exploitation OEM ou ROMspersonnalisés ?</a></p>\n<hr />\n<h2 id=\"adb-guide\">Guide ADB<a class=\"headerlink\" href=\"#adb-guide\" title=\"Permanent link\">&para;</a></h2>\n<p>Veuillez consulter <a href=\"https://mirfatif.github.io/adb-guide/\">ADB Pairing / Guide de connexion</a>.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Retour en haut de la page\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Pied de page\" >\n        \n          \n          <a href=\"../whatsrunning-integration/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Précédent: Intégration avec WhatsRunning\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Précédent\n              </span>\n              <div class=\"md-ellipsis\">\n                Intégration avec WhatsRunning\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../versions/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Suivant: Versions PMX\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Suivant\n              </span>\n              <div class=\"md-ellipsis\">\n                Versions PMX\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copi\\u00e9 dans le presse-papier\", \"clipboard.copy\": \"Copier dans le presse-papier\", \"search.result.more.one\": \"1 de plus sur cette page\", \"search.result.more.other\": \"# de plus sur cette page\", \"search.result.none\": \"Aucun document trouv\\u00e9\", \"search.result.one\": \"1 document trouv\\u00e9\", \"search.result.other\": \"# documents trouv\\u00e9s\", \"search.result.placeholder\": \"Taper pour d\\u00e9marrer la recherche\", \"search.result.term.missing\": \"Non trouv\\u00e9\", \"select.version\": \"S\\u00e9lectionner la version\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/fr/versions/index.html",
    "content": "\n<!doctype html>\n<html lang=\"fr\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Comparer PMX Gratuit vs Payé : les fonctionnalités payantes incluent les vérifications planifiées, le suivi des permissions, la révocation automatique, le support multi-utilisateurs et les opérations de batch.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/versions/\">\n      \n      \n        <link rel=\"prev\" href=\"../use-with-adb/\">\n      \n      \n        <link rel=\"next\" href=\"../faqs/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../versions/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/versions/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/versions/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/versions/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/versions/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/versions/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/versions/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Versions PMX - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#paid-features\" class=\"md-skip\">\n          Aller au contenu\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"En-tête\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Versions PMX\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Sélectionner la langue\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../versions/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/versions/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/versions/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/versions/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/versions/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/versions/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/versions/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Rechercher\" placeholder=\"Rechercher\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Recherche\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Effacer\" aria-label=\"Effacer\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Initialisation de la recherche\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Qu'est-ce que le PMX ?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Autorisations manifestes et AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Références d'autorisation\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interface utilisateur expliquée\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Chercher\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Vérification programmée\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observateur de Permissions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Vue Permission\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Opérations par lots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Intégration avec WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Utiliser PMX avec ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versions PMX\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versions PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Table des matières\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Table des matières\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#paid-features\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Fonctionnalités payantes\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/fr/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fonctionnalités payantes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Téléchargements\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Captures d'écran\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/fr/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Évaluations / Avis / Commentaires / Upvotes / Étoiles\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contactez-nous\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Applications\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Applications\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gestionnaire d'autorisations X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQ Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQ Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Foire aux questions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guide ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guide ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Associer/connecter l'application à ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Versions PMX</h1>\n\n<p>PMX est dispo en deux versions : <strong>payante</strong> et <strong>gratuite</strong>. La version payante est disponible en deux variantes : <strong>Play Store</strong> et <strong>Pro</strong>. Les derniers APK sont disponibles dans le Play Store, GitHub et la Chaîne Telegram.</p>\n<h2 id=\"paid-features\">Fonctionnalités payantes<a class=\"headerlink\" href=\"#paid-features\" title=\"Permanent link\">&para;</a></h2>\n<p>La version payante inclut tout ce qui est dans la version gratuite, ainsi que les fonctionnalités supplémentaires suivantes qui sont également listées dans la description du Play Store:</p>\n<ul>\n<li>Contrôle programmé pour notifier les mauvais états de référence</li>\n<li>Surveiller les modifications des permissions et les annuler</li>\n<li>Révocation automatique des autorisations accordées avec les états RED</li>\n<li>Apporter des modifications aux applications critiques et aux autorisations</li>\n<li>Prise en charge de plusieurs utilisateurs / profil professionnel</li>\n<li>Opérations par lots (Profils)</li>\n<li>Afficher les autorisations</li>\n</ul>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Retour en haut de la page\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Pied de page\" >\n        \n          \n          <a href=\"../use-with-adb/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Précédent: Utiliser PMX avec ADB\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Précédent\n              </span>\n              <div class=\"md-ellipsis\">\n                Utiliser PMX avec ADB\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../faqs/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Suivant: FAQs PMX\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Suivant\n              </span>\n              <div class=\"md-ellipsis\">\n                FAQs PMX\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copi\\u00e9 dans le presse-papier\", \"clipboard.copy\": \"Copier dans le presse-papier\", \"search.result.more.one\": \"1 de plus sur cette page\", \"search.result.more.other\": \"# de plus sur cette page\", \"search.result.none\": \"Aucun document trouv\\u00e9\", \"search.result.one\": \"1 document trouv\\u00e9\", \"search.result.other\": \"# documents trouv\\u00e9s\", \"search.result.placeholder\": \"Taper pour d\\u00e9marrer la recherche\", \"search.result.term.missing\": \"Non trouv\\u00e9\", \"select.version\": \"S\\u00e9lectionner la version\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/fr/whatsrunning-integration/index.html",
    "content": "\n<!doctype html>\n<html lang=\"fr\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"PMX s'intègre à WhatsRunning — passez d'un outil à l'autre pour voir si des applications avec des autorisations limitées sont en cours d'exécution et inspectez l'utilisation de leurs ressources.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/whatsrunning-integration/\">\n      \n      \n        <link rel=\"prev\" href=\"../batch-operations/\">\n      \n      \n        <link rel=\"next\" href=\"../use-with-adb/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../whatsrunning-integration/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/whatsrunning-integration/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/whatsrunning-integration/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/whatsrunning-integration/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/whatsrunning-integration/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/whatsrunning-integration/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/whatsrunning-integration/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Intégration avec WhatsRunning - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"En-tête\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Intégration avec WhatsRunning\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Sélectionner la langue\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../whatsrunning-integration/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/whatsrunning-integration/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/whatsrunning-integration/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/whatsrunning-integration/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/whatsrunning-integration/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/whatsrunning-integration/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/whatsrunning-integration/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Rechercher\" placeholder=\"Rechercher\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Recherche\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Effacer\" aria-label=\"Effacer\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Initialisation de la recherche\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Qu'est-ce que le PMX ?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Autorisations manifestes et AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Références d'autorisation\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interface utilisateur expliquée\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Chercher\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Vérification programmée\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observateur de Permissions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Vue Permission\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Opérations par lots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Intégration avec WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Utiliser PMX avec ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versions PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/fr/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fonctionnalités payantes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Téléchargements\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Captures d'écran\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/fr/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Évaluations / Avis / Commentaires / Upvotes / Étoiles\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contactez-nous\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Applications\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Applications\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gestionnaire d'autorisations X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQ Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQ Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Foire aux questions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guide ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guide ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Associer/connecter l'application à ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Intégration avec WhatsRunning</h1>\n\n<p>PMX est intégré avec <a href=\"https://github.com/mirfatif/WhatsRunning\">WhatsRunning</a> afin que vous puissiez ouvrir l'un de l'autre.</p>\n<p><img alt=\"Intégration WhatsRunning \" class=\"media\" src=\"../../img/wrun_integration1.jpg\" /> <img alt=\"Intégration WhatsRunning \" class=\"media\" src=\"../../img/wrun_integration2.webp\" /></p>\n<p>Ainsi, à partir de PMX , vous pouvez passer à WhatsRunning pour savoir si une application avec des autorisations limitées est toujours en cours d'exécution. Si oui, dans quel état il est et dans quelle quantité de ressources il utilise.</p>\n<p>De même, à partir de WhatsRunning vous pouvez passer à PMX pour savoir quelles autorisations une application exécutée (ou morte) est accordée.</p>\n<p>Ceci est particulièrement utile lors de l'analyse de l'effet des permissions comme <code>RUN_IN_BACKGROUND</code>.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Retour en haut de la page\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Pied de page\" >\n        \n          \n          <a href=\"../batch-operations/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Précédent: Opérations par lots\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Précédent\n              </span>\n              <div class=\"md-ellipsis\">\n                Opérations par lots\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../use-with-adb/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Suivant: Utiliser PMX avec ADB\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Suivant\n              </span>\n              <div class=\"md-ellipsis\">\n                Utiliser PMX avec ADB\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copi\\u00e9 dans le presse-papier\", \"clipboard.copy\": \"Copier dans le presse-papier\", \"search.result.more.one\": \"1 de plus sur cette page\", \"search.result.more.other\": \"# de plus sur cette page\", \"search.result.none\": \"Aucun document trouv\\u00e9\", \"search.result.one\": \"1 document trouv\\u00e9\", \"search.result.other\": \"# documents trouv\\u00e9s\", \"search.result.placeholder\": \"Taper pour d\\u00e9marrer la recherche\", \"search.result.term.missing\": \"Non trouv\\u00e9\", \"select.version\": \"S\\u00e9lectionner la version\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/index.html",
    "content": "\n<!doctype html>\n<html lang=\"en\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Overview of PMX and the Free vs Paid feature set — scheduled checks, permission watcher, auto-revoke, batch operations and advanced permission tools.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/\">\n      \n      \n      \n        <link rel=\"next\" href=\"permission-references/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/de/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/es/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/fr/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/pt-BR/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/ru/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/ar/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/zh/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"css/extra.css\">\n    \n    <script>__md_scope=new URL(\".\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#rate-review\" class=\"md-skip\">\n          Skip to content\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Header\">\n    <a href=\".\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              What is PMX?\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Select language\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/de/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/es/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/fr/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/pt-BR/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/ru/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/ar/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/zh/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Search\" placeholder=\"Search\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Search\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Clear\" aria-label=\"Clear\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Initializing search\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\".\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    What is PMX?\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\".\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    What is PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Table of contents\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Table of contents\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#rate-review\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Ratings / Reviews / Comments / Upvotes / Stars\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Manifest Permissions and AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission References\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    User interface explained\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Search\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Scheduled Check\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission Watcher\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission View\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Batch Operations\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integration with WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Using PMX with ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX Versions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Paid features\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX FAQs\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Screenshots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ratings / Reviews / Comments / Upvotes / Stars\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contact Us\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Apps\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Apps\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission Manager X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android FAQs\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android FAQs\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Frequently Asked Questions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB Guide\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB Guide\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Pair/connect the app to ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>What is PMX?</h1>\n\n<p>It's the eXtended Permission Manager app for Android which makes it easy to set and review desired permissions on installed apps, keeping track of any unwanted changes. Giving control on your device, it enables you to protect your privacy and save your resources like battery usage.</p>\n<p>PMX provides all the scattered (or otherwise unavailable) permission-related information and controls on a single screen so that you can watch and control them in a comprehensive and convenient way.</p>\n<p>Using PMX you can:</p>\n<ul>\n<li>View / grant / revoke all the <strong>manifest permissions</strong> which can or cannot be set using app's settings screen. The list of permissions which cannot be set from GUI is very long.</li>\n<li>View all the <strong>AppOp permissions</strong> which usually don't have any GUI setting. E.g. <code>VIBRATE</code> and <code>READ_CLIPBOARD</code>. You can set the desired AppOps mode e.g. <em>Ignore</em> or <em>Foreground</em>.</li>\n<li>View all permissions requested by an app which are <strong>not changeable</strong>.</li>\n<li>View last used time for many AppOp permissions.</li>\n<li>Change <strong>System-Fixed</strong> permissions which cannot be changed by any other means.</li>\n<li>Real-time watch for permission changes or perform scheduled scans.</li>\n<li>Sort apps and permissions by many parameters including install date and number of permissions.</li>\n<li>Make advanced search queries in apps and their permissions.</li>\n<li>And much more.</li>\n</ul>\n<p>Also see Github <a href=\"https://mirfatif.github.io/PermissionManagerX\">README</a> and <a href=\"https://play.google.com/store/apps/details?id=com.mirfatif.permissionmanagerx\">Play Store</a> description. Or just try it out. We offer a free version and a one month free trial.</p>\n<hr />\n<p><strong>It's amazing na?</strong> Let's get into details.</p>\n<ul>\n<li><a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\">Manifest Permissions and AppOps</a></li>\n<li><a href=\"permission-references/\">Permission References</a></li>\n<li><a href=\"details/\">User interface explained</a></li>\n<li><a href=\"search/\">Search</a></li>\n<li><a href=\"scheduled-check/\">Scheduled Check</a></li>\n<li><a href=\"permission-watcher/\">Permission Watcher</a></li>\n<li><a href=\"permission-view/\">Permission View</a></li>\n<li><a href=\"batch-operations/\">Batch Operations</a></li>\n<li><a href=\"whatsrunning-integration/\">Integration with WhatsRunning</a></li>\n<li><a href=\"use-with-adb/\">Using PMX with ADB</a></li>\n<li><a href=\"versions/\">PMX Versions</a></li>\n<li><a href=\"/PermissionManagerX/help/versions/#paid-features\">Paid features</a></li>\n<li><a href=\"faqs/\">PMX FAQs</a></li>\n<li><a href=\"https://mirfatif.github.io/PermissionManagerX\">Downloads</a></li>\n<li><a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\">Screenshots</a></li>\n<li><a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\">Contact Us</a></li>\n</ul>\n<hr />\n<h2 id=\"rate-review\">Ratings / Reviews / Comments / Upvotes / Stars<a class=\"headerlink\" href=\"#rate-review\" title=\"Permanent link\">&para;</a></h2>\n<ul>\n<li><a href=\"https://play.google.com/store/apps/details?id=com.mirfatif.permissionmanagerx\">Play Store</a></li>\n<li><a href=\"https://forum.xda-developers.com/t/app-7-0-permission-manager-x-manage-appops-and-manifest-permissions.4187657\">XDA</a></li>\n<li><a href=\"https://github.com/mirfatif/PermissionManagerX\">GitHub</a></li>\n</ul>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Back to top\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Footer\" >\n        \n        \n          \n          <a href=\"permission-references/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Next: Permission References\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Next\n              </span>\n              <div class=\"md-ellipsis\">\n                Permission References\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \".\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copied to clipboard\", \"clipboard.copy\": \"Copy to clipboard\", \"search.result.more.one\": \"1 more on this page\", \"search.result.more.other\": \"# more on this page\", \"search.result.none\": \"No matching documents\", \"search.result.one\": \"1 matching document\", \"search.result.other\": \"# matching documents\", \"search.result.placeholder\": \"Type to start searching\", \"search.result.term.missing\": \"Missing\", \"select.version\": \"Select version\"}, \"version\": null}</script>\n    \n    \n      <script src=\"assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/javascript/extra.js",
    "content": "(function () {\n  const LANG_PREF_KEY = 'lang_pref';\n  const LANG_REDIRECTED_KEY = 'lang_redirected';\n  const FAQ_REDIRECTED_KEY = 'faq_redirected'\n  const SELECTOR = 'a[hreflang][href]';\n\n  function findCommonULAncestor(nodes) {\n    const arr = Array.from(nodes || []);\n    if (arr.length === 0) return null;\n\n    // Ensure nodes are elements and belong to this document\n    if (!arr.every(n => n instanceof Element && document.documentElement.contains(n))) return null;\n\n    // Get UL ancestors of the first node (array of ancestor elements for a node (closest first, up to <html>))\n    const firstULs = [];\n    let p = arr[0].parentElement;\n    while (p) {\n      if (p.tagName && p.tagName.toLowerCase() === 'ul') firstULs.push(p);\n      p = p.parentElement;\n    }\n    if (firstULs.length === 0) return null; // First node has no ul ancestor at all\n\n    // For each UL ancestor of first node (nearest first), check if it contains all nodes\n    for (const ul of firstULs) {\n      let ok = true;\n      for (let i = 1; i < arr.length; i++) {\n        if (!ul.contains(arr[i])) { ok = false; break; }\n      }\n      if (ok) return ul;\n    }\n\n    // No common UL ancestor found\n    return null;\n  }\n\n  // Build the map and attach listeners\n  function buildMapAndBind() {\n    const anchors = Array.from(document.querySelectorAll(SELECTOR));\n    if (!anchors.length) return null;\n\n    // Language map: hreflang => href\n    const map = {};\n\n    anchors.forEach(a => {\n      const hreflang = a.getAttribute('hreflang');\n      const href = a.getAttribute('href');\n      if (!hreflang || !href) return;\n      map[hreflang.toLowerCase()] = href;\n    });\n\n    // Bind click listeners only to those anchors who are children of a common <ul> ancestor\n    const ul = findCommonULAncestor(anchors);\n\n    if (ul) {\n      anchors.forEach(a => {\n        if (!ul.contains(a)) return;\n\n        const hreflang = a.getAttribute('hreflang');\n        if (!hreflang) return;\n\n        a.addEventListener('click', () => { setSaved(LANG_PREF_KEY, hreflang.toLowerCase()); }, { passive: true });\n      });\n    } else {\n      // No single container: do NOT attach click listeners (avoids accidental saves)\n    }\n\n    return map;\n  }\n\n  function getSaved(key) {\n    try { return localStorage.getItem(key); } catch (e) { return null; }\n  }\n  function setSaved(key, hreflang) {\n    try { localStorage.setItem(key, hreflang); } catch (e) { }\n  }\n  function removeSaved(key) {\n    try { localStorage.removeItem(key); } catch (e) { }\n  }\n\n  // Pick browser preference: exact region first, then primary-sub-tag fallback\n  function getBrowserLang(langIds) {\n    const browserLangs = (navigator.languages && navigator.languages.length)\n      ? [...navigator.languages, navigator.language].filter(Boolean)\n      : [navigator.language || navigator.userLanguage || ''];\n\n    for (let lang of browserLangs) {\n      if (!lang) continue;\n      lang = lang.toLowerCase();\n\n      // Exact match (pt-br)\n      if (langIds.includes(lang)) return langIds.find(k => k === lang);\n\n      // Primary-sub-tag (pt)\n      const primary = lang.split('-')[0];\n      if (langIds.includes(primary)) return primary;\n\n      // Multiple candidates with same primary: pick one (prefer region if any)\n      const candidates = langIds.filter(k => k.split('-')[0] === primary);\n      if (candidates.length === 1) return candidates[0];\n      if (candidates.length > 1) {\n        const withRegion = candidates.find(c => c.includes('-'));\n        return withRegion || candidates[0];\n      }\n    }\n    return null;\n  }\n\n  // If there's an FAQ hash fragment on the root path, send the visitor to the new path + same query + same hash\n  function redirectFAQ() {\n    if (sessionStorage.getItem(FAQ_REDIRECTED_KEY)) return false\n    sessionStorage.setItem(FAQ_REDIRECTED_KEY, 'true');\n\n    if (!/^\\/permissionmanagerx\\/help\\/?$/.test(location.pathname.toLowerCase())) return false;\n\n    if (/^#faq\\d+$/.test(location.hash)) {\n      location.href = '/PermissionManagerX/help/faqs/' + location.search + location.hash\n      return true;\n    }\n\n    return false;\n  }\n\n  function init() {\n    if (redirectFAQ()) return;\n\n    const map = buildMapAndBind();\n    if (!map || !Object.keys(map).length) return;\n\n    if (sessionStorage.getItem(LANG_REDIRECTED_KEY)) return\n    sessionStorage.setItem(LANG_REDIRECTED_KEY, 'true');\n\n    let langId = getSaved(LANG_PREF_KEY);\n\n    if (langId && !map[langId]) {\n      removeSaved(LANG_PREF_KEY);\n      langId = null;\n    }\n\n    if (!langId) langId = getBrowserLang(Object.keys(map));\n\n    if (!langId) return;\n\n    const selectedHref = map[langId];\n\n    const normPath = p => {\n      p = p.replace(/\\/\\/+/g, '/');\n      if (!p.startsWith('/')) p = '/' + p;\n      if (!p.endsWith('/')) p += '/';\n      return p;\n    };\n\n    const newPath = normPath((new URL(selectedHref, location)).pathname)\n\n    if (normPath(location.pathname) != newPath) {\n      location.href = newPath + location.search + location.hash;\n    }\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', init);\n  } else {\n    init();\n  }\n})();\n"
  },
  {
    "path": "help/permission-references/index.html",
    "content": "\n<!doctype html>\n<html lang=\"en\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Save, compare and restore permission reference states in PMX so your desired permission configuration can be backed up and reapplied across installs.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/permission-references/\">\n      \n      \n        <link rel=\"prev\" href=\"..\">\n      \n      \n        <link rel=\"next\" href=\"../details/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../de/permission-references/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../es/permission-references/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../fr/permission-references/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../pt-BR/permission-references/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../ru/permission-references/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../ar/permission-references/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../zh/permission-references/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Permission References - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Header\">\n    <a href=\"..\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Permission References\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Select language\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../de/permission-references/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../es/permission-references/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../fr/permission-references/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../pt-BR/permission-references/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../ru/permission-references/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../ar/permission-references/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../zh/permission-references/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Search\" placeholder=\"Search\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Search\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Clear\" aria-label=\"Clear\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Initializing search\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"..\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"..\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    What is PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Manifest Permissions and AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission References\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    User interface explained\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Search\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Scheduled Check\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission Watcher\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission View\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Batch Operations\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integration with WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Using PMX with ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX Versions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Paid features\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX FAQs\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Screenshots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ratings / Reviews / Comments / Upvotes / Stars\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contact Us\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Apps\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Apps\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission Manager X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android FAQs\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android FAQs\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Frequently Asked Questions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB Guide\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB Guide\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Pair/connect the app to ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Permission References</h1>\n\n<p>Suppose you spent a whole Sunday setting wanted permissions on 200+ installed apps. And:</p>\n<ul>\n<li>The next month you upgraded your device, or installed a new ROM.</li>\n<li>Or you uninstalled and reinstalled a few of the apps for some reason.</li>\n<li>Or you granted a few permissions, as requested by the apps.</li>\n</ul>\n<p>Will you go through the whole hassle once again?</p>\n<p>No you don't need to. You can make PMX remember your desired permission states. Set a permission, make it <font color=\"#90EE90\">GREEN</font>, and done. It will take only a few moments to look at all installed packages and figure out which permissions aren't correctly set e.g. by making a quick search: <code>:RED|:ORANGE</code> or <code>!:GREEN</code>. See <a href=\"../search/\">Search</a> for more details.</p>\n<p>Three <strong>reference states</strong> are:</p>\n<ul>\n<li><font color=\"#FFC107\">ORANGE</font> state indicates that no reference value is set.</li>\n<li><font color=\"#90EE90\">GREEN</font> indicates that reference value matches currently set value.</li>\n<li><font color=\"#FF0000\">RED</font> indicates that reference value and set value differ.</li>\n</ul>\n<p>Reference states can be <strong>backed up</strong> and <strong>restored</strong> conveniently. After a restore, there's a convenient way to set all permissions according to restored references. See <a href=\"../batch-operations/\">Batch Operations</a>.</p>\n<p>There are multiple ways you can set a reference:</p>\n<ul>\n<li>Long press a permission and tap the \"Set Reference \" / \"Clear Reference\" button.</li>\n<li>There's a top menu option on every app's permission list screen to set or clear all references.</li>\n<li>Set references in bulk with <a href=\"../batch-operations/\">Batch Operations</a>.</li>\n<li>Enable the \"Auto-set reference\" preference under Settings → General settings. So whenever you change a permission state, it's also set as a reference.</li>\n</ul>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Back to top\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Footer\" >\n        \n          \n          <a href=\"..\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Previous: What is PMX?\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Previous\n              </span>\n              <div class=\"md-ellipsis\">\n                What is PMX?\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../details/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Next: User interface explained\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Next\n              </span>\n              <div class=\"md-ellipsis\">\n                User interface explained\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copied to clipboard\", \"clipboard.copy\": \"Copy to clipboard\", \"search.result.more.one\": \"1 more on this page\", \"search.result.more.other\": \"# more on this page\", \"search.result.none\": \"No matching documents\", \"search.result.one\": \"1 matching document\", \"search.result.other\": \"# matching documents\", \"search.result.placeholder\": \"Type to start searching\", \"search.result.term.missing\": \"Missing\", \"select.version\": \"Select version\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/permission-view/index.html",
    "content": "\n<!doctype html>\n<html lang=\"en\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Browse permissions by name and protection level, see how many apps use each permission, and drill into per-app permission controls with PMX.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/permission-view/\">\n      \n      \n        <link rel=\"prev\" href=\"../permission-watcher/\">\n      \n      \n        <link rel=\"next\" href=\"../batch-operations/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../de/permission-view/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../es/permission-view/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../fr/permission-view/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../pt-BR/permission-view/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../ru/permission-view/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../ar/permission-view/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../zh/permission-view/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Permission View - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Header\">\n    <a href=\"..\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Permission View\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Select language\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../de/permission-view/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../es/permission-view/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../fr/permission-view/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../pt-BR/permission-view/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../ru/permission-view/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../ar/permission-view/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../zh/permission-view/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Search\" placeholder=\"Search\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Search\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Clear\" aria-label=\"Clear\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Initializing search\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"..\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"..\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    What is PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Manifest Permissions and AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission References\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    User interface explained\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Search\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Scheduled Check\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission Watcher\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission View\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Batch Operations\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integration with WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Using PMX with ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX Versions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Paid features\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX FAQs\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Screenshots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ratings / Reviews / Comments / Upvotes / Stars\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contact Us\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Apps\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Apps\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission Manager X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android FAQs\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android FAQs\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Frequently Asked Questions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB Guide\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB Guide\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Pair/connect the app to ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Permission View</h1>\n\n<p>Permission View shows a list of all permissions with a count of how many apps are using these permissions.</p>\n<p><img alt=\"Permission view\" class=\"media\" src=\"../img/perm_view.webp\" /></p>\n<ol>\n<li>Permission name</li>\n<li>Protection level</li>\n<li>App count</li>\n<li>Granted permission count out of total permission count. The latter can be bigger than the app count because some apps may use an AppOp permission twice (in <a href=\"../faqs/#faq18\">UID mode</a>).</li>\n</ol>\n<p>When you select a permission, a list of apps using this permission shows up:</p>\n<p><img alt=\"Permission view\" class=\"media\" src=\"../img/perm_view2.webp\" /></p>\n<ol>\n<li>Permission name</li>\n<li>Permission description</li>\n<li>Flag indicating that the permission is granted</li>\n<li>App icon</li>\n<li>App label</li>\n<li>Package name</li>\n<li>App UID</li>\n</ol>\n<p>When you select an app, the <a href=\"../details/#permissions-list\">permission list</a> opens where you can change the permission state.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Back to top\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Footer\" >\n        \n          \n          <a href=\"../permission-watcher/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Previous: Permission Watcher\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Previous\n              </span>\n              <div class=\"md-ellipsis\">\n                Permission Watcher\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../batch-operations/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Next: Batch Operations\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Next\n              </span>\n              <div class=\"md-ellipsis\">\n                Batch Operations\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copied to clipboard\", \"clipboard.copy\": \"Copy to clipboard\", \"search.result.more.one\": \"1 more on this page\", \"search.result.more.other\": \"# more on this page\", \"search.result.none\": \"No matching documents\", \"search.result.one\": \"1 matching document\", \"search.result.other\": \"# matching documents\", \"search.result.placeholder\": \"Type to start searching\", \"search.result.term.missing\": \"Missing\", \"select.version\": \"Select version\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/permission-watcher/index.html",
    "content": "\n<!doctype html>\n<html lang=\"en\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Automatically monitor app permission changes with PMX: get notifications, revert unwanted changes or auto-revoke when apps leave foreground.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/permission-watcher/\">\n      \n      \n        <link rel=\"prev\" href=\"../scheduled-check/\">\n      \n      \n        <link rel=\"next\" href=\"../permission-view/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../de/permission-watcher/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../es/permission-watcher/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../fr/permission-watcher/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../pt-BR/permission-watcher/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../ru/permission-watcher/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../ar/permission-watcher/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../zh/permission-watcher/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Permission Watcher - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Header\">\n    <a href=\"..\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Permission Watcher\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Select language\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../de/permission-watcher/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../es/permission-watcher/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../fr/permission-watcher/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../pt-BR/permission-watcher/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../ru/permission-watcher/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../ar/permission-watcher/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../zh/permission-watcher/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Search\" placeholder=\"Search\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Search\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Clear\" aria-label=\"Clear\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Initializing search\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"..\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"..\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    What is PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Manifest Permissions and AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission References\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    User interface explained\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Search\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Scheduled Check\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission Watcher\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission View\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Batch Operations\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integration with WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Using PMX with ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX Versions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Paid features\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX FAQs\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Screenshots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ratings / Reviews / Comments / Upvotes / Stars\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contact Us\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Apps\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Apps\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission Manager X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android FAQs\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android FAQs\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Frequently Asked Questions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB Guide\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB Guide\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Pair/connect the app to ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Permission Watcher</h1>\n\n<p>Some apps do not work without having a certain permission granted. But you want to grant the permission for the time only when you are using the app, and revoke the permission as soon as you leave the app.</p>\n<p>Permission Watcher does exactly this. As soon as you leave the app, or after the set time has passed, it revokes an app's permissions (manifest and AppOp) on its own, or asks you to do so, depending on the preferences you've set.</p>\n<p><img alt=\"Permission watcher\" class=\"media\" src=\"../img/perm_watcher.gif\" /></p>\n<p>Permission Watcher also notifies you to set permissions on newly installed apps (in primary user / owner profile only).</p>\n<p><img alt=\"Permission watcher settings\" class=\"media\" src=\"../img/watcher_settings.webp\" /></p>\n<p>Note:</p>\n<ul>\n<li>Only the permissions with <font color=\"#FF0000\">RED</font> reference state are revoked, not those with the <font color=\"#FFC107\">ORANGE</font> state. So you <strong>MUST</strong> first set the reference states. See <a href=\"../permission-references/\">Permission References</a>.</li>\n<li>Manifest permissions only with <em>Dangerous</em> <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">protection level</a> are watched. Those are the ones usually changed. Permissions with <em>Signature</em> or <em>Development</em> protection level or those with <em>System-Fixed</em> flag set are not watched, though they are changeable.</li>\n<li>PMX watches only <em>User</em>-installed or normal <em>System</em> apps, not <em>Framework</em> apps. Changing them might brick the device.</li>\n<li>On some devices Permission Watcher may not work reliably for apps in the secondary user / profile. Using it in combination with Scheduled Checker is recommended.</li>\n</ul>\n<hr />\n<p><strong id=\"perm-watcher-fails\">Why starting Permission Watcher fails?</strong></p>\n<p>Are you using ADB? Some OEMs remove permission <code>OBSERVE_GRANT_REVOKE_PERMISSIONS</code> or <code>SET_ACTIVITY_WATCHER</code> from <em>Shell</em> package. If this is the case with you, we are sorry. This is something we cannot fix. On such devices Permission Watcher can work only with root. See the <a href=\"../use-with-adb/#limitations-of-adb\">Limitations of ADB</a>.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Back to top\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Footer\" >\n        \n          \n          <a href=\"../scheduled-check/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Previous: Scheduled Check\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Previous\n              </span>\n              <div class=\"md-ellipsis\">\n                Scheduled Check\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../permission-view/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Next: Permission View\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Next\n              </span>\n              <div class=\"md-ellipsis\">\n                Permission View\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copied to clipboard\", \"clipboard.copy\": \"Copy to clipboard\", \"search.result.more.one\": \"1 more on this page\", \"search.result.more.other\": \"# more on this page\", \"search.result.none\": \"No matching documents\", \"search.result.one\": \"1 matching document\", \"search.result.other\": \"# matching documents\", \"search.result.placeholder\": \"Type to start searching\", \"search.result.term.missing\": \"Missing\", \"select.version\": \"Select version\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/pt-BR/batch-operations/index.html",
    "content": "\n<!doctype html>\n<html lang=\"pt\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Criar, editar e aplicar perfis de permissão para vários aplicativos Android com PMX - modelos de lote, perfis padrão e gerenciamento de permissão em massa.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/batch-operations/\">\n      \n      \n        <link rel=\"prev\" href=\"../permission-view/\">\n      \n      \n        <link rel=\"next\" href=\"../whatsrunning-integration/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../batch-operations/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/batch-operations/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/batch-operations/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/batch-operations/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/batch-operations/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/batch-operations/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/batch-operations/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Operações em lote - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#permission-profiles\" class=\"md-skip\">\n          Pular para conteúdo\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Cabeçalho\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Operações em lote\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Selecione o idioma\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../batch-operations/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/batch-operations/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/batch-operations/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/batch-operations/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/batch-operations/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/batch-operations/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/batch-operations/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Buscar\" placeholder=\"Buscar\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Pesquisar\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Limpar\" aria-label=\"Limpar\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Inicializando busca\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navegação\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    O que é PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permissões de manifesto e AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Referências de permissão\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interface do usuário explicada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Pesquisa\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Verificação Agendada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observador de Permissões\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Exibição de permissão\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Operações em lote\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Operações em lote\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Índice\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Índice\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#permission-profiles\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Perfis de permissão\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#operations-with-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Operações com Referências\n      \n    </span>\n  </a>\n  \n    <nav class=\"md-nav\" aria-label=\"Operações com Referências\">\n      <ul class=\"md-nav__list\">\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#set-permissions\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Definir Permissões\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#set-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Definir Referências\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#cleanup-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Limpeza de referências\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#reset-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Redefinir Referências\n      \n    </span>\n  </a>\n  \n</li>\n        \n      </ul>\n    </nav>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integração com WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Usando PMX com ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versões PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/pt-BR/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Recursos pagos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Capturas de tela\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/pt-BR/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Avaliações / Críticas / Comentários / Votos positivos / Estrelas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Entre em contato\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Aplicativos\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Aplicativos\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gerente de Permissões X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQs Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Perguntas Frequentes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guia do ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guia do ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Parear/conectar o aplicativo ao ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Operações em lote</h1>\n\n<h2 id=\"permission-profiles\">Perfis de permissão<a class=\"headerlink\" href=\"#permission-profiles\" title=\"Permanent link\">&para;</a></h2>\n<ul>\n<li>Criar e editar perfis de permissão (templates).</li>\n<li>Aplicar um perfil a uma lista selecionada de aplicativos.</li>\n<li>Selecione um <strong>Perfil Padrão</strong> para aplicar em aplicativos recém-instalados (se <a href=\"../permission-watcher/\">Controle de permissões</a> estiver ativado).</li>\n</ul>\n<p><img alt=\"Perfis de permissões\" class=\"media\" src=\"../../img/perm_profiles.webp\" /></p>\n<p><a href=\"../faqs/#faq39\">Here</a> é um exemplo de guia de vídeo de como criar e aplicar um perfil.</p>\n<hr />\n<h2 id=\"operations-with-references\">Operações com Referências<a class=\"headerlink\" href=\"#operations-with-references\" title=\"Permanent link\">&para;</a></h2>\n<h3 id=\"set-permissions\">Definir Permissões<a class=\"headerlink\" href=\"#set-permissions\" title=\"Permanent link\">&para;</a></h3>\n<p>Dá uma olhada na lista de aplicativos selecionados e transforma as permissões <font color=\"#FF0000\">VERMELHAS</font> <font color=\"#90EE90\">em VERDES</font>, definindo seus estados de acordo com os <a href=\"../permission-references/\">valores de referência</a>. Permissões com estados Verde e laranja são ignoradas.</p>\n<p>Essa opção geralmente é útil quando você acabou de restaurar um backup e tem várias permissões com o estado <font color=\"#FF0000\">VERMELHO</font>.</p>\n<h3 id=\"set-references\">Definir Referências<a class=\"headerlink\" href=\"#set-references\" title=\"Permanent link\">&para;</a></h3>\n<p>Dá uma olhada na lista de aplicativos selecionados e transforma as permissões <font color=\"#FF0000\">VERMELHAS</font> e <font color=\"#FFC107\">LARANJAS</font> <font color=\"#90EE90\">em VERDES</font>, definindo seus <a href=\"../permission-references/\">valores de referência</a> de acordo com os estados de permissão.</p>\n<p>Esta opção é geralmente útil durante uma configuração inicial. Você acabou de instalar o app PMX e passou algumas horas configurando permissões. Essa opção vai deixar todos eles <font color=\"#90EE90\">VERDES</font> com um único toque.</p>\n<h3 id=\"cleanup-references\">Limpeza de referências<a class=\"headerlink\" href=\"#cleanup-references\" title=\"Permanent link\">&para;</a></h3>\n<p>Limpar banco de dados de referências de permissões. Referências não utilizadas serão removidas.</p>\n<p>Se houver uma enorme lista de referências não utilizadas, uma limpeza pode melhorar o carregamento da lista de aplicativos.</p>\n<h3 id=\"reset-references\">Redefinir Referências<a class=\"headerlink\" href=\"#reset-references\" title=\"Permanent link\">&para;</a></h3>\n<p>Redefinir banco de dados de referências de permissões. Todas as referências serão removidas.</p>\n<p>Não foi feito para ser usado normalmente. Mas se você quiser começar do zero.</p>\n<p><img alt=\"Definir referências - operação em lote\" class=\"media\" src=\"../../img/set_refs.webp\" /></p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Voltar para o topo\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Rodapé\" >\n        \n          \n          <a href=\"../permission-view/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Anterior: Exibição de permissão\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Anterior\n              </span>\n              <div class=\"md-ellipsis\">\n                Exibição de permissão\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../whatsrunning-integration/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Próximo: Integração com WhatsRunning\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Próximo\n              </span>\n              <div class=\"md-ellipsis\">\n                Integração com WhatsRunning\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copiado para \\u00e1rea de transfer\\u00eancia\", \"clipboard.copy\": \"Copiar para \\u00e1rea de transfer\\u00eancia\", \"search.result.more.one\": \"mais 1 nesta p\\u00e1gina\", \"search.result.more.other\": \"# mais nesta p\\u00e1gina\", \"search.result.none\": \"Nenhum documento encontrado\", \"search.result.one\": \"1 documento encontrado\", \"search.result.other\": \"# documentos encontrados\", \"search.result.placeholder\": \"Digite para iniciar a busca\", \"search.result.term.missing\": \"Ausente\", \"select.version\": \"Selecione a vers\\u00e3o\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/pt-BR/details/index.html",
    "content": "\n<!doctype html>\n<html lang=\"pt\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Ver e gerenciar permissões específicas de aplicativos no PMX: detalhes de aplicativos, listas de permissões, conceder/revogar controles e informações do modo UID para aplicativos Android.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/details/\">\n      \n      \n        <link rel=\"prev\" href=\"../permission-references/\">\n      \n      \n        <link rel=\"next\" href=\"../search/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../details/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/details/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/details/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/details/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/details/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/details/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/details/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Interface do usuário explicada - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#apps-list\" class=\"md-skip\">\n          Pular para conteúdo\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Cabeçalho\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Interface do usuário explicada\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Selecione o idioma\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../details/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/details/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/details/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/details/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/details/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/details/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/details/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Buscar\" placeholder=\"Buscar\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Pesquisar\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Limpar\" aria-label=\"Limpar\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Inicializando busca\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navegação\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    O que é PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permissões de manifesto e AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Referências de permissão\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interface do usuário explicada\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interface do usuário explicada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Índice\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Índice\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#apps-list\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Lista de aplicativos\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#permissions-list\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Lista de Permissões\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Pesquisa\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Verificação Agendada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observador de Permissões\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Exibição de permissão\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Operações em lote\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integração com WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Usando PMX com ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versões PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/pt-BR/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Recursos pagos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Capturas de tela\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/pt-BR/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Avaliações / Críticas / Comentários / Votos positivos / Estrelas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Entre em contato\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Aplicativos\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Aplicativos\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gerente de Permissões X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQs Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Perguntas Frequentes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guia do ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guia do ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Parear/conectar o aplicativo ao ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Interface do usuário explicada</h1>\n\n<h2 id=\"apps-list\">Lista de aplicativos<a class=\"headerlink\" href=\"#apps-list\" title=\"Permanent link\">&para;</a></h2>\n<p><img alt=\"Detalhes do item da lista de aplicativos\" class=\"media\" src=\"../../img/pkg.webp\" /></p>\n<ol>\n<li>\n<p>Tira colorida à esquerda indica <strong>estado de referência</strong></p>\n</li>\n<li>\n<p><strong>Ícone</strong> do aplicativo</p>\n</li>\n<li>\n<p>Primeira linha mostra o pacote <strong>label</strong></p>\n</li>\n<li>\n<p>A segunda linha mostra o <strong>nome</strong> do pacote,</p>\n</li>\n<li>\n<p><strong>UID</strong></p>\n</li>\n<li>\n<p>Terceira linha (opcionalmente) mostra o estado do pacote: <strong>Critical</strong> (Framework), <strong>Framework</strong> ou aplicativo <strong>System</strong>. Também se o aplicativo estiver <strong>desativado</strong>. Nenhum estado é mostrado para <strong>Ativado</strong>, <strong>Usuário</strong> apps.</p>\n</li>\n<li>\n<p>A última linha mostra <strong>conta</strong> de visibilidade do total de permissões manifest e</p>\n</li>\n<li>\n<p>Permissões AppOps.</p>\n<p>Permissões invisíveis são as excluídas em <em>Filtros de exclusão</em>.</p>\n</li>\n<li>\n<p>Se ordenada por instalação ou data de atualização, a última linha também mostra data ou hora no lado direito.</p>\n</li>\n</ol>\n<h2 id=\"permissions-list\">Lista de Permissões<a class=\"headerlink\" href=\"#permissions-list\" title=\"Permanent link\">&para;</a></h2>\n<p><img alt=\"Detalhes do item da lista de permissões\" class=\"media\" src=\"../../img/perm.webp\" /></p>\n<p><img alt=\"Detalhes do item da lista de permissões\" class=\"media\" src=\"../../img/perm2.webp\" /></p>\n<ol>\n<li>Tira colorida à esquerda indica <strong>estado de referência</strong></li>\n<li>Permissões Manifest mostram uma bandeira no canto superior direito</li>\n<li>Permissão <strong>ícone</strong></li>\n<li>Primeira linha mostra <strong>nome da permissão</strong></li>\n<li>A segunda linha mostra o <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">nível de proteção</a>: <strong>Normal</strong>, <strong>Perigoso</strong>, <strong>Assinatura</strong>, <strong>Desenvolvimento</strong>, <strong>Privilégio</strong>, <strong>Fixo</strong>, <strong>AppOps</strong> ou <strong>Desconhecido</strong>. Também se AppOp é <strong>por Pacote</strong> ou <strong>por UID</strong>. E se for um AppOp <strong>Extra</strong> (nunca excluído nas configurações de filtro).</li>\n<li>A terceira linha (no caso de AppOp) mostra <strong>o último acesso ou o tempo de rejeição</strong></li>\n<li>Quarta linha (no caso de AppOp) mostra o valor referenciado se não corresponder ao valor definido atual.</li>\n<li>Alterne para alterar estado da permissão</li>\n<li>Estado atual (no caso de AppOp)</li>\n<li><strong>Padrão</strong> indica que o estado AppOp nunca foi alterado</li>\n</ol>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Voltar para o topo\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Rodapé\" >\n        \n          \n          <a href=\"../permission-references/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Anterior: Referências de permissão\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Anterior\n              </span>\n              <div class=\"md-ellipsis\">\n                Referências de permissão\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../search/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Próximo: Pesquisa\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Próximo\n              </span>\n              <div class=\"md-ellipsis\">\n                Pesquisa\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copiado para \\u00e1rea de transfer\\u00eancia\", \"clipboard.copy\": \"Copiar para \\u00e1rea de transfer\\u00eancia\", \"search.result.more.one\": \"mais 1 nesta p\\u00e1gina\", \"search.result.more.other\": \"# mais nesta p\\u00e1gina\", \"search.result.none\": \"Nenhum documento encontrado\", \"search.result.one\": \"1 documento encontrado\", \"search.result.other\": \"# documentos encontrados\", \"search.result.placeholder\": \"Digite para iniciar a busca\", \"search.result.term.missing\": \"Ausente\", \"select.version\": \"Selecione a vers\\u00e3o\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/pt-BR/faqs/index.html",
    "content": "\n<!doctype html>\n<html lang=\"pt\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Perguntas frequentes sobre PMX: por que usar PMX, AppOp/manifest explicações, dicas ADB e solução de problemas para controle de permissão do Android.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/faqs/\">\n      \n      \n        <link rel=\"prev\" href=\"../versions/\">\n      \n      \n      \n        \n          <link rel=\"alternate\" href=\"../../faqs/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/faqs/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/faqs/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/faqs/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/faqs/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/faqs/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/faqs/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>FAQs PMX - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#faq36\" class=\"md-skip\">\n          Pular para conteúdo\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Cabeçalho\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              FAQs PMX\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Selecione o idioma\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../faqs/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/faqs/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/faqs/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/faqs/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/faqs/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/faqs/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/faqs/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Buscar\" placeholder=\"Buscar\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Pesquisar\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Limpar\" aria-label=\"Limpar\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Inicializando busca\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navegação\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    O que é PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permissões de manifesto e AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Referências de permissão\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interface do usuário explicada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Pesquisa\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Verificação Agendada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observador de Permissões\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Exibição de permissão\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Operações em lote\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integração com WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Usando PMX com ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versões PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/pt-BR/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Recursos pagos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs PMX\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Índice\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Índice\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq36\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Por que eu preciso usar PMX?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq1\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Por que PMX requer acesso root ou ADB?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq33\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Meu dispositivo não está rooteado. Como posso usar PMX?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq42\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Por que o PMX não funciona ou funciona corretamente no Android mais recente?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq43\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Por que PMX não funciona corretamente em sistemas operacionais OEM ou ROMs personalizado ?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq2\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Como PMX muda as permissões de outros aplicativos?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq34\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        As permissões permanecem alteradas depois que o ADB está desligado, ou o root é negado ou o PMX está desinstalado?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq15\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Por que não posso mudar a permissão XYZ?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq37\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Eu mudei de permissão, mas não está funcionando. Porquê?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq3\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Por que alguns AppOps não podem ser alterados?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq6\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Por que não vejo o aplicativo XYZ na lista de pacotes?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq7\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Por que não vejo a permissão XYZ no pacote ABC?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq8\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Por que não vejo o XYZ AppOp no pacote ABC?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq5\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        O que devo selecionar para o Daemon Privilégio de UID nas Configurações Avançadas? Sistema ou ADB?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq9\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        O que são \"permissões inválidas\" em Filtros de Exclusão?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq10\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        O que é \" AppOpsextra \" em Filtros de Exclusão?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq11\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Quais são diferentes modos AppOp e quais devo usar?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq12\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Qual é a diferença entre os modos \"Ignorar\" e \"Negar\" em AppOp?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq41\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Por que não posso definir o modo AppOp em primeiro plano?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq14\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        O que a permissão WAKE_LOCK faz?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq16\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Como posso mudar a permissão INTERNET?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq40\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        O que são permissões fixas?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq17\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Como posso alterar as permissões do sistema, assinatura/privilégio ou permissões de framework (framework app)?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq18\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        O que é o \"Modo UID\" nas permissões AppOp?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq39\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Posso controlar o recurso “Remover permissões se o aplicativo não for usado” do Android a partir de PMX?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq31\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Por que eu consigo muitos \"Bad ROM\" popups?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq19\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        O que fazem os botões \"Ocultar da Lista\" (no toque contínuo) fazer?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq21\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Existe uma lista completa de todas as permissões disponíveis com explicação?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq22\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Como usar o app no perfil de trabalho / ambiente de multi-usuário?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq24\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Como PMX se compara a XPrivacyLua? Podem substituir-se um ao outro?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq32\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        O PMX pode remover automaticamente as permissões quando um aplicativo é fechado, como o Bouncer faz?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq35\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Posso ser notificado quando um novo aplicativo for instalado?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq38\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Quando um novo aplicativo é instalado, pode remover as permissões por padrão do PMX?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq25\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Por que o PMX requer permissão da INTERNET?\n      \n    </span>\n  </a>\n  \n    <nav class=\"md-nav\" aria-label=\"Por que o PMX requer permissão da INTERNET?\">\n      <ul class=\"md-nav__list\">\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#optional-use-of-internet-permission\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Utilização opcional da permissão android.permission.INTERNET\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#on-device-use-of-internet-permission\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Uso local (no dispositivo) da permissão android.permission.INTERNET\n      \n    </span>\n  </a>\n  \n</li>\n        \n      </ul>\n    </nav>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq26\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Quanto PMX é amigável à privacidade? Você coleta os dados dos usuários?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq27\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        O PMX está me espionando usando o ADB pela rede?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq28\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        O PMX está fazendo mal uso dos privilégios de superusuário para coletar meus dados?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq29\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Eu acho que PMX é inútil. Por que foi criado?\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Capturas de tela\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/pt-BR/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Avaliações / Críticas / Comentários / Votos positivos / Estrelas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Entre em contato\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Aplicativos\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Aplicativos\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gerente de Permissões X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQs Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Perguntas Frequentes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guia do ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guia do ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Parear/conectar o aplicativo ao ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>FAQs PMX</h1>\n\n<h3 id=\"faq36\">Por que eu preciso usar PMX?<a class=\"headerlink\" href=\"#faq36\" title=\"Permanent link\">&para;</a></h3>\n<p>Porque:</p>\n<ul>\n<li>PMX fornece todas as <strong>informações</strong> relacionadas à permissão (ou de outra forma indisponíveis) em uma única tela para que você possa assistir e controlá-las de forma abrangente e conveniente.</li>\n<li>Não há nenhuma ferramenta oficial disponível no Android para alterar <strong>AppOps</strong>. Apenas um subconjunto de <strong>permissões manifest</strong> estão expostos ao usuário nas configurações de permissão. PMX expõe todas as permissões na forma raw Relacionado: <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\">Manifest permissões e AppOps</a>.</li>\n<li>PMX torna mais fácil para você acompanhar as <strong>alterações indesejadas</strong> das permissões.</li>\n<li>Dar controle ao seu dispositivo, PMX permite que você <strong>economize recursos do dispositivo</strong> como a largura de banda da bateria e da rede e <strong>proteja sua privacidade</strong>. Você não é inteiramente deixado à mercê do app e dos desenvolvedores ROM. Leia este <a href=\"https://www.buzzfeednews.com/article/nicolenguyen/how-apps-take-your-data-and-sell-it-without-you-even\">article</a> para ter uma ideia.</li>\n<li>PMX pode <strong>monitorar alterações de permissão</strong> em tempo real, revertendo-as automaticamente quando você parar de usar um aplicativo. Ou ele pode executar o <strong>escaneamento programado</strong> de permissões. Portanto, não é preciso lembrar das coisas.</li>\n<li>PMX torna mais fácil para você <strong>fazer backup e restaurar permissões</strong> dos aplicativos instalados para que você não precise ajustar as permissões de um aplicativo novamente.</li>\n</ul>\n<p>Por favor, veja também <a href=\"../\">O que é PMX</a>?</p>\n<hr />\n<h3 id=\"faq1\">Por que PMX requer acesso root ou ADB?<a class=\"headerlink\" href=\"#faq1\" title=\"Permanent link\">&para;</a></h3>\n<p>O Android restringe intencionalmente aplicativos de modificar as permissões manifest ou AppOps (e em muitos casos de alterar algumas delas). Essas proteções da plataforma cuidam da privacidade dos usuários e da integridade do sistema.</p>\n<p>Para executar ações que requerem privilégios elevados, PMX usa um pequeno, auxiliar privilegiado separado ao invés de tentar fazer tudo do processo normal do aplicativo. Por padrão que o auxiliar roda sob o UID ADB (<code>2000</code>) quando iniciado via ADB, ou sob a UID do sistema (<code>1000</code>) em dispositivos com root. Se você tem um dispositivo root, você pode alterar o UID do helper em <em>Configurações Avançadas</em>.</p>\n<hr />\n<h3 id=\"faq33\">Meu dispositivo não está rooteado. Como posso usar PMX?<a class=\"headerlink\" href=\"#faq33\" title=\"Permanent link\">&para;</a></h3>\n<p>Usar <a href=\"../use-with-adb/\">PMX com ADB</a>. Por favor, leia a nota no início. Pode haver algumas limitações em alguns dispositivos.</p>\n<hr />\n<h3 id=\"faq42\">Por que o PMX não funciona ou funciona corretamente no Android mais recente?<a class=\"headerlink\" href=\"#faq42\" title=\"Permanent link\">&para;</a></h3>\n<p>O PMX depende das APIs ocultas do Android ou interfaces não-SDK que não são documentadas (em <a href=\"https://developer.android.com/\">Desenvolvedores do Android</a>) ao contrário das APIs padrão. Então, a cada novo lançamento do Android, temos que passar pelo código-fonte do Android para descobrir quais APIs foram quebradas (alteradas ou removidas).</p>\n<p>Além disso, leva tempo para consertar as APIs quebradas; às vezes semanas, algum tempo. E não é garantido que seremos sempre capazes de consertar as APIs quebradas. Às vezes o Google de propósito torna difícil ou impossível para nós continuar usando as APIs ocultas.</p>\n<p>Portanto, não é possível para nós fazer o PMX trabalhar imediatamente em cada nova versão do Android (particularmente na fase beta) enquanto o código-fonte final AOSP não for publicado publicamente (em <a href=\"https://cs.android.com/\">Código de Pesquisa</a> ou <a href=\"https://android.googlesource.com/\">Git Repository</a>).</p>\n<p>A versão final suportada pela PMXé descrita na descrição do aplicativo no GitHub e Play Store. Quando você executa o aplicativo em uma versão não suportada pela primeira vez, ele mostra um aviso como este:</p>\n<p><img alt=\"Aviso de versão do Android não suportado\" class=\"media\" src=\"../../img/unsupported_android_version_warning.webp\" /></p>\n<hr />\n<h3 id=\"faq43\">Por que PMX não funciona corretamente em sistemas operacionais OEM ou ROMs personalizado ?<a class=\"headerlink\" href=\"#faq43\" title=\"Permanent link\">&para;</a></h3>\n<p>O PMX depende das APIs ocultas do Android ou interfaces não-SDK que não são documentadas (em <a href=\"https://developer.android.com/\">Desenvolvedores do Android</a>) ao contrário das APIs padrão. Então, precisamos acessar o código fonte do seu ROM para saber exatamente como funcionam as APIs ocultas.</p>\n<p>Bem, o AOSP (que é desenvolvido pelo Google) é open-source. Mas se o seu desenvolvedor OEM ou ROM fizer algumas alterações no AOSP para fins de personalização, Não temos nenhuma maneira de saber exatamente as mudanças que eles fizeram no código AOSP padrão. Nós somos totalmente impotentes aqui. E este fato é mencionado na descrição do aplicativo no GitHub e Play Store. Desculpe.</p>\n<hr />\n<h3 id=\"faq2\">Como PMX muda as permissões de outros aplicativos?<a class=\"headerlink\" href=\"#faq2\" title=\"Permanent link\">&para;</a></h3>\n<p>O próprio PMX não pode conceder ou revogar as permissões de outros aplicativos. Na verdade, nenhum aplicativo de terceiros tem o privilégio de fazer isso. É o sistema operacional Android que controla as permissões dos aplicativos. PMX apenas envia uma solicitação para o framework Android para alterar o estado de uma permissão. Agora depende inteiramente do Android quanto honra o nosso pedido. Nem todas as permissões são alteráveis. E se você não é capaz de alterar o estado de uma permissão usando PMX, você não será capaz de mudar isso de outra maneira também.</p>\n<hr />\n<h3 id=\"faq34\">As permissões permanecem alteradas depois que o ADB está desligado, ou o root é negado ou o PMX está desinstalado?<a class=\"headerlink\" href=\"#faq34\" title=\"Permanent link\">&para;</a></h3>\n<p>O próprio PMX não pode conceder ou revogar as permissões de outros aplicativos. Na verdade, nenhum aplicativo de terceiros tem o privilégio de fazer isso. É o sistema operacional Android que controla as permissões dos aplicativos. PMX apenas envia uma solicitação para o framework Android para alterar o estado de uma permissão.</p>\n<p>Então, uma vez que uma permissão é alterada, não faz diferença se você desinstalar PMX ou largar seus privilégios. A permissão permanece em qualquer estado que seja, exceto quando alterada novamente por você ou pelo sistema operacional.</p>\n<hr />\n<h3 id=\"faq15\">Por que não posso mudar a permissão XYZ?<a class=\"headerlink\" href=\"#faq15\" title=\"Permanent link\">&para;</a></h3>\n<p>Permissões de manifesto com apenas <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">nível de proteção</a> perigoso (e alguns outros) podem ser alteradas. AppOps não dependente de alguns outros AppOp são alteráveis. É assim que o Android funciona, não podemos mudar o comportamento. Veja <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\">Manifest permissões e AppOps</a>.</p>\n<p>Além disso, o PMX protege alguns aplicativos e permissões de framework crítico; alterá-los pode danificar o dispositivo. Ver a <a href=\"#faq17\">pergunta relacionada</a>.</p>\n<p>Veja também <a href=\"#faq3\">Por que alguns AppOps não podem ser alterados?</a></p>\n<p>Note que começar com o Android 15, as permissões manifest dos aplicativos do sistema com nível de proteção de <em>Desenvolvimento</em> não podem ser revogadas. O Android ignora silenciosamente o pedido.</p>\n<hr />\n<h3 id=\"faq37\">Eu mudei de permissão, mas não está funcionando. Porquê?<a class=\"headerlink\" href=\"#faq37\" title=\"Permanent link\">&para;</a></h3>\n<p>Após alterar com sucesso uma permissão, se você não estiver obtendo os resultados desejados, ou seja, ele reverte imediatamente ou depois de algumas horas ou dias, é o sistema operacional Android que é o culpado. Veja por favor:</p>\n<ul>\n<li><a href=\"#faq2\">Como PMX altera as permissões de outras aplicações?</a></li>\n<li><a href=\"#faq3\">Por que algum AppOps não pode ser alterado?</a></li>\n</ul>\n<p>Conforme você usa apps, o Android pode alterar suas permissões. E, infelizmente, não temos maneira de o evitar. <a href=\"../permission-watcher/\">Observador de permissões</a> e <a href=\"../scheduled-check/\">Verificador Agendado</a> pode ajudar neste aspecto.</p>\n<hr />\n<h3 id=\"faq3\">Por que alguns AppOps não podem ser alterados?<a class=\"headerlink\" href=\"#faq3\" title=\"Permanent link\">&para;</a></h3>\n<p>Às vezes você vê “AppOp mode not changed”. Isto significa que o Android rejeitou a solicitação para alterar o modo AppOp. Você não pode alterá-lo, não importa qual método ou aplicativo você usa. Pode haver várias razões possíveis.</p>\n<ul>\n<li>\n<p>Alguns AppOps são dependentes das permissões de manifest correspondentes. Por conseguinte, não podem ser alteradas independentemente. Por exemplo, você pode não conseguir negar a permissão <code>READ_CONTACTS</code> AppOp se <code>android.permission.READ_CONTACTS</code> manifest for concedida.</p>\n<p>Também se o aplicativo não solicitou a permissão manifest em seu arquivo manifest , sua permissão AppOp também não pode ser concedida. Mas ele ainda pode aparecer na lista de permissões do aplicativo se o aplicativo tentou usá-lo (e foi rejeitado). <code>SYSTEM_ALERT_WINDOW</code> é um desses exemplos.</p>\n</li>\n<li>\n<p>Alguns AppOps são usados apenas pelo Android para compatibilidade (por exemplo, <code>LEGACY_STORAGE</code>) e eles realmente não controlam nada. Se explorarmos seu trabalho subjacente, será revelado que conceder / revogar tais permissões não faz sentido.</p>\n</li>\n<li>\n<p>Algumas permissões não podem ser alteradas se o aplicativo estiver sendo executado ou estiver direcionado para uma versão mais recente ou mais antiga do Android.</p>\n</li>\n<li>\n<p>Alguns OEM ROMs se comportam estranhos quando se trata de AppOps. Veja <a href=\"#faq43\">Por que o PMX não funciona direito em sistemas operacionais OEM ou ROMspersonalizados?</a></p>\n</li>\n<li>\n<p>Muitos AppOps podem ter 2 modos: modo pacote e modo UID. É possível que um possa ser alterado enquanto o outro não pode ser.</p>\n<p>Geralmente UID AppOps tem precedência sobre suas contrapartes do pacote AppOp. Neste caso, o modo eficaz do pacote AppOp é o mesmo que seu UID AppOps. Então você não pode alterar o pacote AppOp sozinho.</p>\n<p>Alguns AppOps preferem ser definidos no modo pacote, não no modo UID. Mas se estiver configurado incorretamente no modo UID (com a ferramenta de linha de comando ou por algum outro aplicativo), ele não vai responder a nenhuma alteração. Faça \"Redefinir AppOps\" no menu superior direito para fazê-lo funcionar novamente. Este também é o caso com outros AppOps que têm uma permissão correspondente manifest com <em>AppOp</em> <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">nível de proteção</a>.</p>\n</li>\n</ul>\n<p>Na verdade, vem muitas mais explicações se procurarmos cada aplicativo e permissão individualmente (o que não soa prático). Como mencionado acima, o PMX não altera as permissões de outros aplicativos por conta própria. Então, mesmo que, por alguma razão desconhecida, o Android não altere uma permissão ou a reverta imediatamente, Não há nada que possamos fazer para forçá-lo porque estas são as limitações no fim do Android. Em vez disso, devo dizer que é assim que o Android funciona.</p>\n<p>Relacionado:</p>\n<ul>\n<li><a href=\"#faq11\">Quais são diferentes modos AppOp e qual devo usar?</a></li>\n<li><a href=\"#faq41\">Por que não posso definir o modo AppOp em primeiro plano?</a></li>\n</ul>\n<hr />\n<h3 id=\"faq6\">Por que não vejo o aplicativo XYZ na lista de pacotes?<a class=\"headerlink\" href=\"#faq6\" title=\"Permanent link\">&para;</a></h3>\n<p>Por favor, verifique <strong>Filtros de Exclusão</strong>. Quase todos os pacotes padrão do Android são excluídos por padrão. Você pode excluir / incluir qualquer pacote que quiser de / para a lista visível.</p>\n<hr />\n<h3 id=\"faq7\">Por que não vejo a permissão XYZ no pacote ABC?<a class=\"headerlink\" href=\"#faq7\" title=\"Permanent link\">&para;</a></h3>\n<p>Por favor, verifique <strong>Filtros de Exclusão</strong>. Permissões que não são alteráveis são excluídas da lista visível por padrão.</p>\n<hr />\n<h3 id=\"faq8\">Por que não vejo o XYZ AppOp no pacote ABC?<a class=\"headerlink\" href=\"#faq8\" title=\"Permanent link\">&para;</a></h3>\n<p>Por favor verifique os <strong>Filtros de exclusão</strong> se o XYZ AppOp está excluído da lista visível. Ou o pacote ABC pode não estar usando a operação XYZ. A senhora não precisa ficar preocupada com isso.</p>\n<p>Mas se você quiser ver o XYZ AppOp para todos os aplicativos, vá em <strong>Filtros de Exclusão → AppOps adicional, nunca excluiu</strong> e verifique o XYZ AppOp na lista.</p>\n<p>Por exemplo, escrever <code>_CLIPBOARD</code> na caixa de pesquisa (com a caixa <strong>Pesquisa profunda</strong> marcada) e você receberá todos os aplicativos que usaram (ou tentaram usar) a permissão <code>READ_CLIPBOARD</code> ou <code>WRITE_CLIPBOARD</code>. O carimbo de data/hora também é mostrado (mas não para todos os AppOps).</p>\n<p>Então se o app que você está preocupado não estiver nos resultados da pesquisa, verifique ambos AppOps na lista de <strong>Filtros de Exclusão</strong> mencionada acima.</p>\n<hr />\n<h3 id=\"faq5\">O que devo selecionar para o Daemon Privilégio de UID nas Configurações Avançadas? Sistema ou ADB?<a class=\"headerlink\" href=\"#faq5\" title=\"Permanent link\">&para;</a></h3>\n<p>É importante apenas se você estiver usando root, ou <code>adbd</code> no seu dispositivo está executando com root (que não é o caso com dispositivos do usuário final).</p>\n<p>Preferencialmente, use <strong>System</strong> (UID <code>1000</code>) pois ele permite mais privilégios do que <strong>ADB</strong> (UID <code>2000</code>). Ex.: alterar as permissões \"<em>Sistema-Fixo</em>\" só é possível quando é executado como sistema.</p>\n<hr />\n<h3 id=\"faq9\">O que são \"permissões inválidas\" em Filtros de Exclusão?<a class=\"headerlink\" href=\"#faq9\" title=\"Permanent link\">&para;</a></h3>\n<p>Se um aplicativo está solicitando uma permissão manifest , mas não é declarado (fornecido) pelo framework Android ou qualquer um dos pacotes instalados, é uma permissão inválida. Por exemplo, o <code>com.android.vending.BILLING</code> é uma permissão inválida se o aplicativo Play Store não estiver instalado no seu dispositivo.</p>\n<hr />\n<h3 id=\"faq10\">O que é \" AppOpsextra \" em Filtros de Exclusão?<a class=\"headerlink\" href=\"#faq10\" title=\"Permanent link\">&para;</a></h3>\n<p>Nem todos os AppOps estão sendo usados para todos os aplicativos instalados. Mas você pode impor um AppOp a qualquer aplicativo. AppOps extra selecionado aparece nas listas de permissões de todos os aplicativos, para que você possa defini-los.</p>\n<hr />\n<h3 id=\"faq11\">Quais são diferentes modos AppOp e quais devo usar?<a class=\"headerlink\" href=\"#faq11\" title=\"Permanent link\">&para;</a></h3>\n<p>Normalmente você deve permitir ou ignorar. Ou você pode querer permitir uma operação somente quando o aplicativo estiver em <strong>Foreground</strong> (somente no Android 9 ou superior). <strong>Negar</strong> é a versão intensa de Ignorar que pode travar o aplicativo solicitante. <strong>Padrão</strong> é o comportamento padrão do sistema que difere para AppOps diferente.</p>\n<p>Por favor, note que nem todos os modos AppOp podem ser definidos em cada AppOp para cada aplicativo. Por exemplo, em versões recentes do Android, lançamentos <code>CAMERA</code> e <code>MICROPHONE</code> têm permissão para serem usados por aplicativos do usuário apenas em primeiro plano (mesmo que o modo definido seja <strong>Permitido</strong>). Da mesma forma, alguns AppOps nunca podem ser definidos para o modo <strong>em primeiro plano</strong>.</p>\n<p>Relacionado: <a href=\"#faq3\">Por que alguns AppOps não podem ser alterados?</a></p>\n<p>Documentação oficial: <a href=\"https://developer.android.com/reference/android/app/AppOpsManager#access-control\">AppOpsManager</a>.</p>\n<hr />\n<h3 id=\"faq12\">Qual é a diferença entre os modos \"Ignorar\" e \"Negar\" em AppOp?<a class=\"headerlink\" href=\"#faq12\" title=\"Permanent link\">&para;</a></h3>\n<p><a href=\"https://developer.android.com/reference/android/app/AppOpsManager#MODE_IGNORED\">Ignore</a> falha silenciosamente enquanto <a href=\"https://developer.android.com/reference/android/app/AppOpsManager#MODE_ERRORED\">Deny</a> lança um erro de volta para o aplicativo que pode não estar esperando e que pode travar. Você deveria estar normalmente usando <strong>Ignore</strong>.</p>\n<hr />\n<h3 id=\"faq41\">Por que não posso definir o modo AppOp em primeiro plano?<a class=\"headerlink\" href=\"#faq41\" title=\"Permanent link\">&para;</a></h3>\n<p>O modo primeiro plano não pode ser definido para todos os AppOps. Mesmo quando definido, não pode dar os resultados esperados.</p>\n<p>Relacionado:</p>\n<ul>\n<li><a href=\"#faq11\">Quais são diferentes modos AppOp e qual devo usar?</a></li>\n<li><a href=\"#faq3\">Por que algum AppOps não pode ser alterado?</a></li>\n</ul>\n<p>Por favor, note que o modo de permissão \"Permitir apenas quando estiver usando o aplicativo\" não define o modo AppOp como \"Em primeiro plano\":</p>\n<p><img alt=\"Modos de permissão em primeiro plano e única vez\" class=\"media\" src=\"../../img/fg_and_one_time_perm_modes.webp\" /></p>\n<p>Normalmente vemos apenas dois estados para uma permissão manifest : concedida e revogada. Mas Android usa <a href=\"https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-13.0.0_r1/core/java/android/content/pm/PackageManager.java#4655\">flags</a> para dividir esses dois estados em vários subestados. Para algumas permissões, o mesmo fenômeno é usado para alcançar o comportamento de \"conceder somente quando o aplicativo é visível\". A permissão AppOp não é usada neste caso.</p>\n<p>Para mais detalhes, consulte a documentação oficial de <a href=\"https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-13.0.0_r1/core/java/android/permission/Permissions.md#background-access\">acesso em segundo plano</a> e <a href=\"https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-13.0.0_r1/core/java/android/app/AppOps.md#foreground\">acesso em primeiro plano</a>.</p>\n<p>Por simplicidade, PMX não assiste a sinalizações de permissão neste momento. Mas no futuro uma opção pode ser adicionada para também rastrear mudanças de sinalizadores de permissão, mesmo que o modo concedido / revogado permaneça inalterado.</p>\n<hr />\n<h3 id=\"faq14\">O que a permissão <code>WAKE_LOCK</code> faz?<a class=\"headerlink\" href=\"#faq14\" title=\"Permanent link\">&para;</a></h3>\n<p>Os aplicativos mantêm o wakelock para manter o dispositivo ativo, ou seja, não entrar no <a href=\"https://developer.android.com/training/monitoring-device-state/doze-standby#understand_doze\">modo Doze</a>.</p>\n<hr />\n<h3 id=\"faq16\">Como posso mudar a permissão <code>INTERNET</code>?<a class=\"headerlink\" href=\"#faq16\" title=\"Permanent link\">&para;</a></h3>\n<p>O Android não deixa mudar todas as permissões, tipo aquelas com o <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">nível de proteção</a> <strong>Normal</strong> (por exemplo, <code>INTERNET</code>) ou aquelas com a marcação <strong>Fixa</strong> ou nível de proteção <strong>Assinatura</strong> (normalmente aplicativos do Sistema ou Framework). Veja <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\">Manifest permissões e AppOps</a>.</p>\n<p>Mas se você estiver rooteado, <a href=\"https://github.com/mirfatif/Fyrypt\">Fyrypt</a> dá a você um controle muito forte sobre a atividade de rede acontecendo no seu dispositivo.</p>\n<hr />\n<h3 id=\"faq40\">O que são permissões fixas?<a class=\"headerlink\" href=\"#faq40\" title=\"Permanent link\">&para;</a></h3>\n<p>Permissões de <strong>sistema corrigido</strong> são concedidas aos aplicativos pré-instalados pelos desenvolvedores OEMs ou ROM. Não se pretende que sejam alteradas. Mas se o seu dispositivo estiver rooteado, o PMX pode mudar as permissões fixadas pelo sistema.</p>\n<p>As permissões <strong>fixas por política</strong> são concedidas (ou negadas) pelos administradores de TI nos dispositivos gerenciados. Eles não podem ser alterados.</p>\n<p><strong>User-fixed</strong> permissions are fixed by the user. Se um usuário negar uma permissão algumas vezes quando o aplicativo solicita ele, o sistema operacional marca a permissão como corrigida pelo usuário e não mostra mais solicitações ao usuário para conceder a permissão se o aplicativo pedir a mesma permissão novamente. Esse tipo de permissões fixas pode ser alterado facilmente sempre que o usuário quiser.</p>\n<hr />\n<h3 id=\"faq17\">Como posso alterar as permissões do sistema, assinatura/privilégio ou permissões de framework (framework app)?<a class=\"headerlink\" href=\"#faq17\" title=\"Permanent link\">&para;</a></h3>\n<p>Se seu dispositivo estiver rooteado, na versão paga você pode <strong>Permitir Mudanças Críticas</strong> em <strong>Configurações Avançadas</strong> para fazer alterações nas permissões com a flag <strong>Sistema Fixo</strong>, nível de proteção <strong>Assinatura</strong> ou <strong>Privilégio</strong> ou do framework app. Mas não é recomendável jogar com aplicativos do Sistema e do Framework Você pode brick seu dispositivo.</p>\n<hr />\n<h3 id=\"faq18\">O que é o \"Modo UID\" nas permissões AppOp?<a class=\"headerlink\" href=\"#faq18\" title=\"Permanent link\">&para;</a></h3>\n<p>É um modo de uma permissão AppOp que indica que alterar este AppOp também afetará outros aplicativos (com a mesma UID), se instalado. Ver <a href=\"https://developer.android.com/guide/topics/manifest/manifest-element#uid\"><code>sharedUserId</code></a>.</p>\n<p>Observe que o modo UID tem precedência sobre o modo pacote para muitos AppOps.</p>\n<hr />\n<h3 id=\"faq39\">Posso controlar o recurso “Remover permissões se o aplicativo não for usado” do Android a partir de PMX?<a class=\"headerlink\" href=\"#faq39\" title=\"Permanent link\">&para;</a></h3>\n<p>Sim. Esse recurso está disponível desde <a href=\"https://developer.android.com/about/versions/11/privacy/permissions#auto-reset\">Android 11</a>. Ele também é rotulado como <strong>\"Pausar atividade de app se não for usado\"</strong> em alguns dispositivos.</p>\n<p><img alt=\"Auto-remover permissões não utilizadas\" class=\"media\" src=\"../../img/remove_unused_perms.webp\" /></p>\n<p>Para alterar esta opção do PMX:</p>\n<ol>\n<li>Vá para <strong>Filtros de exclusão → Lista AppOps extra</strong> e verifique <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code>.</li>\n<li>Volte na tela principal, digite <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code> na barra de pesquisa superior. Certifique-se de que a busca profunda esteja ativada nas configurações de busca.</li>\n<li>Defina o modo <strong>Permitir</strong> ou <strong>Ignorar</strong> para os aplicativos que você quiser.</li>\n</ol>\n<p>Você também pode usar <a href=\"../permission-view/\">Visão de permissão</a> ou <a href=\"../batch-operations/\">Operações em lote</a> no lugar dos passos 2 e 3. Aqui está um guia sobre como fazer isso usando Operações de Lote:</p>\n<video class=\"media\" controls muted>\n    <source src=\"../../img/remove_unused_perms.mp4\" type=\"video/webm\">\n    Remove permissions if app isn't used\n</video>\n\n<hr />\n<h3 id=\"faq31\">Por que eu consigo muitos \"Bad ROM\" popups?<a class=\"headerlink\" href=\"#faq31\" title=\"Permanent link\">&para;</a></h3>\n<p>OEMs fazem enormes mudanças no código AOSP de estoque (que é desenvolvido pelo Google). Então o framework AppOps em alguns personalizados/OEM ROMs retorna resultados inesperados que PMX não consegue entender. Você pode ignorar estes popups, mas eles significam que a funcionalidade é um pouco limitada.</p>\n<p>Você pode desativar estes pop-ups em <strong>Configurações</strong> → <strong>Configurações gerais</strong> → <strong>Desativar torradas ROM ruim</strong>.</p>\n<p>Veja <a href=\"#faq43\">Por que o PMX não funciona direito em sistemas operacionais OEM ou ROMspersonalizados?</a></p>\n<hr />\n<h3 id=\"faq19\">O que fazem os botões \"Ocultar da Lista\" (no toque contínuo) fazer?<a class=\"headerlink\" href=\"#faq19\" title=\"Permanent link\">&para;</a></h3>\n<p>Eles só escondem o aplicativo ou a permissão da lista visível. Se você não deseja alterar uma permissão para qualquer aplicativo, você pode ocultá-la. E não aparecerá para nenhum aplicativo. Para mostrá-lo novamente, vá para configurações de <strong>Filtros de exclusão</strong>.</p>\n<p>Da mesma forma, você pode excluir um aplicativo da lista se você não estiver preocupado com suas permissões.</p>\n<p><img alt=\"Ocultar aplicativo da lista visível\" class=\"media\" src=\"../../img/hide_app_from_list.webp\" /> <img alt=\"Ocultar permissão da lista visível\" class=\"media\" src=\"../../img/hide_perm_from_list.webp\" /></p>\n<hr />\n<h3 id=\"faq21\">Existe uma lista completa de todas as permissões disponíveis com explicação?<a class=\"headerlink\" href=\"#faq21\" title=\"Permanent link\">&para;</a></h3>\n<p>Não há nenhuma lista completa de permissões com descrição, pelo menos no meu conhecimento. A versão do PMX Pro mostra uma breve descrição das permissões de manifest e AppOp comuns.</p>\n<p>Existem recursos de terceiros como <a href=\"https://android.izzysoft.de/applists.php?topic=perms\">este</a> de Izzy. O <a href=\"https://developer.android.com/\">site oficial de desenvolvedor</a> e o <a href=\"https://cs.android.com/\">código-fonte</a> do Android também são boas fontes para a aprendizagem.</p>\n<p>A cada nova versão do Android, algumas novas permissões são adicionadas, e outras também ficam obsoletas. Além disso, nem todas as permissões são necessárias para serem tomadas conta de todos os usuários.</p>\n<hr />\n<h3 id=\"faq22\">Como usar o app no perfil de trabalho / ambiente de multi-usuário?<a class=\"headerlink\" href=\"#faq22\" title=\"Permanent link\">&para;</a></h3>\n<p>Versão Pro suporta perfis de trabalho e vários usuários. Selecione um usuário no menu suspenso.</p>\n<p><img alt=\"Menu multiusuário\" class=\"media\" src=\"../../img/multi_users.webp\" /></p>\n<hr />\n<h3 id=\"faq24\">Como PMX se compara a XPrivacyLua? Podem substituir-se um ao outro?<a class=\"headerlink\" href=\"#faq24\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX não foi projetado para substituir, mas para projetos de elogio como XPrivacyLua. Eles têm diferentes objetivos de concepção.</p>\n<p>XPrivacyLua hack a funcionalidade padrão do Android conectando em APIs internas, usando Xposed que substitui algumas bibliotecas do Android por bibliotecas hackeadas. Então obtemos funcionalidade extra como dar informações falsas aos apps e ser notificado de eventos relacionados à permissão que não podemos saber por quaisquer outros meios normais.</p>\n<p>PMX por outro lado não é um módulo de estrutura. Ele fornece acesso conveniente a algumas APIs privilegiadas que os apps normais não conseguem usar. Não está hackeando a funcionalidade padrão do Android de forma alguma. A maioria das tarefas que PMX executa também podem ser executadas pela linha de comando, exceto algumas como a alteração de permissões fixas do sistema.</p>\n<p>Rootação e Xposed são dois requisitos estritos para usar XPrivacyLua. PMX não precisa de nenhum dos dois na maioria das vezes. Ambos não estão disponíveis para muitos dispositivos ou muitos usuários não os consideram como uma opção devido às dificuldades técnicas envolvidas. Vazio de garantia, falha na SafetyNet e outras questões.</p>\n<p>Mais explicação <a href=\"https://github.com/mirfatif/PermissionManagerX/issues/9\">here</a> e <a href=\"https://github.com/mirfatif/PermissionManagerX/issues/56#issuecomment-2790539931\">here</a>.</p>\n<hr />\n<h3 id=\"faq32\">O PMX pode remover automaticamente as permissões quando um aplicativo é fechado, como o Bouncer faz?<a class=\"headerlink\" href=\"#faq32\" title=\"Permanent link\">&para;</a></h3>\n<p>Sim. Ver <a href=\"../permission-watcher/\">Observador de permissões</a> e <a href=\"../scheduled-check/\">Verificação Agendada</a>. Mas não usa a <strong>Acessibilidade</strong> do Android para executar toques / cliques na tela em nome do usuário (embora seja um bom recurso sem exigir qualquer configuração extra). PMX depende de privilégios de raiz ou ADB. Então ele pode fazer muito mais (veja <a href=\"../\">O que é PMX?</a>) do que o que pode ser feito usando os recursos de Acessibilidade.</p>\n<p>Se você estiver usando ADB, e não root, o <strong>Observador de permissões</strong> pode não funcionar em alguns dispositivos. Por favor, veja <a href=\"../use-with-adb/#limitations-of-adb\">Limitações de ADB</a>.</p>\n<hr />\n<h3 id=\"faq35\">Posso ser notificado quando um novo aplicativo for instalado?<a class=\"headerlink\" href=\"#faq35\" title=\"Permanent link\">&para;</a></h3>\n<p>Sim. Ver <a href=\"../permission-watcher/\">Observador de permissões</a>.</p>\n<p>Desde o Android 8 não é possível para apps em segundo plano (não em execução) serem notificados sobre o novo evento instalado do aplicativo. Então vamos executar um serviço em primeiro plano (com notificação persistente) para receber este evento. Ou você pode considerar usar o <a href=\"../scheduled-check/\">Pedido Agendado</a> para manter as coisas certas.</p>\n<hr />\n<h3 id=\"faq38\">Quando um novo aplicativo é instalado, pode remover as permissões por padrão do PMX?<a class=\"headerlink\" href=\"#faq38\" title=\"Permanent link\">&para;</a></h3>\n<p>Sim. Mas não há permissões para descartar. Todas as permissões manifest revogáveis já estão revogadas e serão revogadas, a menos que o usuário as conceda explicitamente. No que diz respeito a AppOps , muitos deles não aparecem até pelo menos uma vez usados pelo aplicativo, por exemplo, <code>VIBRATE</code> e <code>READ_CLIPBOARD</code>. Muitas outras (por exemplo, <code>READ_CONTACTS</code>) têm suas permissões manifest correspondentes já foram removidas, como apontado. Então não é previsível no momento da instalação do aplicativo, que AppOps deve ser removida.</p>\n<p>Mas uma notificação é exibida quando um novo aplicativo é instalado (se estiver usando <a href=\"../permission-watcher/\">Permissões Watcher</a>) para que o usuário possa definir as permissões um por um ou <a href=\"../batch-operations/#permission-profiles\">aplicar um perfil</a>.</p>\n<hr />\n<h3 id=\"faq25\">Por que o PMX requer permissão da INTERNET?<a class=\"headerlink\" href=\"#faq25\" title=\"Permanent link\">&para;</a></h3>\n<p>A <a href=\"https://mirfatif.github.io/mirfatif/getpro\">versão standalone Pro</a> requer conexão com a internet para verificação de licença. Outro <a href=\"../versions/\">versions</a> pode funcionar completamente offline. Embora o app Play Store precise de uma conexão com a internet para verificação de licença.</p>\n<h4 id=\"optional-use-of-internet-permission\">Utilização opcional da permissão <code>android.permission.INTERNET</code><a class=\"headerlink\" href=\"#optional-use-of-internet-permission\" title=\"Permanent link\">&para;</a></h4>\n<ul>\n<li>Verificar por atualizações do App. Você pode desativar isto nas configurações do aplicativo.</li>\n</ul>\n<h4 id=\"on-device-use-of-internet-permission\">Uso local (no dispositivo) da permissão <code>android.permission.INTERNET</code><a class=\"headerlink\" href=\"#on-device-use-of-internet-permission\" title=\"Permanent link\">&para;</a></h4>\n<p>O Android não permite que aplicativos criem soquetes de rede sem ter a permissão <a href=\"https://developer.android.com/reference/android/Manifest.permission#INTERNET\"><code>INTERNET</code></a>, mesmo se eles são destinados a ser usados apenas localmente e não para uma conexão de internet. PMX tem dois usos de conexões locais (no dispositivo) (a habilidade de criar <code>localhost</code> soquetes em <code>127.0.0.1</code>) para a Comunicação de Processo de Inter (IPC):</p>\n<ul>\n<li>O PMX inicia um processo em segundo plano com privilégios de raiz / ADB e conversações para esse processo através do soquete da rede. Após o handshake inicial, ambos os processos começam a falar sobre o Binder. Nós não temos uma maneira melhor de fazer isso porque o Android também não permite que apps falem sobre soquetes de domínio UNIX.</li>\n<li>Se seu dispositivo não estiver com root e você <a href=\"../use-with-adb/\">usar PMX com ADB</a>, então conectar ao <code>adbd</code> requer permissões de internet. Ver <a href=\"#faq27\"> PMX está me espionando usando ADB pela rede?</a></li>\n</ul>\n<p>Então, se o aplicativo não for capaz de criar ou usar as tomadas locais da rede, ele falhará. E se você quiser impedir o PMX de usar a internet, não deve impedir o aplicativo de falar com processos no dispositivo ao longo de <a href=\"https://superuser.com/questions/263142\">interface de loopback para o IPC</a>. Este é geralmente o caso com firewalls baseados em <code>iptables</code>como <a href=\"https://github.com/mirfatif/Fyrypt\">Fyrypt</a> e firewalls baseados em VPN como NetGuard. Mas alguns ROMs têm um recurso integrado para impedir o acesso à rede:</p>\n<p><img alt=\"Permitir acesso à rede\" class=\"media\" src=\"../../img/allow_network_access.webp\" /></p>\n<p>Isso não só impede o aplicativo de usar a internet, mas também desabilita sua capacidade de criar soquetes loopback para o IPC. Portanto <strong>PMX não será capaz de obter privilégios de raiz / ADB se essa permissão for negada</strong>.</p>\n<hr />\n<h3 id=\"faq26\">Quanto PMX é amigável à privacidade? Você coleta os dados dos usuários?<a class=\"headerlink\" href=\"#faq26\" title=\"Permanent link\">&para;</a></h3>\n<p>Não. Nós não coletamos seus dados. nunca. Nem um único byte. O PMX tem uma versão de código aberto. Acreditamos que nossos usuários sejam educados e bem informados sobre por que estão usando PMX. Respeitamos a sua privacidade, portanto nenhum dado é coletado, até mesmo os registros de erros. Você também pode querer ver nossa <a href=\"https://mirfatif.github.io/PermissionManagerX/PRIVACY\">Política de Privacidade</a>.</p>\n<hr />\n<h3 id=\"faq27\">O PMX está me espionando usando o ADB pela rede?<a class=\"headerlink\" href=\"#faq27\" title=\"Permanent link\">&para;</a></h3>\n<p>Não.</p>\n<p>PMX conversa com o processo <code>adbd</code> através do localhost (<code>127.0.0.1</code>). Mas não há nenhuma maneira de começar a ouvir <code>adbd</code> apenas no localhsot, e não em outras interfaces de rede (porque ADB é usado externamente a partir de um PC). Você certamente pode parar o <code>adbd</code> escutando endereços IP externos, se puder. PMX ainda funcionaria, sem que qualquer porta fosse exposta externamente.</p>\n<p>Também você pode mudar a porta <code>5555</code> para o número que quiser em <strong>Configurações Avançadas</strong>. Não é codificado duro.</p>\n<p>Também ADB desde o Android 4.2 é destinado a ser protegido com <strong>autenticação RSA</strong> (um dos mecanismos de autenticação mais forte). Então mesmo que o dispositivo esteja acessível a partir da internet (que é altamente <a href=\"https://android.stackexchange.com/a/205807/218526\">unlikely</a>), ninguém pode fazer uma conexão ADB sem autenticação.</p>\n<p>Você pode verificar essas reivindicações da forma que quiser. Estamos aqui para o ajudar tecnicamente.</p>\n<hr />\n<h3 id=\"faq28\">O PMX está fazendo mal uso dos privilégios de superusuário para coletar meus dados?<a class=\"headerlink\" href=\"#faq28\" title=\"Permanent link\">&para;</a></h3>\n<p>Acreditamos no <a href=\"https://wikipedia.org/wiki/Principle_of_least_privilege\">princípio do mínimo privilégio</a>. Mas devido à natureza restrita do sistema operacional Android, PMX não pode funcionar sem ter privilégios elevados. O que podemos oferecer é, se se for uma pessoa experiente em tecnologia, nós podemos ensinar você como dificultar as conexões à internet, mesmo com privilégios de root.</p>\n<hr />\n<h3 id=\"faq29\">Eu acho que PMX é inútil. Por que foi criado?<a class=\"headerlink\" href=\"#faq29\" title=\"Permanent link\">&para;</a></h3>\n<p>Nós respeitamos a sua opinião. PMX não é para todos (e é por isso que não foi polido e divulgado ao público por anos, porque sabíamos que somos um público muito pequeno). Somente para algumas almas experientes em tecnologia que são extra-conscientes sobre sua privacidade e controle de dispositivos. A maioria dos usuários de telefone estão apenas nas mãos de seus OEMs e desenvolvedores de aplicativos. Eles não estão cientes do que está sendo feito para eles e seus dados. A maioria prefere a conveniência a privacidade. E está bem.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Voltar para o topo\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Rodapé\" >\n        \n          \n          <a href=\"../versions/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Anterior: Versões PMX\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Anterior\n              </span>\n              <div class=\"md-ellipsis\">\n                Versões PMX\n              </div>\n            </div>\n          </a>\n        \n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copiado para \\u00e1rea de transfer\\u00eancia\", \"clipboard.copy\": \"Copiar para \\u00e1rea de transfer\\u00eancia\", \"search.result.more.one\": \"mais 1 nesta p\\u00e1gina\", \"search.result.more.other\": \"# mais nesta p\\u00e1gina\", \"search.result.none\": \"Nenhum documento encontrado\", \"search.result.one\": \"1 documento encontrado\", \"search.result.other\": \"# documentos encontrados\", \"search.result.placeholder\": \"Digite para iniciar a busca\", \"search.result.term.missing\": \"Ausente\", \"select.version\": \"Selecione a vers\\u00e3o\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/pt-BR/index.html",
    "content": "\n<!doctype html>\n<html lang=\"pt\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Visão geral do PMX e do conjunto de recursos Grátis vs. Pagos — verificações programadas, observadores de permissões, revogação automática, operações em lote e ferramentas de permissão avançadas.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/\">\n      \n      \n      \n        <link rel=\"next\" href=\"permission-references/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/de/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/es/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/fr/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/pt-BR/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/ru/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/ar/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/zh/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>O que é PMX? - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#rate-review\" class=\"md-skip\">\n          Pular para conteúdo\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Cabeçalho\">\n    <a href=\"./\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              O que é PMX?\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Selecione o idioma\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/de/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/es/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/fr/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/pt-BR/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/ru/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/ar/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/zh/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Buscar\" placeholder=\"Buscar\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Pesquisar\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Limpar\" aria-label=\"Limpar\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Inicializando busca\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navegação\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"./\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    O que é PMX?\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    O que é PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Índice\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Índice\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#rate-review\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Avaliações / Avaliações / Comentários / Upvotes / Favoritos\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permissões de manifesto e AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Referências de permissão\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interface do usuário explicada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Pesquisa\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Verificação Agendada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observador de Permissões\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Exibição de permissão\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Operações em lote\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integração com WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Usando PMX com ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versões PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/pt-BR/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Recursos pagos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Capturas de tela\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/pt-BR/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Avaliações / Críticas / Comentários / Votos positivos / Estrelas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Entre em contato\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Aplicativos\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Aplicativos\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gerente de Permissões X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQs Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Perguntas Frequentes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guia do ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guia do ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Parear/conectar o aplicativo ao ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>O que é PMX?</h1>\n\n<p>É o aplicativo eXtended Permission Manager para o Android que torna fácil definir e rever as permissões desejadas em aplicativos instalados mantendo o controle de quaisquer alterações indesejadas. Dando controle ao seu dispositivo, ele permite proteger sua privacidade e economizar recursos como o uso da bateria.</p>\n<p>PMX fornece todas as informações e controles relacionados à permissão em uma única tela, para que você possa assistir e controlá-los de forma abrangente e conveniente.</p>\n<p>Usando PMX você pode:</p>\n<ul>\n<li>Ver / conceder / revogar todas as <strong>permissões do manifest</strong> que podem ou não podem ser definidas usando a tela de configurações do aplicativo. A lista de permissões que não podem ser definidas a partir da GUI é muito longa.</li>\n<li>Veja todas as <strong>permissões do AppOp</strong> que geralmente não possuem nenhuma configuração da GUI. Ex.: <code>VIBRATE</code> e <code>READ_CLIPBOARD</code>. Você pode definir o modo desejado AppOps , por exemplo, <em>Ignorar</em> ou <em>Primeiro plano</em>.</li>\n<li>Veja todas as permissões solicitadas por um aplicativo que <strong>não são alteráveis</strong>.</li>\n<li>Ver a última vez que muitas permissões do AppOp foram usadas.</li>\n<li>Alterar permissões <strong>Corregidas pelo sistema</strong> que não podem ser alteradas por quaisquer outros meios.</li>\n<li>Fique de olho nas mudanças de permissão em tempo real ou faça varreduras programadas.</li>\n<li>Ordenar apps e permissões por muitos parâmetros, incluindo a data de instalação e o número de permissões.</li>\n<li>Criar consultas avançadas de pesquisa em apps e suas permissões.</li>\n<li>E muito mais.</li>\n</ul>\n<p>Veja também Github <a href=\"https://mirfatif.github.io/PermissionManagerX\">README</a> e <a href=\"https://play.google.com/store/apps/details?id=com.mirfatif.permissionmanagerx\">Play Store</a> descrição. Ou apenas experimente. Nós oferecemos uma versão gratuita e um mês de teste gratuito.</p>\n<hr />\n<p><strong>Isso é incrível?</strong> Vamos entrar em detalhes.</p>\n<ul>\n<li><a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\">Permissões do manifesto e AppOps</a></li>\n<li><a href=\"permission-references/\">Referências de permissões</a></li>\n<li><a href=\"details/\">Interface do usuário explicada</a></li>\n<li><a href=\"search/\">Pesquisar</a></li>\n<li><a href=\"scheduled-check/\">Verificação Agendada</a></li>\n<li><a href=\"permission-watcher/\">Observador de permissões</a></li>\n<li><a href=\"permission-view/\">Visão de permissão</a></li>\n<li><a href=\"batch-operations/\">Operações em lote</a></li>\n<li><a href=\"whatsrunning-integration/\">Integração com o WhatsRunning</a></li>\n<li><a href=\"use-with-adb/\">Usando PMX com ADB</a></li>\n<li><a href=\"versions/\">Versões PMX</a></li>\n<li><a href=\"/PermissionManagerX/help/versions/#paid-features\">Recursos pagos</a></li>\n<li><a href=\"faqs/\">Perguntas frequentes sobre o PMX</a></li>\n<li><a href=\"https://mirfatif.github.io/PermissionManagerX\">Downloads</a></li>\n<li><a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\">Capturas de tela</a></li>\n<li><a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\">Fale Conosco</a></li>\n</ul>\n<hr />\n<h2 id=\"rate-review\">Avaliações / Avaliações / Comentários / Upvotes / Favoritos<a class=\"headerlink\" href=\"#rate-review\" title=\"Permanent link\">&para;</a></h2>\n<ul>\n<li><a href=\"https://play.google.com/store/apps/details?id=com.mirfatif.permissionmanagerx\">Play Store</a></li>\n<li><a href=\"https://forum.xda-developers.com/t/app-7-0-permission-manager-x-manage-appops-and-manifest-permissions.4187657\">XDA</a></li>\n<li><a href=\"https://github.com/mirfatif/PermissionManagerX\">GitHub</a></li>\n</ul>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Voltar para o topo\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Rodapé\" >\n        \n        \n          \n          <a href=\"permission-references/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Próximo: Referências de permissão\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Próximo\n              </span>\n              <div class=\"md-ellipsis\">\n                Referências de permissão\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copiado para \\u00e1rea de transfer\\u00eancia\", \"clipboard.copy\": \"Copiar para \\u00e1rea de transfer\\u00eancia\", \"search.result.more.one\": \"mais 1 nesta p\\u00e1gina\", \"search.result.more.other\": \"# mais nesta p\\u00e1gina\", \"search.result.none\": \"Nenhum documento encontrado\", \"search.result.one\": \"1 documento encontrado\", \"search.result.other\": \"# documentos encontrados\", \"search.result.placeholder\": \"Digite para iniciar a busca\", \"search.result.term.missing\": \"Ausente\", \"select.version\": \"Selecione a vers\\u00e3o\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/pt-BR/permission-references/index.html",
    "content": "\n<!doctype html>\n<html lang=\"pt\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Salve, compare e restaure os estados da referência da permissão em PMX para que a configuração da permissão desejada possa ser salva e reaplicada em todas as instalações.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/permission-references/\">\n      \n      \n        <link rel=\"prev\" href=\"../\">\n      \n      \n        <link rel=\"next\" href=\"../details/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../permission-references/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/permission-references/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/permission-references/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/permission-references/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/permission-references/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/permission-references/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/permission-references/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Referências de permissão - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Cabeçalho\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Referências de permissão\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Selecione o idioma\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../permission-references/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/permission-references/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/permission-references/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/permission-references/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/permission-references/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/permission-references/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/permission-references/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Buscar\" placeholder=\"Buscar\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Pesquisar\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Limpar\" aria-label=\"Limpar\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Inicializando busca\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navegação\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    O que é PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permissões de manifesto e AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Referências de permissão\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interface do usuário explicada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Pesquisa\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Verificação Agendada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observador de Permissões\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Exibição de permissão\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Operações em lote\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integração com WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Usando PMX com ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versões PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/pt-BR/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Recursos pagos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Capturas de tela\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/pt-BR/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Avaliações / Críticas / Comentários / Votos positivos / Estrelas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Entre em contato\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Aplicativos\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Aplicativos\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gerente de Permissões X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQs Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Perguntas Frequentes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guia do ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guia do ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Parear/conectar o aplicativo ao ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Referências de permissão</h1>\n\n<p>Suponha que você gastou todo um Domingo configurando permissões desejadas em mais de 200 aplicativos instalados. E:</p>\n<ul>\n<li>No próximo mês você atualizou seu dispositivo, ou instalou um novo ROM.</li>\n<li>Ou você desinstalou e reinstalou alguns aplicativos por algum motivo.</li>\n<li>Ou você concedeu algumas permissões, como solicitado pelos aplicativos.</li>\n</ul>\n<p>Você vai passar por toda a complicação mais uma vez?</p>\n<p>Você não precisa. Você pode fazer PMX lembrar seus estados de permissão desejados. Defina uma permissão, coloque-a <font color=\"#90EE90\">em VERDE</font> e pronto. Só levará alguns instantes para ver todos os pacotes instalados e descobrir quais permissões não estão configuradas corretamente. . fazendo uma busca rápida: <code>:RED|:ORANGE</code> ou <code>!:GREEN</code>. Ver <a href=\"../search/\">Search</a> para mais detalhes.</p>\n<p>Três <strong>estados de referência</strong> são:</p>\n<ul>\n<li>O estado <font color=\"#FFC107\">LARANJA</font> mostra que não tem nenhum valor de referência definido.</li>\n<li><font color=\"#90EE90\">GREEN</font> indica que o valor de referência corresponde ao valor definido atualmente.</li>\n<li><font color=\"#FF0000\">VERMELHO</font> indica que o valor de referência e o valor definido diferem.</li>\n</ul>\n<p>Os estados de referência podem ser <strong>salvos</strong> e <strong>restaurados</strong> convenientemente. Após uma restauração, há uma maneira conveniente de definir todas as permissões de acordo com referências restauradas. Veja <a href=\"../batch-operations/\">Operações em lote</a>.</p>\n<p>Existem várias maneiras de definir uma referência:</p>\n<ul>\n<li>Pressione e segure uma permissão e toque no botão \"Definir Referência\" / \"Limpar Referência\".</li>\n<li>Há uma opção de menu superior na tela da lista de permissões de todos os aplicativos para definir ou limpar todas as referências.</li>\n<li>Definir referências em massa com <a href=\"../batch-operations/\">Operações em lote</a>.</li>\n<li>Ative a preferência \"Auto-Definir referência\" em Configurações → Configurações gerais. Então, sempre que você alterar o estado de uma permissão, ele também é definido como referência.</li>\n</ul>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Voltar para o topo\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Rodapé\" >\n        \n          \n          <a href=\"../\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Anterior: O que é PMX?\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Anterior\n              </span>\n              <div class=\"md-ellipsis\">\n                O que é PMX?\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../details/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Próximo: Interface do usuário explicada\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Próximo\n              </span>\n              <div class=\"md-ellipsis\">\n                Interface do usuário explicada\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copiado para \\u00e1rea de transfer\\u00eancia\", \"clipboard.copy\": \"Copiar para \\u00e1rea de transfer\\u00eancia\", \"search.result.more.one\": \"mais 1 nesta p\\u00e1gina\", \"search.result.more.other\": \"# mais nesta p\\u00e1gina\", \"search.result.none\": \"Nenhum documento encontrado\", \"search.result.one\": \"1 documento encontrado\", \"search.result.other\": \"# documentos encontrados\", \"search.result.placeholder\": \"Digite para iniciar a busca\", \"search.result.term.missing\": \"Ausente\", \"select.version\": \"Selecione a vers\\u00e3o\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/pt-BR/permission-view/index.html",
    "content": "\n<!doctype html>\n<html lang=\"pt\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Procure permissões por nome e nível de proteção, veja quantos aplicativos usam cada permissão e procure em controles de permissão por aplicativo com PMX.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/permission-view/\">\n      \n      \n        <link rel=\"prev\" href=\"../permission-watcher/\">\n      \n      \n        <link rel=\"next\" href=\"../batch-operations/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../permission-view/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/permission-view/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/permission-view/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/permission-view/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/permission-view/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/permission-view/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/permission-view/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Exibição de permissão - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Cabeçalho\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Exibição de permissão\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Selecione o idioma\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../permission-view/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/permission-view/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/permission-view/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/permission-view/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/permission-view/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/permission-view/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/permission-view/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Buscar\" placeholder=\"Buscar\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Pesquisar\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Limpar\" aria-label=\"Limpar\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Inicializando busca\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navegação\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    O que é PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permissões de manifesto e AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Referências de permissão\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interface do usuário explicada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Pesquisa\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Verificação Agendada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observador de Permissões\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Exibição de permissão\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Operações em lote\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integração com WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Usando PMX com ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versões PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/pt-BR/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Recursos pagos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Capturas de tela\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/pt-BR/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Avaliações / Críticas / Comentários / Votos positivos / Estrelas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Entre em contato\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Aplicativos\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Aplicativos\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gerente de Permissões X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQs Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Perguntas Frequentes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guia do ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guia do ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Parear/conectar o aplicativo ao ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Exibição de permissão</h1>\n\n<p>A visualização de permissões mostra uma lista de todas as permissões, com uma quantidade de aplicativos que estão usando essas permissões.</p>\n<p><img alt=\"Visualização de permissão\" class=\"media\" src=\"../../img/perm_view.webp\" /></p>\n<ol>\n<li>Nome de permissão</li>\n<li>Nível de proteção</li>\n<li>Contagem de apps</li>\n<li>Contagem de permissões concedida fora da contagem total de permissões. O último pode ser maior do que a contagem do aplicativo porque alguns aplicativos podem usar uma permissão AppOp duas vezes (no <a href=\"../faqs/#faq18\">modo UID</a>).</li>\n</ol>\n<p>Quando você seleciona uma permissão, uma lista de apps que usam essa permissão mostra:</p>\n<p><img alt=\"Visualização de permissão\" class=\"media\" src=\"../../img/perm_view2.webp\" /></p>\n<ol>\n<li>Nome de permissão</li>\n<li>Descrição de permissão</li>\n<li>Marcação indicando que a permissão é concedida</li>\n<li>Ícone do aplicativo</li>\n<li>Rótulo do aplicativo</li>\n<li>Nome do pacote</li>\n<li>UID do App</li>\n</ol>\n<p>Quando você seleciona um aplicativo, a <a href=\"../details/#permissions-list\">lista de permissões</a> abre onde você pode alterar o estado da permissão.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Voltar para o topo\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Rodapé\" >\n        \n          \n          <a href=\"../permission-watcher/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Anterior: Observador de Permissões\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Anterior\n              </span>\n              <div class=\"md-ellipsis\">\n                Observador de Permissões\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../batch-operations/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Próximo: Operações em lote\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Próximo\n              </span>\n              <div class=\"md-ellipsis\">\n                Operações em lote\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copiado para \\u00e1rea de transfer\\u00eancia\", \"clipboard.copy\": \"Copiar para \\u00e1rea de transfer\\u00eancia\", \"search.result.more.one\": \"mais 1 nesta p\\u00e1gina\", \"search.result.more.other\": \"# mais nesta p\\u00e1gina\", \"search.result.none\": \"Nenhum documento encontrado\", \"search.result.one\": \"1 documento encontrado\", \"search.result.other\": \"# documentos encontrados\", \"search.result.placeholder\": \"Digite para iniciar a busca\", \"search.result.term.missing\": \"Ausente\", \"select.version\": \"Selecione a vers\\u00e3o\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/pt-BR/permission-watcher/index.html",
    "content": "\n<!doctype html>\n<html lang=\"pt\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Monitorar automaticamente alterações de permissões de aplicativos com PMX: obter notificações, reverter alterações indesejadas ou revogar automaticamente quando os aplicativos saem em primeiro plano.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/permission-watcher/\">\n      \n      \n        <link rel=\"prev\" href=\"../scheduled-check/\">\n      \n      \n        <link rel=\"next\" href=\"../permission-view/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../permission-watcher/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/permission-watcher/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/permission-watcher/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/permission-watcher/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/permission-watcher/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/permission-watcher/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/permission-watcher/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Observador de Permissões - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Cabeçalho\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Observador de Permissões\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Selecione o idioma\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../permission-watcher/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/permission-watcher/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/permission-watcher/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/permission-watcher/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/permission-watcher/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/permission-watcher/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/permission-watcher/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Buscar\" placeholder=\"Buscar\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Pesquisar\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Limpar\" aria-label=\"Limpar\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Inicializando busca\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navegação\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    O que é PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permissões de manifesto e AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Referências de permissão\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interface do usuário explicada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Pesquisa\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Verificação Agendada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observador de Permissões\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Exibição de permissão\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Operações em lote\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integração com WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Usando PMX com ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versões PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/pt-BR/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Recursos pagos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Capturas de tela\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/pt-BR/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Avaliações / Críticas / Comentários / Votos positivos / Estrelas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Entre em contato\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Aplicativos\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Aplicativos\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gerente de Permissões X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQs Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Perguntas Frequentes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guia do ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guia do ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Parear/conectar o aplicativo ao ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Observador de Permissões</h1>\n\n<p>Alguns apps não funcionam sem uma certa permissão concedida. Mas você quer conceder permissão para o tempo apenas quando você estiver usando o aplicativo, e revogar as permissões assim que você sair do aplicativo.</p>\n<p>O Observador de Permissões faz exatamente isso. Assim que você sair do aplicativo, ou depois que o tempo definido tiver passado, ele revoga as permissões de um aplicativo (manifest e AppOp) por conta própria, ou pede para você fazer isso, dependendo das preferências que você fez.</p>\n<p><img alt=\"Observador de permissões\" class=\"media\" src=\"../../img/perm_watcher.gif\" /></p>\n<p>O Supervisor de Permissão também notifica você para definir permissões em aplicativos recém-instalados (apenas no usuário primário/perfil de proprietário).</p>\n<p><img alt=\"Configurações do observador de permissões\" class=\"media\" src=\"../../img/watcher_settings.webp\" /></p>\n<p>Observação:</p>\n<ul>\n<li>Apenas as permissões do estado de referência <font color=\"#FF0000\">RED</font> são revogadas, não aquelas com o estado <font color=\"#FFC107\">ORANGE</font>. Então você <strong>PRECISA</strong> definiu os estados de referência. Ver <a href=\"../permission-references/\">Referências de permissões</a>.</li>\n<li>As permissões Manifest apenas com <em>Perigoso</em> <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">nível de proteção</a> são assistidas. Esses são os que geralmente mudam. Permissões com nível de proteção <em>Assinatura</em> ou <em>Desenvolvimento</em> ou aquelas com a flag <em>Sistema-Fixed</em> não são assistidas, embora sejam alteráveis.</li>\n<li>PMX monitora só os aplicativos que o <em>Usuário</em> instalou ou os aplicativos <em>Sistema</em> normais, não os aplicativos <em>Framework</em>. Mudar os itens pode brickar o dispositivo.</li>\n<li>Em alguns dispositivos, Permissões Watcher pode não funcionar de forma confiável para apps no usuário/perfil secundário. Recomenda-se usá-lo em combinação com a verificação programada.</li>\n</ul>\n<hr />\n<p><strong id=\"perm-watcher-fails\">Por que iniciar o Observador de Permissões falha?</strong></p>\n<p>Você está usando ADB? Alguns OEMs removem a permissão <code>OBSERVE_GRANT_REVOKE_PERMISSIONS</code> ou <code>SET_ACTIVITY_WATCHER</code> do pacote <em>Shell</em>. Se é esse o caso de V. Exa., lamentamos. Isto é algo que não podemos corrigir. Nesses aparelhos, o Permission Watcher só funciona com acesso root. Veja as <a href=\"../use-with-adb/#limitations-of-adb\">Limitações de ADB</a>.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Voltar para o topo\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Rodapé\" >\n        \n          \n          <a href=\"../scheduled-check/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Anterior: Verificação Agendada\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Anterior\n              </span>\n              <div class=\"md-ellipsis\">\n                Verificação Agendada\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../permission-view/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Próximo: Exibição de permissão\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Próximo\n              </span>\n              <div class=\"md-ellipsis\">\n                Exibição de permissão\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copiado para \\u00e1rea de transfer\\u00eancia\", \"clipboard.copy\": \"Copiar para \\u00e1rea de transfer\\u00eancia\", \"search.result.more.one\": \"mais 1 nesta p\\u00e1gina\", \"search.result.more.other\": \"# mais nesta p\\u00e1gina\", \"search.result.none\": \"Nenhum documento encontrado\", \"search.result.one\": \"1 documento encontrado\", \"search.result.other\": \"# documentos encontrados\", \"search.result.placeholder\": \"Digite para iniciar a busca\", \"search.result.term.missing\": \"Ausente\", \"select.version\": \"Selecione a vers\\u00e3o\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/pt-BR/scheduled-check/index.html",
    "content": "\n<!doctype html>\n<html lang=\"pt\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Automatize as auditorias de permissão periódicas com PMX. Verificações agendadas detectam alterações indesejadas, avisem-te e, opcionalmente, revogar automaticamente as subvenções de risco.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/scheduled-check/\">\n      \n      \n        <link rel=\"prev\" href=\"../search/\">\n      \n      \n        <link rel=\"next\" href=\"../permission-watcher/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../scheduled-check/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/scheduled-check/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/scheduled-check/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/scheduled-check/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/scheduled-check/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/scheduled-check/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/scheduled-check/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Verificação Agendada - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Cabeçalho\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Verificação Agendada\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Selecione o idioma\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../scheduled-check/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/scheduled-check/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/scheduled-check/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/scheduled-check/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/scheduled-check/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/scheduled-check/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/scheduled-check/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Buscar\" placeholder=\"Buscar\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Pesquisar\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Limpar\" aria-label=\"Limpar\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Inicializando busca\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navegação\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    O que é PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permissões de manifesto e AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Referências de permissão\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interface do usuário explicada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Pesquisa\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Verificação Agendada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observador de Permissões\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Exibição de permissão\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Operações em lote\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integração com WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Usando PMX com ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versões PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/pt-BR/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Recursos pagos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Capturas de tela\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/pt-BR/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Avaliações / Críticas / Comentários / Votos positivos / Estrelas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Entre em contato\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Aplicativos\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Aplicativos\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gerente de Permissões X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQs Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Perguntas Frequentes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guia do ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guia do ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Parear/conectar o aplicativo ao ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Verificação Agendada</h1>\n\n<p>Você quer acompanhar quaisquer alterações indesejadas nas permissões para todos os aplicativos instalados? A Verificação agendada pode fazer isso para você em intervalos regulares (em minutos, hora ou dias).</p>\n<p>Defina <a href=\"../permission-references/\">Referências de permissões</a> como <font color=\"#90EE90\">VERDER</font> e deixe o resto para PMX. Se alguma permissão for alterada (com status <font color=\"#FF0000\">VERMELHO</font> ) ou quando um novo aplicativo for instalado (com permissões com status <font color=\"#FFC107\">LARANJA</font> ), o PMX vai te lembrar que algo precisa da sua atenção.</p>\n<p>Além disso, se configurado em preferências, a verificação agendada pode revogar automaticamente as permissões concedidas seguido de uma notificação informatativa.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Voltar para o topo\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Rodapé\" >\n        \n          \n          <a href=\"../search/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Anterior: Pesquisa\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Anterior\n              </span>\n              <div class=\"md-ellipsis\">\n                Pesquisa\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../permission-watcher/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Próximo: Observador de Permissões\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Próximo\n              </span>\n              <div class=\"md-ellipsis\">\n                Observador de Permissões\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copiado para \\u00e1rea de transfer\\u00eancia\", \"clipboard.copy\": \"Copiar para \\u00e1rea de transfer\\u00eancia\", \"search.result.more.one\": \"mais 1 nesta p\\u00e1gina\", \"search.result.more.other\": \"# mais nesta p\\u00e1gina\", \"search.result.none\": \"Nenhum documento encontrado\", \"search.result.one\": \"1 documento encontrado\", \"search.result.other\": \"# documentos encontrados\", \"search.result.placeholder\": \"Digite para iniciar a busca\", \"search.result.term.missing\": \"Ausente\", \"select.version\": \"Selecione a vers\\u00e3o\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/pt-BR/search/index.html",
    "content": "\n<!doctype html>\n<html lang=\"pt\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Busca PMX poderosa: encontre aplicativos por rótulo, pacote ou UID; use uma pesquisa profunda em nomes de permissões e operadores booleanos para auditorias de permissões rápidas.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/search/\">\n      \n      \n        <link rel=\"prev\" href=\"../details/\">\n      \n      \n        <link rel=\"next\" href=\"../scheduled-check/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../search/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/search/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/search/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/search/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/search/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/search/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/search/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Pesquisa - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Cabeçalho\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Pesquisa\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Selecione o idioma\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../search/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/search/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/search/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/search/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/search/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/search/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/search/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Buscar\" placeholder=\"Buscar\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Pesquisar\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Limpar\" aria-label=\"Limpar\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Inicializando busca\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navegação\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    O que é PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permissões de manifesto e AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Referências de permissão\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interface do usuário explicada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Pesquisa\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Verificação Agendada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observador de Permissões\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Exibição de permissão\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Operações em lote\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integração com WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Usando PMX com ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versões PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/pt-BR/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Recursos pagos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Capturas de tela\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/pt-BR/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Avaliações / Críticas / Comentários / Votos positivos / Estrelas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Entre em contato\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Aplicativos\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Aplicativos\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gerente de Permissões X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQs Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Perguntas Frequentes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guia do ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guia do ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Parear/conectar o aplicativo ao ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Pesquisa</h1>\n\n<p><img alt=\"Pesquisar\" class=\"media\" src=\"../../img/search.webp\" /></p>\n<p>Normalmente a etiqueta de pacote, nome e UID são pesquisados na lista visível.</p>\n<p>Com a <strong>Pesquisa profunda</strong>, o nome da permissão e outros parâmetros são consultados.</p>\n<p>Observe que os <strong>Filtros de Exclusão</strong> são eficazes ao fazer busca.</p>\n<p>Você pode utilizar as seguintes palavras-chave especiais na busca:</p>\n<ul>\n<li>\n<p>Estado do app:</p>\n<p><code>:Critical</code> <code>:Framework</code> <code>:System</code> <code>:User</code> <code>:Disabled</code></p>\n</li>\n<li>\n<p>Estado de referência:</p>\n<p><code>:ORANGE</code> <code>:GREEN</code> <code>:RED</code></p>\n</li>\n<li>\n<p>Permissões <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">nível de proteção</a>:</p>\n<p><code>:Normal</code> <code>:Dangerous</code> <code>:Signature</code> <code>:Internal</code> <code>:Development</code> <code>:Privileged</code> <code>:Fixed</code> <code>:AppOps</code> <code>:Unknown</code></p>\n</li>\n<li>\n<p>Por UID AppOps:</p>\n<p><code>:UID</code></p>\n</li>\n<li>\n<p>AppOps com o último acesso ou recusa de tempo:</p>\n<p><code>:TIME</code></p>\n</li>\n<li>\n<p>AppOps extra (nunca excluído nas configurações de filtro):</p>\n<p><code>:EXTRA</code></p>\n</li>\n<li>\n<p><code>&amp;</code> (AND), <code>|</code> (OR) e <code>!</code> (NOT) operadores:</p>\n<p><code>Foo|Bar&amp;Baz</code></p>\n<p><code>Foo&amp;!Bar&amp;!Baz</code></p>\n</li>\n</ul>\n<p>A versão paga também mostra sugestões de busca (se for definida em preferências) para facilitar o processo de pesquisa.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Voltar para o topo\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Rodapé\" >\n        \n          \n          <a href=\"../details/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Anterior: Interface do usuário explicada\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Anterior\n              </span>\n              <div class=\"md-ellipsis\">\n                Interface do usuário explicada\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../scheduled-check/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Próximo: Verificação Agendada\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Próximo\n              </span>\n              <div class=\"md-ellipsis\">\n                Verificação Agendada\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copiado para \\u00e1rea de transfer\\u00eancia\", \"clipboard.copy\": \"Copiar para \\u00e1rea de transfer\\u00eancia\", \"search.result.more.one\": \"mais 1 nesta p\\u00e1gina\", \"search.result.more.other\": \"# mais nesta p\\u00e1gina\", \"search.result.none\": \"Nenhum documento encontrado\", \"search.result.one\": \"1 documento encontrado\", \"search.result.other\": \"# documentos encontrados\", \"search.result.placeholder\": \"Digite para iniciar a busca\", \"search.result.term.missing\": \"Ausente\", \"select.version\": \"Selecione a vers\\u00e3o\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/pt-BR/use-with-adb/index.html",
    "content": "\n<!doctype html>\n<html lang=\"pt\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Configure e use o Gerenciador de Permissões X com ADB em dispositivos Android sem raiz — comandos em pareamento, úteis do ADB , limitações e dicas práticas.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/use-with-adb/\">\n      \n      \n        <link rel=\"prev\" href=\"../whatsrunning-integration/\">\n      \n      \n        <link rel=\"next\" href=\"../versions/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../use-with-adb/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/use-with-adb/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/use-with-adb/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/use-with-adb/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/use-with-adb/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/use-with-adb/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/use-with-adb/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Usando PMX com ADB - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#limitations-of-adb\" class=\"md-skip\">\n          Pular para conteúdo\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Cabeçalho\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Usando PMX com ADB\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Selecione o idioma\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../use-with-adb/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/use-with-adb/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/use-with-adb/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/use-with-adb/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/use-with-adb/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/use-with-adb/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/use-with-adb/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Buscar\" placeholder=\"Buscar\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Pesquisar\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Limpar\" aria-label=\"Limpar\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Inicializando busca\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navegação\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    O que é PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permissões de manifesto e AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Referências de permissão\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interface do usuário explicada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Pesquisa\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Verificação Agendada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observador de Permissões\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Exibição de permissão\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Operações em lote\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integração com WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Usando PMX com ADB\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Usando PMX com ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Índice\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Índice\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#limitations-of-adb\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Limitações de ADB\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#adb-guide\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Guia ADB\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versões PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/pt-BR/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Recursos pagos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Capturas de tela\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/pt-BR/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Avaliações / Críticas / Comentários / Votos positivos / Estrelas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Entre em contato\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Aplicativos\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Aplicativos\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gerente de Permissões X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQs Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Perguntas Frequentes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guia do ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guia do ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Parear/conectar o aplicativo ao ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Usando PMX com ADB</h1>\n\n<h2 id=\"limitations-of-adb\">Limitações de ADB<a class=\"headerlink\" href=\"#limitations-of-adb\" title=\"Permanent link\">&para;</a></h2>\n<p>ADB não é tão poderoso quanto a raiz. Você pode verificar o status atual do que ADB pode fazer em <strong>Sobre</strong> → <strong>Privilégios</strong> (item de menu):</p>\n<p><img alt=\"PMX privilégios\" class=\"media\" src=\"../../img/privs.webp\" /></p>\n<p>Para mais detalhes consulte <a href=\"https://mirfatif.github.io/adb-guide/adb-limits/\">Limitações de ADB</a>. Veja também <a href=\"../faqs/#faq43\">Por que o PMX não funciona direito em sistemas operacionais OEM ou ROMspersonalizados?</a></p>\n<hr />\n<h2 id=\"adb-guide\">Guia ADB<a class=\"headerlink\" href=\"#adb-guide\" title=\"Permanent link\">&para;</a></h2>\n<p>Por favor, veja <a href=\"https://mirfatif.github.io/adb-guide/\">ADB Emparelhando / Guia de Conexão</a>.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Voltar para o topo\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Rodapé\" >\n        \n          \n          <a href=\"../whatsrunning-integration/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Anterior: Integração com WhatsRunning\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Anterior\n              </span>\n              <div class=\"md-ellipsis\">\n                Integração com WhatsRunning\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../versions/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Próximo: Versões PMX\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Próximo\n              </span>\n              <div class=\"md-ellipsis\">\n                Versões PMX\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copiado para \\u00e1rea de transfer\\u00eancia\", \"clipboard.copy\": \"Copiar para \\u00e1rea de transfer\\u00eancia\", \"search.result.more.one\": \"mais 1 nesta p\\u00e1gina\", \"search.result.more.other\": \"# mais nesta p\\u00e1gina\", \"search.result.none\": \"Nenhum documento encontrado\", \"search.result.one\": \"1 documento encontrado\", \"search.result.other\": \"# documentos encontrados\", \"search.result.placeholder\": \"Digite para iniciar a busca\", \"search.result.term.missing\": \"Ausente\", \"select.version\": \"Selecione a vers\\u00e3o\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/pt-BR/versions/index.html",
    "content": "\n<!doctype html>\n<html lang=\"pt\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Compare PMX Grátis vs Pago: os recursos pagos incluem verificações agendadas, observador de permissões, revogação automática, suporte a múltiplos usuários e operações em lote.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/versions/\">\n      \n      \n        <link rel=\"prev\" href=\"../use-with-adb/\">\n      \n      \n        <link rel=\"next\" href=\"../faqs/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../versions/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/versions/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/versions/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/versions/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/versions/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/versions/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/versions/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Versões PMX - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#paid-features\" class=\"md-skip\">\n          Pular para conteúdo\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Cabeçalho\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Versões PMX\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Selecione o idioma\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../versions/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/versions/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/versions/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/versions/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/versions/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/versions/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/versions/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Buscar\" placeholder=\"Buscar\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Pesquisar\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Limpar\" aria-label=\"Limpar\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Inicializando busca\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navegação\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    O que é PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permissões de manifesto e AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Referências de permissão\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interface do usuário explicada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Pesquisa\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Verificação Agendada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observador de Permissões\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Exibição de permissão\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Operações em lote\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integração com WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Usando PMX com ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versões PMX\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versões PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Índice\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Índice\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#paid-features\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Recursos pagos\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/pt-BR/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Recursos pagos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Capturas de tela\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/pt-BR/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Avaliações / Críticas / Comentários / Votos positivos / Estrelas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Entre em contato\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Aplicativos\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Aplicativos\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gerente de Permissões X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQs Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Perguntas Frequentes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guia do ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guia do ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Parear/conectar o aplicativo ao ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Versões PMX</h1>\n\n<p>PMX está disponível em duas variantes: <strong>Pago</strong> e <strong>Livre</strong>. A versão paga está disponível em duas variantes: <strong>Play Store</strong> e <strong>Pro</strong>. Os últimos APKs são lançados na Play Store, no GitHub e no Canal do Telegram.</p>\n<h2 id=\"paid-features\">Recursos pagos<a class=\"headerlink\" href=\"#paid-features\" title=\"Permanent link\">&para;</a></h2>\n<p>A versão paga inclui tudo o que está na versão Grátis, além dos seguintes recursos extras que também estão listados na descrição da Play Store:</p>\n<ul>\n<li>A verificação programada para notificar estados de referência incorretos</li>\n<li>Monitore as alterações de permissão e desfaça elas</li>\n<li>Revogar automaticamente as permissões concedidas aos estados RED</li>\n<li>Fazer alterações em aplicativos críticos e permissões</li>\n<li>Suporte a vários usuários / perfil de trabalho</li>\n<li>Operações em Lote (Perfis)</li>\n<li>Visualização de Permissões</li>\n</ul>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Voltar para o topo\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Rodapé\" >\n        \n          \n          <a href=\"../use-with-adb/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Anterior: Usando PMX com ADB\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Anterior\n              </span>\n              <div class=\"md-ellipsis\">\n                Usando PMX com ADB\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../faqs/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Próximo: FAQs PMX\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Próximo\n              </span>\n              <div class=\"md-ellipsis\">\n                FAQs PMX\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copiado para \\u00e1rea de transfer\\u00eancia\", \"clipboard.copy\": \"Copiar para \\u00e1rea de transfer\\u00eancia\", \"search.result.more.one\": \"mais 1 nesta p\\u00e1gina\", \"search.result.more.other\": \"# mais nesta p\\u00e1gina\", \"search.result.none\": \"Nenhum documento encontrado\", \"search.result.one\": \"1 documento encontrado\", \"search.result.other\": \"# documentos encontrados\", \"search.result.placeholder\": \"Digite para iniciar a busca\", \"search.result.term.missing\": \"Ausente\", \"select.version\": \"Selecione a vers\\u00e3o\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/pt-BR/whatsrunning-integration/index.html",
    "content": "\n<!doctype html>\n<html lang=\"pt\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"PMX se integra com WhatsRunning — pule entre as ferramentas para ver se apps com permissões restritas estão executando e inspecionar seu uso de recursos.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/whatsrunning-integration/\">\n      \n      \n        <link rel=\"prev\" href=\"../batch-operations/\">\n      \n      \n        <link rel=\"next\" href=\"../use-with-adb/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../whatsrunning-integration/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/whatsrunning-integration/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/whatsrunning-integration/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/whatsrunning-integration/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/whatsrunning-integration/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/whatsrunning-integration/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/whatsrunning-integration/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Integração com WhatsRunning - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Cabeçalho\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Integração com WhatsRunning\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Selecione o idioma\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../whatsrunning-integration/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/whatsrunning-integration/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/whatsrunning-integration/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/whatsrunning-integration/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/whatsrunning-integration/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/whatsrunning-integration/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/whatsrunning-integration/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Buscar\" placeholder=\"Buscar\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Pesquisar\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Limpar\" aria-label=\"Limpar\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Inicializando busca\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navegação\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    O que é PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permissões de manifesto e AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Referências de permissão\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Interface do usuário explicada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Pesquisa\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Verificação Agendada\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Observador de Permissões\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Exibição de permissão\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Operações em lote\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integração com WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Usando PMX com ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Versões PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/pt-BR/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Recursos pagos\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Capturas de tela\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/pt-BR/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Avaliações / Críticas / Comentários / Votos positivos / Estrelas\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Entre em contato\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Aplicativos\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Aplicativos\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Gerente de Permissões X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQs Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    FAQs Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Perguntas Frequentes\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Guia do ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Guia do ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Parear/conectar o aplicativo ao ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Integração com WhatsRunning</h1>\n\n<p>PMX está integrado com <a href=\"https://github.com/mirfatif/WhatsRunning\">WhatsRunning</a> então você pode abrir um do outro.</p>\n<p><img alt=\"Integração com WhatsRunning\" class=\"media\" src=\"../../img/wrun_integration1.jpg\" /> <img alt=\"WhatsRunning integration\" class=\"media\" src=\"../../img/wrun_integration2.webp\" /></p>\n<p>Portanto, de PMX você pode alternar para o WhatsRunning para descobrir se um app com permissões restritas ainda está em execução. Se sim, em que estado está e quantos recursos está usando.</p>\n<p>Da mesma forma, a partir do WhatsRunning, você pode mudar para o PMX para descobrir quais permissões uma aplicação em execução (ou encerrada) tem.</p>\n<p>Isso é particularmente útil ao analisar o efeito de permissões como o <code>RUN_IN_BACKGROUND</code>.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Voltar para o topo\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Rodapé\" >\n        \n          \n          <a href=\"../batch-operations/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Anterior: Operações em lote\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Anterior\n              </span>\n              <div class=\"md-ellipsis\">\n                Operações em lote\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../use-with-adb/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Próximo: Usando PMX com ADB\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Próximo\n              </span>\n              <div class=\"md-ellipsis\">\n                Usando PMX com ADB\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copiado para \\u00e1rea de transfer\\u00eancia\", \"clipboard.copy\": \"Copiar para \\u00e1rea de transfer\\u00eancia\", \"search.result.more.one\": \"mais 1 nesta p\\u00e1gina\", \"search.result.more.other\": \"# mais nesta p\\u00e1gina\", \"search.result.none\": \"Nenhum documento encontrado\", \"search.result.one\": \"1 documento encontrado\", \"search.result.other\": \"# documentos encontrados\", \"search.result.placeholder\": \"Digite para iniciar a busca\", \"search.result.term.missing\": \"Ausente\", \"select.version\": \"Selecione a vers\\u00e3o\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/ru/batch-operations/index.html",
    "content": "\n<!doctype html>\n<html lang=\"ru\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Создавать, редактировать и применять профили разрешений для нескольких Android приложений с помощью PMX — пакетные шаблоны, профили по умолчанию и управление массовыми разрешениями.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/batch-operations/\">\n      \n      \n        <link rel=\"prev\" href=\"../permission-view/\">\n      \n      \n        <link rel=\"next\" href=\"../whatsrunning-integration/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../batch-operations/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/batch-operations/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/batch-operations/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/batch-operations/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/batch-operations/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/batch-operations/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/batch-operations/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Пакетные операции - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#permission-profiles\" class=\"md-skip\">\n          Перейти к содержанию\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Верхний колонтитул\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Пакетные операции\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Выберите язык\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../batch-operations/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/batch-operations/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/batch-operations/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/batch-operations/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/batch-operations/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/batch-operations/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/batch-operations/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Поиск\" placeholder=\"Поиск\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Поиск\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Очистить\" aria-label=\"Очистить\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Инициализация поиска\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Навигация\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Что такое PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Разрешения манифеста и AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ссылки на разрешения\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Объяснение пользовательского интерфейса\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Поиск\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Проверка по расписанию\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Наблюдатель разрешений\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Просмотр разрешений\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Пакетные операции\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Пакетные операции\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Содержание\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Содержание\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#permission-profiles\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Профили разрешений\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#operations-with-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Операции со ссылками\n      \n    </span>\n  </a>\n  \n    <nav class=\"md-nav\" aria-label=\"Операции со ссылками\">\n      <ul class=\"md-nav__list\">\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#set-permissions\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Установка разрешений\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#set-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Установить ссылки\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#cleanup-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Ссылки по очистке\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#reset-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Сбросить ссылки\n      \n    </span>\n  </a>\n  \n</li>\n        \n      </ul>\n    </nav>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Интеграция с WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Использование PMX с помощью ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Версии PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ru/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Платные функции\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX FAQ\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Загрузки\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Скриншот\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ru/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Рейтинги / Обзоры / Комментарии / Голоса / Звезды\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Связаться с нами\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Приложения\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Приложения\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Управление Разрешениями X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Часто задаваемые вопросы про Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Часто задаваемые вопросы про Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Часто задаваемые вопросы\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Руководство ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Руководство ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Соединить/подключить приложение к ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Пакетные операции</h1>\n\n<h2 id=\"permission-profiles\">Профили разрешений<a class=\"headerlink\" href=\"#permission-profiles\" title=\"Permanent link\">&para;</a></h2>\n<ul>\n<li>Создание и редактирование профилей разрешений (шаблоны).</li>\n<li>Применение профиля к списку выбранных приложений.</li>\n<li>Выберите <strong>Профиль по умолчанию</strong> для применения в вновь установленных приложениях (если <a href=\"../permission-watcher/\">Permission Watcher</a> включено).</li>\n</ul>\n<p><img alt=\"Профили прав\" class=\"media\" src=\"../../img/perm_profiles.webp\" /></p>\n<p><a href=\"../faqs/#faq39\">Here</a> — это пример видео руководства по созданию и применению профиля.</p>\n<hr />\n<h2 id=\"operations-with-references\">Операции со ссылками<a class=\"headerlink\" href=\"#operations-with-references\" title=\"Permanent link\">&para;</a></h2>\n<h3 id=\"set-permissions\">Установка разрешений<a class=\"headerlink\" href=\"#set-permissions\" title=\"Permanent link\">&para;</a></h3>\n<p>Просмотри список выбранных приложений и сделай разрешения <font color=\"#FF0000\">RED</font> <font color=\"#90EE90\">GREEN</font>, установив их состояния в соответствии с <a href=\"../permission-references/\">эталонными значениями</a>. Разрешения с Зелеными и Оранжевыми состояниями игнорируются.</p>\n<p>Эта опция обычно полезна, когда вы только что восстановили резервную копию и есть много прав на состояние <font color=\"#FF0000\">RED</font>.</p>\n<h3 id=\"set-references\">Установить ссылки<a class=\"headerlink\" href=\"#set-references\" title=\"Permanent link\">&para;</a></h3>\n<p>Просмотри список выбранных приложений и сделай разрешения <font color=\"#FF0000\">RED</font> и <font color=\"#FFC107\">ORANGE</font> <font color=\"#90EE90\">GREEN</font>, установив их <a href=\"../permission-references/\">базовые значения</a> в соответствии с состоянием разрешений.</p>\n<p>Эта опция обычно полезна во время начальной установки. Вы только что установили приложение PMX и провели несколько часов разрешения на настройки. Эта опция сделает все <font color=\"#90EE90\">GREEN</font> одним касанием.</p>\n<h3 id=\"cleanup-references\">Ссылки по очистке<a class=\"headerlink\" href=\"#cleanup-references\" title=\"Permanent link\">&para;</a></h3>\n<p>Очистить базу данных ссылок на разрешения. Неиспользуемые ссылки будут удалены.</p>\n<p>Если есть куча неиспользуемых ссылок, то их уборка может ускорить загрузку списка приложений.</p>\n<h3 id=\"reset-references\">Сбросить ссылки<a class=\"headerlink\" href=\"#reset-references\" title=\"Permanent link\">&para;</a></h3>\n<p>Сбросить ссылки на базу данных разрешений. Все ссылки будут удалены.</p>\n<p>Не предназначено для обычного использования. Только для случаев, если вы хотите начать с нуля.</p>\n<p><img alt=\"Установить ссылки — пакетная операция\" class=\"media\" src=\"../../img/set_refs.webp\" /></p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  К началу\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Нижний колонтитул\" >\n        \n          \n          <a href=\"../permission-view/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Назад: Просмотр разрешений\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Назад\n              </span>\n              <div class=\"md-ellipsis\">\n                Просмотр разрешений\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../whatsrunning-integration/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Вперед: Интеграция с WhatsRunning\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Вперед\n              </span>\n              <div class=\"md-ellipsis\">\n                Интеграция с WhatsRunning\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u0421\\u043a\\u043e\\u043f\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u043e \\u0432 \\u0431\\u0443\\u0444\\u0435\\u0440\", \"clipboard.copy\": \"\\u041a\\u043e\\u043f\\u0438\\u0440\\u043e\\u0432\\u0430\\u0442\\u044c \\u0432 \\u0431\\u0443\\u0444\\u0435\\u0440\", \"search.result.more.one\": \"\\u0415\\u0449\\u0451 1 \\u043d\\u0430 \\u044d\\u0442\\u043e\\u0439 \\u0441\\u0442\\u0440\\u0430\\u043d\\u0438\\u0446\\u0435\", \"search.result.more.other\": \"\\u0415\\u0449\\u0451 # \\u043d\\u0430 \\u044d\\u0442\\u043e\\u0439 \\u0441\\u0442\\u0440\\u0430\\u043d\\u0438\\u0446\\u0435\", \"search.result.none\": \"\\u0421\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0439 \\u043d\\u0435 \\u043d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e\", \"search.result.one\": \"\\u041d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e 1 \\u0441\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0435\", \"search.result.other\": \"\\u041d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e \\u0441\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0439: #\", \"search.result.placeholder\": \"\\u041d\\u0430\\u0447\\u043d\\u0438\\u0442\\u0435 \\u043f\\u0435\\u0447\\u0430\\u0442\\u0430\\u0442\\u044c \\u0434\\u043b\\u044f \\u043f\\u043e\\u0438\\u0441\\u043a\\u0430\", \"search.result.term.missing\": \"\\u041e\\u0442\\u0441\\u0443\\u0442\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442\", \"select.version\": \"\\u0412\\u044b\\u0431\\u0435\\u0440\\u0438\\u0442\\u0435 \\u0432\\u0435\\u0440\\u0441\\u0438\\u044e\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/ru/details/index.html",
    "content": "\n<!doctype html>\n<html lang=\"ru\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Просмотр и управление разрешениями для приложения в PMX: детали приложения, списки разрешений, гранты/отозвать управление и информация о UID-режиме для Android приложений.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/details/\">\n      \n      \n        <link rel=\"prev\" href=\"../permission-references/\">\n      \n      \n        <link rel=\"next\" href=\"../search/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../details/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/details/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/details/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/details/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/details/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/details/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/details/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Объяснение пользовательского интерфейса - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#apps-list\" class=\"md-skip\">\n          Перейти к содержанию\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Верхний колонтитул\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Объяснение пользовательского интерфейса\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Выберите язык\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../details/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/details/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/details/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/details/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/details/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/details/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/details/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Поиск\" placeholder=\"Поиск\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Поиск\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Очистить\" aria-label=\"Очистить\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Инициализация поиска\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Навигация\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Что такое PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Разрешения манифеста и AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ссылки на разрешения\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Объяснение пользовательского интерфейса\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Объяснение пользовательского интерфейса\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Содержание\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Содержание\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#apps-list\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Список приложений\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#permissions-list\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Список разрешений\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Поиск\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Проверка по расписанию\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Наблюдатель разрешений\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Просмотр разрешений\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Пакетные операции\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Интеграция с WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Использование PMX с помощью ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Версии PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ru/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Платные функции\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX FAQ\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Загрузки\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Скриншот\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ru/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Рейтинги / Обзоры / Комментарии / Голоса / Звезды\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Связаться с нами\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Приложения\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Приложения\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Управление Разрешениями X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Часто задаваемые вопросы про Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Часто задаваемые вопросы про Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Часто задаваемые вопросы\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Руководство ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Руководство ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Соединить/подключить приложение к ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Объяснение пользовательского интерфейса</h1>\n\n<h2 id=\"apps-list\">Список приложений<a class=\"headerlink\" href=\"#apps-list\" title=\"Permanent link\">&para;</a></h2>\n<p><img alt=\"Детали элемента списка приложений\" class=\"media\" src=\"../../img/pkg.webp\" /></p>\n<ol>\n<li>\n<p>Цветная полоса слева показывает <strong>эталон</strong></p>\n</li>\n<li>\n<p>Приложение <strong>Иконка</strong></p>\n</li>\n<li>\n<p>Первая строка показывает этикетку пакета</p>\n</li>\n<li>\n<p>Вторая строка показывает пакет <strong>имя</strong> и</p>\n</li>\n<li>\n<p><strong>UID</strong></p>\n</li>\n<li>\n<p>Третья строка (необязательно) показывает состояние пакета: <strong>Критично</strong> (Фреймворк), <strong>Фреймворк</strong> или <strong>Системное</strong>. Также если приложение <strong>Отключено</strong>. Нет состояния для приложений <strong>Включен</strong>, <strong>Пользователь</strong>.</p>\n</li>\n<li>\n<p>Последняя строка показывает <strong>количество</strong> видимых за пределами разрешений manifest и</p>\n</li>\n<li>\n<p>AppOps разрешения.</p>\n<p>Невидимые разрешения исключены из <em>Фильтров Исключения</em>.</p>\n</li>\n<li>\n<p>При сортировке по времени установки или обновления последняя строка также показывает справа дату или время.</p>\n</li>\n</ol>\n<h2 id=\"permissions-list\">Список разрешений<a class=\"headerlink\" href=\"#permissions-list\" title=\"Permanent link\">&para;</a></h2>\n<p><img alt=\"Детали списка разрешений\" class=\"media\" src=\"../../img/perm.webp\" /></p>\n<p><img alt=\"Детали списка разрешений\" class=\"media\" src=\"../../img/perm2.webp\" /></p>\n<ol>\n<li>Цветная полоса слева показывает <strong>эталон</strong></li>\n<li>Разрешения Manifest показывают флаг в правом верхнем углу</li>\n<li>Разрешение <strong>Иконка</strong></li>\n<li>Первая строка показывает <strong>имя разрешения</strong></li>\n<li>Вторая строка показывает <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">уровень защиты</a>: <strong>Нормальный</strong>, <strong>Опасный</strong>, <strong>Подпись</strong>, <strong>Развитие</strong>, <strong>Привилегирован</strong>, <strong>Исправлено</strong>, <strong>AppOps</strong> или <strong>Неизвестно</strong>. Также, если AppOp является <strong>на пакет</strong> или <strong>на UID</strong>. И если это <strong>Экстра</strong> AppOp (не исключается в настройках фильтра).</li>\n<li>Третья строка (в случае AppOp) показывает <strong>последний доступ или время отклонения</strong></li>\n<li>Четвертая строка (в случае AppOp) показывает указанное значение, если оно не соответствует текущему значению.</li>\n<li>Переключатель для изменения состояния разрешения</li>\n<li>Текущее состояние (в случае AppOp)</li>\n<li><strong>По умолчанию</strong> указывает, что состояние AppOp никогда не было изменено</li>\n</ol>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  К началу\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Нижний колонтитул\" >\n        \n          \n          <a href=\"../permission-references/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Назад: Ссылки на разрешения\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Назад\n              </span>\n              <div class=\"md-ellipsis\">\n                Ссылки на разрешения\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../search/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Вперед: Поиск\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Вперед\n              </span>\n              <div class=\"md-ellipsis\">\n                Поиск\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u0421\\u043a\\u043e\\u043f\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u043e \\u0432 \\u0431\\u0443\\u0444\\u0435\\u0440\", \"clipboard.copy\": \"\\u041a\\u043e\\u043f\\u0438\\u0440\\u043e\\u0432\\u0430\\u0442\\u044c \\u0432 \\u0431\\u0443\\u0444\\u0435\\u0440\", \"search.result.more.one\": \"\\u0415\\u0449\\u0451 1 \\u043d\\u0430 \\u044d\\u0442\\u043e\\u0439 \\u0441\\u0442\\u0440\\u0430\\u043d\\u0438\\u0446\\u0435\", \"search.result.more.other\": \"\\u0415\\u0449\\u0451 # \\u043d\\u0430 \\u044d\\u0442\\u043e\\u0439 \\u0441\\u0442\\u0440\\u0430\\u043d\\u0438\\u0446\\u0435\", \"search.result.none\": \"\\u0421\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0439 \\u043d\\u0435 \\u043d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e\", \"search.result.one\": \"\\u041d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e 1 \\u0441\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0435\", \"search.result.other\": \"\\u041d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e \\u0441\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0439: #\", \"search.result.placeholder\": \"\\u041d\\u0430\\u0447\\u043d\\u0438\\u0442\\u0435 \\u043f\\u0435\\u0447\\u0430\\u0442\\u0430\\u0442\\u044c \\u0434\\u043b\\u044f \\u043f\\u043e\\u0438\\u0441\\u043a\\u0430\", \"search.result.term.missing\": \"\\u041e\\u0442\\u0441\\u0443\\u0442\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442\", \"select.version\": \"\\u0412\\u044b\\u0431\\u0435\\u0440\\u0438\\u0442\\u0435 \\u0432\\u0435\\u0440\\u0441\\u0438\\u044e\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/ru/faqs/index.html",
    "content": "\n<!doctype html>\n<html lang=\"ru\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Часто задаваемые вопросы о PMX: почему использовать PMX, AppOp/manifest пояснения, советы ADB и устранение неполадок для управления разрешениями Android.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/faqs/\">\n      \n      \n        <link rel=\"prev\" href=\"../versions/\">\n      \n      \n      \n        \n          <link rel=\"alternate\" href=\"../../faqs/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/faqs/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/faqs/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/faqs/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/faqs/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/faqs/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/faqs/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>PMX FAQ - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#faq36\" class=\"md-skip\">\n          Перейти к содержанию\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Верхний колонтитул\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              PMX FAQ\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Выберите язык\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../faqs/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/faqs/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/faqs/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/faqs/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/faqs/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/faqs/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/faqs/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Поиск\" placeholder=\"Поиск\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Поиск\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Очистить\" aria-label=\"Очистить\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Инициализация поиска\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Навигация\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Что такое PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Разрешения манифеста и AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ссылки на разрешения\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Объяснение пользовательского интерфейса\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Поиск\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Проверка по расписанию\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Наблюдатель разрешений\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Просмотр разрешений\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Пакетные операции\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Интеграция с WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Использование PMX с помощью ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Версии PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ru/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Платные функции\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX FAQ\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX FAQ\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Содержание\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Содержание\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq36\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Зачем мне нужно использовать PMX?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq1\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Почему PMX требует root доступ или ADB?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq33\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Мое устройство без root. Как я могу использовать PMX?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq42\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Почему PMX не запускает и не работает на последней версии Android?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq43\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Почему PMX неправильно работает на OEM операционных системах или пользовательских ROMs?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq2\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Как PMX изменяет права на другие приложения?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq34\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Разрешения остаются измененными после отключения ADB , либо права пользователя root запрещены, либо PMX удаляется?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq15\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Почему я не могу изменить разрешение XYZ?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq37\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Я изменил разрешение, но это не работает. Почему?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq3\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Почему некоторые AppOps не могут быть изменены?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq6\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Почему в списке пакетов я не вижу приложение XYZ?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq7\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Почему я не вижу разрешение XYZ в пакете ABC?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq8\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Почему я не вижу XYZ AppOp в пакете ABC?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq5\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Что мне следует выбрать для UID привилегированного демона в расширенных настройках? Система или ADB?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq9\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Что такое «недопустимые права» в Фильтрах исключений?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq10\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Что такое \"дополнительный AppOps\" в Фильтрах Исключений?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq11\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Что такое AppOp режимы и какие я должен использовать?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq12\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        В чем разница между режимами \"Ignore\" и \"Deny\" AppOp?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq41\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Почему я не могу установить режим AppOp на передний план?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq14\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        What does WAKE_LOCK permission do?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq16\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Как я могу изменить разрешение INTERNET?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq40\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Что такое Фиксированные разрешения?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq17\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Как я могу изменить разрешения на фиксированные системы доступа, подписание/привилегии или разрешения рамочных приложений?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq18\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Что такое \"UID режим\" в разрешениях AppOp?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq39\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Можно ли управлять функцией Android «Удалить разрешения, если приложение не используется» из PMX?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq31\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Почему у меня есть много всплывающих окон \"Bad ROM\"?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq19\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Что делает кнопка «Скрыть приложение из списка» (вызывается долгим нажатием)?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq21\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Есть ли полный список всех разрешений с пояснениями?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq22\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Как использовать приложение в рабочем профиле/многопользовательской среде?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq24\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Как PMX сравнивает с XPrivacyLua? Могут ли они заменить друг друга?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq32\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Может ли PMX автоматически удалять разрешения, когда приложение закрывается, как это делает Bouncer?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq35\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Могу ли я получать уведомления о установке нового приложения?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq38\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Когда установлено новое приложение, может ли PMX сбросить свои разрешения по умолчанию?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq25\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Почему PMX требует ИНТЕРНЕТ разрешения?\n      \n    </span>\n  </a>\n  \n    <nav class=\"md-nav\" aria-label=\"Почему PMX требует ИНТЕРНЕТ разрешения?\">\n      <ul class=\"md-nav__list\">\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#optional-use-of-internet-permission\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Необязательное использование android.permission.INTERNET разрешения\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#on-device-use-of-internet-permission\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Локальное (на устройстве) использование android.permission.INTERNET разрешения\n      \n    </span>\n  </a>\n  \n</li>\n        \n      </ul>\n    </nav>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq26\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Сколько PMX поддерживает конфиденциальность? Собираете ли вы данные пользователя?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq27\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        PMX шпионил за мной с помощью ADB по сети?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq28\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        PMX использует ли не по назначению права root для сбора моих данных?\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq29\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Я думаю, PMX бесполезен. Зачем было создано это приложение?\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Загрузки\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Скриншот\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ru/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Рейтинги / Обзоры / Комментарии / Голоса / Звезды\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Связаться с нами\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Приложения\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Приложения\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Управление Разрешениями X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Часто задаваемые вопросы про Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Часто задаваемые вопросы про Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Часто задаваемые вопросы\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Руководство ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Руководство ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Соединить/подключить приложение к ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>PMX FAQ</h1>\n\n<h3 id=\"faq36\">Зачем мне нужно использовать PMX?<a class=\"headerlink\" href=\"#faq36\" title=\"Permanent link\">&para;</a></h3>\n<p>Потому что:</p>\n<ul>\n<li>PMX предоставляет все доступные разрешения <strong>информация</strong> и <strong>управления</strong> на одном экране, чтобы вы могли всесторонне и удобно их просматривать.</li>\n<li>На платформе Android нет официального инструмента, чтобы сменить <strong>AppOps</strong>. Только подмножество <strong>manifest разрешений</strong> подвергаются воздействию на пользователя в настройках разрешений. PMX раскрывает все разрешения в сырой форме. Связанный: <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\">Manifest разрешения и AppOps</a>.</li>\n<li>PMX позволяет вам легко отслеживать любые <strong>нежелательные изменения</strong> в разрешениях.</li>\n<li>Управление устройством PMX позволяет <strong>сохранить ресурсы устройства</strong>, такие как заряд батареи и пропускную способность сети, и <strong>защитить свою приватность</strong>. Вы не всегда остались на милость приложения и ROM разработчиков. Прочитай эту <a href=\"https://www.buzzfeednews.com/article/nicolenguyen/how-apps-take-your-data-and-sell-it-without-you-even\">статью</a>, чтобы понять, о чем идет речь.</li>\n<li>PMX может <strong>отслеживать изменения прав</strong> в реальном времени, откатить их автоматически при остановке использования приложения. Или он может выполнять <strong>запланированное сканирование</strong> разрешений. Так что вам не нужно что-то запоминать.</li>\n<li>PMX упрощает для вас <strong>резервное копирование и восстановление прав</strong> состояния установленных приложений, чтобы вам не приходилось снова и снова настраивать разрешения приложения.</li>\n</ul>\n<p>Пожалуйста, посмотрите <a href=\"../\">Что такое PMX</a>?</p>\n<hr />\n<h3 id=\"faq1\">Почему PMX требует root доступ или ADB?<a class=\"headerlink\" href=\"#faq1\" title=\"Permanent link\">&para;</a></h3>\n<p>Android намеренно запрещает приложениям изменять права доступа других приложений manifest или AppOps (и во многих случаях изменять права отдельных пользователей). Эти меры безопасности платформы защищают конфиденциальность пользователей и целостность системы.</p>\n<p>Для выполнения действий, требующих повышенных привилегий, PMX использует небольшой, отдельный привилегированный помощник, вместо того, чтобы пытаться сделать все из обычного процесса приложения. По умолчанию этот помощник запускается под ADB UID (<code>2000</code>) при запуске через ADB, или под идентификатором системы (<code>1000</code>) на устройствах с правами root. Если у вас есть рут-устройство, вы можете изменить UID помощника в <em>Дополнительные настройки</em>.</p>\n<hr />\n<h3 id=\"faq33\">Мое устройство без root. Как я могу использовать PMX?<a class=\"headerlink\" href=\"#faq33\" title=\"Permanent link\">&para;</a></h3>\n<p>Используйте <a href=\"../use-with-adb/\">PMX с ADB</a>. Пожалуйста, прочитайте заметку в начале. На некоторых устройствах могут быть некоторые ограничения.</p>\n<hr />\n<h3 id=\"faq42\">Почему PMX не запускает и не работает на последней версии Android?<a class=\"headerlink\" href=\"#faq42\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX опирается на скрытые API Android или не SDK интерфейсы, которые не документированы (на <a href=\"https://developer.android.com/\">разработчиках Android</a>) в отличие от стандартных API. Так что с каждым новым релизом Android, мы должны пройти через исходный код Android, чтобы выяснить, какие API были нарушены (изменены или удалены).</p>\n<p>Кроме того, требуется время на исправление испорченных API, иногда недели, иногда месяцы. И не гарантированно, что мы всегда сможем исправить испорченные API. Иногда Google специально делает так, что нам сложно или вообще невозможно продолжать использовать скрытые API.</p>\n<p>Поэтому мы не можем немедленно заставить PMX работать над каждым новым релизом Android (особенно в бета-фазе) до тех пор, пока окончательный исходный код AOSP публично не будет выпущен (по <a href=\"https://cs.android.com/\">Code Search</a> или <a href=\"https://android.googlesource.com/\">Git Repository</a>).</p>\n<p>Окончательная поддерживаемая PMXверсия описана в описании приложения на GitHub и Play Store. Когда вы запускаете приложение на неподдерживаемой версии в первый раз, оно показывает предупреждение:</p>\n<p><img alt=\"Неподдерживаемая версия Android\" class=\"media\" src=\"../../img/unsupported_android_version_warning.webp\" /></p>\n<hr />\n<h3 id=\"faq43\">Почему PMX неправильно работает на OEM операционных системах или пользовательских ROMs?<a class=\"headerlink\" href=\"#faq43\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX опирается на скрытые API Android или не SDK интерфейсы, которые не документированы (на <a href=\"https://developer.android.com/\">разработчиках Android</a>) в отличие от стандартных API. Поэтому нам нужен доступ к исходному коду вашего ROM , чтобы точно знать, как работают скрытые API.</p>\n<p>Что ж, AOSP (разработанный Google) является открытым исходным кодом. Но если ваш OEM или ROM делает некоторые изменения в AOSP для целей настройки, мы не знаем точно, какие изменения они внесли в стандартный код AOSP. Мы здесь беспомощны. И этот факт описан в описании приложения на GitHub и Play Store. Извините.</p>\n<hr />\n<h3 id=\"faq2\">Как PMX изменяет права на другие приложения?<a class=\"headerlink\" href=\"#faq2\" title=\"Permanent link\">&para;</a></h3>\n<p>Сам PMX не может и не может предоставить или отозвать разрешения других приложений. Фактически, ни одно стороннее приложение не имеет права сделать это. Это ОС Android, которая управляет разрешениями приложений. PMX просто отправляет запрос на Android фреймворк для изменения состояния разрешения. Теперь все зависит от ОС Android, насколько она выполнит наш запрос. Не все разрешения изменяются. И если вы не можете изменить состояние разрешения с помощью PMX, вы также не сможете изменить его каким-либо образом.</p>\n<hr />\n<h3 id=\"faq34\">Разрешения остаются измененными после отключения ADB , либо права пользователя root запрещены, либо PMX удаляется?<a class=\"headerlink\" href=\"#faq34\" title=\"Permanent link\">&para;</a></h3>\n<p>Сам PMX не может и не может предоставить или отозвать разрешения других приложений. Фактически, ни одно стороннее приложение не имеет права сделать это. Это ОС Android, которая управляет разрешениями приложений. PMX просто отправляет запрос на Android фреймворк для изменения состояния разрешения.</p>\n<p>Так что, как только разрешение изменится, уже не имеет значения, удалишь ли ты PMX или откажешься от его привилегий. Разрешение останется в любом состоянии, если оно снова не будет изменено вами или операционной системой.</p>\n<hr />\n<h3 id=\"faq15\">Почему я не могу изменить разрешение XYZ?<a class=\"headerlink\" href=\"#faq15\" title=\"Permanent link\">&para;</a></h3>\n<p>Разрешения манифеста только с опасным <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">уровнем защиты</a> (и несколькими другими) могут быть изменены. AppOps не зависит от каких-то других AppOp могут меняться. Так работает Android, мы не можем изменить его поведение. См. <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\">Manifest разрешения и AppOps</a>.</p>\n<p>Кроме того, PMX защищает некоторые критические каркасные приложения и разрешения; изменение их может привести к брику устройства. См. <a href=\"#faq17\">Связанный вопрос</a>.</p>\n<p>Также посмотрите <a href=\"#faq3\">Почему некоторые AppOps не могут быть изменены?</a></p>\n<p>Обрати внимание, что начиная с Android 15, разрешения manifest системных приложений с уровнем защиты <em>Разработка</em> нельзя отменить. Android беззвучно игнорирует запрос.</p>\n<hr />\n<h3 id=\"faq37\">Я изменил разрешение, но это не работает. Почему?<a class=\"headerlink\" href=\"#faq37\" title=\"Permanent link\">&para;</a></h3>\n<p>Если вы не получаете желаемых результатов после успешного изменения разрешения, т.е. состояние разрешения возвращается сразу или через несколько часов или дней, в этой ситуации виновата операционная система Android. Пожалуйста, посмотрите:</p>\n<ul>\n<li><a href=\"#faq2\">Как PMX изменяет права доступа других приложений?</a></li>\n<li><a href=\"#faq3\">Почему некоторые AppOps не могут быть изменены?</a></li>\n</ul>\n<p>По мере того, как вы используете приложения, Android может изменять их разрешения. И, к сожалению, у нас нет способа предотвратить это. <a href=\"../permission-watcher/\">Наблюдатель прав</a> и <a href=\"../scheduled-check/\">Запланированный чек</a> могут помочь в этом отношении.</p>\n<hr />\n<h3 id=\"faq3\">Почему некоторые AppOps не могут быть изменены?<a class=\"headerlink\" href=\"#faq3\" title=\"Permanent link\">&para;</a></h3>\n<p>Иногда вы видите \"AppOp режим не изменен\". Это означает, что Android отклонил запрос на изменение режима AppOp. Вы не можете изменить это независимо от того, какой метод или приложение вы используете. Может быть несколько возможных причин.</p>\n<ul>\n<li>\n<p>Некоторые AppOps зависят от их соответствующих разрешений manifest. Поэтому они не могут быть изменены самостоятельно. Например, вы не можете отклонить <code>READ_CONTACTS</code> AppOp , если предоставлено разрешение <code>android.permission.READ_CONTACTS</code> manifest.</p>\n<p>Также если приложение не запрашивает разрешение manifest в файле manifest , его разрешение AppOp также не может быть предоставлено. Но он все еще может появиться в списке разрешений приложения, если приложение попыталось его использовать (и получило отклонение). <code>SYSTEM_ALERT_WINDOW</code> — это один из таких примеров.</p>\n</li>\n<li>\n<p>Некоторые AppOps используются только для совместимости (например, <code>LEGACY_STORAGE</code>) и на самом деле они ничего не контролируют. Если мы исследуем их основную работу, выяснится, что предоставление/отмена таких разрешений не имеет смысла.</p>\n</li>\n<li>\n<p>Некоторые разрешения невозможно изменить, если приложение работает на более старой или новой версии Android или предназначено для нее.</p>\n</li>\n<li>\n<p>Некоторые OEM ROMs ведут себя странно, когда дело доходит до AppOps. См. <a href=\"#faq43\">Почему PMX не работает правильно на OEM операционных системах или пользовательских ROMs?</a></p>\n</li>\n<li>\n<p>Многие AppOps могут иметь 2 режима: режим пакетов и режим UID. Вполне возможно, что одно можно изменить, а другое нельзя.</p>\n<p>Обычно UID AppOps имеет приоритет над своими аналогами пакета AppOp. В этом случае эффективный режим AppOp такой же, как у пакета UID AppOps. Так что ты не можешь изменить только пакет AppOp .</p>\n<p>Некоторые AppOps предпочитают установить в режиме пакета, а не в режиме UID. Но если он неправильно установлен в UID режиме (с помощью инструмента командной строки или другим приложением), он становится не отвечающим изменениям. Нажми «Сбросить AppOps» в правом верхнем углу, чтобы всё снова заработало. Это также случай с другими AppOps , которые имеют соответствующее разрешение manifest на <em>AppOp</em> <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">уровень защиты</a>.</p>\n</li>\n</ul>\n<p>На самом деле, если мы исследуем каждое приложение и разрешение по отдельности, то мы получим еще много объяснений (что звучит непрактично). Как уже говорилось выше, PMX самостоятельно не меняет права других приложений. Таким образом, даже если по какой-то неизвестной причине Android не меняет разрешение или сразу же возвращает его обратно, мы ничего не можем сделать, чтобы заставить его, потому что это ограничения со стороны Android. Скорее всего, я должен сказать, что именно так работает Android.</p>\n<p>Также:</p>\n<ul>\n<li><a href=\"#faq11\">Что такое AppOp режимы и какие я должен использовать?</a></li>\n<li><a href=\"#faq41\">Почему я не могу установить режим AppOp на передний план?</a></li>\n</ul>\n<hr />\n<h3 id=\"faq6\">Почему в списке пакетов я не вижу приложение XYZ?<a class=\"headerlink\" href=\"#faq6\" title=\"Permanent link\">&para;</a></h3>\n<p>Пожалуйста, проверьте <strong>Исключительные фильтры</strong>. По умолчанию практически все стандартные Android приложения исключены. Вы можете исключить/включить любой пакет, который хотите из/в списке видимых.</p>\n<hr />\n<h3 id=\"faq7\">Почему я не вижу разрешение XYZ в пакете ABC?<a class=\"headerlink\" href=\"#faq7\" title=\"Permanent link\">&para;</a></h3>\n<p>Пожалуйста, проверьте <strong>Исключительные фильтры</strong>. Разрешения, которые не могут быть изменены, исключаются из списка видимых по умолчанию.</p>\n<hr />\n<h3 id=\"faq8\">Почему я не вижу XYZ AppOp в пакете ABC?<a class=\"headerlink\" href=\"#faq8\" title=\"Permanent link\">&para;</a></h3>\n<p>Пожалуйста, проверьте <strong>Фильтры исключений</strong>, если XYZ AppOp исключена из видимого списка. Или же пакет ABC может не использовать операцию XYZ. Вам не нужно беспокоиться об этом.</p>\n<p>Но если вы хотите увидеть XYZ AppOp для всех приложений, перейдите в <strong>Exclusion Filters → Extra AppOps, никогда не исключают</strong> и проверьте в списке XYZ AppOp.</p>\n<p>Например, Напишите <code>_CLIPBOARD</code> в поле поиска (с <strong>Глубоким поиском</strong> отмечено), и вы получите все приложения, которые использовались (или пытались использовать) <code>READ_CLIPBOARD</code> или <code>WRITE_CLIPBOARD</code> разрешение. Временная метка также показана (но не для всех AppOps).</p>\n<p>So if the app you are concerned about isn't in the search results, check both AppOps in the <strong>Exclusion Filters</strong> list mentioned above.</p>\n<hr />\n<h3 id=\"faq5\">Что мне следует выбрать для UID привилегированного демона в расширенных настройках? Система или ADB?<a class=\"headerlink\" href=\"#faq5\" title=\"Permanent link\">&para;</a></h3>\n<p>Это важно, только если вы используете root, или <code>adbd</code> на вашем устройстве запущен с правами root (это не так, как в конечных устройствах пользователя).</p>\n<p>Предпочтительно используйте <strong>System</strong> (UID <code>1000</code>), так как это позволяет больше привилегий, чем <strong>ADB</strong> (UID <code>2000</code>). Например, Изменить права доступа «<em>System-Fixed</em>» можно только, если ты запущен как система.</p>\n<hr />\n<h3 id=\"faq9\">Что такое «недопустимые права» в Фильтрах исключений?<a class=\"headerlink\" href=\"#faq9\" title=\"Permanent link\">&para;</a></h3>\n<p>Если приложение запрашивает разрешение manifest , но оно не объявлено (предоставлено) фреймворком Android или любым из установленных пакетов, это неверное разрешение. Например, <code>com.android.vending.BILLING</code> является недопустимым разрешением, если приложение Play Store не установлено на вашем устройстве.</p>\n<hr />\n<h3 id=\"faq10\">Что такое \"дополнительный AppOps\" в Фильтрах Исключений?<a class=\"headerlink\" href=\"#faq10\" title=\"Permanent link\">&para;</a></h3>\n<p>Не все AppOps используются для всех установленных приложений. Но ты можешь применить AppOp к любому приложению. Выбранные дополнительные AppOps появляются во всех списках разрешений приложений, чтобы вы могли их установить.</p>\n<hr />\n<h3 id=\"faq11\">Что такое AppOp режимы и какие я должен использовать?<a class=\"headerlink\" href=\"#faq11\" title=\"Permanent link\">&para;</a></h3>\n<p>Обычно вы должны разрешать или Игнорировать. Или вы можете разрешить операцию только тогда, когда приложение находится в <strong>Foreground</strong> (только на Android 9 и выше). <strong>Deny</strong> — интенсивная версия игнорирования, которая может вызвать сбой запрашиваемого приложения. <strong>По умолчанию</strong> это поведение системы по умолчанию, которое отличается от других AppOps.</p>\n<p>Обрати внимание, что не каждый режим AppOp можно включить на каждом AppOp для каждого приложения. Например, в последних версиях Android можно использовать <code>CAMERA</code> и <code>MICROPHONE</code> только в Передний план режиме (даже если выбран режим <strong>Разрешить</strong>). Аналогичным образом, некоторые AppOps никогда не могут быть установлены в <strong>Foreground</strong>.</p>\n<p>Связанный: <a href=\"#faq3\">Почему некоторые AppOps не могут быть изменены?</a></p>\n<p>Официальная документация: <a href=\"https://developer.android.com/reference/android/app/AppOpsManager#access-control\">AppOpsManager</a>.</p>\n<hr />\n<h3 id=\"faq12\">В чем разница между режимами \"Ignore\" и \"Deny\" AppOp?<a class=\"headerlink\" href=\"#faq12\" title=\"Permanent link\">&para;</a></h3>\n<p><a href=\"https://developer.android.com/reference/android/app/AppOpsManager#MODE_IGNORED\">Ignore</a> Молчально не удается, пока <a href=\"https://developer.android.com/reference/android/app/AppOpsManager#MODE_ERRORED\">Deny</a> возвращает ошибку в приложении, к которой приложение может не ожидать и может произойти сбой. Вы обычно используете <strong>Ignore</strong>.</p>\n<hr />\n<h3 id=\"faq41\">Почему я не могу установить режим AppOp на передний план?<a class=\"headerlink\" href=\"#faq41\" title=\"Permanent link\">&para;</a></h3>\n<p>Режим переднего плана не может быть установлен для всех AppOps. Даже когда он установлен, он может не дать ожидаемых результатов.</p>\n<p>Также:</p>\n<ul>\n<li><a href=\"#faq11\">Что такое AppOp режимы и какие я должен использовать?</a></li>\n<li><a href=\"#faq3\">Почему некоторые AppOps не могут быть изменены?</a></li>\n</ul>\n<p>Пожалуйста, обратите внимание, что режим разрешений \"Разрешить только при использовании приложения\" не устанавливает режим AppOp в \"Foreground\":</p>\n<p><img alt=\"Передний план и режимы одноразовых прав\" class=\"media\" src=\"../../img/fg_and_one_time_perm_modes.webp\" /></p>\n<p>Обычно мы видим только два штата для разрешения manifest : предоставлено и отозвано. Но Android использует <a href=\"https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-13.0.0_r1/core/java/android/content/pm/PackageManager.java#4655\">flags</a> для разделения этих двух состояний на многие субсостояния. Для некоторых разрешений тот же феномен используется для достижения поведения «предоставлять только тогда, когда приложение видимо». В этом случае разрешение AppOp не используется.</p>\n<p>Дополнительную информацию см. в официальной документации <a href=\"https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-13.0.0_r1/core/java/android/permission/Permissions.md#background-access\">фоновый доступ</a> и <a href=\"https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-13.0.0_r1/core/java/android/app/AppOps.md#foreground\">foreground access</a>.</p>\n<p>Для простоты PMX в данный момент не видит флаги разрешений. Но в будущем может быть добавлена возможность также отслеживать изменения флагов разрешений, даже если предоставленный/отозванный режим остается неизменным.</p>\n<hr />\n<h3 id=\"faq14\">What does <code>WAKE_LOCK</code> permission do?<a class=\"headerlink\" href=\"#faq14\" title=\"Permanent link\">&para;</a></h3>\n<p>Приложения удерживают вэйклок для продолжения работы устройства, то есть не выходят в режим <a href=\"https://developer.android.com/training/monitoring-device-state/doze-standby#understand_doze\">Doz</a>.</p>\n<hr />\n<h3 id=\"faq16\">Как я могу изменить разрешение <code>INTERNET</code>?<a class=\"headerlink\" href=\"#faq16\" title=\"Permanent link\">&para;</a></h3>\n<p>Андроид не позволяет изменять все разрешения, такие как у <strong>Нормального</strong> <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">уровня защиты</a> (e. . <code>INTERNET</code>) или с флагом <strong>Fixed</strong> или <strong>Подпись</strong> уровня защиты (обычно системные или фреймворки). См. <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\">Manifest разрешения и AppOps</a>.</p>\n<p>Но если вы корневые, <a href=\"https://github.com/mirfatif/Fyrypt\">Fyrypt</a> дает вам очень сильный контроль над сетевой активностью на вашем устройстве.</p>\n<hr />\n<h3 id=\"faq40\">Что такое Фиксированные разрешения?<a class=\"headerlink\" href=\"#faq40\" title=\"Permanent link\">&para;</a></h3>\n<p>Разрешения, которые закреплены системой, предоставляются предустановленным приложениям производителями или разработчиками ROM . Они не предназначены для изменения. But if your device is rooted, PMX can change system-fixed permissions.</p>\n<p><strong>Установленные политики</strong> разрешения предоставляются (или отклоняются) ИТ-администраторами на управляемых устройствах. Их невозможно изменить.</p>\n<p><strong>User-fixed</strong> permissions are fixed by the user. Если пользователь отказывает в разрешении несколько раз, когда приложение запрашивает его, операционная система помечает разрешение как пользователь-фиксированное и больше не показывает пользователю запросов на предоставление разрешения, если приложение снова запрашивает такое же разрешение. Этот вид фиксированных разрешений может быть легко изменен при желании пользователя.</p>\n<hr />\n<h3 id=\"faq17\">Как я могу изменить разрешения на фиксированные системы доступа, подписание/привилегии или разрешения рамочных приложений?<a class=\"headerlink\" href=\"#faq17\" title=\"Permanent link\">&para;</a></h3>\n<p>Если ваше устройство имеет рут-доступ, в платной версии вы можете <strong>Разрешить критические изменения</strong> в <strong>Дополнительные настройки</strong> для изменения прав с помощью флага <strong>Исправленная система</strong>, уровень защиты <strong>Подпись</strong> или <strong>Привилегированный</strong>, или каркасное приложение. Но не рекомендуется \"играть\" с системными или фреймворк приложениями. Вы можете \"окирпичить\" устройство.</p>\n<hr />\n<h3 id=\"faq18\">Что такое \"UID режим\" в разрешениях AppOp?<a class=\"headerlink\" href=\"#faq18\" title=\"Permanent link\">&para;</a></h3>\n<p>Это режим разрешения AppOp , который указывает, что изменение этого AppOp также повлияет на другие приложения (с тем же UID), если установлено. См. <a href=\"https://developer.android.com/guide/topics/manifest/manifest-element#uid\"><code>sharedUserId</code></a>.</p>\n<p>Заметьте, что режим UID имеет приоритет над режимом пакетов для многих AppOps.</p>\n<hr />\n<h3 id=\"faq39\">Можно ли управлять функцией Android «Удалить разрешения, если приложение не используется» из PMX?<a class=\"headerlink\" href=\"#faq39\" title=\"Permanent link\">&para;</a></h3>\n<p>Да. Эта функция доступна с <a href=\"https://developer.android.com/about/versions/11/privacy/permissions#auto-reset\">Android 11</a>. Также он обозначается как <strong>\"Пауза активности приложения, если не используется\"</strong> на некоторых устройствах.</p>\n<p><img alt=\"Автоудаление неиспользованных прав\" class=\"media\" src=\"../../img/remove_unused_perms.webp\" /></p>\n<p>Чтобы изменить эту опцию от PMX:</p>\n<ol>\n<li>Перейдите в <strong>Исключающие фильтры → Дополнительный список AppOps</strong> и проверьте <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code>.</li>\n<li>Назад на главном экране наберите <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code> в верхней строке поиска. Убедитесь, что в настройках поиска включена опция \"Глубокий поиск\".</li>\n<li>Установил режим <strong>Разрешить</strong> или <strong>Игнорировать</strong> для тех приложений, которые вы хотите.</li>\n</ol>\n<p>Вы также можете использовать <a href=\"../permission-view/\">Вид разрешения</a> или <a href=\"../batch-operations/\">Групповые операции</a> вместо шага 2 и 3. Вот руководство, как вы могли бы сделать это с помощью Batch Operations:</p>\n<video class=\"media\" controls muted>\n    <source src=\"../../img/remove_unused_perms.mp4\" type=\"video/webm\">\n    Remove permissions if app isn't used\n</video>\n\n<hr />\n<h3 id=\"faq31\">Почему у меня есть много всплывающих окон \"Bad ROM\"?<a class=\"headerlink\" href=\"#faq31\" title=\"Permanent link\">&para;</a></h3>\n<p>OEM-производители вносят огромные изменения в стандартный код AOSP (разработанный Google). Таким образом, фреймворк AppOps на некоторых пользовательских / OEM ROMs возвращает неожиданные результаты, которые PMX не понимают. Вы можете игнорировать эти всплывающие окна, но это означает, что функциональность несколько ограничена.</p>\n<p>Вы можете выключить эти всплывающие окна в <strong>Настройка</strong> → <strong>Общие настройки</strong> → <strong>Отключить плохие ROM toasts</strong>.</p>\n<p>См. <a href=\"#faq43\">Почему PMX не работает правильно на OEM операционных системах или пользовательских ROMs?</a></p>\n<hr />\n<h3 id=\"faq19\">Что делает кнопка «Скрыть приложение из списка» (вызывается долгим нажатием)?<a class=\"headerlink\" href=\"#faq19\" title=\"Permanent link\">&para;</a></h3>\n<p>Они оба просто скрывают приложение или разрешение из видимого списка. Если вы не хотите изменять разрешение для любого приложения, вы можете просто «Исключить» его. И он не появится ни для одного приложения. Чтобы снова его показать, зайди в настройки <strong>Фильтры исключений</strong>.</p>\n<p>Точно так же вы можете исключить приложение из списка видимых, если вас не беспокоят его разрешения.</p>\n<p><img alt=\"Скрыть приложение из видимого списка\" class=\"media\" src=\"../../img/hide_app_from_list.webp\" /> <img alt=\"Скрыть разрешение из видимого списка\" class=\"media\" src=\"../../img/hide_perm_from_list.webp\" /></p>\n<hr />\n<h3 id=\"faq21\">Есть ли полный список всех разрешений с пояснениями?<a class=\"headerlink\" href=\"#faq21\" title=\"Permanent link\">&para;</a></h3>\n<p>Нет полного списка разрешений с описанием, по крайней мере, насколько мне известно. Версия PMX Pro показывает краткое описание общих разрешений manifest и AppOp.</p>\n<p>Есть сторонние ресурсы, такие как <a href=\"https://android.izzysoft.de/applists.php?topic=perms\">этой</a> от Izzy. <a href=\"https://developer.android.com/\">Официальный сайт разработчиков</a> Android и <a href=\"https://cs.android.com/\">исходный код</a> тоже классные источники для обучения.</p>\n<p>С каждой новой версией Android добавляются новые разрешения, а некоторые устаревают. Кроме того, не все разрешения необходимы каждому пользователю.</p>\n<hr />\n<h3 id=\"faq22\">Как использовать приложение в рабочем профиле/многопользовательской среде?<a class=\"headerlink\" href=\"#faq22\" title=\"Permanent link\">&para;</a></h3>\n<p>Pro версия поддерживает рабочие профили и несколько пользователей. Выберите пользователя из выпадающего меню.</p>\n<p><img alt=\"Многопользовательское меню\" class=\"media\" src=\"../../img/multi_users.webp\" /></p>\n<hr />\n<h3 id=\"faq24\">Как PMX сравнивает с XPrivacyLua? Могут ли они заменить друг друга?<a class=\"headerlink\" href=\"#faq24\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX не предназначен для замены, а дополняющих проекты типа XPrivacyLua. Они имеют различные цели.</p>\n<p>XPrivacyLua взломает стандартную функциональность Android, подключившись к внутренним API, используя Xposed , который заменяет некоторые библиотеки Android на взломанные. Таким образом, мы получаем дополнительные функции, такие как отправка поддельных данных в приложения и уведомления о событиях, связанных с разрешениями, о которых мы не можем узнать никакими другими обычными способами.</p>\n<p>PMX с другой стороны, не задумывался как модуль фреймворка. Оно обеспечивает удобный доступ к нескольким привилегированным API, которые не могут использовать обычные приложения. Это ни в коем случае не взлом стандартных функций Android. Большинство задач PMX выполняется также из командной строки, за исключением нескольких таких как изменение фиксированных системных разрешений.</p>\n<p>Корень и Xposed являются двумя строгими требованиями для использования XPrivacyLua. PMX в основном не требует ни того, ни другого. Оба эти устройства не доступны для многих устройств или многие пользователи не считают их вариантом из-за технических трудностей, связанных с этим, Гарантийный нотариус, отказ SafetyNet и другие вопросы.</p>\n<p>Больше объяснений <a href=\"https://github.com/mirfatif/PermissionManagerX/issues/9\">here</a> и <a href=\"https://github.com/mirfatif/PermissionManagerX/issues/56#issuecomment-2790539931\">here</a>.</p>\n<hr />\n<h3 id=\"faq32\">Может ли PMX автоматически удалять разрешения, когда приложение закрывается, как это делает Bouncer?<a class=\"headerlink\" href=\"#faq32\" title=\"Permanent link\">&para;</a></h3>\n<p>Да. См. <a href=\"../permission-watcher/\">Наблюдатель прав</a> и <a href=\"../scheduled-check/\">Проверить расписание</a>. Но функция <strong>Доступности</strong> для Android не используется для нажатия / кликов на экран от имени пользователя (хотя это хорошая функция без необходимости дополнительной настройки). PMX полагается на привилегии root или ADB. Таким образом, он может сделать намного больше (см. <a href=\"../\">Что такое PMX?</a>) чем то, что может быть сделано с помощью функций Специальные возможности.</p>\n<p>Если вы используете ADB, а не root, <strong>Permission Watcher</strong> может не работать на некоторых устройствах. См. <a href=\"../use-with-adb/#limitations-of-adb\">Ограничения для ADB</a>.</p>\n<hr />\n<h3 id=\"faq35\">Могу ли я получать уведомления о установке нового приложения?<a class=\"headerlink\" href=\"#faq35\" title=\"Permanent link\">&para;</a></h3>\n<p>Да. Смотрите <a href=\"../permission-watcher/\">Наблюдатель Разрешений</a>.</p>\n<p>Начиная с Android 8, фоновые (не работающие) приложения не могут получать уведомления об установке нового приложения. Поэтому мы должны запустить службу переднего плана (с постоянным уведомлением), чтобы получить это уведомление. Или вы можете использовать <a href=\"../scheduled-check/\">Запланированная проверка</a> чтобы сохранить вещи на месте.</p>\n<hr />\n<h3 id=\"faq38\">Когда установлено новое приложение, может ли PMX сбросить свои разрешения по умолчанию?<a class=\"headerlink\" href=\"#faq38\" title=\"Permanent link\">&para;</a></h3>\n<p>Да. Но нет разрешения на сброс. Все аннулируемые manifest разрешения уже отозваны и остаются отозваны, если пользователь не предоставит им явно. Что касается AppOps , то многие из них не появляются хотя бы раз и после их использования приложением, например <code>VIBRATE</code> и <code>READ_CLIPBOARD</code>. Many others (e.g. <code>READ_CONTACTS</code>) have their corresponding manifest permissions already dropped, as pointed out. Так что на момент установки приложения не прогнозируется, что AppOps следует удалить.</p>\n<p>Но уведомление отображается при установке нового приложения (если используется <a href=\"../permission-watcher/\">Permission Watcher</a>), чтобы пользователь мог установить разрешения по одному или <a href=\"../batch-operations/#permission-profiles\">применить профиль</a>.</p>\n<hr />\n<h3 id=\"faq25\">Почему PMX требует ИНТЕРНЕТ разрешения?<a class=\"headerlink\" href=\"#faq25\" title=\"Permanent link\">&para;</a></h3>\n<p><a href=\"https://mirfatif.github.io/mirfatif/getpro\">standalone Pro версия</a> требует подключение к Интернету для проверки лицензии. Другие <a href=\"../versions/\">versions</a> могут работать полностью оффлайн. Хотя приложению Play Маркет для проверки лицензии требуется подключение к Интернету.</p>\n<h4 id=\"optional-use-of-internet-permission\">Необязательное использование <code>android.permission.INTERNET</code> разрешения<a class=\"headerlink\" href=\"#optional-use-of-internet-permission\" title=\"Permanent link\">&para;</a></h4>\n<ul>\n<li>Проверка обновления приложения. Вы можете отключить это в настройках.</li>\n</ul>\n<h4 id=\"on-device-use-of-internet-permission\">Локальное (на устройстве) использование <code>android.permission.INTERNET</code> разрешения<a class=\"headerlink\" href=\"#on-device-use-of-internet-permission\" title=\"Permanent link\">&para;</a></h4>\n<p>Android не разрешает приложениям создавать сетевые сокеты без разрешения <a href=\"https://developer.android.com/reference/android/Manifest.permission#INTERNET\"><code>INTERNET</code></a>, даже если они предназначены только локально и не для подключения к Интернету. PMX использует два локальных (на устройстве) соединения (возможность создания <code>localhost</code> сокетов в <code>127.0.0.1</code>) для коммуникации между процессами (IPC):</p>\n<ul>\n<li>PMX запускает фоновый процесс с привилегиями root / ADB и разговаривает с этим процессом через сетевой сокет. После первоначального \"рукопожатия\" оба процесса начинают обмен данными через binder. У нас нет лучшего способа сделать это, потому что Android также не позволяет приложениям общаться через сокеты домена UNIX.</li>\n<li>Если твое устройство не рутировано и ты <a href=\"../use-with-adb/\">используешь PMX с ADB</a>, то для подключения к <code>adbd</code> нужны разрешения на доступ к Интернету. См. <a href=\"#faq27\"> PMX шпионил за мной с помощью ADB по сети?</a></li>\n</ul>\n<p>Поэтому, если приложение не может создавать или использовать сокеты локальной сети, оно не будет работать. И если ты хочешь запретить приложению PMX использовать интернет, оно не должно блокировать взаимодействие приложения с процессами на устройстве через <a href=\"https://superuser.com/questions/263142\">интерфейс обратной связи для IPC</a>. Как правило, это относится к таким брандмауэрам на основе <code>iptables</code>как <a href=\"https://github.com/mirfatif/Fyrypt\">Fyrypt</a> и брандмауэрам на основе VPN, как NetGuard. Но некоторые ROMs имеют встроенную функцию для запрещения доступа к сети:</p>\n<p><img alt=\"Разрешить настройки сетевого доступа\" class=\"media\" src=\"../../img/allow_network_access.webp\" /></p>\n<p>Это не только запрещает приложению использовать Интернет, но и отключает его возможность создавать петлевые (loopback) сокеты для IPC. Таким образом, <strong>PMX не сможет получить привилегии root / ADB , если этому разрешению будет отказано</strong>.</p>\n<hr />\n<h3 id=\"faq26\">Сколько PMX поддерживает конфиденциальность? Собираете ли вы данные пользователя?<a class=\"headerlink\" href=\"#faq26\" title=\"Permanent link\">&para;</a></h3>\n<p>Нет. Мы не собираем ваши данные. Никогда. Даже не один байт. PMX есть версия с открытым исходным кодом. Мы верим, что наши пользователи хорошо осведомлены о том, почему они используют PMX. Мы уважаем вашу конфиденциальность, поэтому никакие данные не собираются, даже логи сбоев. Вы также можете посмотреть нашу <a href=\"https://mirfatif.github.io/PermissionManagerX/PRIVACY\">Политику конфиденциальности</a>.</p>\n<hr />\n<h3 id=\"faq27\">PMX шпионил за мной с помощью ADB по сети?<a class=\"headerlink\" href=\"#faq27\" title=\"Permanent link\">&para;</a></h3>\n<p>Нет.</p>\n<p>PMX общается с процессом <code>adbd</code> через localhost (<code>127.0.0.1</code>). Но невозможно запустить <code>adbd</code> только для localhsot, а не на других сетевых интерфейсах (потому что ADB предназначен для использования с ПК). Ты можешь легко запретить <code>adbd</code> слушать с внешних IP-адресов, если у тебя есть такая возможность. PMX по-прежнему будет работать, без каких бы то ни было внешних портов.</p>\n<p>Также вы можете изменить порт <code>5555</code> на любой номер в разделе <strong>Дополнительные настройки</strong>. Это не жестко запрограммировано.</p>\n<p>Также ADB с Android 4.2 должен быть защищен <strong>RSA ключом аутентификации</strong> (одним из самых сильных механизмов аутентификации). Таким образом, даже если устройство доступно из интернета (что в высшей степени <a href=\"https://android.stackexchange.com/a/205807/218526\">unlikely</a>), никто не может сделать ADB соединение без аутентификации.</p>\n<p>Вы можете проверить эти утверждения любым способом. Мы готовы оказать Вам техническую помощь.</p>\n<hr />\n<h3 id=\"faq28\">PMX использует ли не по назначению права root для сбора моих данных?<a class=\"headerlink\" href=\"#faq28\" title=\"Permanent link\">&para;</a></h3>\n<p>Мы верим в <a href=\"https://wikipedia.org/wiki/Principle_of_least_privilege\">принцип наименьшей привилегии</a>. Но из-за ограниченного характера операционной системы Android, PMX не может функционировать без высоких привилегий. Что мы можем предложить, так это то, что если вы технически подкованный человек, мы можем научить вас, как затруднить подключение приложений к Интернету, даже с root правами.</p>\n<hr />\n<h3 id=\"faq29\">Я думаю, PMX бесполезен. Зачем было создано это приложение?<a class=\"headerlink\" href=\"#faq29\" title=\"Permanent link\">&para;</a></h3>\n<p>Мы уважаем Ваше мнение. PMX не для всех (и поэтому он не был отполирован и выпущен для публики в течение многих лет, потому что мы знали, что у нас очень маленькая аудитория). Оно только для некоторых технически подкованных людей, которые тщательно заботятся о своей конфиденциальности и контроле над устройствами. Большинство пользователей телефонов находится в руках своих OEMs и разработчиков приложений. Им не известно о том, что делается с ними и их данными. Большинство предпочитает удобство по отношению к конфиденциальности. И это хорошо.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  К началу\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Нижний колонтитул\" >\n        \n          \n          <a href=\"../versions/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Назад: Версии PMX\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Назад\n              </span>\n              <div class=\"md-ellipsis\">\n                Версии PMX\n              </div>\n            </div>\n          </a>\n        \n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u0421\\u043a\\u043e\\u043f\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u043e \\u0432 \\u0431\\u0443\\u0444\\u0435\\u0440\", \"clipboard.copy\": \"\\u041a\\u043e\\u043f\\u0438\\u0440\\u043e\\u0432\\u0430\\u0442\\u044c \\u0432 \\u0431\\u0443\\u0444\\u0435\\u0440\", \"search.result.more.one\": \"\\u0415\\u0449\\u0451 1 \\u043d\\u0430 \\u044d\\u0442\\u043e\\u0439 \\u0441\\u0442\\u0440\\u0430\\u043d\\u0438\\u0446\\u0435\", \"search.result.more.other\": \"\\u0415\\u0449\\u0451 # \\u043d\\u0430 \\u044d\\u0442\\u043e\\u0439 \\u0441\\u0442\\u0440\\u0430\\u043d\\u0438\\u0446\\u0435\", \"search.result.none\": \"\\u0421\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0439 \\u043d\\u0435 \\u043d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e\", \"search.result.one\": \"\\u041d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e 1 \\u0441\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0435\", \"search.result.other\": \"\\u041d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e \\u0441\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0439: #\", \"search.result.placeholder\": \"\\u041d\\u0430\\u0447\\u043d\\u0438\\u0442\\u0435 \\u043f\\u0435\\u0447\\u0430\\u0442\\u0430\\u0442\\u044c \\u0434\\u043b\\u044f \\u043f\\u043e\\u0438\\u0441\\u043a\\u0430\", \"search.result.term.missing\": \"\\u041e\\u0442\\u0441\\u0443\\u0442\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442\", \"select.version\": \"\\u0412\\u044b\\u0431\\u0435\\u0440\\u0438\\u0442\\u0435 \\u0432\\u0435\\u0440\\u0441\\u0438\\u044e\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/ru/index.html",
    "content": "\n<!doctype html>\n<html lang=\"ru\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Обзор PMX и набор бесплатных функций vs платные — запланированные проверки, наблюдение за разрешениями, автозамена, пакетные операции и инструменты расширенного доступа.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/\">\n      \n      \n      \n        <link rel=\"next\" href=\"permission-references/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/de/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/es/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/fr/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/pt-BR/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/ru/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/ar/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/zh/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Что такое PMX? - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#rate-review\" class=\"md-skip\">\n          Перейти к содержанию\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Верхний колонтитул\">\n    <a href=\"./\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Что такое PMX?\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Выберите язык\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/de/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/es/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/fr/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/pt-BR/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/ru/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/ar/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/zh/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Поиск\" placeholder=\"Поиск\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Поиск\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Очистить\" aria-label=\"Очистить\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Инициализация поиска\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Навигация\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"./\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Что такое PMX?\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Что такое PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Содержание\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Содержание\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#rate-review\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Рейтинги / Обзоры / Комментарии / Голоса / Звезды\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Разрешения манифеста и AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ссылки на разрешения\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Объяснение пользовательского интерфейса\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Поиск\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Проверка по расписанию\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Наблюдатель разрешений\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Просмотр разрешений\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Пакетные операции\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Интеграция с WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Использование PMX с помощью ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Версии PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ru/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Платные функции\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX FAQ\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Загрузки\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Скриншот\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ru/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Рейтинги / Обзоры / Комментарии / Голоса / Звезды\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Связаться с нами\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Приложения\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Приложения\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Управление Разрешениями X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Часто задаваемые вопросы про Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Часто задаваемые вопросы про Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Часто задаваемые вопросы\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Руководство ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Руководство ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Соединить/подключить приложение к ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Что такое PMX?</h1>\n\n<p>Это приложение является расширенным диспетчером разрешений, которое позволяет легко настраивать и просматривать желаемые разрешения для установленных приложений, а так же отслеживать любые нежелательные изменения. Давая контроль над вашим устройством, оно позволяет вам защитить вашу конфиденциальность и сэкономить ресурсы, такие как использование батареи.</p>\n<p>PMX предоставляет всю информацию о разрозненных (или других недоступных) разрешениях и контролирует работу на одном экране, чтобы вы могли просматривать и контролировать их всесторонним и удобным способом.</p>\n<p>С помощью PMX вы можете:</p>\n<ul>\n<li>Просмотреть / предоставить / отменить все <strong>manifest разрешения</strong>, которые можно или невозможно установить с помощью экрана настроек приложения. Список разрешений, которые нельзя настроить из графического интерфейса (GUI), очень длинный.</li>\n<li>Посмотреть все <strong>AppOp разрешения</strong>, которые обычно не имеют GUI настройки. Например, <code>VIBRATE</code> и <code>READ_CLIPBOARD</code>. Желаемый режим AppOps можно установить например <em>Ignore</em> или <em>Foreground</em>.</li>\n<li>Посмотри все разрешения, которые просит приложение, но которые <strong>нельзя изменить</strong>.</li>\n<li>Просмотреть время последнего использования для многих AppOp разрешений.</li>\n<li>Измени права доступа <strong>System-Fixed</strong>, которые нельзя изменить другими способами.</li>\n<li>Наблюдать в реальном времени за изменениями разрешений или выполнять проверки по расписанию.</li>\n<li>Сортировать приложения и разрешения по многим параметрам, включая дату и количество разрешений.</li>\n<li>Создавайте расширенные поисковые запросы в приложениях и их разрешениях.</li>\n<li>И многое другое.</li>\n</ul>\n<p>Посмотрите также описание Github <a href=\"https://mirfatif.github.io/PermissionManagerX\">README</a> и <a href=\"https://play.google.com/store/apps/details?id=com.mirfatif.permissionmanagerx\">Play Store</a>. Или просто попробуйте. Мы предлагаем бесплатную версию и месячную бесплатную пробную версию.</p>\n<hr />\n<p><strong>Удивительная na?</strong> Давайте рассмотрим детали.</p>\n<ul>\n<li><a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\">Права манифеста и AppOps</a></li>\n<li><a href=\"permission-references/\">Ссылки на разрешения</a></li>\n<li><a href=\"details/\">Объяснение пользовательского интерфейса</a></li>\n<li><a href=\"search/\">Поиск</a></li>\n<li><a href=\"scheduled-check/\">Проверить расписание</a></li>\n<li><a href=\"permission-watcher/\">Наблюдатель за разрешением</a></li>\n<li><a href=\"permission-view/\">Вид прав</a></li>\n<li><a href=\"batch-operations/\">Групповые операции</a></li>\n<li><a href=\"whatsrunning-integration/\">Интеграция с WhatsRunning</a></li>\n<li><a href=\"use-with-adb/\">Использование PMX с ADB</a></li>\n<li><a href=\"versions/\">Версия PMX</a></li>\n<li><a href=\"/PermissionManagerX/help/versions/#paid-features\">Платные возможности</a></li>\n<li><a href=\"faqs/\">Часто задаваемые вопросы о PMX</a></li>\n<li><a href=\"https://mirfatif.github.io/PermissionManagerX\">Загрузки</a></li>\n<li><a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\">Скриншоты</a></li>\n<li><a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\">Свяжитесь с нами</a></li>\n</ul>\n<hr />\n<h2 id=\"rate-review\">Рейтинги / Обзоры / Комментарии / Голоса / Звезды<a class=\"headerlink\" href=\"#rate-review\" title=\"Permanent link\">&para;</a></h2>\n<ul>\n<li><a href=\"https://play.google.com/store/apps/details?id=com.mirfatif.permissionmanagerx\">Играть в магазин</a></li>\n<li><a href=\"https://forum.xda-developers.com/t/app-7-0-permission-manager-x-manage-appops-and-manifest-permissions.4187657\">XDA</a></li>\n<li><a href=\"https://github.com/mirfatif/PermissionManagerX\">GitHub</a></li>\n</ul>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  К началу\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Нижний колонтитул\" >\n        \n        \n          \n          <a href=\"permission-references/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Вперед: Ссылки на разрешения\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Вперед\n              </span>\n              <div class=\"md-ellipsis\">\n                Ссылки на разрешения\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u0421\\u043a\\u043e\\u043f\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u043e \\u0432 \\u0431\\u0443\\u0444\\u0435\\u0440\", \"clipboard.copy\": \"\\u041a\\u043e\\u043f\\u0438\\u0440\\u043e\\u0432\\u0430\\u0442\\u044c \\u0432 \\u0431\\u0443\\u0444\\u0435\\u0440\", \"search.result.more.one\": \"\\u0415\\u0449\\u0451 1 \\u043d\\u0430 \\u044d\\u0442\\u043e\\u0439 \\u0441\\u0442\\u0440\\u0430\\u043d\\u0438\\u0446\\u0435\", \"search.result.more.other\": \"\\u0415\\u0449\\u0451 # \\u043d\\u0430 \\u044d\\u0442\\u043e\\u0439 \\u0441\\u0442\\u0440\\u0430\\u043d\\u0438\\u0446\\u0435\", \"search.result.none\": \"\\u0421\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0439 \\u043d\\u0435 \\u043d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e\", \"search.result.one\": \"\\u041d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e 1 \\u0441\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0435\", \"search.result.other\": \"\\u041d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e \\u0441\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0439: #\", \"search.result.placeholder\": \"\\u041d\\u0430\\u0447\\u043d\\u0438\\u0442\\u0435 \\u043f\\u0435\\u0447\\u0430\\u0442\\u0430\\u0442\\u044c \\u0434\\u043b\\u044f \\u043f\\u043e\\u0438\\u0441\\u043a\\u0430\", \"search.result.term.missing\": \"\\u041e\\u0442\\u0441\\u0443\\u0442\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442\", \"select.version\": \"\\u0412\\u044b\\u0431\\u0435\\u0440\\u0438\\u0442\\u0435 \\u0432\\u0435\\u0440\\u0441\\u0438\\u044e\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/ru/permission-references/index.html",
    "content": "\n<!doctype html>\n<html lang=\"ru\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Сохранить, сравнить и восстановить состояния ссылок на разрешение в PMX , чтобы желаемая конфигурация разрешений могла быть сохранена и восстановлена в любом случае.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/permission-references/\">\n      \n      \n        <link rel=\"prev\" href=\"../\">\n      \n      \n        <link rel=\"next\" href=\"../details/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../permission-references/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/permission-references/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/permission-references/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/permission-references/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/permission-references/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/permission-references/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/permission-references/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Ссылки на разрешения - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Верхний колонтитул\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Ссылки на разрешения\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Выберите язык\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../permission-references/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/permission-references/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/permission-references/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/permission-references/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/permission-references/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/permission-references/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/permission-references/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Поиск\" placeholder=\"Поиск\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Поиск\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Очистить\" aria-label=\"Очистить\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Инициализация поиска\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Навигация\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Что такое PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Разрешения манифеста и AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ссылки на разрешения\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Объяснение пользовательского интерфейса\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Поиск\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Проверка по расписанию\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Наблюдатель разрешений\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Просмотр разрешений\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Пакетные операции\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Интеграция с WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Использование PMX с помощью ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Версии PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ru/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Платные функции\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX FAQ\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Загрузки\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Скриншот\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ru/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Рейтинги / Обзоры / Комментарии / Голоса / Звезды\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Связаться с нами\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Приложения\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Приложения\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Управление Разрешениями X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Часто задаваемые вопросы про Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Часто задаваемые вопросы про Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Часто задаваемые вопросы\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Руководство ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Руководство ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Соединить/подключить приложение к ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Ссылки на разрешения</h1>\n\n<p>Предположим, вы потратили все воскресенье на то, чтобы настроить разрешения для более 200 установленных приложений. И:</p>\n<ul>\n<li>В следующем месяце вы обновили ваше устройство, или установили новый ROM.</li>\n<li>Или по какой-то причине вы удалили и переустановили несколько приложений.</li>\n<li>Или вы предоставили несколько разрешений по запросу приложений.</li>\n</ul>\n<p>Пройдете ли вы через эту возню еще раз?</p>\n<p>Вам это не требуется. Ты можешь настроить PMX так, чтобы он запоминал, какие разрешения тебе нужны. Задайте разрешение, установите его статус как <font color=\"#90EE90\">ЗЕЛЕНЫЙ</font>, готово. Всего несколько минут займёт изучение всех установленных пакетов и выяснение некорректно устанавливаемых разрешений. , выполнив быстрый поиск: <code>:RED|:ORANGE</code> или <code>!:GREEN</code>. Смотри <a href=\"../search/\">Поиск</a>, чтобы узнать больше.</p>\n<p>Три <strong>эталонных состояния</strong>:</p>\n<ul>\n<li><font color=\"#FFC107\">Оранжевый</font> цвет значит, что значение не задано.</li>\n<li><font color=\"#90EE90\">GREEN</font> указывает, что эталонное значение соответствует установленному в настоящее время значению.</li>\n<li><font color=\"#FF0000\">RED</font> указывает, что эталонное значение и задано по-разному.</li>\n</ul>\n<p>Референсные состояния можно легко <strong>резервировать</strong> и <strong>восстанавливать</strong>. После восстановления есть удобный способ установки всех разрешений в соответствии с восстановленными ссылками. См. <a href=\"../batch-operations/\">Пакетные операции</a>.</p>\n<p>Есть несколько способов установить ссылку:</p>\n<ul>\n<li>Нажми и подержи разрешение, а потом нажми кнопку «Установить ссылку» / «Удалить ссылку».</li>\n<li>В каждом приложении есть верхний пункт меню, где можно настроить или очистить все разрешения.</li>\n<li>Установите ссылки сразу на несколько элементов с помощью <a href=\"../batch-operations/\">пакетных операций</a>.</li>\n<li>Включи настройку «Автоматическая установка ссылки» в разделе «Настройки» → «Общие настройки». Таким образом, всякий раз, когда вы меняете состояние разрешения, он также устанавливается в качестве ссылки.</li>\n</ul>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  К началу\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Нижний колонтитул\" >\n        \n          \n          <a href=\"../\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Назад: Что такое PMX?\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Назад\n              </span>\n              <div class=\"md-ellipsis\">\n                Что такое PMX?\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../details/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Вперед: Объяснение пользовательского интерфейса\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Вперед\n              </span>\n              <div class=\"md-ellipsis\">\n                Объяснение пользовательского интерфейса\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u0421\\u043a\\u043e\\u043f\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u043e \\u0432 \\u0431\\u0443\\u0444\\u0435\\u0440\", \"clipboard.copy\": \"\\u041a\\u043e\\u043f\\u0438\\u0440\\u043e\\u0432\\u0430\\u0442\\u044c \\u0432 \\u0431\\u0443\\u0444\\u0435\\u0440\", \"search.result.more.one\": \"\\u0415\\u0449\\u0451 1 \\u043d\\u0430 \\u044d\\u0442\\u043e\\u0439 \\u0441\\u0442\\u0440\\u0430\\u043d\\u0438\\u0446\\u0435\", \"search.result.more.other\": \"\\u0415\\u0449\\u0451 # \\u043d\\u0430 \\u044d\\u0442\\u043e\\u0439 \\u0441\\u0442\\u0440\\u0430\\u043d\\u0438\\u0446\\u0435\", \"search.result.none\": \"\\u0421\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0439 \\u043d\\u0435 \\u043d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e\", \"search.result.one\": \"\\u041d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e 1 \\u0441\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0435\", \"search.result.other\": \"\\u041d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e \\u0441\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0439: #\", \"search.result.placeholder\": \"\\u041d\\u0430\\u0447\\u043d\\u0438\\u0442\\u0435 \\u043f\\u0435\\u0447\\u0430\\u0442\\u0430\\u0442\\u044c \\u0434\\u043b\\u044f \\u043f\\u043e\\u0438\\u0441\\u043a\\u0430\", \"search.result.term.missing\": \"\\u041e\\u0442\\u0441\\u0443\\u0442\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442\", \"select.version\": \"\\u0412\\u044b\\u0431\\u0435\\u0440\\u0438\\u0442\\u0435 \\u0432\\u0435\\u0440\\u0441\\u0438\\u044e\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/ru/permission-view/index.html",
    "content": "\n<!doctype html>\n<html lang=\"ru\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Просмотр разрешений по имени и уровню защиты, просмотр количества приложений с использованием каждого разрешения, а также управление разрешениями для каждого приложения с помощью PMX.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/permission-view/\">\n      \n      \n        <link rel=\"prev\" href=\"../permission-watcher/\">\n      \n      \n        <link rel=\"next\" href=\"../batch-operations/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../permission-view/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/permission-view/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/permission-view/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/permission-view/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/permission-view/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/permission-view/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/permission-view/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Просмотр разрешений - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Верхний колонтитул\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Просмотр разрешений\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Выберите язык\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../permission-view/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/permission-view/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/permission-view/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/permission-view/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/permission-view/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/permission-view/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/permission-view/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Поиск\" placeholder=\"Поиск\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Поиск\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Очистить\" aria-label=\"Очистить\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Инициализация поиска\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Навигация\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Что такое PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Разрешения манифеста и AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ссылки на разрешения\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Объяснение пользовательского интерфейса\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Поиск\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Проверка по расписанию\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Наблюдатель разрешений\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Просмотр разрешений\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Пакетные операции\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Интеграция с WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Использование PMX с помощью ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Версии PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ru/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Платные функции\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX FAQ\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Загрузки\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Скриншот\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ru/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Рейтинги / Обзоры / Комментарии / Голоса / Звезды\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Связаться с нами\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Приложения\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Приложения\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Управление Разрешениями X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Часто задаваемые вопросы про Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Часто задаваемые вопросы про Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Часто задаваемые вопросы\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Руководство ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Руководство ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Соединить/подключить приложение к ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Просмотр разрешений</h1>\n\n<p>Просмотр разрешений показывает список всех разрешений с подсчетом того, сколько приложений используют эти разрешения.</p>\n<p><img alt=\"Вид прав\" class=\"media\" src=\"../../img/perm_view.webp\" /></p>\n<ol>\n<li>Имя разрешения</li>\n<li>Уровень защиты</li>\n<li>Количество приложений</li>\n<li>Количество предоставленных разрешений из общего количества разрешений. Последнее число может быть больше, чем количество приложений, потому что некоторые приложения могут использовать разрешение AppOp дважды (в режиме <a href=\"../faqs/#faq18\">UID</a>).</li>\n</ol>\n<p>Когда вы выбираете разрешение, отображается список приложений, использующих это разрешение:</p>\n<p><img alt=\"Вид прав\" class=\"media\" src=\"../../img/perm_view2.webp\" /></p>\n<ol>\n<li>Имя разрешения</li>\n<li>Описание разрешения</li>\n<li>Флаг, указывающий, что разрешение предоставлено</li>\n<li>Иконка приложения</li>\n<li>Название приложения</li>\n<li>Имя пакета</li>\n<li>UID приложения</li>\n</ol>\n<p>Когда вы выбираете приложение, открывается <a href=\"../details/#permissions-list\">список разрешений</a>, где вы можете изменить состояние разрешения.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  К началу\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Нижний колонтитул\" >\n        \n          \n          <a href=\"../permission-watcher/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Назад: Наблюдатель разрешений\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Назад\n              </span>\n              <div class=\"md-ellipsis\">\n                Наблюдатель разрешений\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../batch-operations/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Вперед: Пакетные операции\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Вперед\n              </span>\n              <div class=\"md-ellipsis\">\n                Пакетные операции\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u0421\\u043a\\u043e\\u043f\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u043e \\u0432 \\u0431\\u0443\\u0444\\u0435\\u0440\", \"clipboard.copy\": \"\\u041a\\u043e\\u043f\\u0438\\u0440\\u043e\\u0432\\u0430\\u0442\\u044c \\u0432 \\u0431\\u0443\\u0444\\u0435\\u0440\", \"search.result.more.one\": \"\\u0415\\u0449\\u0451 1 \\u043d\\u0430 \\u044d\\u0442\\u043e\\u0439 \\u0441\\u0442\\u0440\\u0430\\u043d\\u0438\\u0446\\u0435\", \"search.result.more.other\": \"\\u0415\\u0449\\u0451 # \\u043d\\u0430 \\u044d\\u0442\\u043e\\u0439 \\u0441\\u0442\\u0440\\u0430\\u043d\\u0438\\u0446\\u0435\", \"search.result.none\": \"\\u0421\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0439 \\u043d\\u0435 \\u043d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e\", \"search.result.one\": \"\\u041d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e 1 \\u0441\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0435\", \"search.result.other\": \"\\u041d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e \\u0441\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0439: #\", \"search.result.placeholder\": \"\\u041d\\u0430\\u0447\\u043d\\u0438\\u0442\\u0435 \\u043f\\u0435\\u0447\\u0430\\u0442\\u0430\\u0442\\u044c \\u0434\\u043b\\u044f \\u043f\\u043e\\u0438\\u0441\\u043a\\u0430\", \"search.result.term.missing\": \"\\u041e\\u0442\\u0441\\u0443\\u0442\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442\", \"select.version\": \"\\u0412\\u044b\\u0431\\u0435\\u0440\\u0438\\u0442\\u0435 \\u0432\\u0435\\u0440\\u0441\\u0438\\u044e\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/ru/permission-watcher/index.html",
    "content": "\n<!doctype html>\n<html lang=\"ru\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Автоматически отслеживать изменения разрешений приложений с помощью PMX: получать уведомления, отменять нежелательные изменения или автоматически отозвать при выходе из приложения в фоновом режиме.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/permission-watcher/\">\n      \n      \n        <link rel=\"prev\" href=\"../scheduled-check/\">\n      \n      \n        <link rel=\"next\" href=\"../permission-view/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../permission-watcher/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/permission-watcher/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/permission-watcher/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/permission-watcher/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/permission-watcher/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/permission-watcher/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/permission-watcher/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Наблюдатель разрешений - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Верхний колонтитул\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Наблюдатель разрешений\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Выберите язык\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../permission-watcher/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/permission-watcher/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/permission-watcher/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/permission-watcher/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/permission-watcher/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/permission-watcher/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/permission-watcher/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Поиск\" placeholder=\"Поиск\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Поиск\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Очистить\" aria-label=\"Очистить\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Инициализация поиска\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Навигация\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Что такое PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Разрешения манифеста и AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ссылки на разрешения\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Объяснение пользовательского интерфейса\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Поиск\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Проверка по расписанию\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Наблюдатель разрешений\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Просмотр разрешений\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Пакетные операции\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Интеграция с WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Использование PMX с помощью ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Версии PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ru/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Платные функции\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX FAQ\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Загрузки\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Скриншот\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ru/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Рейтинги / Обзоры / Комментарии / Голоса / Звезды\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Связаться с нами\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Приложения\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Приложения\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Управление Разрешениями X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Часто задаваемые вопросы про Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Часто задаваемые вопросы про Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Часто задаваемые вопросы\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Руководство ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Руководство ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Соединить/подключить приложение к ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Наблюдатель разрешений</h1>\n\n<p>Некоторые приложения не работают без предоставления определенного разрешения. Но вы хотите предоставить разрешение только на время, когда вы используете приложение, и отключить/отозвать разрешение сразу же, как вы выйдете из приложения.</p>\n<p>Именно это и делает служба \"Отслеживание разрешений\". Как только вы покинете приложение, или после истечения установленного времени, отменяет разрешения приложения (manifest и AppOp) самостоятельно, или просит вас сделать это, в зависимости от настроек, которые вы установили.</p>\n<p><img alt=\"наблюдатель прав\" class=\"media\" src=\"../../img/perm_watcher.gif\" /></p>\n<p>\"Отслеживание разрешений\" также уведомляет вас о необходимости настроить разрешения для вновь установленных приложений (только в профиле основного пользователя / владельца).</p>\n<p><img alt=\"Настройки наблюдателя прав\" class=\"media\" src=\"../../img/watcher_settings.webp\" /></p>\n<p>Примечание:</p>\n<ul>\n<li>Отменяются только разрешения с базовым состоянием <font color=\"#FF0000\">RED</font> , а не с состоянием <font color=\"#FFC107\">ORANGE</font>. Так что сначала <strong>ОБЯЗАТЕЛЬНО</strong> надо установить эталонные состояния. См. <a href=\"../permission-references/\">Ссылки на разрешения</a>.</li>\n<li>Разрешения Manifest только с <em>опасным</em> <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">уровнем защиты</a> просмотрены. Это те, которые обычно меняют. Разрешения с <em>Подпись</em> или <em>Разработкой</em> уровнем защиты или с установленным флагом <em>Системное</em> не отслеживаются, хотя они и изменяются.</li>\n<li>PMX просматривает только <em>Пользователь</em> или обычные <em>Системные</em> приложения, а не <em>фреймворки</em> приложения. Их изменение может привести к \"окирпичиванию\" устройства.</li>\n<li>На некоторых устройствах \"Отслеживание разрешений\" может работать ненадежно для приложений второго пользователя / профиля. Рекомендуется использовать его в сочетании с функцией \"Проверка по расписанию\".</li>\n</ul>\n<hr />\n<p><strong id=\"perm-watcher-fails\">Почему не удается запустить наблюдатель доступа?</strong></p>\n<p>Вы используете ADB? Некоторые OEMs удаляют разрешения <code>OBSERVE_GRANT_REVOKE_PERMISSIONS</code> или <code>SET_ACTIVITY_WATCHER</code> из пакета <em>Shell</em>. Если это ваш случай, то мы сожалеем. Это то, что мы не можем устранить. На таких устройствах \"Отслеживание разрешений\" может работать только с root. См. <a href=\"../use-with-adb/#limitations-of-adb\">Ограничения для ADB</a>.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  К началу\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Нижний колонтитул\" >\n        \n          \n          <a href=\"../scheduled-check/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Назад: Проверка по расписанию\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Назад\n              </span>\n              <div class=\"md-ellipsis\">\n                Проверка по расписанию\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../permission-view/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Вперед: Просмотр разрешений\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Вперед\n              </span>\n              <div class=\"md-ellipsis\">\n                Просмотр разрешений\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u0421\\u043a\\u043e\\u043f\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u043e \\u0432 \\u0431\\u0443\\u0444\\u0435\\u0440\", \"clipboard.copy\": \"\\u041a\\u043e\\u043f\\u0438\\u0440\\u043e\\u0432\\u0430\\u0442\\u044c \\u0432 \\u0431\\u0443\\u0444\\u0435\\u0440\", \"search.result.more.one\": \"\\u0415\\u0449\\u0451 1 \\u043d\\u0430 \\u044d\\u0442\\u043e\\u0439 \\u0441\\u0442\\u0440\\u0430\\u043d\\u0438\\u0446\\u0435\", \"search.result.more.other\": \"\\u0415\\u0449\\u0451 # \\u043d\\u0430 \\u044d\\u0442\\u043e\\u0439 \\u0441\\u0442\\u0440\\u0430\\u043d\\u0438\\u0446\\u0435\", \"search.result.none\": \"\\u0421\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0439 \\u043d\\u0435 \\u043d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e\", \"search.result.one\": \"\\u041d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e 1 \\u0441\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0435\", \"search.result.other\": \"\\u041d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e \\u0441\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0439: #\", \"search.result.placeholder\": \"\\u041d\\u0430\\u0447\\u043d\\u0438\\u0442\\u0435 \\u043f\\u0435\\u0447\\u0430\\u0442\\u0430\\u0442\\u044c \\u0434\\u043b\\u044f \\u043f\\u043e\\u0438\\u0441\\u043a\\u0430\", \"search.result.term.missing\": \"\\u041e\\u0442\\u0441\\u0443\\u0442\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442\", \"select.version\": \"\\u0412\\u044b\\u0431\\u0435\\u0440\\u0438\\u0442\\u0435 \\u0432\\u0435\\u0440\\u0441\\u0438\\u044e\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/ru/scheduled-check/index.html",
    "content": "\n<!doctype html>\n<html lang=\"ru\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Автоматизировать периодические проверки прав доступа с помощью PMX. Запланированные проверяют обнаруживают нежелательные изменения, уведомляют вас и опционально автоотзыв рискованных грантов.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/scheduled-check/\">\n      \n      \n        <link rel=\"prev\" href=\"../search/\">\n      \n      \n        <link rel=\"next\" href=\"../permission-watcher/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../scheduled-check/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/scheduled-check/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/scheduled-check/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/scheduled-check/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/scheduled-check/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/scheduled-check/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/scheduled-check/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Проверка по расписанию - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Верхний колонтитул\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Проверка по расписанию\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Выберите язык\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../scheduled-check/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/scheduled-check/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/scheduled-check/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/scheduled-check/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/scheduled-check/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/scheduled-check/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/scheduled-check/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Поиск\" placeholder=\"Поиск\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Поиск\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Очистить\" aria-label=\"Очистить\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Инициализация поиска\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Навигация\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Что такое PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Разрешения манифеста и AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ссылки на разрешения\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Объяснение пользовательского интерфейса\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Поиск\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Проверка по расписанию\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Наблюдатель разрешений\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Просмотр разрешений\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Пакетные операции\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Интеграция с WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Использование PMX с помощью ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Версии PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ru/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Платные функции\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX FAQ\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Загрузки\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Скриншот\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ru/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Рейтинги / Обзоры / Комментарии / Голоса / Звезды\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Связаться с нами\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Приложения\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Приложения\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Управление Разрешениями X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Часто задаваемые вопросы про Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Часто задаваемые вопросы про Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Часто задаваемые вопросы\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Руководство ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Руководство ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Соединить/подключить приложение к ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Проверка по расписанию</h1>\n\n<p>Вы хотите отслеживать любые нежелательные изменения разрешений во всех установленных приложениях? Проверка по расписанию может делать это для вас через регулярные интервалы (в минутах, часах или днях).</p>\n<p>Установите <a href=\"../permission-references/\">Ссылки на разрешения</a> на <font color=\"#90EE90\">GREEN</font> и оставьте остальные на PMX. Если обнаружено какое-либо разрешение (со статусом <font color=\"#FF0000\">RED</font> ) или когда установлено новое приложение (с правами на состояние <font color=\"#FFC107\">ORANGE</font> ), PMX напоминает вам, что что-то нуждается в вашем внимании.</p>\n<p>Кроме того, если настройка настроена в настройках, запланированные проверки могут автоматически отозвать разрешения, а затем информационировать уведомление.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  К началу\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Нижний колонтитул\" >\n        \n          \n          <a href=\"../search/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Назад: Поиск\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Назад\n              </span>\n              <div class=\"md-ellipsis\">\n                Поиск\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../permission-watcher/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Вперед: Наблюдатель разрешений\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Вперед\n              </span>\n              <div class=\"md-ellipsis\">\n                Наблюдатель разрешений\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u0421\\u043a\\u043e\\u043f\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u043e \\u0432 \\u0431\\u0443\\u0444\\u0435\\u0440\", \"clipboard.copy\": \"\\u041a\\u043e\\u043f\\u0438\\u0440\\u043e\\u0432\\u0430\\u0442\\u044c \\u0432 \\u0431\\u0443\\u0444\\u0435\\u0440\", \"search.result.more.one\": \"\\u0415\\u0449\\u0451 1 \\u043d\\u0430 \\u044d\\u0442\\u043e\\u0439 \\u0441\\u0442\\u0440\\u0430\\u043d\\u0438\\u0446\\u0435\", \"search.result.more.other\": \"\\u0415\\u0449\\u0451 # \\u043d\\u0430 \\u044d\\u0442\\u043e\\u0439 \\u0441\\u0442\\u0440\\u0430\\u043d\\u0438\\u0446\\u0435\", \"search.result.none\": \"\\u0421\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0439 \\u043d\\u0435 \\u043d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e\", \"search.result.one\": \"\\u041d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e 1 \\u0441\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0435\", \"search.result.other\": \"\\u041d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e \\u0441\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0439: #\", \"search.result.placeholder\": \"\\u041d\\u0430\\u0447\\u043d\\u0438\\u0442\\u0435 \\u043f\\u0435\\u0447\\u0430\\u0442\\u0430\\u0442\\u044c \\u0434\\u043b\\u044f \\u043f\\u043e\\u0438\\u0441\\u043a\\u0430\", \"search.result.term.missing\": \"\\u041e\\u0442\\u0441\\u0443\\u0442\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442\", \"select.version\": \"\\u0412\\u044b\\u0431\\u0435\\u0440\\u0438\\u0442\\u0435 \\u0432\\u0435\\u0440\\u0441\\u0438\\u044e\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/ru/search/index.html",
    "content": "\n<!doctype html>\n<html lang=\"ru\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Мощный поиск PMX : найти приложения по метке, пакету или UID; использовать глубокий поиск по именам разрешений и логических операторов для быстрых проверок разрешений.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/search/\">\n      \n      \n        <link rel=\"prev\" href=\"../details/\">\n      \n      \n        <link rel=\"next\" href=\"../scheduled-check/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../search/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/search/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/search/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/search/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/search/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/search/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/search/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Поиск - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Верхний колонтитул\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Поиск\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Выберите язык\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../search/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/search/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/search/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/search/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/search/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/search/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/search/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Поиск\" placeholder=\"Поиск\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Поиск\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Очистить\" aria-label=\"Очистить\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Инициализация поиска\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Навигация\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Что такое PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Разрешения манифеста и AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ссылки на разрешения\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Объяснение пользовательского интерфейса\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Поиск\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Проверка по расписанию\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Наблюдатель разрешений\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Просмотр разрешений\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Пакетные операции\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Интеграция с WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Использование PMX с помощью ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Версии PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ru/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Платные функции\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX FAQ\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Загрузки\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Скриншот\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ru/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Рейтинги / Обзоры / Комментарии / Голоса / Звезды\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Связаться с нами\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Приложения\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Приложения\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Управление Разрешениями X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Часто задаваемые вопросы про Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Часто задаваемые вопросы про Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Часто задаваемые вопросы\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Руководство ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Руководство ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Соединить/подключить приложение к ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Поиск</h1>\n\n<p><img alt=\"Поиск\" class=\"media\" src=\"../../img/search.webp\" /></p>\n<p>Обычно метка пакетов, имя и UID ищются из видимого списка.</p>\n<p>С <strong>Deep Search</strong> запрошены имена разрешений и другие параметры.</p>\n<p>Обратите внимание, что <strong>Исключительные фильтры</strong> эффективны при поиске.</p>\n<p>Вы можете использовать в поиске следующие специальные ключевые слова:</p>\n<ul>\n<li>\n<p>Состояние приложения:</p>\n<p><code>:Critical</code> <code>:Framework</code> <code>:System</code> <code>:User</code> <code>:Disabled</code></p>\n</li>\n<li>\n<p>Состояние ссылки:</p>\n<p><code>:ORANGE</code> <code>:GREEN</code> <code>:RED</code></p>\n</li>\n<li>\n<p>Разрешения <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">уровень защиты</a>:</p>\n<p><code>:Normal</code> <code>:Dangerous</code> <code>:Signature</code> <code>:Internal</code> <code>:Development</code> <code>:Privileged</code> <code>:Fixed</code> <code>:AppOps</code> <code>:Unknown</code></p>\n</li>\n<li>\n<p>По UID AppOps:</p>\n<p><code>:UID</code></p>\n</li>\n<li>\n<p>AppOps с последним доступом или временем отклонения:</p>\n<p><code>:TIME</code></p>\n</li>\n<li>\n<p>Дополнительный AppOps (никогда не исключается в настройках фильтра):</p>\n<p><code>:EXTRA</code></p>\n</li>\n<li>\n<p><code>&amp;</code> (AND), <code>|</code> (OR) и <code>!</code> (NOT) операторы:</p>\n<p><code>Foo|Bar&amp;Baz</code></p>\n<p><code>Foo&amp;!Bar&amp;!Baz</code></p>\n</li>\n</ul>\n<p>Платная версия также показывает подсказки поиска (если задано в предпочтениях) для облегчения процесса поиска.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  К началу\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Нижний колонтитул\" >\n        \n          \n          <a href=\"../details/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Назад: Объяснение пользовательского интерфейса\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Назад\n              </span>\n              <div class=\"md-ellipsis\">\n                Объяснение пользовательского интерфейса\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../scheduled-check/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Вперед: Проверка по расписанию\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Вперед\n              </span>\n              <div class=\"md-ellipsis\">\n                Проверка по расписанию\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u0421\\u043a\\u043e\\u043f\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u043e \\u0432 \\u0431\\u0443\\u0444\\u0435\\u0440\", \"clipboard.copy\": \"\\u041a\\u043e\\u043f\\u0438\\u0440\\u043e\\u0432\\u0430\\u0442\\u044c \\u0432 \\u0431\\u0443\\u0444\\u0435\\u0440\", \"search.result.more.one\": \"\\u0415\\u0449\\u0451 1 \\u043d\\u0430 \\u044d\\u0442\\u043e\\u0439 \\u0441\\u0442\\u0440\\u0430\\u043d\\u0438\\u0446\\u0435\", \"search.result.more.other\": \"\\u0415\\u0449\\u0451 # \\u043d\\u0430 \\u044d\\u0442\\u043e\\u0439 \\u0441\\u0442\\u0440\\u0430\\u043d\\u0438\\u0446\\u0435\", \"search.result.none\": \"\\u0421\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0439 \\u043d\\u0435 \\u043d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e\", \"search.result.one\": \"\\u041d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e 1 \\u0441\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0435\", \"search.result.other\": \"\\u041d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e \\u0441\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0439: #\", \"search.result.placeholder\": \"\\u041d\\u0430\\u0447\\u043d\\u0438\\u0442\\u0435 \\u043f\\u0435\\u0447\\u0430\\u0442\\u0430\\u0442\\u044c \\u0434\\u043b\\u044f \\u043f\\u043e\\u0438\\u0441\\u043a\\u0430\", \"search.result.term.missing\": \"\\u041e\\u0442\\u0441\\u0443\\u0442\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442\", \"select.version\": \"\\u0412\\u044b\\u0431\\u0435\\u0440\\u0438\\u0442\\u0435 \\u0432\\u0435\\u0440\\u0441\\u0438\\u044e\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/ru/use-with-adb/index.html",
    "content": "\n<!doctype html>\n<html lang=\"ru\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Установка и использование Permission Manager X с ADB на устройствах без прав суперпользователя — сопряжении, полезных командах ADB , ограничениях и рекомендациях.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/use-with-adb/\">\n      \n      \n        <link rel=\"prev\" href=\"../whatsrunning-integration/\">\n      \n      \n        <link rel=\"next\" href=\"../versions/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../use-with-adb/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/use-with-adb/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/use-with-adb/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/use-with-adb/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/use-with-adb/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/use-with-adb/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/use-with-adb/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Использование PMX с помощью ADB - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#limitations-of-adb\" class=\"md-skip\">\n          Перейти к содержанию\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Верхний колонтитул\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Использование PMX с помощью ADB\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Выберите язык\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../use-with-adb/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/use-with-adb/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/use-with-adb/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/use-with-adb/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/use-with-adb/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/use-with-adb/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/use-with-adb/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Поиск\" placeholder=\"Поиск\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Поиск\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Очистить\" aria-label=\"Очистить\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Инициализация поиска\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Навигация\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Что такое PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Разрешения манифеста и AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ссылки на разрешения\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Объяснение пользовательского интерфейса\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Поиск\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Проверка по расписанию\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Наблюдатель разрешений\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Просмотр разрешений\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Пакетные операции\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Интеграция с WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Использование PMX с помощью ADB\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Использование PMX с помощью ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Содержание\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Содержание\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#limitations-of-adb\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Ограничения ADB\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#adb-guide\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ADB Инструкция\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Версии PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ru/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Платные функции\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX FAQ\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Загрузки\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Скриншот\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ru/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Рейтинги / Обзоры / Комментарии / Голоса / Звезды\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Связаться с нами\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Приложения\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Приложения\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Управление Разрешениями X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Часто задаваемые вопросы про Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Часто задаваемые вопросы про Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Часто задаваемые вопросы\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Руководство ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Руководство ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Соединить/подключить приложение к ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Использование PMX с помощью ADB</h1>\n\n<h2 id=\"limitations-of-adb\">Ограничения ADB<a class=\"headerlink\" href=\"#limitations-of-adb\" title=\"Permanent link\">&para;</a></h2>\n<p>ADB не такой мощный, как root. Вы можете проверить текущий статус того, что ADB может сделать в <strong>О</strong> → <strong>Привилегии</strong> (пункт меню):</p>\n<p><img alt=\" ПривилегииPMX \" class=\"media\" src=\"../../img/privs.webp\" /></p>\n<p>Подробнее см. <a href=\"https://mirfatif.github.io/adb-guide/adb-limits/\">Ограничения для ADB</a>. Также посмотрите <a href=\"../faqs/#faq43\">Почему PMX не работает правильно на OEM операционных системах или пользовательских ROMs?</a></p>\n<hr />\n<h2 id=\"adb-guide\">ADB Инструкция<a class=\"headerlink\" href=\"#adb-guide\" title=\"Permanent link\">&para;</a></h2>\n<p>См. <a href=\"https://mirfatif.github.io/adb-guide/\">ADB Pairing / Connection Guide</a>.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  К началу\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Нижний колонтитул\" >\n        \n          \n          <a href=\"../whatsrunning-integration/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Назад: Интеграция с WhatsRunning\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Назад\n              </span>\n              <div class=\"md-ellipsis\">\n                Интеграция с WhatsRunning\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../versions/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Вперед: Версии PMX\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Вперед\n              </span>\n              <div class=\"md-ellipsis\">\n                Версии PMX\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u0421\\u043a\\u043e\\u043f\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u043e \\u0432 \\u0431\\u0443\\u0444\\u0435\\u0440\", \"clipboard.copy\": \"\\u041a\\u043e\\u043f\\u0438\\u0440\\u043e\\u0432\\u0430\\u0442\\u044c \\u0432 \\u0431\\u0443\\u0444\\u0435\\u0440\", \"search.result.more.one\": \"\\u0415\\u0449\\u0451 1 \\u043d\\u0430 \\u044d\\u0442\\u043e\\u0439 \\u0441\\u0442\\u0440\\u0430\\u043d\\u0438\\u0446\\u0435\", \"search.result.more.other\": \"\\u0415\\u0449\\u0451 # \\u043d\\u0430 \\u044d\\u0442\\u043e\\u0439 \\u0441\\u0442\\u0440\\u0430\\u043d\\u0438\\u0446\\u0435\", \"search.result.none\": \"\\u0421\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0439 \\u043d\\u0435 \\u043d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e\", \"search.result.one\": \"\\u041d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e 1 \\u0441\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0435\", \"search.result.other\": \"\\u041d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e \\u0441\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0439: #\", \"search.result.placeholder\": \"\\u041d\\u0430\\u0447\\u043d\\u0438\\u0442\\u0435 \\u043f\\u0435\\u0447\\u0430\\u0442\\u0430\\u0442\\u044c \\u0434\\u043b\\u044f \\u043f\\u043e\\u0438\\u0441\\u043a\\u0430\", \"search.result.term.missing\": \"\\u041e\\u0442\\u0441\\u0443\\u0442\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442\", \"select.version\": \"\\u0412\\u044b\\u0431\\u0435\\u0440\\u0438\\u0442\\u0435 \\u0432\\u0435\\u0440\\u0441\\u0438\\u044e\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/ru/versions/index.html",
    "content": "\n<!doctype html>\n<html lang=\"ru\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Сравните PMX Free и Оплачен: платные функции включают запланированные проверки, мониторинг разрешений, автоотмену, многопользовательскую поддержку и работу партии.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/versions/\">\n      \n      \n        <link rel=\"prev\" href=\"../use-with-adb/\">\n      \n      \n        <link rel=\"next\" href=\"../faqs/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../versions/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/versions/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/versions/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/versions/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/versions/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/versions/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/versions/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Версии PMX - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#paid-features\" class=\"md-skip\">\n          Перейти к содержанию\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Верхний колонтитул\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Версии PMX\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Выберите язык\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../versions/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/versions/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/versions/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/versions/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/versions/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/versions/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/versions/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Поиск\" placeholder=\"Поиск\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Поиск\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Очистить\" aria-label=\"Очистить\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Инициализация поиска\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Навигация\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Что такое PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Разрешения манифеста и AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ссылки на разрешения\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Объяснение пользовательского интерфейса\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Поиск\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Проверка по расписанию\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Наблюдатель разрешений\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Просмотр разрешений\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Пакетные операции\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Интеграция с WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Использование PMX с помощью ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Версии PMX\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Версии PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Содержание\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Содержание\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#paid-features\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Платные возможности\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ru/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Платные функции\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX FAQ\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Загрузки\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Скриншот\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ru/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Рейтинги / Обзоры / Комментарии / Голоса / Звезды\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Связаться с нами\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Приложения\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Приложения\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Управление Разрешениями X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Часто задаваемые вопросы про Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Часто задаваемые вопросы про Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Часто задаваемые вопросы\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Руководство ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Руководство ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Соединить/подключить приложение к ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Версии PMX</h1>\n\n<p>PMX доступен в двух вариантах: <strong>Оплачен</strong> и <strong>Бесплатно</strong>. Платная версия доступна в двух вариантах: <strong>Play Store</strong> и <strong>Pro</strong>. Последние APK выпущены в Play Store, GitHub и Telegram Channel.</p>\n<h2 id=\"paid-features\">Платные возможности<a class=\"headerlink\" href=\"#paid-features\" title=\"Permanent link\">&para;</a></h2>\n<p>Платная версия включает в себя все, что есть в бесплатной версии, а также следующие дополнительные функции, которые также перечислены в описании Play Store:</p>\n<ul>\n<li>Плановая проверка, чтобы сказать о плохих состояниях ссылок</li>\n<li>Следи за изменениями разрешений и отменяй их</li>\n<li>Автоматическая отмена разрешений с КРАСНЫМИ состояниями</li>\n<li>Внесение изменений в критически важные приложения и разрешения</li>\n<li>Поддержка нескольких пользователей/рабочего профиля</li>\n<li>Пакетные операции (профили)</li>\n<li>Просмотр разрешений</li>\n</ul>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  К началу\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Нижний колонтитул\" >\n        \n          \n          <a href=\"../use-with-adb/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Назад: Использование PMX с помощью ADB\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Назад\n              </span>\n              <div class=\"md-ellipsis\">\n                Использование PMX с помощью ADB\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../faqs/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Вперед: PMX FAQ\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Вперед\n              </span>\n              <div class=\"md-ellipsis\">\n                PMX FAQ\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u0421\\u043a\\u043e\\u043f\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u043e \\u0432 \\u0431\\u0443\\u0444\\u0435\\u0440\", \"clipboard.copy\": \"\\u041a\\u043e\\u043f\\u0438\\u0440\\u043e\\u0432\\u0430\\u0442\\u044c \\u0432 \\u0431\\u0443\\u0444\\u0435\\u0440\", \"search.result.more.one\": \"\\u0415\\u0449\\u0451 1 \\u043d\\u0430 \\u044d\\u0442\\u043e\\u0439 \\u0441\\u0442\\u0440\\u0430\\u043d\\u0438\\u0446\\u0435\", \"search.result.more.other\": \"\\u0415\\u0449\\u0451 # \\u043d\\u0430 \\u044d\\u0442\\u043e\\u0439 \\u0441\\u0442\\u0440\\u0430\\u043d\\u0438\\u0446\\u0435\", \"search.result.none\": \"\\u0421\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0439 \\u043d\\u0435 \\u043d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e\", \"search.result.one\": \"\\u041d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e 1 \\u0441\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0435\", \"search.result.other\": \"\\u041d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e \\u0441\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0439: #\", \"search.result.placeholder\": \"\\u041d\\u0430\\u0447\\u043d\\u0438\\u0442\\u0435 \\u043f\\u0435\\u0447\\u0430\\u0442\\u0430\\u0442\\u044c \\u0434\\u043b\\u044f \\u043f\\u043e\\u0438\\u0441\\u043a\\u0430\", \"search.result.term.missing\": \"\\u041e\\u0442\\u0441\\u0443\\u0442\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442\", \"select.version\": \"\\u0412\\u044b\\u0431\\u0435\\u0440\\u0438\\u0442\\u0435 \\u0432\\u0435\\u0440\\u0441\\u0438\\u044e\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/ru/whatsrunning-integration/index.html",
    "content": "\n<!doctype html>\n<html lang=\"ru\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"PMX интегрируется с WhatsRunning — переход между инструментами, чтобы проверить запущены ли приложения с ограниченными правами и проверить их использование ресурсов.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/whatsrunning-integration/\">\n      \n      \n        <link rel=\"prev\" href=\"../batch-operations/\">\n      \n      \n        <link rel=\"next\" href=\"../use-with-adb/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../whatsrunning-integration/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/whatsrunning-integration/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/whatsrunning-integration/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/whatsrunning-integration/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/whatsrunning-integration/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/whatsrunning-integration/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../../zh/whatsrunning-integration/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Интеграция с WhatsRunning - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Верхний колонтитул\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Интеграция с WhatsRunning\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Выберите язык\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../whatsrunning-integration/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/whatsrunning-integration/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/whatsrunning-integration/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/whatsrunning-integration/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/whatsrunning-integration/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/whatsrunning-integration/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../zh/whatsrunning-integration/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Поиск\" placeholder=\"Поиск\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Поиск\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Очистить\" aria-label=\"Очистить\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Инициализация поиска\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Навигация\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Что такое PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Разрешения манифеста и AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ссылки на разрешения\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Объяснение пользовательского интерфейса\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Поиск\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Проверка по расписанию\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Наблюдатель разрешений\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Просмотр разрешений\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Пакетные операции\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Интеграция с WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Использование PMX с помощью ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Версии PMX\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ru/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Платные функции\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX FAQ\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Загрузки\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Скриншот\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/ru/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Рейтинги / Обзоры / Комментарии / Голоса / Звезды\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Связаться с нами\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Приложения\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Приложения\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Управление Разрешениями X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Часто задаваемые вопросы про Android\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Часто задаваемые вопросы про Android\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Часто задаваемые вопросы\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Руководство ADB\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Руководство ADB\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Соединить/подключить приложение к ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Интеграция с WhatsRunning</h1>\n\n<p>PMX интегрирован с <a href=\"https://github.com/mirfatif/WhatsRunning\">WhatsRunning</a>, так что вы можете открыть друг с другом.</p>\n<p><img alt=\"Интеграция WhatsRunning\" class=\"media\" src=\"../../img/wrun_integration1.jpg\" /> <img alt=\"Интеграция WhatsRunning\" class=\"media\" src=\"../../img/wrun_integration2.webp\" /></p>\n<p>Таким образом, с PMX вы можете переключиться на WhatsRunning, чтобы узнать, все еще запущено ли приложение с ограниченными правами. Если да, то в каком состоянии он находится и сколько ресурсов использует.</p>\n<p>Так же, из WhatsRunning можно перейти в PMX , чтобы посмотреть, какие права есть у запущенного (или закрытого) приложения.</p>\n<p>Это особенно полезно при анализе эффекта разрешений типа <code>RUN_IN_BACKGROUND</code>.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  К началу\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Нижний колонтитул\" >\n        \n          \n          <a href=\"../batch-operations/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Назад: Пакетные операции\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Назад\n              </span>\n              <div class=\"md-ellipsis\">\n                Пакетные операции\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../use-with-adb/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Вперед: Использование PMX с помощью ADB\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Вперед\n              </span>\n              <div class=\"md-ellipsis\">\n                Использование PMX с помощью ADB\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u0421\\u043a\\u043e\\u043f\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u043e \\u0432 \\u0431\\u0443\\u0444\\u0435\\u0440\", \"clipboard.copy\": \"\\u041a\\u043e\\u043f\\u0438\\u0440\\u043e\\u0432\\u0430\\u0442\\u044c \\u0432 \\u0431\\u0443\\u0444\\u0435\\u0440\", \"search.result.more.one\": \"\\u0415\\u0449\\u0451 1 \\u043d\\u0430 \\u044d\\u0442\\u043e\\u0439 \\u0441\\u0442\\u0440\\u0430\\u043d\\u0438\\u0446\\u0435\", \"search.result.more.other\": \"\\u0415\\u0449\\u0451 # \\u043d\\u0430 \\u044d\\u0442\\u043e\\u0439 \\u0441\\u0442\\u0440\\u0430\\u043d\\u0438\\u0446\\u0435\", \"search.result.none\": \"\\u0421\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0439 \\u043d\\u0435 \\u043d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e\", \"search.result.one\": \"\\u041d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e 1 \\u0441\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0435\", \"search.result.other\": \"\\u041d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e \\u0441\\u043e\\u0432\\u043f\\u0430\\u0434\\u0435\\u043d\\u0438\\u0439: #\", \"search.result.placeholder\": \"\\u041d\\u0430\\u0447\\u043d\\u0438\\u0442\\u0435 \\u043f\\u0435\\u0447\\u0430\\u0442\\u0430\\u0442\\u044c \\u0434\\u043b\\u044f \\u043f\\u043e\\u0438\\u0441\\u043a\\u0430\", \"search.result.term.missing\": \"\\u041e\\u0442\\u0441\\u0443\\u0442\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442\", \"select.version\": \"\\u0412\\u044b\\u0431\\u0435\\u0440\\u0438\\u0442\\u0435 \\u0432\\u0435\\u0440\\u0441\\u0438\\u044e\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/scheduled-check/index.html",
    "content": "\n<!doctype html>\n<html lang=\"en\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Automate periodic permission audits with PMX. Scheduled checks detect unwanted changes, notify you, and optionally auto-revoke risky grants.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/scheduled-check/\">\n      \n      \n        <link rel=\"prev\" href=\"../search/\">\n      \n      \n        <link rel=\"next\" href=\"../permission-watcher/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../de/scheduled-check/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../es/scheduled-check/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../fr/scheduled-check/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../pt-BR/scheduled-check/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../ru/scheduled-check/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../ar/scheduled-check/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../zh/scheduled-check/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Scheduled Check - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Header\">\n    <a href=\"..\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Scheduled Check\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Select language\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../de/scheduled-check/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../es/scheduled-check/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../fr/scheduled-check/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../pt-BR/scheduled-check/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../ru/scheduled-check/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../ar/scheduled-check/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../zh/scheduled-check/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Search\" placeholder=\"Search\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Search\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Clear\" aria-label=\"Clear\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Initializing search\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"..\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"..\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    What is PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Manifest Permissions and AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission References\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    User interface explained\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Search\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Scheduled Check\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission Watcher\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission View\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Batch Operations\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integration with WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Using PMX with ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX Versions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Paid features\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX FAQs\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Screenshots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ratings / Reviews / Comments / Upvotes / Stars\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contact Us\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Apps\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Apps\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission Manager X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android FAQs\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android FAQs\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Frequently Asked Questions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB Guide\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB Guide\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Pair/connect the app to ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Scheduled Check</h1>\n\n<p>Do you want to keep track of any unwanted changes to the permissions for all the installed apps? Scheduled Check can do this for you at regular intervals (in minutes, hour or days).</p>\n<p>Set <a href=\"../permission-references/\">Permission References</a> to <font color=\"#90EE90\">GREEN</font> and leave the rest to PMX. If any permission is found changed (with <font color=\"#FF0000\">RED</font> state) or when a new app is found installed (with <font color=\"#FFC107\">ORANGE</font> state permissions), PMX reminds you that something needs your attention.</p>\n<p>Additionally, if configured in preferences, Scheduled Check can auto-revoke granted permissions followed by an informatory notification.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Back to top\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Footer\" >\n        \n          \n          <a href=\"../search/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Previous: Search\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Previous\n              </span>\n              <div class=\"md-ellipsis\">\n                Search\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../permission-watcher/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Next: Permission Watcher\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Next\n              </span>\n              <div class=\"md-ellipsis\">\n                Permission Watcher\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copied to clipboard\", \"clipboard.copy\": \"Copy to clipboard\", \"search.result.more.one\": \"1 more on this page\", \"search.result.more.other\": \"# more on this page\", \"search.result.none\": \"No matching documents\", \"search.result.one\": \"1 matching document\", \"search.result.other\": \"# matching documents\", \"search.result.placeholder\": \"Type to start searching\", \"search.result.term.missing\": \"Missing\", \"select.version\": \"Select version\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/search/index.html",
    "content": "\n<!doctype html>\n<html lang=\"en\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Powerful PMX search: find apps by label, package or UID; use deep search on permission names and boolean operators for fast permission audits.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/search/\">\n      \n      \n        <link rel=\"prev\" href=\"../details/\">\n      \n      \n        <link rel=\"next\" href=\"../scheduled-check/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../de/search/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../es/search/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../fr/search/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../pt-BR/search/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../ru/search/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../ar/search/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../zh/search/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Search - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Header\">\n    <a href=\"..\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Search\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Select language\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../de/search/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../es/search/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../fr/search/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../pt-BR/search/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../ru/search/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../ar/search/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../zh/search/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Search\" placeholder=\"Search\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Search\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Clear\" aria-label=\"Clear\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Initializing search\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"..\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"..\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    What is PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Manifest Permissions and AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission References\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    User interface explained\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Search\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Scheduled Check\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission Watcher\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission View\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Batch Operations\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integration with WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Using PMX with ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX Versions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Paid features\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX FAQs\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Screenshots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ratings / Reviews / Comments / Upvotes / Stars\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contact Us\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Apps\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Apps\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission Manager X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android FAQs\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android FAQs\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Frequently Asked Questions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB Guide\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB Guide\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Pair/connect the app to ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Search</h1>\n\n<p><img alt=\"Search\" class=\"media\" src=\"../img/search.webp\" /></p>\n<p>Normally package label, name and UID are searched from visible list.</p>\n<p>With <strong>Deep Search</strong>, permission name and other parameters are queried.</p>\n<p>Note that the <strong>Exclusion Filters</strong> are effective when making search.</p>\n<p>You can use the following special keywords in search:</p>\n<ul>\n<li>\n<p>App state:</p>\n<p><code>:Critical</code> <code>:Framework</code> <code>:System</code> <code>:User</code> <code>:Disabled</code></p>\n</li>\n<li>\n<p>Reference state:</p>\n<p><code>:ORANGE</code> <code>:GREEN</code> <code>:RED</code></p>\n</li>\n<li>\n<p>Permissions <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">protection level</a>:</p>\n<p><code>:Normal</code> <code>:Dangerous</code> <code>:Signature</code> <code>:Internal</code> <code>:Development</code> <code>:Privileged</code> <code>:Fixed</code> <code>:AppOps</code> <code>:Unknown</code></p>\n</li>\n<li>\n<p>Per UID AppOps:</p>\n<p><code>:UID</code></p>\n</li>\n<li>\n<p>AppOps with last access or reject time:</p>\n<p><code>:TIME</code></p>\n</li>\n<li>\n<p>Extra AppOps (never excluded in filter settings):</p>\n<p><code>:EXTRA</code></p>\n</li>\n<li>\n<p><code>&amp;</code> (AND), <code>|</code> (OR) and <code>!</code> (NOT) operators:</p>\n<p><code>Foo|Bar&amp;Baz</code></p>\n<p><code>Foo&amp;!Bar&amp;!Baz</code></p>\n</li>\n</ul>\n<p>Paid version also shows search suggestions (if set in preferences) to ease the search process.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Back to top\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Footer\" >\n        \n          \n          <a href=\"../details/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Previous: User interface explained\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Previous\n              </span>\n              <div class=\"md-ellipsis\">\n                User interface explained\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../scheduled-check/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Next: Scheduled Check\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Next\n              </span>\n              <div class=\"md-ellipsis\">\n                Scheduled Check\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copied to clipboard\", \"clipboard.copy\": \"Copy to clipboard\", \"search.result.more.one\": \"1 more on this page\", \"search.result.more.other\": \"# more on this page\", \"search.result.none\": \"No matching documents\", \"search.result.one\": \"1 matching document\", \"search.result.other\": \"# matching documents\", \"search.result.placeholder\": \"Type to start searching\", \"search.result.term.missing\": \"Missing\", \"select.version\": \"Select version\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/search/search_index.json",
    "content": "{\"config\":{\"lang\":[\"en\",\"de\",\"es\",\"fr\",\"ru\",\"ar\",\"zh\"],\"separator\":\"[\\\\s\\\\-]+\",\"pipeline\":[\"stopWordFilter\"],\"fields\":{\"title\":{\"boost\":1000.0},\"text\":{\"boost\":1.0},\"tags\":{\"boost\":1000000.0}}},\"docs\":[{\"location\":\"\",\"title\":\"What is PMX?\",\"text\":\"<p>It's the eXtended Permission Manager app for Android which makes it easy to set and review desired permissions on installed apps, keeping track of any unwanted changes. Giving control on your device, it enables you to protect your privacy and save your resources like battery usage.</p> <p>PMX provides all the scattered (or otherwise unavailable) permission-related information and controls on a single screen so that you can watch and control them in a comprehensive and convenient way.</p> <p>Using PMX you can:</p> <ul> <li>View / grant / revoke all the manifest permissions which can or cannot be set using app's settings screen. The list of permissions which cannot be set from GUI is very long.</li> <li>View all the AppOp permissions which usually don't have any GUI setting. E.g. <code>VIBRATE</code> and <code>READ_CLIPBOARD</code>. You can set the desired AppOps mode e.g. Ignore or Foreground.</li> <li>View all permissions requested by an app which are not changeable.</li> <li>View last used time for many AppOp permissions.</li> <li>Change System-Fixed permissions which cannot be changed by any other means.</li> <li>Real-time watch for permission changes or perform scheduled scans.</li> <li>Sort apps and permissions by many parameters including install date and number of permissions.</li> <li>Make advanced search queries in apps and their permissions.</li> <li>And much more.</li> </ul> <p>Also see Github README and Play Store description. Or just try it out. We offer a free version and a one month free trial.</p> <p>It's amazing na? Let's get into details.</p> <ul> <li>Manifest Permissions and AppOps</li> <li>Permission References</li> <li>User interface explained</li> <li>Search</li> <li>Scheduled Check</li> <li>Permission Watcher</li> <li>Permission View</li> <li>Batch Operations</li> <li>Integration with WhatsRunning</li> <li>Using PMX with ADB</li> <li>PMX Versions</li> <li>Paid features</li> <li>PMX FAQs</li> <li>Downloads</li> <li>Screenshots</li> <li>Contact Us</li> </ul>\"},{\"location\":\"#rate-review\",\"title\":\"Ratings / Reviews / Comments / Upvotes / Stars\",\"text\":\"<ul> <li>Play Store</li> <li>XDA</li> <li>GitHub</li> </ul>\"},{\"location\":\"batch-operations/\",\"title\":\"Batch Operations\",\"text\":\"\"},{\"location\":\"batch-operations/#permission-profiles\",\"title\":\"Permission Profiles\",\"text\":\"<ul> <li>Create and edit permission profiles (templates).</li> <li>Apply a profile to a selected list of apps.</li> <li>Select a Default Profile to apply on newly installed apps (if Permission Watcher is enabled).</li> </ul> <p>Here is an example video guide how to create and apply a profile.</p>\"},{\"location\":\"batch-operations/#operations-with-references\",\"title\":\"Operations with References\",\"text\":\"\"},{\"location\":\"batch-operations/#set-permissions\",\"title\":\"Set Permissions\",\"text\":\"<p>Go through a list of selected apps and make RED permissions GREEN by setting their states according to the reference values. Permissions with Green and Orange states are ignored.</p> <p>This option is usually helpful when you have just restored a backup and there are many permissions with RED state.</p>\"},{\"location\":\"batch-operations/#set-references\",\"title\":\"Set References\",\"text\":\"<p>Go through a list of selected apps and make RED and ORANGE permissions GREEN by setting their reference values according to the permission states.</p> <p>This option is usually helpful during an initial setup. You have just installed the PMX app and spent a few hours setting permissions. This option will make them all GREEN in a single tap.</p>\"},{\"location\":\"batch-operations/#cleanup-references\",\"title\":\"Cleanup References\",\"text\":\"<p>Cleanup permissions references database. Unused references will be removed.</p> <p>If there's a huge list of unused references, a cleanup may improve loading of app list.</p>\"},{\"location\":\"batch-operations/#reset-references\",\"title\":\"Reset References\",\"text\":\"<p>Reset permissions references database. All references will be removed.</p> <p>Not meant to be used normally. But in case if you want to start from scratch.</p> <p></p>\"},{\"location\":\"details/\",\"title\":\"User interface explained\",\"text\":\"\"},{\"location\":\"details/#apps-list\",\"title\":\"Apps List\",\"text\":\"<ol> <li> <p>Colored strip at the left indicates reference state</p> </li> <li> <p>App icon</p> </li> <li> <p>First line shows package label</p> </li> <li> <p>Second line shows package name and</p> </li> <li> <p>UID</p> </li> <li> <p>Third line (optionally) shows package's state: Critical (Framework), Framework or System app. Also if the app is Disabled. No state is shown for Enabled, User apps.</p> </li> <li> <p>Last line shows count of visible out of total manifest permissions and</p> </li> <li> <p>AppOps permissions.</p> <p>Invisible permissions are those excluded in Exclusion Filters.</p> </li> <li> <p>If sorted by install or update time, the last line also shows date or time on the right side.</p> </li> </ol>\"},{\"location\":\"details/#permissions-list\",\"title\":\"Permissions List\",\"text\":\"<ol> <li>Colored strip at the left indicates reference state</li> <li>Manifest permissions show a flag in the upper right corner</li> <li>Permission icon</li> <li>First line shows permission name</li> <li>Second line shows permission's protection level: Normal, Dangerous, Signature, Development, Privileged, Fixed, AppOps or Unknown. Also if AppOp is per Package or per UID. And if it is an Extra AppOp (never excluded in filter settings).</li> <li>Third line (in case of AppOp) shows last access or reject time</li> <li>Fourth line (in case of AppOp) shows the referenced value if it doesn't match the current set value.</li> <li>Switch to change the permission state</li> <li>Current state (in case of AppOp)</li> <li>Default indicates that the AppOp state has never been changed</li> </ol>\"},{\"location\":\"faqs/\",\"title\":\"PMX FAQs\",\"text\":\"\"},{\"location\":\"faqs/#faq36\",\"title\":\"Why do I need to use PMX?\",\"text\":\"<p>Because:</p> <ul> <li>PMX provides all the scattered (or otherwise unavailable) permission-related information and controls on a single screen so that you can watch and control them in a comprehensive and convenient way.</li> <li>There's no official tool available in stock Android to change AppOps. Only a subset of manifest permissions are exposed to user in permission settings. PMX exposes all the permissions in raw form. Related: Manifest permissions and AppOps.</li> <li>PMX makes it easy for you to keep track of any unwanted changes to permissions.</li> <li>Giving control on your device, PMX enables you to save device resources like battery and network bandwidth, and protect your privacy. You are not entirely left to the mercy of app and ROM developers. Read this article to get an idea.</li> <li>PMX can monitor permission changes in realtime, reverting them automatically when you stop using an app. Or it can perform scheduled scan of permissions. So you don't have to remember things.</li> <li>PMX makes it easy for you to backup and restore permissions state of installed apps so that you don't have to tweak an app's permissions again and again.</li> </ul> <p>Please also see What is PMX?</p>\"},{\"location\":\"faqs/#faq1\",\"title\":\"Why PMX requires root or ADB access?\",\"text\":\"<p>Android intentionally restricts apps from modifying other apps' manifest or AppOps permissions (and in many cases from changing some of their own). These platform safeguards protect user privacy and system integrity.</p> <p>To perform actions that require elevated privileges, PMX uses a small, separate privileged helper rather than trying to do everything from the normal app process. By default that helper runs under the ADB UID (<code>2000</code>) when started via ADB, or under the System UID (<code>1000</code>) on rooted devices. If you have a rooted device, you can change the helper's UID in Advanced Settings.</p>\"},{\"location\":\"faqs/#faq33\",\"title\":\"My device isn't rooted. How can I use PMX?\",\"text\":\"<p>Use PMX with ADB. Please do read the note at the start. There might be some limitations on some devices.</p>\"},{\"location\":\"faqs/#faq42\",\"title\":\"Why does PMX not run or work properly on the latest Android?\",\"text\":\"<p>PMX relies on Android's hidden APIs or non-SDK interfaces which are not documented (on Android Developers) unlike standard APIs. So with every new Android release, we have to go through the Android source code to find out which APIs have broken (changed or removed).</p> <p>Also, it takes time to fix the broken APIs; sometimes weeks, sometime months. And it's not guaranteed that we'll always be able to fix the broken APIs. Sometimes Google on purpose makes it difficult or impossible for us to keep using the hidden APIs.</p> <p>Therefore it's not possible for us to make the PMX immediately work on every new Android release (particularly in beta phase) as long as the final AOSP source code is not publicly released (on Code Search or Git Repository).</p> <p>PMX's final supported Android version is stated in app description on GitHub and Play Store. When you run the app on an unsupported version for the first time, it shows a warning like this:</p> <p></p>\"},{\"location\":\"faqs/#faq43\",\"title\":\"Why does PMX not work properly on OEM operating systems or custom ROMs?\",\"text\":\"<p>PMX relies on Android's hidden APIs or non-SDK interfaces which are not documented (on Android Developers) unlike standard APIs. So we need access to the source code of your ROM to know exactly how the hidden APIs work.</p> <p>Well, AOSP (which is developed by Google) is open-source. But if your OEM or ROM developer makes some changes to AOSP for the customization purpose, we've no way to know exactly what changes they have made to the stock AOSP code. We're quite helpless here. And this fact is stated in app description on GitHub and Play Store. Sorry.</p>\"},{\"location\":\"faqs/#faq2\",\"title\":\"How does PMX change other apps permissions?\",\"text\":\"<p>PMX itself cannot and does not grant or revoke other apps' permissions. In fact no third party app is privileged to do that. It's the Android OS which controls apps' permissions. PMX just sends a request to the Android framework to change a permission's state. Now it's entirely up to Android how much it honors our request. Not all permissions are changeable. And if you are not able to change a permission's state using PMX, you won't be able to change it in any other way either.</p>\"},{\"location\":\"faqs/#faq34\",\"title\":\"Do the permissions remain changed after ADB is turned off, or root is denied, or PMX is uninstalled?\",\"text\":\"<p>PMX itself cannot and does not grant or revoke other apps' permissions. In fact no third party app is privileged to do that. It's the Android OS which controls apps' permissions. PMX just sends a request to the Android framework to change a permission's state.</p> <p>So once a permission is changed, it makes no difference if you uninstall PMX or drop its privileges. The permission remains in whatever state it is, unless changed again by you or the operating system.</p>\"},{\"location\":\"faqs/#faq15\",\"title\":\"Why can't I change XYZ permission?\",\"text\":\"<p>Manifest permissions with only Dangerous protection level (and a few others) are changeable. AppOps not dependent on some other AppOp are changeable. That's how Android works, we can't change the behavior. See Manifest permissions and AppOps.</p> <p>Additionally, PMX protects some critical framework apps and permissions; changing them might brick the device. See the related question.</p> <p>Also see Why do some AppOps cannot be changed?</p> <p>Note that starting with Android 15, manifest permissions of system apps with Development protection level cannot be revoked. Android silently ignores the request.</p>\"},{\"location\":\"faqs/#faq37\",\"title\":\"I've changed a permission but it's not working. Why?\",\"text\":\"<p>After changing a permission successfully, if you are not getting the desired results i.e. it reverts back immediately or after some hours or days, it's the Android operating system to be blamed. Please see:</p> <ul> <li>How does PMX change other apps permissions?</li> <li>Why do some AppOps cannot be changed?</li> </ul> <p>As you use apps, Android may change their permissions. And unfortunately we do not have a way to prevent this. Permission Watcher and Scheduled Checker may help in this regard.</p>\"},{\"location\":\"faqs/#faq3\",\"title\":\"Why do some AppOps cannot be changed?\",\"text\":\"<p>Sometimes you see \\\"AppOp mode not changed\\\". It means that Android rejected the request to change the AppOp mode. You cannot change it no matter what method or app you use. There could be multiple possible reasons.</p> <ul> <li> <p>Some AppOps are dependent on their corresponding manifest permissions. So they cannot be changed independently. For instance you may not be able to deny <code>READ_CONTACTS</code> AppOp if <code>android.permission.READ_CONTACTS</code> manifest permission is granted.</p> <p>Also if the app has not requested the manifest permission in its manifest file, its AppOp permission can also not be granted. But it may still appear in the app's permission list if the app has tried to use it (and got rejected). <code>SYSTEM_ALERT_WINDOW</code> is one such example.</p> </li> <li> <p>Some AppOps are only used by Android for compatibility (e.g. <code>LEGACY_STORAGE</code>) and they don't actually control anything. If we explore their underlying working it's revealed that granting / revoking such permissions doesn't make sense.</p> </li> <li> <p>Some permissions cannot be changed if the app is running on or is targeting an older or newer Android version.</p> </li> <li> <p>Some OEM ROMs behave weird when it comes to AppOps. See Why does PMX not work properly on OEM operating systems or custom ROMs?</p> </li> <li> <p>Many AppOps can have 2 modes: package mode and UID mode. It's possible that one can be changed while the other cannot be.</p> <p>Usually UID AppOps take precedence over their package AppOp counterparts. In this case the effective mode of the package AppOp is same as that of its UID AppOps. So you cannot change the package AppOp alone.</p> <p>Some AppOps prefer to be set in package mode, not UID mode. But if it's wrongly set in UID mode (with commandline tool or by some other app), it becomes non-responsive to any changes. Do \\\"Reset AppOps\\\" from top right menu to make it work again. This is also the case with other AppOps which have a corresponding manifest permission with AppOp protection level.</p> </li> </ul> <p>Actually there come many more explanations if we dig every app and permission individually (which doesn't sound practical). As stated above, PMX doesn't change other apps' permissions on its own. So even if for some unknown reason Android doesn't change a permission, or reverts it back immediately, there's nothing we can do to force it because these are the limitations at Android end. Rather, I should say this is how Android works.</p> <p>Related:</p> <ul> <li>What are different AppOp modes and which one should I use?</li> <li>Why cannot I set AppOp mode to foreground?</li> </ul>\"},{\"location\":\"faqs/#faq6\",\"title\":\"Why don't I see XYZ app in packages list?\",\"text\":\"<p>Please check Exclusion Filters. Almost all the stock Android packages are excluded by default. You can exclude / include any package you want from / to visible list.</p>\"},{\"location\":\"faqs/#faq7\",\"title\":\"Why don't I see XYZ permission in ABC package?\",\"text\":\"<p>Please check Exclusion Filters. Permissions which are not changeable are excluded from the visible list by-default.</p>\"},{\"location\":\"faqs/#faq8\",\"title\":\"Why don't I see XYZ AppOp in ABC package?\",\"text\":\"<p>Please check Exclusion Filters if XYZ AppOp is excluded from the visible list. Or ABC package might not be using XYZ operation. You don't need to be worried about this.</p> <p>But if you want to see the XYZ AppOp for all apps, go to Exclusion Filters \\u2192 Extra AppOps, never excluded and check XYZ AppOp in the list.</p> <p>For instance, write <code>_CLIPBOARD</code> in search box (with Deep Search box checked) and you'll get all apps which used (or tried to use) <code>READ_CLIPBOARD</code> or <code>WRITE_CLIPBOARD</code> permission. Timestamp is also shown (but not for all AppOps).</p> <p>So if the app you are concerned about isn't in the search results, check both AppOps in the Exclusion Filters list mentioned above.</p>\"},{\"location\":\"faqs/#faq5\",\"title\":\"What should I select for Privileged Daemon UID in Advanced Settings? System or ADB?\",\"text\":\"<p>It matters only if you are using root, or <code>adbd</code> on your device is running with root (which is not the case with the final user devices).</p> <p>Preferably use System (UID <code>1000</code>) as it allows more privileges than ADB (UID <code>2000</code>). E.g. changing \\\"System-Fixed\\\" permissions is possible only when running as system.</p>\"},{\"location\":\"faqs/#faq9\",\"title\":\"What are \\\"invalid permissions\\\" in Exclusion Filters?\",\"text\":\"<p>If an app is requesting a manifest permission but it's not declared (provided) by Android framework or any of the installed packages, it's an invalid permission. For instance <code>com.android.vending.BILLING</code> is an invalid permission if Play Store app is not installed on your device.</p>\"},{\"location\":\"faqs/#faq10\",\"title\":\"What are \\\"extra AppOps\\\" in Exclusion Filters?\",\"text\":\"<p>Not all AppOps are being used for all installed apps. But you can enforce an AppOp to any app. Selected Extra AppOps appear in all apps' permission lists so that you can set them.</p>\"},{\"location\":\"faqs/#faq11\",\"title\":\"What are different AppOp modes and which one should I use?\",\"text\":\"<p>Normally you should Allow or Ignore. Or you may want to allow an operation only when the app is in Foreground (only on Android 9 and above). Deny is the intense version of Ignore which may crash the requesting app. Default is the system's default behavior which differs for different AppOps.</p> <p>Please note that not every AppOp mode can be possibly set on every AppOp for every app. For instance on recent Android releases <code>CAMERA</code> and <code>MICROPHONE</code> are allowed to be used by user apps only in foreground (even if set mode is Allow). Similarly, some AppOps can never be set to Foreground mode.</p> <p>Related: Why do some AppOps cannot be changed?</p> <p>Official documentation: AppOpsManager.</p>\"},{\"location\":\"faqs/#faq12\",\"title\":\"What's the difference between \\\"Ignore\\\" and \\\"Deny\\\" AppOp modes?\",\"text\":\"<p>Ignore silently fails while Deny throws back an error to the app which the app might not be expecting and may crash. You should normally be using Ignore.</p>\"},{\"location\":\"faqs/#faq41\",\"title\":\"Why cannot I set AppOp mode to foreground?\",\"text\":\"<p>Foreground mode cannot be set for all AppOps. Even when set, it may not give expected results.</p> <p>Related:</p> <ul> <li>What are different AppOp modes and which one should I use?</li> <li>Why do some AppOps cannot be changed?</li> </ul> <p>Please note that the permission mode \\\"Allow only while using the app\\\" does not alway set the AppOp mode to \\\"Foreground\\\":</p> <p></p> <p>Normally we see only two states for a manifest permission: granted and revoked. But Android uses flags to split these two states into many sub-states. For some permissions the same phenomenon is used to achieve the \\\"grant only when the app is visible\\\" behavior. AppOp permission is not used in this case.</p> <p>For more details see official documentation of background access and foreground access.</p> <p>For simplicity, PMX does not watch permission flags at the moment. But in future an option might be added to also track changes to permission flags even if granted / revoked mode remains unchanged.</p>\"},{\"location\":\"faqs/#faq14\",\"title\":\"What does <code>WAKE_LOCK</code> permission do?\",\"text\":\"<p>Apps hold wakelock to keep the device awake i.e. not entering Doze mode.</p>\"},{\"location\":\"faqs/#faq16\",\"title\":\"How can I change <code>INTERNET</code> permission?\",\"text\":\"<p>Android doesn't allow changing all permissions, like those with the Normal protection level (e.g. <code>INTERNET</code>) or those with Fixed flag or Signature protection level (usually System or Framework apps). See Manifest permissions and AppOps.</p> <p>But if you are rooted, Fyrypt gives you very strong control over network activity happening on your device.</p>\"},{\"location\":\"faqs/#faq40\",\"title\":\"What are Fixed permissions?\",\"text\":\"<p>System-fixed permissions are granted to the preinstalled apps by the OEMs or ROM developers. They are not meant to be changed. But if your device is rooted, PMX can change system-fixed permissions.</p> <p>Policy-fixed permissions are granted (or denied) by the IT admins on managed devices. They cannot be changed.</p> <p>User-fixed permissions are fixed by the user. If a user denies a permission a few times when the app requests for it, the operating system marks the permission as user-fixed and shows no more prompts to the user to grant the permission if the app asks for the same permission again. This kind of fixed permissions can be changed easily whenever the user wants.</p>\"},{\"location\":\"faqs/#faq17\",\"title\":\"How can I change System-Fixed permissions, Signature/Privileged permissions, or the permissions of framework apps?\",\"text\":\"<p>If your device is rooted, in paid version you can Allow Critical Changes in Advanced Settings to make changes to the permissions with the System-Fixed flag, protection level Signature or Privileged, or those of framework app. But it's not recommended to play with the System and Framework apps. You can brick your device.</p>\"},{\"location\":\"faqs/#faq18\",\"title\":\"What is \\\"UID mode\\\" in AppOp permissions?\",\"text\":\"<p>It's a mode of an AppOp permission which indicates that changing this AppOp will also affect other apps (with the same UID), if installed. See <code>sharedUserId</code>.</p> <p>Note that UID mode takes precedence over package mode for many AppOps.</p>\"},{\"location\":\"faqs/#faq39\",\"title\":\"Can I control Android's \\\"Remove permissions if app isn't used\\\" feature from PMX?\",\"text\":\"<p>Yes. This feature is available since Android 11. It's also labeled as \\\"Pause app activity if unused\\\" on some devices.</p> <p></p> <p>To change this option from PMX:</p> <ol> <li>Go to Exclusion Filters \\u2192 Extra AppOps list and check <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code>.</li> <li>Back on the main screen, type <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code> in the top search bar. Make sure that deep search is enabled in search settings.</li> <li>Set the mode Allow or Ignore for whichever apps you want.</li> </ol> <p>You can also use Permission View or Batch Operations in place of step 2 and 3. Here's a guide how you would do it using Batch Operations:</p>      Remove permissions if app isn't used\"},{\"location\":\"faqs/#faq31\",\"title\":\"Why do I get a lot of \\\"Bad ROM\\\" popups?\",\"text\":\"<p>OEMs make huge changes to stock AOSP code (which is developed by Google). So the AppOps framework on some custom / OEM ROMs returns unexpected results which PMX cannot understand. You can ignore these popups, but they mean that the functionality is somewhat limited.</p> <p>You can turn off these popups in Settings \\u2192 General settings \\u2192 Disable bad ROM toasts.</p> <p>See Why does PMX not work properly on OEM operating systems or custom ROMs?</p>\"},{\"location\":\"faqs/#faq19\",\"title\":\"What do the \\\"Hide From List\\\" buttons (on long press) do?\",\"text\":\"<p>They both just hide the app or the permission from the visible list. If you don't want to change a permission for any app, you may hide it. And it won't appear for any app. To unhide it again go to Exclusion Filters settings.</p> <p>Similarly, you can exclude an app from the visible list if you are not concerned about its permissions.</p> <p> </p>\"},{\"location\":\"faqs/#faq21\",\"title\":\"Is there a complete list of all permissions available with explanation?\",\"text\":\"<p>There's no complete list of permissions with description, at least in my knowledge. PMX Pro version shows a brief description of common manifest and AppOp permissions.</p> <p>There are third party resources like this one by Izzy. Android's official developer site and source code are also good sources for learning.</p> <p>With every new Android release some new permissions are added, and some also get obsolete. Also, not all permissions are needed to be taken care of by every user.</p>\"},{\"location\":\"faqs/#faq22\",\"title\":\"How to use the app in work profile / multi-user environment?\",\"text\":\"<p>Pro version supports work profiles and multiple users. Select a user from the drop-down menu.</p> <p></p>\"},{\"location\":\"faqs/#faq24\",\"title\":\"How does PMX compare to XPrivacyLua? Can they replace each other?\",\"text\":\"<p>PMX is not designed to replace but to compliment projects like XPrivacyLua. They have different design goals.</p> <p>XPrivacyLua hacks Android's standard functionality by hooking into internal APIs, using Xposed which replaces some Android libraries with the hacked ones. So we get extra functionality like feeding fake data to the apps and get notified of permission related events which we cannot know of by any other normal means.</p> <p>PMX on the other hand is not targeted to be a framework module. It provides convenient access to some privileged APIs which normal apps cannot use. It's not hacking Android's standard functionality by any means. Most of the tasks PMX performs can also be performed from commandline, except a few like changing System-Fixed permissions.</p> <p>Rooting and Xposed are two strict requirements for using XPrivacyLua. PMX doesn't require any of the both for the most part. Both aren't available for many devices or many users don't consider them as an option due to the technical difficulties involved, warranty void, SafetyNet failing and other issues.</p> <p>More explanation here and here.</p>\"},{\"location\":\"faqs/#faq32\",\"title\":\"Can PMX auto remove permissions when an app is closed, like Bouncer does?\",\"text\":\"<p>Yes. See Permission Watcher and Scheduled Check. But it doesn't use Android's Accessibility feature to perform taps / clicks on screen on user's behalf (though it's a good feature without requiring any extra setup). PMX relies on root or ADB privileges. So it can do far more (see What is PMX?) than what can be done using Accessibility features.</p> <p>If you are using ADB, and not root, Permission Watcher may not work on some devices. Please see the Limitations of ADB.</p>\"},{\"location\":\"faqs/#faq35\",\"title\":\"Can I get notified when a new app is installed?\",\"text\":\"<p>Yes. See Permission Watcher.</p> <p>Since Android 8 it's not possible for background (not running) apps to get notified of the new app installed event. So we've to run a foreground service (with persistent notification) to receive this event. Or you may consider using Scheduled Check to keep things in place.</p>\"},{\"location\":\"faqs/#faq38\",\"title\":\"When a new app is installed, can PMX drop its permissions by default?\",\"text\":\"<p>Yes. But there are no permissions to drop. All the revocable manifest permissions are already revoked and stay revoked unless the user grants them explicitly. As far as AppOps are concerned, many of them don't appear until at least once used by the app e.g. <code>VIBRATE</code> and <code>READ_CLIPBOARD</code>. Many others (e.g. <code>READ_CONTACTS</code>) have their corresponding manifest permissions already dropped, as pointed out. So it's not predictable at the time of app installation which AppOps should be removed.</p> <p>But a notification is displayed when a new app is installed (if using Permission Watcher) so the user can set permissions one by one or apply a profile.</p>\"},{\"location\":\"faqs/#faq25\",\"title\":\"Why PMX requires INTERNET permission?\",\"text\":\"<p>The standalone Pro version requires internet connection for license verification. Other versions can work completely offline. Though Play Store app needs internet connection for license verification.</p>\"},{\"location\":\"faqs/#optional-use-of-internet-permission\",\"title\":\"Optional use of <code>android.permission.INTERNET</code> permission\",\"text\":\"<ul> <li>Check for app updates. You can disable this in app settings.</li> </ul>\"},{\"location\":\"faqs/#on-device-use-of-internet-permission\",\"title\":\"Local (on-device) use of <code>android.permission.INTERNET</code> permission\",\"text\":\"<p>Android does not allow apps to create network sockets without having the <code>INTERNET</code> permission even if they are meant to be used only locally and not for an internet connection. PMX has two uses of local (on-device) connections (the ability to create <code>localhost</code> sockets at <code>127.0.0.1</code>) for Inter Process Communication (IPC):</p> <ul> <li>PMX starts a background process with root / ADB privileges and talks to that process over network socket. After the initial handshake, both processes start talking over Binder. We have no better way to do this because Android doesn't allow apps to talk over UNIX domain sockets either.</li> <li>If your device is not rooted and you use PMX with ADB, then connecting to <code>adbd</code> requires internet permissions. See Is PMX spying on me using ADB over network?</li> </ul> <p>So if the app is unable to create or use local network sockets, it will fail. And if you want to stop PMX from using internet, it must not stop the app from talking to on-device processes over loopback interface for IPC. This is usually the case with <code>iptables</code>-based firewalls like Fyrypt and VPN based firewalls like NetGuard. But some ROMs have a built-in feature to disallow network access:</p> <p></p> <p>This not only prevents the app from using internet but also disables its ability to create loopback sockets for IPC. So PMX won't be able to get root / ADB privileges if this permission is denied.</p>\"},{\"location\":\"faqs/#faq26\",\"title\":\"How much privacy friendly PMX is? Do you collect users' data?\",\"text\":\"<p>No. We do not collect your data. Never. Not even a single byte. PMX has an open source version. We believe in our users being educated and well-informed of why they are using PMX. We respect your privacy, so no data is collected ever, even the crash logs. You may also want to see our Privacy Policy.</p>\"},{\"location\":\"faqs/#faq27\",\"title\":\"Is PMX spying on me using ADB over network?\",\"text\":\"<p>No.</p> <p>PMX talks to <code>adbd</code> process over localhost (<code>127.0.0.1</code>). But there's no way to start <code>adbd</code> listen on localhsot only, and not on other network interfaces (because ADB is meant to be used externally from a PC). You can surely stop <code>adbd</code> listening from external IP addresses, if you can. PMX would still work, without any port being exposed externally.</p> <p>Also you can change <code>5555</code> port to whatever number you want in Advanced Settings. It's not hard-coded.</p> <p>Also ADB since Android 4.2 is meant to be protected with RSA key authentication (one of the strongest authentication mechanism). So even if the device is accessible from internet (which is highly unlikely), no one can make an ADB connection without authentication.</p> <p>You can verify these claims in whatever way you want. We are here to assist you technically.</p>\"},{\"location\":\"faqs/#faq28\",\"title\":\"Is PMX misusing root privileges to collect my data?\",\"text\":\"<p>We believe in the principle of the least privilege. But due to the restricted nature of Android operating system, PMX cannot function without having high privileges. What we can offer is, if you are a tech-savvy person, we can teach you how to make it difficult for apps to make internet connections, even with root privileges.</p>\"},{\"location\":\"faqs/#faq29\",\"title\":\"I think PMX is useless. Why was it created?\",\"text\":\"<p>We respect your opinion. PMX is not for everyone (and that's why it wasn't polished and released to public for years because we knew we've a very small audience). It's only for some extra tech-savvy souls who are extra-conscious about their privacy and device control. Majority of the phone users are just in the hands of their OEMs and app developers. They aren't aware of what's being done to them and their data. Majority prefers convenience over privacy. And it's fine.</p>\"},{\"location\":\"permission-references/\",\"title\":\"Permission References\",\"text\":\"<p>Suppose you spent a whole Sunday setting wanted permissions on 200+ installed apps. And:</p> <ul> <li>The next month you upgraded your device, or installed a new ROM.</li> <li>Or you uninstalled and reinstalled a few of the apps for some reason.</li> <li>Or you granted a few permissions, as requested by the apps.</li> </ul> <p>Will you go through the whole hassle once again?</p> <p>No you don't need to. You can make PMX remember your desired permission states. Set a permission, make it GREEN, and done. It will take only a few moments to look at all installed packages and figure out which permissions aren't correctly set e.g. by making a quick search: <code>:RED|:ORANGE</code> or <code>!:GREEN</code>. See Search for more details.</p> <p>Three reference states are:</p> <ul> <li>ORANGE state indicates that no reference value is set.</li> <li>GREEN indicates that reference value matches currently set value.</li> <li>RED indicates that reference value and set value differ.</li> </ul> <p>Reference states can be backed up and restored conveniently. After a restore, there's a convenient way to set all permissions according to restored references. See Batch Operations.</p> <p>There are multiple ways you can set a reference:</p> <ul> <li>Long press a permission and tap the \\\"Set Reference \\\" / \\\"Clear Reference\\\" button.</li> <li>There's a top menu option on every app's permission list screen to set or clear all references.</li> <li>Set references in bulk with Batch Operations.</li> <li>Enable the \\\"Auto-set reference\\\" preference under Settings \\u2192 General settings. So whenever you change a permission state, it's also set as a reference.</li> </ul>\"},{\"location\":\"permission-view/\",\"title\":\"Permission View\",\"text\":\"<p>Permission View shows a list of all permissions with a count of how many apps are using these permissions.</p> <p></p> <ol> <li>Permission name</li> <li>Protection level</li> <li>App count</li> <li>Granted permission count out of total permission count. The latter can be bigger than the app count because some apps may use an AppOp permission twice (in UID mode).</li> </ol> <p>When you select a permission, a list of apps using this permission shows up:</p> <p></p> <ol> <li>Permission name</li> <li>Permission description</li> <li>Flag indicating that the permission is granted</li> <li>App icon</li> <li>App label</li> <li>Package name</li> <li>App UID</li> </ol> <p>When you select an app, the permission list opens where you can change the permission state.</p>\"},{\"location\":\"permission-watcher/\",\"title\":\"Permission Watcher\",\"text\":\"<p>Some apps do not work without having a certain permission granted. But you want to grant the permission for the time only when you are using the app, and revoke the permission as soon as you leave the app.</p> <p>Permission Watcher does exactly this. As soon as you leave the app, or after the set time has passed, it revokes an app's permissions (manifest and AppOp) on its own, or asks you to do so, depending on the preferences you've set.</p> <p></p> <p>Permission Watcher also notifies you to set permissions on newly installed apps (in primary user / owner profile only).</p> <p></p> <p>Note:</p> <ul> <li>Only the permissions with RED reference state are revoked, not those with the ORANGE state. So you MUST first set the reference states. See Permission References.</li> <li>Manifest permissions only with Dangerous protection level are watched. Those are the ones usually changed. Permissions with Signature or Development protection level or those with System-Fixed flag set are not watched, though they are changeable.</li> <li>PMX watches only User-installed or normal System apps, not Framework apps. Changing them might brick the device.</li> <li>On some devices Permission Watcher may not work reliably for apps in the secondary user / profile. Using it in combination with Scheduled Checker is recommended.</li> </ul> <p>Why starting Permission Watcher fails?</p> <p>Are you using ADB? Some OEMs remove permission <code>OBSERVE_GRANT_REVOKE_PERMISSIONS</code> or <code>SET_ACTIVITY_WATCHER</code> from Shell package. If this is the case with you, we are sorry. This is something we cannot fix. On such devices Permission Watcher can work only with root. See the Limitations of ADB.</p>\"},{\"location\":\"scheduled-check/\",\"title\":\"Scheduled Check\",\"text\":\"<p>Do you want to keep track of any unwanted changes to the permissions for all the installed apps? Scheduled Check can do this for you at regular intervals (in minutes, hour or days).</p> <p>Set Permission References to GREEN and leave the rest to PMX. If any permission is found changed (with RED state) or when a new app is found installed (with ORANGE state permissions), PMX reminds you that something needs your attention.</p> <p>Additionally, if configured in preferences, Scheduled Check can auto-revoke granted permissions followed by an informatory notification.</p>\"},{\"location\":\"search/\",\"title\":\"Search\",\"text\":\"<p>Normally package label, name and UID are searched from visible list.</p> <p>With Deep Search, permission name and other parameters are queried.</p> <p>Note that the Exclusion Filters are effective when making search.</p> <p>You can use the following special keywords in search:</p> <ul> <li> <p>App state:</p> <p><code>:Critical</code> <code>:Framework</code> <code>:System</code> <code>:User</code> <code>:Disabled</code></p> </li> <li> <p>Reference state:</p> <p><code>:ORANGE</code> <code>:GREEN</code> <code>:RED</code></p> </li> <li> <p>Permissions protection level:</p> <p><code>:Normal</code> <code>:Dangerous</code> <code>:Signature</code> <code>:Internal</code> <code>:Development</code> <code>:Privileged</code> <code>:Fixed</code> <code>:AppOps</code> <code>:Unknown</code></p> </li> <li> <p>Per UID AppOps:</p> <p><code>:UID</code></p> </li> <li> <p>AppOps with last access or reject time:</p> <p><code>:TIME</code></p> </li> <li> <p>Extra AppOps (never excluded in filter settings):</p> <p><code>:EXTRA</code></p> </li> <li> <p><code>&amp;</code> (AND), <code>|</code> (OR) and <code>!</code> (NOT) operators:</p> <p><code>Foo|Bar&amp;Baz</code></p> <p><code>Foo&amp;!Bar&amp;!Baz</code></p> </li> </ul> <p>Paid version also shows search suggestions (if set in preferences) to ease the search process.</p>\"},{\"location\":\"use-with-adb/\",\"title\":\"Using PMX with ADB\",\"text\":\"\"},{\"location\":\"use-with-adb/#limitations-of-adb\",\"title\":\"Limitations of ADB\",\"text\":\"<p>ADB is not as powerful as root is. You can check the current status of what ADB can do in About \\u2192 Privileges (menu item):</p> <p></p> <p>For more details see Limitations of ADB. Also see Why does PMX not work properly on OEM operating systems or custom ROMs?</p>\"},{\"location\":\"use-with-adb/#adb-guide\",\"title\":\"ADB Guide\",\"text\":\"<p>Please see ADB Pairing / Connection Guide.</p>\"},{\"location\":\"versions/\",\"title\":\"PMX Versions\",\"text\":\"<p>PMX is available in two variants: Paid and Free. Paid version is available in two variants: Play Store and Pro. Latest APKs are released in Play Store, GitHub and the Telegram Channel.</p>\"},{\"location\":\"versions/#paid-features\",\"title\":\"Paid Features\",\"text\":\"<p>Paid version includes everything that's in the Free version, plus the following extra features which are also listed in the Play Store description:</p> <ul> <li>Scheduled check to notify bad reference states</li> <li>Monitor permission changes and undo them</li> <li>Auto revoke granted permissions with RED states</li> <li>Make changes to critical apps and permissions</li> <li>Multiple users / work profile support</li> <li>Batch Operations (Profiles)</li> <li>Permissions View</li> </ul>\"},{\"location\":\"whatsrunning-integration/\",\"title\":\"Integration with WhatsRunning\",\"text\":\"<p>PMX is integrated with WhatsRunning so you can open one from the other.</p> <p> </p> <p>So from PMX you can switch to WhatsRunning to find out if an app with restricted permissions is still running. If yes, in what state it is and how much resources it is using.</p> <p>Similarly, from WhatsRunning you can switch to PMX to find out what permissions a running (or dead) app is granted.</p> <p>This is particularly helpful when analyzing the effect of permissions like <code>RUN_IN_BACKGROUND</code>.</p>\"},{\"location\":\"de/\",\"title\":\"Was ist PMX?\",\"text\":\"<p>Es ist die eXtended Permission Manager App f\\u00fcr Android, die es einfach macht, die gew\\u00fcnschten Berechtigungen f\\u00fcr installierte Apps festzulegen und zu \\u00fcberpr\\u00fcfen alle unerw\\u00fcnschten \\u00c4nderungen verfolgen. Die Steuerung des Ger\\u00e4ts erm\\u00f6glicht es Ihnen, Ihre Privatsph\\u00e4re zu sch\\u00fctzen und Ressourcen wie den Akkuverbrauch zu sparen.</p> <p>PMX bietet alle verstreuten (oder anderweitig nicht verf\\u00fcgbaren) Berechtigungsinformationen und Steuerelemente auf einem einzigen Bildschirm, so dass Sie sie umfassend und bequem beobachten und steuern k\\u00f6nnen.</p> <p>Mit PMX k\\u00f6nnen Sie:</p> <ul> <li>Ansicht / gew\\u00e4hren / widerrufen alle manifest Berechtigungen die \\u00fcber den App-Einstellungsbildschirm gesetzt werden k\\u00f6nnen oder k\\u00f6nnen. Die Liste der Berechtigungen, die nicht aus GUI gesetzt werden k\\u00f6nnen, ist sehr lang.</li> <li>Sehen Sie sich alle AppOp Berechtigungen an, die normalerweise keine GUI Einstellungen haben. Z.B. <code>VIBRATE</code> und <code>READ_CLIPBOARD</code>. Sie k\\u00f6nnen den gew\\u00fcnschten AppOps Modus einstellen, z.B. Ignorieren oder Foreground.</li> <li>Alle von einer App angeforderten Berechtigungen anzeigen, die nicht \\u00e4nderbar sind.</li> <li>Zeige die zuletzt verwendete Zeit f\\u00fcr viele AppOp Berechtigungen.</li> <li>\\u00c4ndern Sie System-Fixed Berechtigungen, die auf keinen anderen Weg ge\\u00e4ndert werden k\\u00f6nnen.</li> <li>Echtzeit-\\u00dcberwachung auf \\u00c4nderungen der Berechtigungen oder geplante Scans.</li> <li>Apps und Berechtigungen nach vielen Parametern sortieren, einschlie\\u00dflich Installationsdatum und Anzahl der Berechtigungen.</li> <li>Erstelle erweiterte Suchanfragen in Apps und deren Berechtigungen.</li> <li>Und vieles mehr.</li> </ul> <p>Siehe auch Github README und Play Store Beschreibung. Oder probieren Sie es einfach aus. Wir bieten eine kostenlose Version und einen Monat kostenlose Testversion an.</p> <p>Es ist erstaunlich na? Lass uns in die Details kommen.</p> <ul> <li>Berechtigungen und AppOps</li> <li>Berechtigungsreferenzen</li> <li>Benutzeroberfl\\u00e4che erkl\\u00e4rt</li> <li>Suche</li> <li>Geplanter Check</li> <li>Berechtigungsbeobachter</li> <li>Berechtigungsansicht</li> <li>Stapelverarbeitung</li> <li>Integration mit WhatsRunning</li> <li>PMX mit ADB</li> <li>PMX-Versionen</li> <li>Bezahlte Funktionen</li> <li>PMX-FAQs</li> <li>Downloads</li> <li>Screenshots</li> <li>Kontaktiere uns</li> </ul>\"},{\"location\":\"de/#rate-review\",\"title\":\"Bewertungen / Bewertungen / Kommentare / Upvotes / Sterne\",\"text\":\"<ul> <li>Play Store</li> <li>XDA</li> <li>GitHub</li> </ul>\"},{\"location\":\"de/batch-operations/\",\"title\":\"Batch-Operationen\",\"text\":\"\"},{\"location\":\"de/batch-operations/#permission-profiles\",\"title\":\"Berechtigungsprofile\",\"text\":\"<ul> <li>Berechtigungsprofile erstellen und bearbeiten (Vorlagen).</li> <li>Wenden Sie ein Profil auf eine ausgew\\u00e4hlte App-Liste.</li> <li>W\\u00e4hle ein Standardprofil aus, das f\\u00fcr neu installierte Apps angewendet werden soll (wenn Berechtigungs\\u00fcberwachung aktiviert ist).</li> </ul> <p>Here ist eine Beispiel-Video-Anleitung, wie man ein Profil erstellt und anwendet.</p>\"},{\"location\":\"de/batch-operations/#operations-with-references\",\"title\":\"Operationen mit Referenzen\",\"text\":\"\"},{\"location\":\"de/batch-operations/#set-permissions\",\"title\":\"Berechtigungen festlegen\",\"text\":\"<p>Gehe durch eine Liste ausgew\\u00e4hlter Apps und erstelle RED Berechtigungen GREEN, indem du ihre Zust\\u00e4nde gem\\u00e4\\u00df den Referenzwerten festlegst. Berechtigungen mit gr\\u00fcnen und orangenen Staaten werden ignoriert.</p> <p>Diese Option ist normalerweise hilfreich, wenn Sie gerade ein Backup wiederhergestellt haben und es viele Berechtigungen mit dem RED Status gibt.</p>\"},{\"location\":\"de/batch-operations/#set-references\",\"title\":\"Referenzen festlegen\",\"text\":\"<p>Gehen Sie durch eine Liste ausgew\\u00e4hlter Apps und erstellen Sie RED und ORANGE Berechtigungen GREEN durch Setzen ihrer Referenzwerte gem\\u00e4\\u00df den Berechtigungszust\\u00e4nden.</p> <p>Diese Option ist in der Regel w\\u00e4hrend einer anf\\u00e4nglichen Einrichtung hilfreich. Sie haben gerade die PMX App installiert und einige Stunden lang die Berechtigungen f\\u00fcr die Einstellung verwendet. Diese Option macht sie alle GREEN mit einem einzigen Tippen.</p>\"},{\"location\":\"de/batch-operations/#cleanup-references\",\"title\":\"Referenzen bereinigen\",\"text\":\"<p>Berechtigungsreferenzen-Datenbank bereinigen. Nicht verwendete Referenzen werden entfernt.</p> <p>Wenn es eine riesige Liste von unbenutzten Referenzen gibt, kann eine Bereinigung das Laden der App-Liste verbessern.</p>\"},{\"location\":\"de/batch-operations/#reset-references\",\"title\":\"Referenzen zur\\u00fccksetzen\",\"text\":\"<p>Berechtigungsreferenzen-Datenbank zur\\u00fccksetzen. Alle Referenzen werden entfernt.</p> <p>Nicht dazu gedacht, normal verwendet zu werden. Aber wenn Sie bei Null anfangen wollen.</p> <p></p>\"},{\"location\":\"de/details/\",\"title\":\"Benutzeroberfl\\u00e4che erkl\\u00e4rt\",\"text\":\"\"},{\"location\":\"de/details/#apps-list\",\"title\":\"App-Liste\",\"text\":\"<ol> <li> <p>Farbiger Streifen links zeigt Referenzzustand</p> </li> <li> <p>App Symbol</p> </li> <li> <p>Erste Zeile zeigt Paket label</p> </li> <li> <p>Zweite Zeile zeigt Paket name und</p> </li> <li> <p>UID</p> </li> <li> <p>Dritte Zeile (optional) zeigt den Paketzustand: Kritisch (Framework), Framework oder System App. Auch wenn die App Deaktiviert ist. Es wird kein Status f\\u00fcr Aktiviert, Benutzer Apps angezeigt.</p> </li> <li> <p>Die letzte Zeile zeigt die Anzahl der sichtbaren von insgesamt manifest Berechtigungen und</p> </li> <li> <p>AppOps Berechtigungen.</p> <p>Unsichtbare Berechtigungen sind in Ausschlie\\u00dfungsfiltern.</p> </li> <li> <p>Wenn nach Installations- oder Updatezeit sortiert wird, zeigt die letzte Zeile auch Datum oder Uhrzeit auf der rechten Seite.</p> </li> </ol>\"},{\"location\":\"de/details/#permissions-list\",\"title\":\"Berechtigungsliste\",\"text\":\"<ol> <li>Farbiger Streifen links zeigt Referenzzustand</li> <li>Manifest Berechtigungen zeigen ein Flag in der oberen rechten Ecke</li> <li>Erlaubnis Symbol</li> <li>Die erste Zeile zeigt Berechtigungsname</li> <li>Die zweite Zeile zeigt Berechtigungs Schutzlevel: Normal, Gef\\u00e4hrlich, Signatur, Entwicklung, Privilegiert, Festigt, AppOps oder Unbekannt. Auch wenn AppOp pro Paket oder pro UID ist. Und wenn es ein Extra AppOp ist (nie in den Filtereinstellungen ausgeschlossen).</li> <li>Dritte Zeile (im Falle von AppOp) zeigt letzte Zugriffszeit oder Ablehnungszeit</li> <li>Vierte Zeile (im Falle von AppOp) zeigt den referenzierten Wert an, wenn er nicht mit dem aktuellen Wert \\u00fcbereinstimmt.</li> <li>Wechseln um den Berechtigungsstatus zu \\u00e4ndern</li> <li>Aktueller Status (im Fall von AppOp)</li> <li>Standard zeigt an, dass der AppOp Status nie ge\\u00e4ndert wurde</li> </ol>\"},{\"location\":\"de/faqs/\",\"title\":\"PMX-FAQ\",\"text\":\"\"},{\"location\":\"de/faqs/#faq36\",\"title\":\"Warum muss ich PMX benutzen?\",\"text\":\"<p>Weil:</p> <ul> <li>PMX bietet alle verstreuten (oder anderweitig nicht verf\\u00fcgbaren) Berechtigungs-bezogenen Information und Steuerung auf einem einzigen Bildschirm, so dass Sie sie umfassend und bequem beobachten und steuern k\\u00f6nnen.</li> <li>Es gibt kein offizielles Tool auf Lager Android um AppOps zu \\u00e4ndern. Nur eine Teilmenge von manifest Berechtigungen sind in den Berechtigungseinstellungen dem Benutzer ausgesetzt. PMX enth\\u00fcllt alle Berechtigungen in Rohform. Verwandt: Manifest Berechtigungen und AppOps.</li> <li>PMX macht es Ihnen einfach, alle unerw\\u00fcnschten \\u00c4nderungen an den Berechtigungen im Auge zu behalten.</li> <li>Mit \\u201e PMX \\u201d kannst du die Kontrolle \\u00fcber dein Ger\\u00e4t \\u00fcbernehmen und so Ger\\u00e4teressourcen wie Akku und Netzwerkbandbreite sparen und deine Privatsph\\u00e4re sch\\u00fctzen. Sie sind nicht ganz der Gnade der App und der Entwickler von ROM ausgesetzt. Lies diese article um eine Idee zu bekommen.</li> <li>PMX kann \\u00c4nderungen der Berechtigungen in Echtzeit \\u00fcberwachen und sie automatisch zur\\u00fccksetzen, wenn Sie keine App mehr verwenden. Oder es kann geplante Scanner von Berechtigungen durchf\\u00fchren. Sie m\\u00fcssen sich also nicht an die Dinge erinnern.</li> <li>PMX macht es Ihnen einfach, die Berechtigungen zu sichern und wiederherzustellen der installierten Apps, so dass Sie nicht immer wieder die Berechtigungen einer App \\u00e4ndern m\\u00fcssen.</li> </ul> <p>Bitte lesen Sie auch Was ist PMX?</p>\"},{\"location\":\"de/faqs/#faq1\",\"title\":\"Warum PMX Root oder ADB Zugriff erfordert?\",\"text\":\"<p>Android beschr\\u00e4nkt Apps absichtlich das \\u00c4ndern von manifest oder AppOps Berechtigungen anderer Apps (und in vielen F\\u00e4llen davon abgesehen, einige ihrer eigenen zu \\u00e4ndern). Diese Schutzma\\u00dfnahmen sch\\u00fctzen die Privatsph\\u00e4re der Benutzer und die Integrit\\u00e4t des Systems.</p> <p>Um Aktionen auszuf\\u00fchren, die h\\u00f6here Berechtigungen erfordern, verwendet PMX einen kleinen, separaten privilegierten Helfer, anstatt alles vom normalen App-Prozess zu tun. Standardm\\u00e4\\u00dfig l\\u00e4uft der Helfer unter der ADB UID (<code>2000</code>) wenn er \\u00fcber ADBgestartet wird, oder unter der System-UID (<code>1000</code>) auf gerooteten Ger\\u00e4ten. Wenn du ein gerootetes Ger\\u00e4t hast, kannst du die UID des Helfers in den Erweiterten Einstellungen \\u00e4ndern.</p>\"},{\"location\":\"de/faqs/#faq33\",\"title\":\"Mein Ger\\u00e4t ist nicht gerootet. Wie kann ich PMX verwenden?\",\"text\":\"<p>Verwenden Sie PMX mit ADB. Bitte lesen Sie die Notiz am Anfang. Auf einigen Ger\\u00e4ten k\\u00f6nnte es Einschr\\u00e4nkungen geben.</p>\"},{\"location\":\"de/faqs/#faq42\",\"title\":\"Warum l\\u00e4uft PMX nicht richtig auf dem neuesten Android?\",\"text\":\"<p>PMX st\\u00fctzt sich auf Android-versteckte APIs oder Nicht-SDK-Schnittstellen, die nicht dokumentiert sind (auf Android Entwickler) im Gegensatz zu Standard-APIs. Mit jeder neuen Android-Ver\\u00f6ffentlichung m\\u00fcssen wir also durch den Android-Quellcode gehen, um herauszufinden, welche APIs kaputt sind (ge\\u00e4ndert oder entfernt).</p> <p>Au\\u00dferdem braucht es Zeit, die kaputten APIs zu reparieren, manchmal Wochen, manchmal sogar Monate. Und es ist nicht garantiert, dass wir immer in der Lage sind, die kaputten APIs zu reparieren. Manchmal macht Google mit Absicht es schwierig oder unm\\u00f6glich f\\u00fcr uns, die versteckten APIs zu verwenden.</p> <p>Daher ist es uns nicht m\\u00f6glich, PMX sofort an jeder neuen Android-Version (insbesondere in der Beta-Phase) zu arbeiten, solange der endg\\u00fcltige AOSP-Quellcode nicht \\u00f6ffentlich ver\\u00f6ffentlicht wird (auf Code Search oder Git Repository).</p> <p>PMX's letzte unterst\\u00fctzte Android-Version wird in der App-Beschreibung auf GitHub und Play Store angegeben. Wenn Sie die App zum ersten Mal auf einer nicht unterst\\u00fctzten Version ausf\\u00fchren, zeigt dies eine Warnung:</p> <p></p>\"},{\"location\":\"de/faqs/#faq43\",\"title\":\"Warum funktioniert PMX nicht richtig auf OEM-Betriebssystemen oder benutzerdefiniertem ROMs?\",\"text\":\"<p>PMX st\\u00fctzt sich auf Android-versteckte APIs oder Nicht-SDK-Schnittstellen, die nicht dokumentiert sind (auf Android Entwickler) im Gegensatz zu Standard-APIs. Daher ben\\u00f6tigen wir Zugriff auf den Quellcode Ihres ROM , um genau zu wissen, wie die versteckten APIs funktionieren.</p> <p>Nun, AOSP (die von Google entwickelt wird) ist Open-Source. Aber wenn Ihr OEM oder ROM Entwickler \\u00c4nderungen an AOSP f\\u00fcr den Anpassungszweck vornimmt, wir haben keine M\\u00f6glichkeit, genau zu wissen, welche \\u00c4nderungen sie an der Stock AOSP Code gemacht haben. Wir sind hier ziemlich hilflos. Und diese Tatsache ist in der App-Beschreibung auf GitHub und Play Store angegeben. Tut mir leid.</p>\"},{\"location\":\"de/faqs/#faq2\",\"title\":\"Wie ver\\u00e4ndert PMX die Berechtigungen anderer Apps?\",\"text\":\"<p>PMX selbst kann und wird keine Berechtigungen anderer Apps erteilen oder widerrufen. Tats\\u00e4chlich hat keine Drittanbieter-App das Privileg, dies zu tun. Es ist das Android-Betriebssystem, das die Berechtigungen von Apps kontrolliert. PMX sendet nur eine Anfrage an das Android Framework, um den Status einer Berechtigung zu \\u00e4ndern. Jetzt ist es ganz an Android, wie sehr es unserer Anfrage gerecht wird. Nicht alle Berechtigungen sind ver\\u00e4nderbar. Und wenn Sie nicht in der Lage sind, den Status einer Berechtigung mit PMXzu \\u00e4ndern , Sie k\\u00f6nnen es auch nicht anders \\u00e4ndern.</p>\"},{\"location\":\"de/faqs/#faq34\",\"title\":\"Bleiben die Berechtigungen ge\\u00e4ndert, nachdem ADB ausgeschaltet ist oder Root verweigert wird oder PMX deinstalliert wurde?\",\"text\":\"<p>PMX selbst kann und wird keine Berechtigungen anderer Apps erteilen oder widerrufen. Tats\\u00e4chlich hat keine Drittanbieter-App das Privileg, dies zu tun. Es ist das Android-Betriebssystem, das die Berechtigungen von Apps kontrolliert. PMX sendet nur eine Anfrage an das Android Framework, um den Status einer Berechtigung zu \\u00e4ndern.</p> <p>Sobald also eine Berechtigung ge\\u00e4ndert wurde, macht es keinen Unterschied, ob Sie PMX deinstallieren oder seine Berechtigungen fallen lassen. Die Berechtigung bleibt in welchem Zustand sie auch immer ist, es sei denn, Sie oder das Betriebssystem haben sich erneut ge\\u00e4ndert.</p>\"},{\"location\":\"de/faqs/#faq15\",\"title\":\"Warum kann ich die XYZ-Berechtigung nicht \\u00e4ndern?\",\"text\":\"<p>Manifest-Berechtigungen mit nur gef\\u00e4hrlichem Schutzlevel (und ein paar andere) sind ver\\u00e4nderbar. AppOps nicht abh\\u00e4ngig von einem anderen AppOp sind ver\\u00e4nderbar. So l\\u00e4uft Android, wir k\\u00f6nnen das nicht \\u00e4ndern. Siehe Manifest Berechtigungen und AppOps.</p> <p>Au\\u00dferdem sch\\u00fctzt PMX einige kritische Framework-Apps und Berechtigungen. \\u00c4nderungen k\\u00f6nnten das Ger\\u00e4t bricken. Siehe verwandte Frage.</p> <p>Siehe auch Warum kann AppOps nicht ge\\u00e4ndert werden?</p> <p>Beachten Sie, dass ab Android 15, manifest Berechtigungen von System-Apps mit Development Schutzstufe nicht widerrufen werden k\\u00f6nnen. Android ignoriert die Anfrage stillschweigend.</p>\"},{\"location\":\"de/faqs/#faq37\",\"title\":\"Ich habe eine Berechtigung ge\\u00e4ndert, aber es funktioniert nicht. Warum?\",\"text\":\"<p>Nach dem \\u00c4ndern einer Berechtigung erfolgreich, wenn Sie nicht die gew\\u00fcnschten Ergebnisse erhalten, z. es r\\u00fcckg\\u00e4ngig gemacht wird sofort oder nach einigen Stunden oder Tagen, es ist das Android Betriebssystem verantwortlich gemacht werden. Bitte sehen:</p> <ul> <li>Wie ver\\u00e4ndert PMX andere App-Berechtigungen?</li> <li>Warum kann AppOps nicht ge\\u00e4ndert werden?</li> </ul> <p>W\\u00e4hrend du Apps verwendest, kann Android seine Berechtigungen \\u00e4ndern. Und leider haben wir keine M\\u00f6glichkeit, dies zu verhindern. Permission Watcher und Zeitplanter Checker k\\u00f6nnen in dieser Hinsicht helfen.</p>\"},{\"location\":\"de/faqs/#faq3\",\"title\":\"Warum kann irgendein AppOps nicht ge\\u00e4ndert werden?\",\"text\":\"<p>Manchmal sehen Sie \\\"AppOp Modus nicht ge\\u00e4ndert\\\". Es bedeutet, dass Android die Anfrage zur \\u00c4nderung des AppOp Modus abgelehnt hat. Sie k\\u00f6nnen es nicht \\u00e4ndern, egal welche Methode oder App Sie verwenden. Es k\\u00f6nnte mehrere m\\u00f6gliche Gr\\u00fcnde geben.</p> <ul> <li> <p>Einige AppOps h\\u00e4ngen von den entsprechenden manifest -Berechtigungen ab. Sie k\\u00f6nnen also nicht unabh\\u00e4ngig voneinander ge\\u00e4ndert werden. Zum Beispiel k\\u00f6nnen Sie <code>READ_CONTACTS</code> AppOp nicht verweigern, wenn <code>android.permission.READ_CONTACTS</code> manifest Berechtigung erteilt wurde.</p> <p>Auch wenn die App die manifest Berechtigung in ihrer manifest Datei nicht angefordert hat, kann ihre AppOp Berechtigung auch nicht erteilt werden. Aber es k\\u00f6nnte immer noch in der Berechtigungsliste der App erscheinen, wenn die App versucht hat, es zu verwenden (und abgelehnt wurden). <code>SYSTEM_ALERT_WINDOW</code> ist ein solches Beispiel.</p> </li> <li> <p>Einige AppOps werden von Android nur f\\u00fcr Kompatibilit\\u00e4t verwendet (z.B. <code>LEGACY_STORAGE</code>) und sie kontrollieren eigentlich nichts. Wenn wir ihre zugrunde liegende Arbeit erforschen, zeigt sich, dass die Gew\\u00e4hrung / Aufhebung solcher Berechtigungen keinen Sinn ergibt.</p> </li> <li> <p>Einige Berechtigungen k\\u00f6nnen nicht ge\\u00e4ndert werden, wenn die App aktiv ist oder eine \\u00e4ltere oder neuere Android-Version anspricht.</p> </li> <li> <p>Einige OEM ROMs verhalten sich komisch, wenn es um AppOps geht. Schau mal hier: Warum funktioniert \\u201e PMX \\u201c nicht richtig auf OEM-Betriebssystemen oder benutzerdefinierten \\u201e ROMs\\u201c?</p> </li> <li> <p>Viele AppOps k\\u00f6nnen 2 Modi haben: Paketmodus und UID-Modus. Es ist m\\u00f6glich, dass das eine ge\\u00e4ndert werden kann, w\\u00e4hrend das andere nicht sein kann.</p> <p>Normalerweise haben UID AppOps Vorrang vor ihrem Paket AppOp Gegenst\\u00fccke. In diesem Fall ist der effektive Modus des Pakets AppOp identisch mit dem des UID AppOps. Daher k\\u00f6nnen Sie das Paket AppOp nicht allein \\u00e4ndern.</p> <p>Einige AppOps bevorzugen im Paketmodus, nicht im UID-Modus. Aber wenn es falsch im UID-Modus (mit Kommandozeilenwerkzeug oder einer anderen App) eingestellt ist, reagiert es nicht auf alle \\u00c4nderungen. Mach mal \\u201eReset AppOps\\u201c im Men\\u00fc oben rechts, damit es wieder klappt. Dies gilt auch f\\u00fcr andere AppOps die eine entsprechende manifest Berechtigung mit AppOp Schutzlevel.</p> </li> </ul> <p>Eigentlich gibt es viele weitere Erkl\\u00e4rungen, wenn wir jede App und jede Berechtigung einzeln ausgraben (was nicht praktikabel klingt). Wie oben erw\\u00e4hnt, \\u00e4ndert PMX die Berechtigungen anderer Apps nicht f\\u00fcr sich. Selbst wenn Android aus irgendeinem unbekannten Grund keine Berechtigung \\u00e4ndert oder es sofort zur\\u00fcckzieht, es gibt nichts, was wir tun k\\u00f6nnen, um es zu erzwingen, weil dies die Einschr\\u00e4nkungen bei Android Ende. Vielmehr sollte ich sagen, dass dies so ist, wie Android funktioniert.</p> <p>Verwandt:</p> <ul> <li>Was sind verschiedene AppOp Modi und welche soll ich verwenden?</li> <li>Warum kann ich den AppOp Modus nicht in den Vordergrund stellen?</li> </ul>\"},{\"location\":\"de/faqs/#faq6\",\"title\":\"Warum sehe ich die XYZ-App nicht in der Paketliste?\",\"text\":\"<p>Bitte \\u00fcberpr\\u00fcfen Sie Ausschlussfilter. Fast alle Android Standardpakete sind standardm\\u00e4\\u00dfig ausgeschlossen. Sie k\\u00f6nnen alle Pakete, die Sie von / zu sichtbar Liste ausschlie\\u00dfen / einbinden.</p>\"},{\"location\":\"de/faqs/#faq7\",\"title\":\"Warum sehe ich keine XYZ-Berechtigung im ABC-Paket?\",\"text\":\"<p>Bitte \\u00fcberpr\\u00fcfen Sie Ausschlussfilter. Nicht ver\\u00e4nderbare Berechtigungen sind standardm\\u00e4\\u00dfig von der sichtbaren Liste ausgeschlossen.</p>\"},{\"location\":\"de/faqs/#faq8\",\"title\":\"Warum sehe ich XYZ AppOp nicht im ABC-Paket?\",\"text\":\"<p>Bitte pr\\u00fcfen Sie Ausschlussfilter ob XYZ- AppOp von der sichtbaren Liste ausgeschlossen ist. Oder das ABC-Paket verwendet m\\u00f6glicherweise keine XYZ-Operation. Sie m\\u00fcssen sich dar\\u00fcber keine Sorgen machen.</p> <p>Aber wenn du den XYZ- AppOp f\\u00fcr alle Apps sehen m\\u00f6chtest, gehe zu Ausschlussfilter \\u2192 Extra- AppOps, nie ausgeschlossen und XYZ AppOp in der Liste \\u00fcberpr\\u00fcfen.</p> <p>Zum Beispiel schreibe <code>_CLIPBOARD</code> in das Suchfeld (mit aktivierter Deep Search ) und du erh\\u00e4ltst alle Apps, die <code>READ_CLIPBOARD</code> oder <code>WRITE_CLIPBOARD</code> Berechtigung verwendet haben (oder versucht haben). Zeitstempel wird ebenfalls angezeigt (aber nicht f\\u00fcr alle AppOps).</p> <p>Falls die App, \\u00fcber die Sie besorgt sind, nicht in den Suchergebnissen enthalten ist, \\u00fcberpr\\u00fcfen Sie bitte AppOps in der oben genannten Liste Ausschlussfilter .</p>\"},{\"location\":\"de/faqs/#faq5\",\"title\":\"Was sollte ich f\\u00fcr die Privilegierte Daemon UID in den erweiterten Einstellungen ausw\\u00e4hlen? System oder ADB?\",\"text\":\"<p>Es spielt nur eine Rolle, wenn Sie root verwenden, oder <code>adbd</code> auf Ihrem Ger\\u00e4t l\\u00e4uft mit root (was bei den Endger\\u00e4ten nicht der Fall ist).</p> <p>Verwenden Sie lieber System (UID <code>1000</code>), da es mehr Rechte als ADB (UID <code>2000</code>). Z.B. \\u00c4nderung der \\\"System-Fixed\\\"-Berechtigungen ist nur m\\u00f6glich, wenn Sie als System ausgef\\u00fchrt werden.</p>\"},{\"location\":\"de/faqs/#faq9\",\"title\":\"Was sind \\\"ung\\u00fcltige Berechtigungen\\\" in Ausschlussfiltern?\",\"text\":\"<p>Wenn eine App eine manifest Berechtigung anfordert, aber nicht vom Android Framework oder einem der installierten Pakete deklariert wird (bereitgestellt) ist eine ung\\u00fcltige Berechtigung. Zum Beispiel ist <code>com.android.vending.BILLING</code> ung\\u00fcltig, wenn die Play Store App nicht auf Ihrem Ger\\u00e4t installiert ist.</p>\"},{\"location\":\"de/faqs/#faq10\",\"title\":\"Was sind \\\"extra AppOps\\\" in Ausschlie\\u00dfungsfiltern?\",\"text\":\"<p>Nicht alle AppOps werden f\\u00fcr alle installierten Apps verwendet. Aber du kannst eine AppOp f\\u00fcr jede App erzwingen. Ausgew\\u00e4hlte zus\\u00e4tzliche AppOps erscheinen in allen Berechtigungslisten der Apps, so dass Sie diese festlegen k\\u00f6nnen.</p>\"},{\"location\":\"de/faqs/#faq11\",\"title\":\"Was sind verschiedene AppOp Modi und welche sollte ich verwenden?\",\"text\":\"<p>Normalerweise sollten Sie erlauben oder ignorieren. Oder Sie m\\u00f6chten eine Operation nur erlauben, wenn die App in Vordergrund ist (nur auf Android 9 und h\\u00f6her). Deny ist die intensive Version von Ignore, die die anfragende App abst\\u00fcrzen k\\u00f6nnte. Standard ist das Standardverhalten des Systems, das sich f\\u00fcr verschiedene AppOps unterscheidet.</p> <p>Bitte beachten Sie, dass nicht jeder AppOp Modus f\\u00fcr jede App auf jeden AppOp gesetzt werden kann. Zum Beispiel d\\u00fcrfen <code>CAMERA</code> und <code>MICROPHONE</code> in den letzten Android Ver\\u00f6ffentlichungen nur im Vordergrund verwendet werden (auch wenn der Modus Erlauben ist). Ebenso k\\u00f6nnen einige AppOps niemals auf den Vordergrund Modus gesetzt werden.</p> <p>Verwandt: Warum kann AppOps nicht ge\\u00e4ndert werden?</p> <p>Offizielle Dokumentation: AppOpsManager.</p>\"},{\"location\":\"de/faqs/#faq12\",\"title\":\"Was ist der Unterschied zwischen \\\"Ignorieren\\\" und \\\"Deny\\\" AppOp Modus?\",\"text\":\"<p>Ignore schl\\u00e4gt stillschweigend fehl, w\\u00e4hrend Deny einen Fehler an die App zur\\u00fcckwirft, die die App m\\u00f6glicherweise nicht erwartet und abst\\u00fcrzt. Normalerweise solltest du Ignore verwenden.</p>\"},{\"location\":\"de/faqs/#faq41\",\"title\":\"Warum kann ich den AppOp Modus nicht in den Vordergrund stellen?\",\"text\":\"<p>Der Vordergrundmodus kann nicht f\\u00fcr alle AppOps gesetzt werden. Selbst wenn sie gesetzt ist, werden sie m\\u00f6glicherweise nicht zu erwarteten Ergebnissen f\\u00fchren.</p> <p>Verwandt:</p> <ul> <li>Was sind verschiedene AppOp Modi und welche soll ich verwenden?</li> <li>Warum kann AppOps nicht ge\\u00e4ndert werden?</li> </ul> <p>Bitte beachten Sie, dass der Berechtigungsmodus \\\"Nur bei Verwendung der App erlauben\\\" nicht immer den AppOp Modus auf \\\"Vordergrund\\\" setzt:</p> <p></p> <p>Normalerweise sehen wir nur zwei Staaten f\\u00fcr eine manifest Erlaubnis: gew\\u00e4hrt und widerrufen. Aber Android verwendet flags, um diese beiden Staaten in viele Unterstaaten aufzuteilen. F\\u00fcr einige Berechtigungen wird das gleiche Ph\\u00e4nomen verwendet, um das Verhalten \\\"nur zu gew\\u00e4hren, wenn die App sichtbar ist\\\" zu erreichen. AppOp Berechtigung wird in diesem Fall nicht verwendet.</p> <p>Weitere Details finden Sie unter Hintergrundzugriff und Vordergrundzugriff.</p> <p>Zur Einfachheit sieht PMX derzeit keine Berechtigungsflags an. Aber in Zukunft kann eine Option hinzugef\\u00fcgt werden, um auch \\u00c4nderungen an den Berechtigungs-Flags zu verfolgen, selbst wenn der gew\\u00e4hrte / widerrufte Modus unver\\u00e4ndert bleibt.</p>\"},{\"location\":\"de/faqs/#faq14\",\"title\":\"Was macht <code>WAKE_LOCK</code> Berechtigung?\",\"text\":\"<p>Apps halten Wakelock, um das Ger\\u00e4t wach zu halten, d.h. nicht in Doze-Modus.</p>\"},{\"location\":\"de/faqs/#faq16\",\"title\":\"Wie kann ich die <code>INTERNET</code> Berechtigung \\u00e4ndern?\",\"text\":\"<p>Android erlaubt nicht, alle Berechtigungen zu \\u00e4ndern, wie die mit dem Normal Schutzlevel (e. . <code>INTERNET</code>) oder diejenigen mit festgestellten Flagge oder Signatur Schutzstufe (\\u00fcblicherweise System- oder Framework-Apps). Siehe Manifest Berechtigungen und AppOps.</p> <p>Aber wenn du gerootet bist, Fyrypt gibt dir sehr starke Kontrolle \\u00fcber die Netzwerkaktivit\\u00e4t, die auf deinem Ger\\u00e4t geschieht.</p>\"},{\"location\":\"de/faqs/#faq40\",\"title\":\"Was sind feste Berechtigungen?\",\"text\":\"<p>Die vorinstallierten Apps kriegen von den Herstellern oder den Entwicklern von ROM die systemfesten Berechtigungen. Sie sollen nicht ge\\u00e4ndert werden. Aber wenn Ihr Ger\\u00e4t gerootet ist, kann PMX System-feste Berechtigungen \\u00e4ndern.</p> <p>Policy-fixed Berechtigungen werden von den IT-Administratoren auf verwalteten Ger\\u00e4ten gew\\u00e4hrt (oder verweigert). Sie k\\u00f6nnen nicht ge\\u00e4ndert werden.</p> <p>User-fixed Berechtigungen werden vom Benutzer behoben. Wenn ein Benutzer eine Berechtigung ein paar Mal verweigert, wenn die App dies anfordert das Betriebssystem markiert die Berechtigung als vom Benutzer behoben und zeigt dem Benutzer keine Aufforderung mehr an, die Erlaubnis zu erteilen, wenn die App erneut um die gleiche Berechtigung bittet. Diese Art von festen Berechtigungen kann leicht ge\\u00e4ndert werden, wann immer der Benutzer will.</p>\"},{\"location\":\"de/faqs/#faq17\",\"title\":\"Wie kann ich System-Fixed Berechtigungen, Unterschriften/Privilegien oder die Berechtigungen von Framework-Apps \\u00e4ndern?\",\"text\":\"<p>Wenn Ihr Ger\\u00e4t gerootet ist, in bezahlter Version kannst du in Erweiterten Einstellungen kritische \\u00c4nderungen erlauben, um die Berechtigungen mit der System-repariert Flagge zu \\u00e4ndern Schutz Level Signatur oder Privilegiert, oder die von Framework App. Aber es wird nicht empfohlen, mit den System- und Framework-Apps zu spielen. Du kannst dein Ger\\u00e4t bricken.</p>\"},{\"location\":\"de/faqs/#faq18\",\"title\":\"Was ist \\\"UID-Modus\\\" in AppOp Berechtigungen?\",\"text\":\"<p>Es ist ein Modus einer AppOp Berechtigung, der anzeigt, dass das \\u00c4ndern dieser AppOp auch andere Apps (mit der gleichen UID) betrifft, wenn installiert. Siehe <code>sharedUserId</code>.</p> <p>Beachten Sie, dass der UID-Modus f\\u00fcr viele AppOps Vorrang vor dem Paketmodus hat.</p>\"},{\"location\":\"de/faqs/#faq39\",\"title\":\"Kann ich die Android-Funktion \\\"Entfernen von Berechtigungen, wenn die App nicht verwendet wird\\\" von PMX kontrollieren?\",\"text\":\"<p>Ja. Diese Funktion ist seit Android 11 verf\\u00fcgbar. Auf manchen Ger\\u00e4ten hei\\u00dft es auch \\u201eApp-Aktivit\\u00e4t bei Nichtgebrauch pausieren\\u201c.</p> <p></p> <p>Um diese Option von PMX zu \\u00e4ndern:</p> <ol> <li>Gehen Sie zu Ausschlussfilter \\u2192 Zus\\u00e4tzliche AppOps Liste und \\u00fcberpr\\u00fcfen Sie <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code>.</li> <li>Zur\\u00fcck auf dem Hauptbildschirm, tippen Sie <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code> in der oberen Suchleiste ein. Stellen Sie sicher, dass die tiefe Suche in den Sucheinstellungen aktiviert ist.</li> <li>Setze den Modus Erlauben oder Ignorieren f\\u00fcr welche Apps du m\\u00f6chtest.</li> </ol> <p>Sie k\\u00f6nnen auch Permission View oder Batch Operations anstelle von Schritt 2 und 3 verwenden. Hier ist eine Anleitung, wie Sie es mit Batch Operations machen:</p>      Remove permissions if app isn't used\"},{\"location\":\"de/faqs/#faq31\",\"title\":\"Warum bekomme ich eine Menge \\\"Bad ROM\\\" Popups?\",\"text\":\"<p>OEMs machen echt gro\\u00dfe \\u00c4nderungen am Standard-AOSP-Code (der von Google entwickelt wird). Das AppOps Framework f\\u00fcr einige benutzerdefinierte / OEM ROMs liefert also unerwartete Ergebnisse, die PMX nicht verstehen kann. Sie k\\u00f6nnen diese Popups ignorieren, aber sie bedeuten, dass die Funktionalit\\u00e4t etwas eingeschr\\u00e4nkt ist.</p> <p>Du kannst diese Popups in den Einstellungen \\u2192 Allgemeine Einstellungen \\u2192 schlechte ROM Toast deaktivieren.</p> <p>Schau mal hier: Warum funktioniert \\u201e PMX \\u201c nicht richtig auf OEM-Betriebssystemen oder benutzerdefinierten \\u201e ROMs\\u201c?</p>\"},{\"location\":\"de/faqs/#faq19\",\"title\":\"Was tun die \\\"Hide From List\\\"-Buttons (bei langem Dr\\u00fccken) ?\",\"text\":\"<p>Beide verstecken nur die App oder die Berechtigung aus der sichtbaren Liste. Wenn du keine Berechtigung f\\u00fcr eine App \\u00e4ndern m\\u00f6chtest, kannst du sie ausblenden. Und es wird f\\u00fcr keine App angezeigt. Um es wieder aufzudecken, gehen Sie zu den Ausschlussfiltern Einstellungen.</p> <p>Ebenso k\\u00f6nnen Sie eine App von der sichtbaren Liste ausschlie\\u00dfen, wenn Sie sich keine Sorgen \\u00fcber ihre Berechtigungen machen.</p> <p> </p>\"},{\"location\":\"de/faqs/#faq21\",\"title\":\"Gibt es eine vollst\\u00e4ndige Liste aller Berechtigungen mit Erkl\\u00e4rung?\",\"text\":\"<p>Es gibt keine vollst\\u00e4ndige Liste der Berechtigungen mit Beschreibung, zumindest in meinem Wissen. PMX Pro Version zeigt eine kurze Beschreibung der allgemeinen manifest und AppOp Berechtigungen.</p> <p>Es gibt fremde Ressourcen wie diese von Izzy. Android's offizielle Entwicklerseite und Quellcode sind auch gute Quellen zum Lernen.</p> <p>Mit jedem neuen Android Release werden einige neue Berechtigungen hinzugef\\u00fcgt, und einige werden auch veraltet. Au\\u00dferdem werden nicht alle Berechtigungen ben\\u00f6tigt, um von jedem Benutzer betreut zu werden.</p>\"},{\"location\":\"de/faqs/#faq22\",\"title\":\"Wie verwende ich die App in Arbeitsprofil/Mehrbenutzerumgebung?\",\"text\":\"<p>Pro Version unterst\\u00fctzt Arbeitsprofile und mehrere Benutzer. W\\u00e4hlen Sie einen Benutzer aus dem Dropdown-Men\\u00fc.</p> <p></p>\"},{\"location\":\"de/faqs/#faq24\",\"title\":\"Wie vergleicht PMX mit XPrivacyLua? K\\u00f6nnen sie einander ersetzen?\",\"text\":\"<p>PMX ist nicht dazu gedacht, Projekte wie XPrivacyLua zu ersetzen, sondern zu erg\\u00e4nzen. Sie haben unterschiedliche Designziele.</p> <p>XPrivacyLua hackt die Standardfunktionalit\\u00e4t von Android, indem es in interne APIs gehackt wird, mit Xposed , die einige Android-Bibliotheken durch gehackte ersetzt. So erhalten wir zus\\u00e4tzliche Funktionen, wie das Einspeisen von gef\\u00e4lschten Daten an die Apps und werden \\u00fcber Ereignisse im Zusammenhang mit Genehmigungen benachrichtigt, die wir auf keinen anderen normalen Weg kennen k\\u00f6nnen.</p> <p>PMX hingegen ist nicht als Framework-Modul gedacht. Es bietet bequemen Zugriff auf einige privilegierte APIs, die normale Apps nicht verwenden k\\u00f6nnen. Es ist nicht hacken Android-Standardfunktionalit\\u00e4t mit irgendwelchen Mitteln. Die meisten der Aufgaben, die PMX ausf\\u00fchrt, k\\u00f6nnen auch \\u00fcber die Kommandozeile ausgef\\u00fchrt werden, au\\u00dfer ein paar wie z.B. das \\u00c4ndern von System-Fixed-Berechtigungen.</p> <p>Rooting und Xposed sind zwei strenge Anforderungen f\\u00fcr den Einsatz von XPrivacyLua. PMX ben\\u00f6tigt keine der beiden. Beide sind nicht f\\u00fcr viele Ger\\u00e4te verf\\u00fcgbar oder viele Benutzer betrachten sie aufgrund der technischen Schwierigkeiten nicht als Option. Garantie ung\\u00fcltig, Fehler bei SafetyNet und andere Probleme.</p> <p>Weitere Erkl\\u00e4rung here und here.</p>\"},{\"location\":\"de/faqs/#faq32\",\"title\":\"Kann PMX automatisch Berechtigungen entfernen, wenn eine App geschlossen wird, wie Bouncer es tut?\",\"text\":\"<p>Ja. Siehe Permission Watcher und Geplanter Check. Aber es verwendet Android's Accessibility Funktion nicht, um Tippen / Klicks auf den Bildschirm im Namen des Benutzers auszuf\\u00fchren (obwohl es ein gutes Feature ist, ohne dass ein zus\\u00e4tzliches Setup erforderlich ist). PMX verl\\u00e4sst sich auf root oder ADB Privilegien. Es kann also viel mehr tun (siehe Was ist PMX?) als was mit Barrierefreiheitsfunktionen getan werden kann.</p> <p>Wenn Sie ADBverwenden und nicht root, kann Permission Watcher auf einigen Ger\\u00e4ten nicht funktionieren. Bitte lesen Sie die Grenzen des ADB.</p>\"},{\"location\":\"de/faqs/#faq35\",\"title\":\"Kann ich benachrichtigt werden, wenn eine neue App installiert ist?\",\"text\":\"<p>Ja. Siehe Berechtigungsbeobachter.</p> <p>Seit Android 8 ist es nicht m\\u00f6glich, dass Hintergrund-Apps (nicht l\\u00e4uft) \\u00fcber die neu installierte App benachrichtigt werden. Daher m\\u00fcssen wir einen Vordergrund-Dienst (mit permanenter Benachrichtigung) ausf\\u00fchren, um diese Veranstaltung zu erhalten. Oder Sie k\\u00f6nnen die Verwendung von Scheduled Check in Erw\\u00e4gung ziehen, um die Dinge am Laufen zu halten.</p>\"},{\"location\":\"de/faqs/#faq38\",\"title\":\"Kann PMX standardm\\u00e4\\u00dfig auf die Berechtigungen verzichten, wenn eine neue App installiert ist?\",\"text\":\"<p>Ja. Aber es gibt keine Berechtigungen, die man l\\u00f6schen kann. Alle widerrufbaren manifest Berechtigungen werden bereits widerrufen und bleiben widerrufen, es sei denn, der Benutzer erteilt sie ausdr\\u00fccklich. Was die Dateien AppOps angeht, tauchen viele davon erst auf, wenn sie mindestens einmal von der App benutzt wurden, z. B. <code>VIBRATE</code> und <code>READ_CLIPBOARD</code>. Viele andere (z.B. <code>READ_CONTACTS</code>) haben bereits ihre entsprechenden manifest -Berechtigungen fallen gelassen, wie bereits erw\\u00e4hnt wurde. Es ist also zum Zeitpunkt der App-Installation nicht vorhersehbar, welche AppOps entfernt werden soll.</p> <p>Aber eine Benachrichtigung wird angezeigt, wenn eine neue App installiert ist (wenn Permission Watcher) verwendet wird, so dass der Benutzer Berechtigungen einzeln festlegen kann oder ein Profil anwenden.</p>\"},{\"location\":\"de/faqs/#faq25\",\"title\":\"Warum PMX erfordert INTERNET-Erlaubnis?\",\"text\":\"<p>Die Standalone Pro Version erfordert eine Internetverbindung zur Lizenz\\u00fcberpr\\u00fcfung. Andere versions k\\u00f6nnen komplett offline funktionieren. Obwohl die Play Store-App eine Internetverbindung f\\u00fcr die Lizenz\\u00fcberpr\\u00fcfung ben\\u00f6tigt.</p>\"},{\"location\":\"de/faqs/#optional-use-of-internet-permission\",\"title\":\"Optionale Nutzung von <code>android.permission.INTERNET</code> Berechtigung\",\"text\":\"<ul> <li>Suche nach App-Updates. Du kannst dies in den App-Einstellungen deaktivieren.</li> </ul>\"},{\"location\":\"de/faqs/#on-device-use-of-internet-permission\",\"title\":\"Lokale (On-device) Nutzung von <code>android.permission.INTERNET</code> Berechtigung\",\"text\":\"<p>Android erlaubt Apps nicht, Netzwerk-Sockets zu erstellen, ohne die <code>INTERNET</code> Berechtigung zu haben, auch wenn diese nur lokal und nicht f\\u00fcr eine Internetverbindung verwendet werden sollen. PMX hat zwei Verwendungen lokaler (On-device) Verbindungen (die F\\u00e4higkeit, <code>localhost</code> Sockets unter <code>127.0.0.1</code>zu erstellen) f\\u00fcr Inter Prozesskommunikation (IPC):</p> <ul> <li>PMX startet einen Hintergrundprozess mit root/ ADB Privilegien und Gespr\\u00e4chen mit diesem Prozess \\u00fcber Netzwerk-Sockel. Nach dem ersten Handschlag beginnen beide Prozesse \\u00fcber Binder zu sprechen. Wir haben keine bessere M\\u00f6glichkeit, dies zu tun, da Android es auch nicht zul\\u00e4sst, dass Apps \\u00fcber UNIX-Domain-Sockets sprechen.</li> <li>Wenn Ihr Ger\\u00e4t nicht gerootet ist und Sie  PMX mit ADB, dann ben\\u00f6tigen Sie eine Verbindung zu <code>adbd</code> Internet-Berechtigungen. Check: Spioniert PMX mich \\u00fcber das Netzwerk mit ADB aus?</li> </ul> <p>Wenn die App also nicht in der Lage ist, lokale Netzwerk-Sockets zu erstellen oder zu verwenden, wird sie fehlschlagen. Und wenn du PMX an der Nutzung des Internet hindern m\\u00f6chtest, sie darf die App nicht daran hindern, \\u00fcber loopback-Schnittstelle f\\u00fcr IPC mit On-Device-Prozessen zu sprechen. Dies ist normalerweise bei <code>iptables</code>basierten Firewalls wie Fyrypt und VPN-basierten Firewalls wie NetGuard der Fall. Aber einige ROMs haben eine eingebaute Funktion, um den Zugriff auf das Netzwerk zu verbieten:</p> <p></p> <p>Dies verhindert nicht nur, dass die App Internet nutzt, sondern deaktiviert auch die F\\u00e4higkeit, Loopback-Sockets f\\u00fcr IPC zu erstellen. PMX kann also keine Root-/ ADB -Berechtigungen erhalten, wenn diese Berechtigung verweigert wird.</p>\"},{\"location\":\"de/faqs/#faq26\",\"title\":\"Wie viel Datenschutzfreundlichkeit ist PMX? Erfassen Sie Benutzerdaten?\",\"text\":\"<p>Nein. Wir erheben Ihre Daten nicht. Nie. Nicht einmal ein Byte. PMX hat eine Open-Source-Version. Wir glauben daran, dass unsere Nutzer gut ausgebildet und informiert sind, warum sie PMX verwenden. Wir respektieren Ihre Privatsph\\u00e4re, so dass keine Daten jemals erfasst werden, auch keine Absturzprotokolle. Sie k\\u00f6nnen auch unsere Datenschutzrichtlinie.</p>\"},{\"location\":\"de/faqs/#faq27\",\"title\":\"Spioniert mich PMX \\u00fcber das Netzwerk mit ADB aus?\",\"text\":\"<p>Nein.</p> <p>PMX spricht mit <code>adbd</code> Prozess \\u00fcber localhost (<code>127.0.0.1</code>). Aber es gibt keine M\\u00f6glichkeit, <code>adbd</code> nur auf localhsot zu starten, und nicht auf anderen Netzwerkschnittstellen (weil ADB extern von einem PC verwendet werden soll). Du kannst sicher verhindern, dass <code>adbd</code> von externen IP-Adressen aus zuh\\u00f6rt, wenn du kannst. PMX w\\u00fcrde immer noch funktionieren, ohne dass ein Port extern ausgesetzt wird.</p> <p>Au\\u00dferdem kannst du in den Erweiterten Einstellungen den <code>5555</code> Port auf die gew\\u00fcnschte Nummer \\u00e4ndern. Es ist nicht hart codiert.</p> <p>Auch ADB seit Android 4.2 soll mit RSA Key Authentifizierung (einer der st\\u00e4rksten Authentifizierungsmechanismen) gesch\\u00fctzt werden. Selbst wenn das Ger\\u00e4t \\u00fcber das Internet erreichbar ist (was hochgradig unlikely), kann niemand eine ADB Verbindung ohne Authentifizierung herstellen.</p> <p>Sie k\\u00f6nnen diese Forderungen auf jede gew\\u00fcnschte Art und Weise \\u00fcberpr\\u00fcfen. Wir sind hier, um Ihnen technisch zu helfen.</p>\"},{\"location\":\"de/faqs/#faq28\",\"title\":\"Benutzt PMX die root-Privilegien, um meine Daten zu sammeln?\",\"text\":\"<p>Wir glauben an das Prinzip des geringsten Privilegs. Aufgrund des eingeschr\\u00e4nkten Charakters des Android-Betriebssystems kann PMX jedoch ohne hohe Privilegien nicht funktionieren. Was wir anbieten k\\u00f6nnen, ist, wenn Sie ein technisch versierter Mensch sind wir k\\u00f6nnen dir beibringen, wie du es Apps schwierig machen kannst, Internetverbindungen herzustellen, auch mit Root-Rechten.</p>\"},{\"location\":\"de/faqs/#faq29\",\"title\":\"Ich denke, PMX ist nutzlos. Warum wurde sie geschaffen?\",\"text\":\"<p>Wir respektieren Ihre Meinung. PMX ist nicht f\\u00fcr alle (und deshalb wurde es jahrelang nicht poliert und ver\\u00f6ffentlicht, weil wir wussten, dass wir ein sehr kleines Publikum haben). Es ist nur f\\u00fcr ein paar technisch versierte Seelen, die sich besonders um ihre Privatsph\\u00e4re und ihre Ger\\u00e4testeuerung k\\u00fcmmern. Die meisten Telefon-Nutzer sind nur in den H\\u00e4nden ihrer OEMs und App-Entwickler. Sie wissen nicht, was mit ihnen und ihren Daten gemacht wird. Die Mehrheit bevorzugt die Bequemlichkeit gegen\\u00fcber der Privatsph\\u00e4re. Und es ist in Ordnung.</p>\"},{\"location\":\"de/permission-references/\",\"title\":\"Berechtigungsreferenzen\",\"text\":\"<p>Angenommen, Sie haben eine ganze Sonntagseinstellung verbracht, Sie wollten Berechtigungen f\\u00fcr 200+ installierte Apps. Und:</p> <ul> <li>Im n\\u00e4chsten Monat haben Sie Ihr Ger\\u00e4t aktualisiert oder einen neuen ROM installiert.</li> <li>Oder Sie haben einige Apps aus irgendeinem Grund deinstalliert und neu installiert.</li> <li>Oder Sie haben ein paar Berechtigungen erteilt, wie von den Apps verlangt.</li> </ul> <p>Werden Sie die ganze M\\u00fche noch einmal durchgehen?</p> <p>Nein, das brauchst du nicht. Sie k\\u00f6nnen PMX an Ihre gew\\u00fcnschten Berechtigungszust\\u00e4nde erinnern. Legen Sie eine Berechtigung fest, machen Sie es GREENund erledigt. Es wird nur wenige Augenblicke dauern, um sich alle installierten Pakete anzusehen und herauszufinden, welche Berechtigungen nicht korrekt gesetzt sind. , indem Sie eine schnelle Suche durchf\\u00fchren: <code>:RED|:ORANGE</code> oder <code>!:GREEN</code>. Siehe Search f\\u00fcr weitere Details.</p> <p>Drei Referenzstates sind:</p> <ul> <li>ORANGE zeigt an, dass kein Referenzwert gesetzt ist.</li> <li>GREEN zeigt an, dass der Referenzwert mit dem aktuell gesetzten Wert \\u00fcbereinstimmt.</li> <li>RED zeigt an, dass der Referenzwert und der Wert unterschiedlich sind.</li> </ul> <p>Referenzzust\\u00e4nde k\\u00f6nnen gesichert werden und komfortabel wiederhergestellt werden. Nach einer Wiederherstellung gibt es einen bequemen Weg, alle Berechtigungen entsprechend wiederhergestellter Referenzen zu setzen. Siehe Batch Operations.</p> <p>Es gibt mehrere Wege, eine Referenz zu setzen:</p> <ul> <li>Dr\\u00fccken Sie lange auf eine Berechtigung und tippen Sie auf die Schaltfl\\u00e4che \\\"Verweis setzen\\\" / \\\"Verweis l\\u00f6schen\\\".</li> <li>Es gibt eine obere Men\\u00fcoption auf der Berechtigungsliste jeder App, um alle Referenzen zu setzen oder zu l\\u00f6schen.</li> <li>Setze Referenzen in Massen mit Batch Operations.</li> <li>Aktivieren Sie unter Einstellungen \\u2192 Allgemeine Einstellungen die Einstellung \\\"Auto-Set Reference\\\" . Wenn Sie also einen Berechtigungsstatus \\u00e4ndern, wird er auch als Referenz festgelegt.</li> </ul>\"},{\"location\":\"de/permission-view/\",\"title\":\"Berechtigungsansicht\",\"text\":\"<p>Die Berechtigungsansicht zeigt eine Liste aller Berechtigungen mit einer Anzahl an, wie viele Apps diese Berechtigungen verwenden.</p> <p></p> <ol> <li>Berechtigungsname</li> <li>Schutzlevel</li> <li>App-Anzahl</li> <li>Anzahl der erteilten Berechtigungen aus der Gesamtzahl der Berechtigungen. Letzteres kann gr\\u00f6\\u00dfer sein als die Anzahl der Apps, da einige Apps eine AppOp Berechtigung zweimal verwenden k\\u00f6nnen (im UID Modus).</li> </ol> <p>Wenn Sie eine Berechtigung ausw\\u00e4hlen, erscheint eine Liste von Apps, die diese Berechtigung nutzen:</p> <p></p> <ol> <li>Berechtigungsname</li> <li>Berechtigungsbeschreibung</li> <li>Flag, die angibt, dass die Berechtigung erteilt wird</li> <li>App-Symbol</li> <li>App-Label</li> <li>Paketname</li> <li>App-UID</li> </ol> <p>Wenn du eine App ausw\\u00e4hlst, \\u00f6ffnet sich die Berechtigungsliste wo du den Berechtigungsstatus \\u00e4ndern kannst.</p>\"},{\"location\":\"de/permission-watcher/\",\"title\":\"Berechtigungs-Beobachter\",\"text\":\"<p>Einige Apps funktionieren ohne eine bestimmte Berechtigung nicht. Aber Sie m\\u00f6chten die Berechtigung f\\u00fcr die Zeit nur erteilen, wenn Sie die App verwenden, und widerrufen Sie die Erlaubnis, sobald Sie die App verlassen.</p> <p>Berechtigungs-Beobachter tut genau das. Sobald Sie die App verlassen oder nachdem die festgelegte Zeit abgelaufen ist, es widerruft die Berechtigungen einer App (manifest und AppOp) auf eigene Faust oder bittet Sie, dies zu tun, abh\\u00e4ngig von den Einstellungen, die Sie gesetzt haben.</p> <p></p> <p>Berechtigungs-Beobachter benachrichtigt Sie auch, Berechtigungen f\\u00fcr neu installierte Apps festzulegen (im prim\\u00e4ren Benutzer- / Eigent\\u00fcmerprofil).</p> <p></p> <p>Notiz:</p> <ul> <li>Nur die Berechtigungen mit RED Referenzstatus werden aufgehoben, nicht die mit dem ORANGE Status. Also hast du die Referenzzust\\u00e4nde zuerst MUST gesetzt. Siehe Berechtigungsreferenzen.</li> <li>Manifest Berechtigungen nur mit Dangerous Schutz Level werden beobachtet. Das sind diejenigen, die sich normalerweise \\u00e4ndern. Berechtigungen mit Signatur oder Entwicklung Schutzstufe oder denen mit System-Fixed Flags werden nicht beobachtet, obwohl sie ge\\u00e4ndert werden k\\u00f6nnen.</li> <li>PMX beobachtet nur Benutzer-installiert oder normale System-Apps, nicht Framework-Apps. \\u00c4ndern k\\u00f6nnte das Ger\\u00e4t bricken.</li> <li>Auf einigen Ger\\u00e4ten funktioniert Permission Watcher m\\u00f6glicherweise nicht zuverl\\u00e4ssig f\\u00fcr Apps im sekund\\u00e4ren Benutzer/Profil. Es wird empfohlen, es in Kombination mit dem geplanten Checker zu verwenden.</li> </ul> <p>Warum startet Berechtigungsbeobachter fehlgeschlagen?</p> <p>Verwenden Sie ADB? Einige OEMs entfernen die Berechtigung <code>OBSERVE_GRANT_REVOKE_PERMISSIONS</code> oder <code>SET_ACTIVITY_WATCHER</code> aus dem Shell Paket. Wenn das bei Ihnen der Fall ist, dann tut es uns leid. Das k\\u00f6nnen wir nicht beheben. Auf solchen Ger\\u00e4ten kann Permission Watcher nur mit root funktionieren. Siehe die Grenzen des ADB.</p>\"},{\"location\":\"de/scheduled-check/\",\"title\":\"Geplante Pr\\u00fcfung\",\"text\":\"<p>M\\u00f6chten Sie alle unerw\\u00fcnschten \\u00c4nderungen an den Berechtigungen aller installierten Apps im Auge behalten? Geplanter Check kann dies in regelm\\u00e4\\u00dfigen Abst\\u00e4nden (in Minuten, Stunden oder Tagen) f\\u00fcr Sie tun.</p> <p>Setze Berechtigungsreferenzen auf GREEN und lasse den Rest auf PMX. Wenn irgendeine Berechtigung ge\\u00e4ndert wurde (mit RED Status) oder wenn eine neue App installiert wurde (mit ORANGE Statusberechtigung), PMX erinnert Sie daran, dass etwas Ihre Aufmerksamkeit erfordert.</p> <p>Zus\\u00e4tzlich kann, wenn in den Einstellungen konfiguriert, geplante Pr\\u00fcfung automatisch erteilte Berechtigungen widerrufen gefolgt von einer informativen Benachrichtigung.</p>\"},{\"location\":\"de/search/\",\"title\":\"Suchen\",\"text\":\"<p>Normalerweise werden Paketbezeichnung, Name und UID aus der sichtbaren Liste durchsucht.</p> <p>Bei Deep Search, werden Berechtigungsname und andere Parameter abgefragt.</p> <p>Beachten Sie, dass die Ausschlie\\u00dfungsfilter bei der Suche effektiv sind.</p> <p>Sie k\\u00f6nnen folgende spezielle Suchbegriffe verwenden:</p> <ul> <li> <p>App-Status:</p> <p><code>:Critical</code> <code>:Framework</code> <code>:System</code> <code>:User</code> <code>:Disabled</code></p> </li> <li> <p>Referenzzustand:</p> <p><code>:ORANGE</code> <code>:GREEN</code> <code>:RED</code></p> </li> <li> <p>Berechtigungen Schutzlevel:</p> <p><code>:Normal</code> <code>:Dangerous</code> <code>:Signature</code> <code>:Internal</code> <code>:Development</code> <code>:Privileged</code> <code>:Fixed</code> <code>:AppOps</code> <code>:Unknown</code></p> </li> <li> <p>Pro UID AppOps:</p> <p><code>:UID</code></p> </li> <li> <p>AppOps mit letztem Zugriff oder Ablehnungszeit:</p> <p><code>:TIME</code></p> </li> <li> <p>Zus\\u00e4tzlicher AppOps (nie in den Filtereinstellungen ausgeschlossen):</p> <p><code>:EXTRA</code></p> </li> <li> <p><code>&amp;</code> (UND), <code>|</code> (OR) und <code>!</code> (NOT) Betreiber:</p> <p><code>Foo|Bar&amp;Baz</code></p> <p><code>Foo&amp;!Bar&amp;!Baz</code></p> </li> </ul> <p>Bezahlte Version zeigt auch Suchvorschl\\u00e4ge (falls in den Pr\\u00e4ferenzen) an, um den Suchprozess zu vereinfachen.</p>\"},{\"location\":\"de/use-with-adb/\",\"title\":\"Verwendung von PMX mit ADB\",\"text\":\"\"},{\"location\":\"de/use-with-adb/#limitations-of-adb\",\"title\":\"Einschr\\u00e4nkungen von ADB\",\"text\":\"<p>ADB ist nicht so m\\u00e4chtig wie Root. Du kannst den aktuellen Status dessen, was ADB tun kann, in About \\u2192 Privileges (Men\\u00fceintrag):</p> <p></p> <p>F\\u00fcr weitere Details siehe Grenzen des ADB. Siehe auch Warum funktioniert \\u201e PMX \\u201c nicht richtig auf OEM-Betriebssystemen oder benutzerdefinierten \\u201e ROMs\\u201c?</p>\"},{\"location\":\"de/use-with-adb/#adb-guide\",\"title\":\"ADB Anleitung\",\"text\":\"<p>Bitte lesen Sie ADB Paarung / Verbindungsanleitung.</p>\"},{\"location\":\"de/versions/\",\"title\":\"PMX-Versionen\",\"text\":\"<p>PMX ist in zwei Varianten verf\\u00fcgbar: Bezahlt und Kostenlos. Bezahlte Version ist in zwei Varianten erh\\u00e4ltlich: Play Store und Pro. Neueste APKs werden im Play Store, GitHub und dem Telegram Kanal ver\\u00f6ffentlicht.</p>\"},{\"location\":\"de/versions/#paid-features\",\"title\":\"Bezahlte Funktionen\",\"text\":\"<p>Bezahlte Version enth\\u00e4lt alles, was in der kostenlosen Version enthalten ist, sowie die folgenden zus\\u00e4tzlichen Features, die auch in der Play Store Beschreibung aufgef\\u00fchrt sind:</p> <ul> <li>Geplante Pr\\u00fcfung, um schlechte Referenzstatus zu benachrichtigen</li> <li>\\u00c4nderungen der Berechtigungen \\u00fcberwachen und r\\u00fcckg\\u00e4ngig machen</li> <li>Erteilte Berechtigungen mit RED-Status automatisch widerrufen</li> <li>\\u00c4nderungen an kritischen Apps und Berechtigungen vornehmen</li> <li>Unterst\\u00fctzung f\\u00fcr mehrere Benutzer / Arbeitsprofil</li> <li>Stapeloperationen (Profile)</li> <li>Berechtigungsansicht</li> </ul>\"},{\"location\":\"de/whatsrunning-integration/\",\"title\":\"Integration mit WhatsRunning\",\"text\":\"<p>PMX ist in WhatsRunning integriert, so dass du eine von der anderen \\u00f6ffnen kannst.</p> <p> </p> <p>So k\\u00f6nnen Sie von PMX zu WhatsRunning wechseln, um herauszufinden, ob eine App mit eingeschr\\u00e4nkten Berechtigungen noch l\\u00e4uft. Wenn ja, in welchem Zustand es ist und wie viel Ressourcen es verbraucht.</p> <p>In \\u00e4hnlicher Weise k\\u00f6nnen Sie von WhatsRunning zu PMX wechseln, um herauszufinden, welche Berechtigungen einer laufenden (oder toten) App gew\\u00e4hrt werden.</p> <p>Dies ist besonders hilfreich bei der Analyse der Auswirkungen von Berechtigungen wie <code>RUN_IN_BACKGROUND</code>.</p>\"},{\"location\":\"es/\",\"title\":\"\\u00bfQu\\u00e9 es PMX?\",\"text\":\"<p>Es la aplicaci\\u00f3n eXtended Permission Manager para Android la que facilita la configuraci\\u00f3n y revisi\\u00f3n de los permisos deseados en las aplicaciones instaladas, mantener un seguimiento de cualquier cambio no deseado. Aprovechando el control de su dispositivo, le permite proteger su privacidad y ahorrar recursos como el uso de la bater\\u00eda.</p> <p>PMX proporciona toda la informaci\\u00f3n y controles dispersos (o no disponibles) relacionados con los permisos en una sola pantalla para que puedas verlos y controlarlos de una manera completa y conveniente.</p> <p>Usando PMX puedes:</p> <ul> <li>Ver / conceder / revocar todos los permisos manifest que se pueden configurar o no desde la pantalla de configuraci\\u00f3n de la aplicaci\\u00f3n. La lista de permisos que no se pueden establecer desde GUI es muy larga.</li> <li>Ver todos los permisos AppOp que normalmente no tienen ninguna configuraci\\u00f3n de GUI. Ejemplo. <code>VIBRATE</code> y <code>READ_CLIPBOARD</code>. Puede configurar el modo AppOps deseado, p. ej., Ignorar o Foreground.</li> <li>Ver todos los permisos solicitados por una aplicaci\\u00f3n no cambiable.</li> <li>Ver el \\u00faltimo tiempo usado para muchos permisos de AppOp.</li> <li>Cambie los permisos arreglados por sistema que no pueden ser cambiados por ning\\u00fan otro medio.</li> <li>Supervisa en tiempo real los cambios de permisos o realiza an\\u00e1lisis programados.</li> <li>Ordenar aplicaciones y permisos por muchos par\\u00e1metros, incluyendo fecha de instalaci\\u00f3n y n\\u00famero de permisos.</li> <li>Hacer consultas de b\\u00fasqueda avanzada en aplicaciones y sus permisos.</li> <li>Y mucho m\\u00e1s.</li> </ul> <p>Vea tambi\\u00e9n la descripci\\u00f3n de Github README y Play Store. O simplemente pru\\u00e9balo. Ofrecemos una versi\\u00f3n gratuita y una prueba gratuita de un mes.</p> <p>\\u00bfEs incre\\u00edble na? Vamos a entrar en detalles.</p> <ul> <li>Permisos de manifiesto y AppOps</li> <li>Referencias de Permiso</li> <li>Interfaz de usuario explicada</li> <li>Buscar</li> <li>Chequeo Programado</li> <li>Permission Watcher</li> <li>Vista de Permisos</li> <li>Operaciones por lote</li> <li>Integraci\\u00f3n con WhatsRunning</li> <li>Usando PMX con ADB</li> <li>Versiones PMX</li> <li>Funciones pagadas</li> <li>Preguntas Frecuentes de PMX</li> <li>Descargas</li> <li>Capturas de pantalla</li> <li>Cont\\u00e1ctenos</li> </ul>\"},{\"location\":\"es/#rate-review\",\"title\":\"Calificaciones / Rese\\u00f1as / Comentarios / votos positivos / estrellas\",\"text\":\"<ul> <li>Play Store</li> <li>XDA</li> <li>GitHub</li> </ul>\"},{\"location\":\"es/batch-operations/\",\"title\":\"Operaciones de Lote\",\"text\":\"\"},{\"location\":\"es/batch-operations/#permission-profiles\",\"title\":\"Perfiles de permisos\",\"text\":\"<ul> <li>Crear y editar perfiles de permisos (plantillas).</li> <li>Aplicar un perfil a una lista seleccionada de aplicaciones.</li> <li>Selecciona un Perfil predeterminado para aplicar a las aplicaciones reci\\u00e9n instaladas (si Permission Watcher est\\u00e1 habilitado).</li> </ul> <p>Here es una gu\\u00eda de v\\u00eddeo de ejemplo c\\u00f3mo crear y aplicar un perfil.</p>\"},{\"location\":\"es/batch-operations/#operations-with-references\",\"title\":\"Operaciones con referencias\",\"text\":\"\"},{\"location\":\"es/batch-operations/#set-permissions\",\"title\":\"Establecer permisos\",\"text\":\"<p>Vaya a trav\\u00e9s de una lista de aplicaciones seleccionadas y haga RED permisos GREEN configurando sus estados de acuerdo a los valores de referencia. Se ignoran los permisos con los Estados Verdes y Naranja.</p> <p>Esta opci\\u00f3n suele ser \\u00fatil cuando acaba de restaurar una copia de seguridad y hay muchos permisos con un estado RED.</p>\"},{\"location\":\"es/batch-operations/#set-references\",\"title\":\"Establecer Referencias\",\"text\":\"<p>Vaya a trav\\u00e9s de una lista de aplicaciones seleccionadas y haga RED y ORANGAR permisos GREEN configurando sus valores de referencia de acuerdo a los estados de permisos.</p> <p>Esta opci\\u00f3n suele ser \\u00fatil durante una configuraci\\u00f3n inicial. Acabas de instalar la aplicaci\\u00f3n PMX y pasaste unas horas configurando los permisos. Esta opci\\u00f3n har\\u00e1 que todos GREEN en un solo toque.</p>\"},{\"location\":\"es/batch-operations/#cleanup-references\",\"title\":\"Limpiar referencias\",\"text\":\"<p>Limpiar la base de datos de referencias de permisos. Las referencias no utilizadas ser\\u00e1n eliminadas.</p> <p>Si hay una gran lista de referencias no utilizadas, una limpieza puede mejorar la carga de la lista de aplicaciones.</p>\"},{\"location\":\"es/batch-operations/#reset-references\",\"title\":\"Restablecer referencias\",\"text\":\"<p>Restablecer referencias de permisos de base de datos. Se eliminar\\u00e1n todas las referencias.</p> <p>No se pretende utilizar normalmente. Pero en caso de que quiera empezar desde cero.</p> <p></p>\"},{\"location\":\"es/details/\",\"title\":\"Interfaz de usuario explicada\",\"text\":\"\"},{\"location\":\"es/details/#apps-list\",\"title\":\"Lista de Aplicaciones\",\"text\":\"<ol> <li> <p>El clip coloreado a la izquierda indica estado de referencia</p> </li> <li> <p>icono de la aplicaci\\u00f3n</p> </li> <li> <p>Primera l\\u00ednea muestra el paquete etiqueta</p> </li> <li> <p>La segunda l\\u00ednea muestra el paquete nombre y</p> </li> <li> <p>UID</p> </li> <li> <p>Tercera l\\u00ednea (opcionalmente) muestra el estado del paquete: aplicaci\\u00f3n Cr\\u00edtica (Framework), Framework o System. Tambi\\u00e9n si la aplicaci\\u00f3n est\\u00e1 desactivada. No se muestra ning\\u00fan estado para aplicaciones Habilitadas, Usuario.</p> </li> <li> <p>La \\u00faltima l\\u00ednea muestra cuenta de los permisos totales de manifest visibles y</p> </li> <li> <p>Permisos AppOps.</p> <p>Los permisos invisibles son los excluidos en Filtros de exclusi\\u00f3n.</p> </li> <li> <p>Si se ordenan por hora de instalaci\\u00f3n o actualizaci\\u00f3n, la \\u00faltima l\\u00ednea tambi\\u00e9n muestra fecha o hora en el lado derecho.</p> </li> </ol>\"},{\"location\":\"es/details/#permissions-list\",\"title\":\"Lista de permisos\",\"text\":\"<ol> <li>El clip coloreado a la izquierda indica estado de referencia</li> <li>Manifest Los permisos muestran una bandera en la esquina superior derecha.</li> <li>Permiso icono</li> <li>Primera l\\u00ednea muestra nombre de permiso</li> <li>La segunda l\\u00ednea muestra el nivel de protecci\\u00f3n: Normal, Peligro, Firma, Desarrollo, Privilegido, Corregido, AppOps o Desconocido. Tambi\\u00e9n si AppOp es por paquete o por UID. Y si es una AppOp Extra (nunca se excluye en los ajustes de filtros).</li> <li>Tercera l\\u00ednea (en caso de AppOp) muestra tiempo de \\u00faltimo acceso o rechazo</li> <li>La cuarta l\\u00ednea (en caso de AppOp) muestra el valor referenciado si no coincide con el valor establecido actual.</li> <li>Cambiar para cambiar el estado de permiso</li> <li>Estado actual (en caso de AppOp)</li> <li>Por defecto indica que el estado AppOp nunca ha sido cambiado</li> </ol>\"},{\"location\":\"es/faqs/\",\"title\":\"FAQs de PMX\",\"text\":\"\"},{\"location\":\"es/faqs/#faq36\",\"title\":\"\\u00bfPor qu\\u00e9 necesito usar PMX?\",\"text\":\"<p>Porque:</p> <ul> <li>PMX proporciona toda la informaci\\u00f3n y controles dispersos (o por lo dem\\u00e1s no disponibles) relacionados con los permisos en una sola pantalla para que puedas verlos y controlarlos de una manera completa y conveniente.</li> <li>No hay ninguna herramienta oficial disponible en Android para cambiar AppOps. Solo un subconjunto de permisos manifest est\\u00e1n expuestos al usuario en la configuraci\\u00f3n de permisos. PMX expone todos los permisos en forma cruda. Relacionado:  permisosManifest y AppOps.</li> <li>PMX te facilita el seguimiento de cualquier cambio no deseado en los permisos.</li> <li>PMX te permite ahorrar recursos del dispositivo como la bater\\u00eda y el ancho de banda de la red y proteger tu privacidad. No te dejas totalmente a merced de los desarrolladores ROM y de la aplicaci\\u00f3n. Lee esta article para obtener una idea.</li> <li>PMX puede monitorear los cambios de permisos en tiempo real, reverti\\u00e9ndolos autom\\u00e1ticamente cuando dejes de usar una aplicaci\\u00f3n. O puede realizar an\\u00e1lisis programados de permisos. As\\u00ed que no tienes que recordar las cosas.</li> <li>PMX te facilita el estado de las aplicaciones instaladas copias de seguridad y restauraci\\u00f3n para que no tengas que modificar los permisos de una aplicaci\\u00f3n una y otra vez.</li> </ul> <p>Por favor vea \\u00bfQu\\u00e9 es PMX?</p>\"},{\"location\":\"es/faqs/#faq1\",\"title\":\"\\u00bfPor qu\\u00e9 PMX requiere acceso root o ADB?\",\"text\":\"<p>Android restringe intencionalmente las aplicaciones para modificar los permisos manifest o AppOps de otras aplicaciones (y en muchos casos para cambiar algunas propias). Estas medidas de seguridad de la plataforma protegen la privacidad de los usuarios y la integridad del sistema.</p> <p>Para realizar acciones que requieren privilegios elevados, PMX utiliza un ayudante con privilegios peque\\u00f1os y separados en lugar de intentar hacer todo desde el proceso normal de la aplicaci\\u00f3n. Por defecto ese ayudante corre bajo el UID ADB (<code>2000</code>) cuando se inicia a trav\\u00e9s de ADB, o bajo el UID del sistema (<code>1000</code>) en dispositivos rooteados. Si tiene un dispositivo rooteado, puede cambiar el UID del ayudante en Configuraci\\u00f3n avanzada.</p>\"},{\"location\":\"es/faqs/#faq33\",\"title\":\"Mi dispositivo no est\\u00e1 rooteado. \\u00bfC\\u00f3mo puedo usar PMX?\",\"text\":\"<p>Usar PMX con ADB. Por favor, lea la nota al comienzo. Puede haber algunas limitaciones en algunos dispositivos.</p>\"},{\"location\":\"es/faqs/#faq42\",\"title\":\"\\u00bfPor qu\\u00e9 PMX no funciona o funciona correctamente en la \\u00faltima versi\\u00f3n de Android?\",\"text\":\"<p>PMX se basa en las API ocultas de Android o las interfaces no SDK que no est\\u00e1n documentadas (en Desarrolladores Android) a diferencia de las API est\\u00e1ndar. As\\u00ed que con cada nueva versi\\u00f3n de Android, tenemos que pasar por el c\\u00f3digo fuente de Android para averiguar qu\\u00e9 APIs se han roto (cambiado o eliminado).</p> <p>Adem\\u00e1s, se tarda tiempo en reparar las APIs rotas; a veces semanas, a veces meses. Y no est\\u00e1 garantizado que siempre podremos arreglar las APIs rotas. A veces Google con el prop\\u00f3sito nos hace dif\\u00edcil o imposible seguir usando las API ocultas.</p> <p>Por lo tanto, no es posible hacer que el PMX funcione inmediatamente en cada nueva versi\\u00f3n de Android (especialmente en fase beta) mientras el c\\u00f3digo fuente final de AOSP no sea publicado p\\u00fablicamente (en B\\u00fasqueda de c\\u00f3digo o Repositorio de Git).</p> <p>La versi\\u00f3n final de Android compatible con PMXse indica en la descripci\\u00f3n de la aplicaci\\u00f3n en GitHub y Play Store. Cuando ejecutas la aplicaci\\u00f3n en una versi\\u00f3n no compatible por primera vez, muestra una advertencia como esta:</p> <p></p>\"},{\"location\":\"es/faqs/#faq43\",\"title\":\"\\u00bfPor qu\\u00e9 PMX no funciona correctamente en sistemas operativos OEM o ROMs personalizados?\",\"text\":\"<p>PMX se basa en las API ocultas de Android o las interfaces no SDK que no est\\u00e1n documentadas (en Desarrolladores Android) a diferencia de las API est\\u00e1ndar. As\\u00ed que necesitamos acceso al c\\u00f3digo fuente de tu ROM para saber exactamente c\\u00f3mo funcionan las API ocultas.</p> <p>Bueno, AOSP (que es desarrollado por Google) es de c\\u00f3digo abierto. Pero si tu desarrollador OEM o ROM hace algunos cambios en AOSP para el prop\\u00f3sito de personalizaci\\u00f3n, no tenemos forma de saber exactamente qu\\u00e9 cambios han hecho en el c\\u00f3digo AOSP de stock. Estamos bastante indefensos aqu\\u00ed. Y este hecho se indica en la descripci\\u00f3n de la aplicaci\\u00f3n en GitHub y Play Store. Lo sentimos.</p>\"},{\"location\":\"es/faqs/#faq2\",\"title\":\"\\u00bfC\\u00f3mo cambia PMX otros permisos de aplicaciones?\",\"text\":\"<p>PMX por s\\u00ed misma no puede conceder ni revocar los permisos de otras aplicaciones. De hecho, ninguna aplicaci\\u00f3n de terceros tiene el privilegio de hacerlo. Es el sistema operativo Android el que controla los permisos de las aplicaciones. PMX s\\u00f3lo env\\u00eda una solicitud al framework Android para cambiar el estado de un permiso. Ahora depende totalmente de Android cu\\u00e1nto honra nuestra petici\\u00f3n. No todos los permisos son cambiables. Y si no puedes cambiar el estado de un permiso usando PMX, tampoco podr\\u00e1s cambiarlo de otra manera.</p>\"},{\"location\":\"es/faqs/#faq34\",\"title\":\"\\u00bfQuedan los permisos cambiados despu\\u00e9s de que ADB est\\u00e9 deshabilitado, o se deniega el root o se desinstala PMX?\",\"text\":\"<p>PMX por s\\u00ed misma no puede conceder ni revocar los permisos de otras aplicaciones. De hecho, ninguna aplicaci\\u00f3n de terceros tiene el privilegio de hacerlo. Es el sistema operativo Android el que controla los permisos de las aplicaciones. PMX s\\u00f3lo env\\u00eda una solicitud al framework Android para cambiar el estado de un permiso.</p> <p>As\\u00ed que una vez que se cambia un permiso, no hay diferencia si desinstalas PMX o dejas de tener sus privilegios. El permiso permanece en cualquier estado que sea, a menos que usted o el sistema operativo lo cambien de nuevo.</p>\"},{\"location\":\"es/faqs/#faq15\",\"title\":\"\\u00bfPor qu\\u00e9 no puedo cambiar el permiso XYZ?\",\"text\":\"<p>Permisos de manifiesto con solo nivel de protecci\\u00f3n (y algunos otros) son cambiables. AppOps no dependen de otros AppOp son modificables. As\\u00ed es como funciona Android, no podemos cambiar el comportamiento. Ver Manifest permisos y AppOps.</p> <p>Adicionalmente, PMX protege algunas aplicaciones y permisos cr\\u00edticos del framework. Cambiarlos podr\\u00eda bloquear el dispositivo. Ver la pregunta relacionada.</p> <p>Tambi\\u00e9n ve \\u00bfPor qu\\u00e9 no se puede cambiar algo AppOps ?</p> <p>Ten en cuenta que a partir de Android 15, los permisos manifest de las aplicaciones del sistema con nivel de protecci\\u00f3n Desarrollo no pueden ser revocados. Android ignora silenciosamente la solicitud.</p>\"},{\"location\":\"es/faqs/#faq37\",\"title\":\"He cambiado un permiso pero no funciona. \\u00bfPor qu\\u00e9?\",\"text\":\"<p>Despu\\u00e9s de cambiar un permiso con \\u00e9xito, si no est\\u00e1 obteniendo los resultados deseados e.j. se revierte inmediatamente o despu\\u00e9s de algunas horas o d\\u00edas, es el sistema operativo Android al que hay que culpar. Por favor vea:</p> <ul> <li>\\u00bfC\\u00f3mo cambia PMX otros permisos de aplicaciones?</li> <li>\\u00bfPor qu\\u00e9 no se puede cambiar alg\\u00fan AppOps ?</li> </ul> <p>A medida que usas aplicaciones, Android puede cambiar sus permisos. Y por desgracia no tenemos ninguna manera de evitarlo. Asistente de permisos y Checker Programado pueden ayudar en este sentido.</p>\"},{\"location\":\"es/faqs/#faq3\",\"title\":\"\\u00bfPor qu\\u00e9 no se pueden cambiar algunos AppOps?\",\"text\":\"<p>A veces ves el modo \\\"AppOp no cambiado\\\". Significa que Android rechaz\\u00f3 la solicitud de cambiar el modo AppOp. No puedes cambiarlo sin importar qu\\u00e9 m\\u00e9todo o aplicaci\\u00f3n utilices. Podr\\u00eda haber m\\u00faltiples razones posibles.</p> <ul> <li> <p>Algunos AppOps dependen de sus permisos manifest correspondientes. Por lo tanto, no se pueden cambiar de forma independiente. Por ejemplo, es posible que no puedas negar <code>READ_CONTACTS</code> AppOp si se concede un permiso <code>android.permission.READ_CONTACTS</code> manifest.</p> <p>Tambi\\u00e9n si la aplicaci\\u00f3n no ha solicitado el permiso manifest en su archivo manifest , su permiso AppOp tampoco se puede conceder. Pero todav\\u00eda puede aparecer en la lista de permisos de la aplicaci\\u00f3n si la aplicaci\\u00f3n ha intentado usarla (y ha sido rechazada). La <code>SYSTEM_ALERT_WINDOW</code> es uno de esos ejemplos.</p> </li> <li> <p>Algunos AppOps s\\u00f3lo son usados por Android por compatibilidad (por ejemplo, <code>LEGACY_STORAGE</code>) y no controlan nada. Si exploramos su trabajo subyacente se revela que conceder o revocar dichos permisos no tiene sentido.</p> </li> <li> <p>Algunos permisos no se pueden cambiar si la aplicaci\\u00f3n se est\\u00e1 ejecutando o est\\u00e1 apuntando a una versi\\u00f3n m\\u00e1s antigua o nueva de Android.</p> </li> <li> <p>Algunos OEM ROMs se comportan extra\\u00f1os cuando se trata de AppOps. Ver \\u00bfPor qu\\u00e9 PMX no funciona correctamente en sistemas operativos OEM o ROMspersonalizados?</p> </li> <li> <p>Muchos AppOps pueden tener 2 modos: modo paquete y modo UID. Es posible que uno pueda ser cambiado mientras que el otro no lo sea.</p> <p>Generalmente UID AppOps tiene precedencia sobre sus contrapartes AppOp del paquete. En este caso, el modo efectivo del paquete AppOp es el mismo que el de su UID AppOps. As\\u00ed que no puede cambiar el paquete AppOp solo.</p> <p>Algunos AppOps prefieren configurarse en modo de paquete, no en modo UID. Pero si est\\u00e1 mal configurado en modo UID (con la herramienta de l\\u00ednea de comandos o por alguna otra aplicaci\\u00f3n), no responde a los cambios. Haz \\\"Restablecer AppOps\\\" desde el men\\u00fa superior derecho para que funcione de nuevo. Este es tambi\\u00e9n el caso de otros AppOps que tienen un permiso manifest correspondiente con AppOp nivel de protecci\\u00f3n.</p> </li> </ul> <p>En realidad hay muchas m\\u00e1s explicaciones si buscamos cada aplicaci\\u00f3n y permiso individualmente (lo cual no suena pr\\u00e1ctico). Como se ha dicho anteriormente, PMX no cambia los permisos de otras aplicaciones por s\\u00ed sola. As\\u00ed que incluso si por alguna raz\\u00f3n desconocida, Android no cambia un permiso, o lo revierte inmediatamente, no hay nada que podamos hacer para forzarlo porque estas son las limitaciones en el final de Android. M\\u00e1s bien, debo decir que as\\u00ed es como funciona Android.</p> <p>Relacionado:</p> <ul> <li>\\u00bfQu\\u00e9 son diferentes modos AppOp y cu\\u00e1l deber\\u00eda usar?</li> <li>\\u00bfPor qu\\u00e9 no puedo cambiar el modo AppOp en primer plano?</li> </ul>\"},{\"location\":\"es/faqs/#faq6\",\"title\":\"\\u00bfPor qu\\u00e9 no veo la aplicaci\\u00f3n XYZ en la lista de paquetes?\",\"text\":\"<p>Por favor, compruebe Filtros de exclusi\\u00f3n. Casi todos los paquetes de Android est\\u00e1n excluidos por defecto. Puedes excluir / incluir cualquier paquete que quieras de / a la lista visible.</p>\"},{\"location\":\"es/faqs/#faq7\",\"title\":\"\\u00bfPor qu\\u00e9 no veo el permiso XYZ en el paquete ABC?\",\"text\":\"<p>Por favor, compruebe Filtros de exclusi\\u00f3n. Los permisos que no son cambiables est\\u00e1n excluidos de la lista visible por defecto.</p>\"},{\"location\":\"es/faqs/#faq8\",\"title\":\"\\u00bfPor qu\\u00e9 no veo XYZ AppOp en el paquete ABC?\",\"text\":\"<p>Por favor, compruebe Filtros de exclusi\\u00f3n si XYZ AppOp est\\u00e1 excluido de la lista visible. O puede que el paquete ABC no est\\u00e9 usando la operaci\\u00f3n XYZ. Usted no necesita estar preocupado por esto.</p> <p>Pero si quieres ver el XYZ AppOp para todas las aplicaciones, ve a Filtros de Exclusi\\u00f3n \\u2192 AppOpsExtra , nunca excluido y compruebe XYZ AppOp en la lista.</p> <p>Por ejemplo, escribe <code>_CLIPBOARD</code> en el cuadro de b\\u00fasqueda (con casilla B\\u00fasqueda profunda marcada) y obtendr\\u00e1s todas las aplicaciones que usaron (o intentaron usar) el permiso <code>READ_CLIPBOARD</code> o <code>WRITE_CLIPBOARD</code>. La marca de tiempo tambi\\u00e9n se muestra (pero no para todos los AppOps).</p> <p>Si la aplicaci\\u00f3n que te preocupa no est\\u00e1 en los resultados de la b\\u00fasqueda, comprueba AppOps en la lista de filtros de exclusi\\u00f3n mencionada anteriormente.</p>\"},{\"location\":\"es/faqs/#faq5\",\"title\":\"\\u00bfQu\\u00e9 debo seleccionar para UID de Daemon Privileged en Configuraci\\u00f3n Avanzada? \\u00bfSistema o ADB?\",\"text\":\"<p>Solo importa si est\\u00e1s usando root, o <code>adbd</code> en su dispositivo se est\\u00e1 ejecutando con root (lo que no es el caso con los dispositivos de usuario finales).</p> <p>Preferiblemente use System (UID <code>1000</code>) ya que permite m\\u00e1s privilegios que ADB (UID <code>2000</code>). Ejemplo. cambiar los permisos \\\"System-Fixed\\\" s\\u00f3lo es posible cuando se ejecuta como sistema.</p>\"},{\"location\":\"es/faqs/#faq9\",\"title\":\"\\u00bfQu\\u00e9 son \\\"permisos inv\\u00e1lidos\\\" en los filtros de exclusi\\u00f3n?\",\"text\":\"<p>Si una aplicaci\\u00f3n est\\u00e1 solicitando un permiso manifest pero no est\\u00e1 declarada (proporcionada) por el framework Android o cualquiera de los paquetes instalados, es un permiso inv\\u00e1lido. Por ejemplo, <code>com.android.vending.BILLING</code> no es un permiso v\\u00e1lido si la aplicaci\\u00f3n Play Store no est\\u00e1 instalada en tu dispositivo.</p>\"},{\"location\":\"es/faqs/#faq10\",\"title\":\"\\u00bfQu\\u00e9 son \\\" AppOpsextra\\\" en los filtros de exclusi\\u00f3n?\",\"text\":\"<p>No todos los AppOps est\\u00e1n siendo usados para todas las aplicaciones instaladas. Pero puedes imponer un AppOp a cualquier aplicaci\\u00f3n. Seleccionados AppOps adicionales aparecen en todas las listas de permisos de las aplicaciones para que puedas configurarlas.</p>\"},{\"location\":\"es/faqs/#faq11\",\"title\":\"\\u00bfQu\\u00e9 son los diferentes modos AppOp y cu\\u00e1l deber\\u00eda usar?\",\"text\":\"<p>Normalmente deber\\u00edas permitir o Ignorar. O tal vez quieras permitir una operaci\\u00f3n s\\u00f3lo cuando la aplicaci\\u00f3n est\\u00e1 en el primer plano (s\\u00f3lo en Android 9 y superior). Denegar es la versi\\u00f3n intensa de Ignore que puede bloquear la aplicaci\\u00f3n solicitante. Por defecto es el comportamiento predeterminado del sistema, el cual difiere para diferentes AppOps.</p> <p>Ten en cuenta que no todos los modos AppOp se pueden establecer en cada AppOp para cada aplicaci\\u00f3n. Por ejemplo en las versiones recientes de Android <code>CAMERA</code> y <code>MICROPHONE</code> est\\u00e1n permitidas para ser usadas por aplicaciones de usuario solo en primer plano (incluso si el modo establecido es Permitir). De la misma manera, algunos AppOps nunca pueden establecerse en modo Foreground.</p> <p>Relacionado: \\u00bfPor qu\\u00e9 no se puede cambiar AppOps ?</p> <p>Documentaci\\u00f3n oficial: AppOpsManager.</p>\"},{\"location\":\"es/faqs/#faq12\",\"title\":\"\\u00bfCu\\u00e1l es la diferencia entre los modos \\\"Ignore\\\" y \\\"Denegar\\\" AppOp?\",\"text\":\"<p>Ignore falla silenciosamente mientras que Deny vuelve a lanzar un error a la aplicaci\\u00f3n que la aplicaci\\u00f3n podr\\u00eda no estar esperando y podr\\u00eda bloquear. Normalmente deber\\u00edas usar Ignorar.</p>\"},{\"location\":\"es/faqs/#faq41\",\"title\":\"\\u00bfPor qu\\u00e9 no puedo cambiar el modo AppOp en primer plano?\",\"text\":\"<p>El modo de primer plano no puede establecerse para todos los AppOps. Incluso cuando se establezca, puede que no d\\u00e9 resultados esperados.</p> <p>Relacionado:</p> <ul> <li>\\u00bfQu\\u00e9 son diferentes modos AppOp y cu\\u00e1l deber\\u00eda usar?</li> <li>\\u00bfPor qu\\u00e9 no se puede cambiar alg\\u00fan AppOps ?</li> </ul> <p>Por favor, ten en cuenta que el modo de permiso \\\"Permitir solo mientras usas la aplicaci\\u00f3n\\\" no siempre establece el modo AppOp en \\\"Primer plano\\\":</p> <p></p> <p>Normalmente solo vemos dos estados para un permiso manifest : otorgados y revocados. Pero Android usa flags para dividir estos dos estados en muchos subestados. Para algunos permisos se utiliza el mismo fen\\u00f3meno para lograr la \\\"concesi\\u00f3n s\\u00f3lo cuando la aplicaci\\u00f3n es visible\\\" comportamiento. El permiso AppOp no se utiliza en este caso.</p> <p>Para obtener m\\u00e1s informaci\\u00f3n, consulte la documentaci\\u00f3n oficial de acceso en segundo plano y acceso en primer plano.</p> <p>Para la simplicidad, PMX no vigila las banderas de permisos en este momento. Pero en el futuro se podr\\u00eda a\\u00f1adir una opci\\u00f3n para rastrear tambi\\u00e9n los cambios en las banderas de permiso, incluso si el modo concedido o revocado permanece sin cambios.</p>\"},{\"location\":\"es/faqs/#faq14\",\"title\":\"\\u00bfQu\\u00e9 hace el permiso <code>WAKE_LOCK</code>?\",\"text\":\"<p>Las aplicaciones mant\\u00e9n wakelock para mantener el dispositivo despierto, es decir, no entra en Modo Doz.</p>\"},{\"location\":\"es/faqs/#faq16\",\"title\":\"\\u00bfC\\u00f3mo puedo cambiar el permiso <code>INTERNET</code>?\",\"text\":\"<p>Android no permite cambiar todos los permisos, como los que tienen el nivel de protecci\\u00f3n Normal (e. <code>INTERNET</code>) o aquellos con un nivel de protecci\\u00f3n Fijo o Firma (generalmente aplicaciones de sistema o marco). Ver Manifest permisos y AppOps.</p> <p>Pero si eres rooteado, Fyrypt te da un control muy fuerte sobre la actividad de la red que ocurre en tu dispositivo.</p>\"},{\"location\":\"es/faqs/#faq40\",\"title\":\"\\u00bfQu\\u00e9 son los permisos fijos?\",\"text\":\"<p>Los permisos arreglados por el sistema son otorgados a las aplicaciones preinstaladas por los desarrolladores OEM o ROM. No se supone que se cambien. Pero si tu dispositivo est\\u00e1 rooteado, PMX puede cambiar los permisos fijados por el sistema.</p> <p>Los permisos fijados en pol\\u00edticas son otorgados (o denegados) por los administradores de IT en dispositivos administrados. No se pueden cambiar.</p> <p>Los permisos fijados por el usuario son arreglados por el usuario. Si un usuario niega un permiso algunas veces cuando la aplicaci\\u00f3n lo solicita, el sistema operativo marca el permiso como fijado por el usuario y no muestra m\\u00e1s peticiones al usuario para que conceda el permiso si la aplicaci\\u00f3n solicita el mismo permiso de nuevo. Este tipo de permisos fijos se pueden cambiar f\\u00e1cilmente cuando el usuario lo desee.</p>\"},{\"location\":\"es/faqs/#faq17\",\"title\":\"\\u00bfC\\u00f3mo puedo cambiar los permisos fijados en el sistema, los permisos de Firma/Privilegio o los permisos de las aplicaciones de framework?\",\"text\":\"<p>Si tu dispositivo est\\u00e1 rooteado, en la versi\\u00f3n de pago puedes Permitir Cambios Cr\\u00edticos en Opciones Avanzadas para hacer cambios a los permisos con la bandera Corregida por sistema, nivel de protecci\\u00f3n Signature o Privileged, o los de framework app. Pero no se recomienda jugar con el sistema y las aplicaciones de framework. Puedes bloquear tu dispositivo.</p>\"},{\"location\":\"es/faqs/#faq18\",\"title\":\"\\u00bfQu\\u00e9 es el \\\"modo UID\\\" en los permisos AppOp?\",\"text\":\"<p>Es un modo de permiso AppOp que indica que cambiar esta AppOp tambi\\u00e9n afectar\\u00e1 a otras aplicaciones (con el mismo UID), si est\\u00e1 instalado. Ver <code>sharedUserId</code>.</p> <p>Ten en cuenta que el modo UID tiene precedencia sobre el modo paquete para muchos AppOps.</p>\"},{\"location\":\"es/faqs/#faq39\",\"title\":\"\\u00bfPuedo controlar la funci\\u00f3n \\\"Quitar permisos si no se utiliza la aplicaci\\u00f3n\\\" de Android de PMX?\",\"text\":\"<p>S\\u00ed. Esta caracter\\u00edstica est\\u00e1 disponible desde Android 11. Tambi\\u00e9n est\\u00e1 etiquetado como \\\"Pausar la actividad de la aplicaci\\u00f3n si no se usa\\\" en algunos dispositivos.</p> <p></p> <p>Para cambiar esta opci\\u00f3n de PMX:</p> <ol> <li>Vaya a Filtros de Exclusi\\u00f3n \\u2192 Lista AppOps Extra y compruebe <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code>.</li> <li>Volver a la pantalla principal, escribe <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code> en la barra de b\\u00fasqueda superior. Aseg\\u00farese de que la b\\u00fasqueda profunda est\\u00e1 activada en los ajustes de b\\u00fasqueda.</li> <li>Estableci\\u00f3 el modo Permitir o Ignorar para las aplicaciones que quieras.</li> </ol> <p>Tambi\\u00e9n puedes usar Vista de Permisos o Operaciones de Lotes en lugar del paso 2 y 3. Aqu\\u00ed tienes una gu\\u00eda sobre c\\u00f3mo hacerlo utilizando operaciones por lotes:</p>      Remove permissions if app isn't used\"},{\"location\":\"es/faqs/#faq31\",\"title\":\"\\u00bfPor qu\\u00e9 recibo un mont\\u00f3n de popups \\\"Bad ROM\\\"?\",\"text\":\"<p>Los OEMs hacen enormes cambios en el c\\u00f3digo AOSP de stock (que es desarrollado por Google). As\\u00ed que el framework AppOps en alguna personalizaci\\u00f3n / OEM ROMs devuelve resultados inesperados que PMX no puede entender. Puede ignorar estas ventanas emergentes, pero significan que la funcionalidad es algo limitada.</p> <p>Puedes desactivar estos popups en Ajustes \\u2192 Ajustes generales \\u2192 Desactivar los toast ROM.</p> <p>Ver \\u00bfPor qu\\u00e9 PMX no funciona correctamente en sistemas operativos OEM o ROMspersonalizados?</p>\"},{\"location\":\"es/faqs/#faq19\",\"title\":\"\\u00bfQu\\u00e9 hacen los botones \\\"Ocultar de la lista\\\" (en pulsaci\\u00f3n larga)?\",\"text\":\"<p>Ambos simplemente ocultan la aplicaci\\u00f3n o el permiso de la lista visible. Si no quieres cambiar un permiso para ninguna aplicaci\\u00f3n, puedes ocultarla. Y no aparecer\\u00e1 para ninguna aplicaci\\u00f3n. Para mostrarlo de nuevo, vaya a los ajustes de Filtros de exclusi\\u00f3n.</p> <p>Del mismo modo, puede excluir una aplicaci\\u00f3n de la lista visible si no le preocupan sus permisos.</p> <p> </p>\"},{\"location\":\"es/faqs/#faq21\",\"title\":\"\\u00bfHay una lista completa de todos los permisos disponibles con explicaci\\u00f3n?\",\"text\":\"<p>No hay una lista completa de permisos con descripci\\u00f3n, al menos en mi conocimiento. La versi\\u00f3n PMX Pro muestra una breve descripci\\u00f3n de los permisos comunes de manifest y AppOp.</p> <p>Hay recursos de terceros como esta por Izzy. El sitio oficial de desarrollador de Android y c\\u00f3digo fuente tambi\\u00e9n son buenas fuentes para el aprendizaje.</p> <p>Con cada nueva versi\\u00f3n de Android se a\\u00f1aden nuevos permisos y algunos tambi\\u00e9n obsoletos. Adem\\u00e1s, no todos los permisos son necesarios para ser atendidos por cada usuario.</p>\"},{\"location\":\"es/faqs/#faq22\",\"title\":\"\\u00bfC\\u00f3mo utilizar la aplicaci\\u00f3n en el perfil de trabajo / entorno multiusuario?\",\"text\":\"<p>La versi\\u00f3n Pro soporta perfiles de trabajo y m\\u00faltiples usuarios. Seleccione un usuario del men\\u00fa desplegable.</p> <p></p>\"},{\"location\":\"es/faqs/#faq24\",\"title\":\"\\u00bfC\\u00f3mo se compara PMX con XPrivacyLua? \\u00bfPueden sustituirse mutuamente?\",\"text\":\"<p>PMX no est\\u00e1 dise\\u00f1ado para reemplazar sino para complementar proyectos como XPrivacyLua. Tienen diferentes objetivos de dise\\u00f1o.</p> <p>XPrivacyLua hackea la funcionalidad est\\u00e1ndar de Android conect\\u00e1ndose en API internas, usando Xposed que sustituye algunas librer\\u00edas Android por las hackeadas. As\\u00ed que obtenemos funciones adicionales como alimentar datos falsos a las aplicaciones y recibir notificaciones de eventos relacionados con el permiso que no podemos conocer por ning\\u00fan otro medio normal.</p> <p>Por otra parte, la PMX no est\\u00e1 dirigida a ser un m\\u00f3dulo de framework. Proporciona acceso conveniente a algunas API privilegiadas que las aplicaciones normales no pueden utilizar. No es hacking de la funcionalidad est\\u00e1ndar de Android por ning\\u00fan medio. La mayor\\u00eda de las tareas que realiza PMX tambi\\u00e9n se pueden realizar desde la l\\u00ednea de comandos, excepto algunas como cambiar los permisos fijos del sistema.</p> <p>La ra\\u00edz y Xposed son dos requisitos estrictos para usar XPrivacyLua. PMX no requiere ninguno de los dos para la mayor parte. Ambos no est\\u00e1n disponibles para muchos dispositivos o muchos usuarios no los consideran como una opci\\u00f3n debido a las dificultades t\\u00e9cnicas implicadas anulaci\\u00f3n de garant\\u00eda, fallo de SafetyNet y otros problemas.</p> <p>M\\u00e1s explicaci\\u00f3n here y here.</p>\"},{\"location\":\"es/faqs/#faq32\",\"title\":\"\\u00bfPuede PMX eliminar los permisos automaticamente cuando una aplicaci\\u00f3n est\\u00e1 cerrada, como lo hace Bouncer?\",\"text\":\"<p>S\\u00ed. Ver Asistente de permisos y Control programado. Pero no utiliza la funci\\u00f3n Accesibilidad de Android para realizar toques / clics en pantalla en nombre del usuario (aunque es una buena caracter\\u00edstica sin necesidad de ninguna configuraci\\u00f3n adicional). PMX depende de privilegios root o ADB. As\\u00ed que puede hacer mucho m\\u00e1s (ver \\u00bfQu\\u00e9 es PMX?) de lo que se puede hacer usando funciones de Accesibilidad.</p> <p>Si utilizas ADBy no root, es posible que Permission Watcher no funcione en algunos dispositivos. Por favor vea Limitaciones de ADB.</p>\"},{\"location\":\"es/faqs/#faq35\",\"title\":\"\\u00bfPuedo recibir notificaciones cuando se instala una nueva aplicaci\\u00f3n?\",\"text\":\"<p>S\\u00ed. Consulta Permission Watcher.</p> <p>Desde Android 8, las aplicaciones en segundo plano (que no se est\\u00e1n ejecutando) no pueden recibir notificaciones sobre la instalaci\\u00f3n de nuevas aplicaciones. Por lo tanto, ten\\u00e9is que ejecutar un servicio en primer plano (con notificaci\\u00f3n persistente) para recibir este evento. O puede considerar el uso de Check Programado para mantener las cosas en su lugar.</p>\"},{\"location\":\"es/faqs/#faq38\",\"title\":\"Cuando una nueva aplicaci\\u00f3n est\\u00e1 instalada, \\u00bfpuede PMX soltar sus permisos por defecto?\",\"text\":\"<p>S\\u00ed. Pero no hay permisos para caer. Todos los permisos revocables de manifest ya son revocados y permanecen revocados a menos que el usuario les conceda expl\\u00edcitamente. En lo que se refiere a AppOps , muchos de ellos no aparecen hasta al menos una vez utilizados por la aplicaci\\u00f3n, por ejemplo, <code>VIBRATE</code> y <code>READ_CLIPBOARD</code>. Muchos otros (por ejemplo, <code>READ_CONTACTS</code>) ya han eliminado los permisos correspondientes manifest , tal y como se ha se\\u00f1alado. As\\u00ed que no es predecible en el momento de la instalaci\\u00f3n de la aplicaci\\u00f3n qu\\u00e9 AppOps debe ser eliminado.</p> <p>Sin embargo, se muestra una notificaci\\u00f3n cuando se instala una nueva aplicaci\\u00f3n (si se utiliza Permission Watcher), por lo que el usuario puede configurar los permisos uno por uno o aplicar un perfil.</p>\"},{\"location\":\"es/faqs/#faq25\",\"title\":\"\\u00bfPor qu\\u00e9 PMX requiere permisos de INTERNET?\",\"text\":\"<p>La versi\\u00f3n Pro independiente requiere conexi\\u00f3n a internet para verificar la licencia. Otra versions puede funcionar completamente sin conexi\\u00f3n. Aunque la aplicaci\\u00f3n Play Store necesita conexi\\u00f3n a internet para verificar la licencia.</p>\"},{\"location\":\"es/faqs/#optional-use-of-internet-permission\",\"title\":\"Uso opcional del permiso <code>android.permission.INTERNET</code>\",\"text\":\"<ul> <li>Buscar actualizaciones de la aplicaci\\u00f3n. Puedes desactivar esto en la configuraci\\u00f3n de la aplicaci\\u00f3n.</li> </ul>\"},{\"location\":\"es/faqs/#on-device-use-of-internet-permission\",\"title\":\"Uso local (en dispositivo) del permiso <code>android.permission.INTERNET</code>\",\"text\":\"<p>Android no permite que las aplicaciones creen sockets de red sin tener el permiso <code>INTERNET</code> incluso si est\\u00e1n destinadas a ser utilizadas solo localmente y no para una conexi\\u00f3n a Internet. PMX tiene dos usos de conexiones locales (en el dispositivo) (la capacidad de crear sockets <code>localhost</code> en <code>127.0.0.1</code>) para la Comunicaci\\u00f3n de Inter Proceso (IPC):</p> <ul> <li>PMX inicia un proceso en segundo plano con privilegios root / ADB y habla con ese proceso a trav\\u00e9s del socket de red. Despu\\u00e9s del batido de mano inicial, ambos procesos empiezan a hablar sobre Binder. No tenemos mejor manera de hacerlo porque Android no permite que las aplicaciones hablen sobre los sockets de dominio UNIX tampoco.</li> <li>Si tu dispositivo no est\\u00e1 rooteado y usas PMX con ADB, entonces conectarte a <code>adbd</code> requiere permisos de Internet. Ver \\u00bfEst\\u00e1 PMX espi\\u00e1ndome usando ADB a trav\\u00e9s de red?</li> </ul> <p>As\\u00ed que si la aplicaci\\u00f3n no puede crear o usar sockets de red local, fallar\\u00e1. Y si quieres detener el uso de Internet de PMX . no debe impedir que la aplicaci\\u00f3n hable con procesos en el dispositivo a trav\\u00e9s de interfaz de loopback para IPC. Este es normalmente el caso de firewalls basados en <code>iptables</code>como Fyrypt y cortafuegos basados en VPN como NetGuard. Pero algunos ROMs tienen una funci\\u00f3n integrada para no permitir el acceso a la red:</p> <p></p> <p>Esto no solo evita que la aplicaci\\u00f3n use internet, sino que tambi\\u00e9n deshabilita su capacidad de crear sockets de bucle para IPC. As\\u00ed que PMX no podr\\u00e1 obtener privilegios root / ADB si se deniega este permiso.</p>\"},{\"location\":\"es/faqs/#faq26\",\"title\":\"\\u00bfCu\\u00e1nta privacidad es amigable con PMX? \\u00bfRecolectas los datos de los usuarios?\",\"text\":\"<p>No. No recogemos sus datos. Nunca. Ni siquiera un byte. PMX tiene una versi\\u00f3n de c\\u00f3digo abierto. Creemos que nuestros usuarios est\\u00e1n educados y bien informados de por qu\\u00e9 est\\u00e1n usando PMX. Respetamos su privacidad, por lo que no se recogen datos nunca, incluso los registros de accidentes. Tambi\\u00e9n puede que quieras ver nuestra Pol\\u00edtica de privacidad.</p>\"},{\"location\":\"es/faqs/#faq27\",\"title\":\"\\u00bfMe est\\u00e1 espiando PMX usando ADB en red?\",\"text\":\"<p>No.</p> <p>PMX habla con el proceso <code>adbd</code> sobre localhost (<code>127.0.0.1</code>). Pero no hay forma de iniciar <code>adbd</code> solo escucha en localhsot, y no en otras interfaces de red (porque ADB est\\u00e1 pensado para ser usado externamente desde un PC). Seguramente puedes detener que <code>adbd</code> escuche desde direcciones IP externas, si puedes. El PMX seguir\\u00eda funcionando sin que ning\\u00fan puerto estuviera expuesto externamente.</p> <p>Tambi\\u00e9n puedes cambiar el puerto <code>5555</code> a cualquier n\\u00famero que quieras en Configuraci\\u00f3n avanzada. No es un c\\u00f3digo duro.</p> <p>Tambi\\u00e9n ADB desde Android 4.2 est\\u00e1 pensado para ser protegido con autenticaci\\u00f3n de clave RSA (uno de los mecanismos de autenticaci\\u00f3n m\\u00e1s fuertes). As\\u00ed que incluso si el dispositivo es accesible desde Internet (que es altamente unlikely), nadie puede hacer una conexi\\u00f3n ADB sin autenticaci\\u00f3n.</p> <p>Puede verificar estas afirmaciones de la forma que desee. Estamos aqu\\u00ed para asistirle t\\u00e9cnicamente.</p>\"},{\"location\":\"es/faqs/#faq28\",\"title\":\"\\u00bf PMX est\\u00e1 utilizando mal los privilegios de root para recoger mis datos?\",\"text\":\"<p>Creemos en el principio del menor privilegio. Pero debido a la naturaleza restringida del sistema operativo Android, PMX no puede funcionar sin tener privilegios elevados. Lo que podemos ofrecer es, si eres una persona experta en tecnolog\\u00eda podemos ense\\u00f1arte c\\u00f3mo hacer dif\\u00edcil que las aplicaciones hagan conexiones a Internet, incluso con privilegios de root.</p>\"},{\"location\":\"es/faqs/#faq29\",\"title\":\"Creo que PMX es in\\u00fatil. \\u00bfPor qu\\u00e9 se cre\\u00f3?\",\"text\":\"<p>Respetamos su opini\\u00f3n. PMX no es para todos (y por eso no fue pulido y liberado al p\\u00fablico durante a\\u00f1os porque sab\\u00edamos que tenemos una audiencia muy peque\\u00f1a). Es s\\u00f3lo para algunas almas m\\u00e1s expertas en tecnolog\\u00eda que son extravagantes acerca de su privacidad y control de dispositivos. La mayor\\u00eda de los usuarios del tel\\u00e9fono est\\u00e1n en manos de sus desarrolladores de aplicaciones y OEM. No saben lo que se les est\\u00e1 haciendo y sus datos. La mayor\\u00eda prefiere la comodidad sobre la privacidad. Y est\\u00e1 bien.</p>\"},{\"location\":\"es/permission-references/\",\"title\":\"Referencias de Permisos\",\"text\":\"<p>Supongamos que pasaste un ajuste de domingo entero los permisos deseados en m\\u00e1s de 200 aplicaciones instaladas. Y:</p> <ul> <li>Al mes siguiente actualizaste tu dispositivo o instalaste un nuevo ROM.</li> <li>O desinstalaste y reinstalaste algunas de las aplicaciones por alguna raz\\u00f3n.</li> <li>O usted concedi\\u00f3 algunos permisos, como solicitaron las aplicaciones.</li> </ul> <p>\\u00bfVa a pasar por todo el problema una vez m\\u00e1s?</p> <p>No lo necesitas. Puedes hacer que PMX recuerde los estados de tu permiso deseado. Establece un permiso, hazlo GREENy listo. S\\u00f3lo tardar\\u00e1 unos minutos en ver todos los paquetes instalados y averiguar qu\\u00e9 permisos no est\\u00e1n correctamente configurados. . realizando una b\\u00fasqueda r\\u00e1pida: <code>:RED|:ORANGE</code> o <code>!:GREEN</code>. Ver Search para m\\u00e1s detalles.</p> <p>Tres estados de referencia son:</p> <ul> <li>ORANGE estado indica que no se ha establecido ning\\u00fan valor de referencia.</li> <li>GREEN indica que el valor de referencia coincide con el valor establecido actualmente.</li> <li>RED indica que el valor de referencia y el valor establecido difieren.</li> </ul> <p>Los estados de referencia pueden ser respaldados y restaurados convenientemente. Despu\\u00e9s de una restauraci\\u00f3n, hay una manera conveniente de establecer todos los permisos de acuerdo a las referencias restauradas. Ver Operaciones por lote.</p> <p>Hay m\\u00faltiples formas de establecer una referencia:</p> <ul> <li>Mantenga pulsado un permiso y pulse el bot\\u00f3n \\\"Establecer referencia\\\" / \\\"Limpiar referencia\\\".</li> <li>Hay una opci\\u00f3n de men\\u00fa superior en la pantalla de lista de permisos de cada aplicaci\\u00f3n para establecer o borrar todas las referencias.</li> <li>Establece referencias a granel con Operaciones de lote.</li> <li>Active la preferencia \\\"Configuraci\\u00f3n autom\\u00e1tica de referencia\\\" en Ajustes \\u2192 Configuraci\\u00f3n General. As\\u00ed que cada vez que cambia un estado de permisos, tambi\\u00e9n se establece como referencia.</li> </ul>\"},{\"location\":\"es/permission-view/\",\"title\":\"Ver permisos\",\"text\":\"<p>Vista de permisos muestra una lista de todos los permisos con un recuento de cu\\u00e1ntas aplicaciones est\\u00e1n usando estos permisos.</p> <p></p> <ol> <li>Nombre de permiso</li> <li>Nivel de protecci\\u00f3n</li> <li>Conteo de aplicaciones</li> <li>N\\u00famero de permisos concedidos fuera del total de permisos. Este \\u00faltimo puede ser m\\u00e1s grande que el conteo de aplicaciones porque algunas aplicaciones pueden usar un permiso AppOp dos veces (en modo UID).</li> </ol> <p>Cuando selecciona un permiso, se muestra una lista de aplicaciones que utilizan este permiso:</p> <p></p> <ol> <li>Nombre de permiso</li> <li>Descripci\\u00f3n del permiso</li> <li>Marca que indica que el permiso es otorgado</li> <li>Icono App</li> <li>Etiqueta de la aplicaci\\u00f3n</li> <li>Nombre del paquete</li> <li>UID de App</li> </ol> <p>Cuando seleccionas una aplicaci\\u00f3n, la lista de permisos abre donde puedes cambiar el estado del permiso.</p>\"},{\"location\":\"es/permission-watcher/\",\"title\":\"Observador de Permisos\",\"text\":\"<p>Algunas aplicaciones no funcionan sin tener cierto permiso concedido. Pero quieres conceder el permiso por el momento solo cuando est\\u00e1s usando la aplicaci\\u00f3n, y revocar el permiso tan pronto como abandones la aplicaci\\u00f3n.</p> <p>Permission Watcher hace exactamente eso. Tan pronto como salga de la aplicaci\\u00f3n, o despu\\u00e9s de que haya pasado el tiempo establecido, revoca los permisos de una aplicaci\\u00f3n (manifest y AppOp) por s\\u00ed sola. o le pide que lo haga, dependiendo de las preferencias que haya establecido.</p> <p></p> <p>El permiso Watcher tambi\\u00e9n le notifica que establezca permisos en aplicaciones reci\\u00e9n instaladas (en el perfil principal de usuario / propietario solamente).</p> <p></p> <p>Nota:</p> <ul> <li>Solo se revocan los permisos con estado de referencia ROJO, no los que tienen estado NARANJA. As\\u00ed que DEBAS primero estableces los estados de referencia. Ver Referencias de Permisos.</li> <li>Manifest permisos solo se supervisan los con el nivel de protecci\\u00f3n Peligroso. \\u00c9stos son los que normalmente cambian. Los permisos con nivel de protecci\\u00f3n Signature o Desarrollo o aquellos con bandera Corregida por sistema no son observados, aunque son cambiables.</li> <li>PMX solo supervisa las aplicaciones instaladas por el usuario o las aplicaciones normales del sistema, no las aplicaciones del marco. Cambiarlos podr\\u00eda ladrar el dispositivo.</li> <li>En algunos dispositivos, el Watcher de Permisos puede no funcionar de forma fiable para aplicaciones en el usuario / perfil secundario. Se recomienda usarlo en combinaci\\u00f3n con el Checker Programado.</li> </ul> <p>\\u00bfPor qu\\u00e9 fall\\u00f3 iniciar el Watcher de Permisos?</p> <p>\\u00bfEst\\u00e1s usando ADB? Algunos OEMs eliminan el permiso <code>OBSERVE_GRANT_REVOKE_PERMISSIONS</code> o <code>SET_ACTIVITY_WATCHER</code> del paquete Shell. Si este es el caso de usted, lo lamentamos. Esto es algo que no podemos solucionar. En tales dispositivos, el Watcher de Permisos s\\u00f3lo puede funcionar con root. Ver Limitaciones de ADB.</p>\"},{\"location\":\"es/scheduled-check/\",\"title\":\"Chequeo Programado\",\"text\":\"<p>\\u00bfQuiere hacer un seguimiento de los cambios no deseados en los permisos de todas las aplicaciones instaladas? El chequeo programado puede hacerlo por usted en intervalos regulares (en minutos, horas o d\\u00edas).</p> <p>Establece Referencias de Permisos a GREEN y deja el resto a PMX. Si se encuentra alg\\u00fan permiso cambiado (con RED estado) o cuando se instala una nueva aplicaci\\u00f3n (con ORANGE permisos de estado), PMX te recuerda que algo necesita tu atenci\\u00f3n.</p> <p>Adicionalmente, si se configura en preferencias, la revisi\\u00f3n programada puede revocar autom\\u00e1ticamente los permisos concedidos seguido de una notificaci\\u00f3n.</p>\"},{\"location\":\"es/search/\",\"title\":\"Buscar\",\"text\":\"<p>Normalmente la etiqueta del paquete, el nombre y el UID se buscan en la lista visible.</p> <p>Con B\\u00fasqueda profunda, el nombre del permiso y otros par\\u00e1metros son consultados.</p> <p>Tenga en cuenta que los Filtros de exclusi\\u00f3n son efectivos al realizar la b\\u00fasqueda.</p> <p>Puede utilizar las siguientes palabras clave especiales en la b\\u00fasqueda:</p> <ul> <li> <p>Estado de la aplicaci\\u00f3n:</p> <p><code>:Critical</code> <code>:Framework</code> <code>:System</code> <code>:User</code> <code>:Disabled</code></p> </li> <li> <p>Estado de referencia:</p> <p><code>:ORANGE</code> <code>:GREEN</code> <code>:RED</code></p> </li> <li> <p>Permisos nivel de protecci\\u00f3n:</p> <p><code>:Normal</code> <code>:Dangerous</code> <code>:Signature</code> <code>:Internal</code> <code>:Development</code> <code>:Privileged</code> <code>:Fixed</code> <code>:AppOps</code> <code>:Unknown</code></p> </li> <li> <p>Por UID AppOps:</p> <p><code>:UID</code></p> </li> <li> <p>AppOps con el \\u00faltimo acceso o rechazar el tiempo:</p> <p><code>:TIME</code></p> </li> <li> <p>AppOps extra (nunca excluido en la configuraci\\u00f3n del filtro):</p> <p><code>:EXTRA</code></p> </li> <li> <p>Operadores <code>&amp;</code> (AND), <code>|</code> (OR) y <code>!</code> (NOT):</p> <p><code>Foo|Bar&amp;Baz</code></p> <p><code>Foo&amp;!Bar&amp;!Baz</code></p> </li> </ul> <p>La versi\\u00f3n pagada tambi\\u00e9n muestra sugerencias de b\\u00fasqueda (si se establecen preferencias) para facilitar el proceso de b\\u00fasqueda.</p>\"},{\"location\":\"es/use-with-adb/\",\"title\":\"Usando PMX con ADB\",\"text\":\"\"},{\"location\":\"es/use-with-adb/#limitations-of-adb\",\"title\":\"Limitaciones de ADB\",\"text\":\"<p>ADB no es tan potente como la ra\\u00edz. Puedes comprobar el estado actual de lo que ADB puede hacer en Acerca de \\u2192 Privileges (elemento del men\\u00fa):</p> <p></p> <p>Para m\\u00e1s detalles vea Limitaciones de ADB. Vea tambi\\u00e9n \\u00bfPor qu\\u00e9 PMX no funciona correctamente en sistemas operativos OEM o ROMspersonalizados?</p>\"},{\"location\":\"es/use-with-adb/#adb-guide\",\"title\":\"Gu\\u00eda ADB\",\"text\":\"<p>Consulte ADB Gu\\u00eda de emparejamiento / Conexi\\u00f3n.</p>\"},{\"location\":\"es/versions/\",\"title\":\"Versiones PMX\",\"text\":\"<p>El PMX est\\u00e1 disponible en dos variantes: Pagado y Gratis. La versi\\u00f3n pagada est\\u00e1 disponible en dos variantes: Play Store y Pro. \\u00daltimos APKs son lanzados en Play Store, GitHub y el Canal de Telegram.</p>\"},{\"location\":\"es/versions/#paid-features\",\"title\":\"Caracter\\u00edsticas de Paga\",\"text\":\"<p>La versi\\u00f3n de pago incluye todo lo que est\\u00e1 en la versi\\u00f3n Gratis, adem\\u00e1s de las siguientes caracter\\u00edsticas adicionales que tambi\\u00e9n aparecen en la descripci\\u00f3n de Play Store:</p> <ul> <li>Comprobaci\\u00f3n programada para notificar estados de referencia incorrectos</li> <li>Controlar los cambios de permisos y deshacerlos</li> <li>Auto revocar permisos concedidos con estados RED</li> <li>Hacer cambios en aplicaciones y permisos cr\\u00edticos</li> <li>Soporte de m\\u00faltiples usuarios / perfiles de trabajo</li> <li>Operaciones de Lote (Perfiles)</li> <li>Ver permisos</li> </ul>\"},{\"location\":\"es/whatsrunning-integration/\",\"title\":\"Integraci\\u00f3n con WhatsRrunning\",\"text\":\"<p>PMX est\\u00e1 integrado con WhatsRunning para que puedas abrir uno desde el otro.</p> <p> </p> <p>De modo que desde PMX puedes cambiar a WhatsRrunning para averiguar si una aplicaci\\u00f3n con permisos restringidos sigue funcionando. En caso afirmativo, en qu\\u00e9 estado se encuentra y cu\\u00e1ntos recursos est\\u00e1 utilizando.</p> <p>Del mismo modo, desde WhatsRrunning puedes cambiar a PMX para averiguar qu\\u00e9 permisos se concede una aplicaci\\u00f3n en ejecuci\\u00f3n (o muerta).</p> <p>Esto es particularmente \\u00fatil al analizar el efecto de los permisos como <code>RUN_IN_BACKGROUND</code>.</p>\"},{\"location\":\"fr/\",\"title\":\"Qu'est-ce que le PMX ?\",\"text\":\"<p>C'est l'application eXtended Permission Manager pour Android qui facilite la d\\u00e9finition et la r\\u00e9vision des autorisations souhait\\u00e9es sur les applications install\\u00e9es, en gardant une trace de tout changement ind\\u00e9sirable. En donnant le contr\\u00f4le sur votre appareil, il vous permet de prot\\u00e9ger votre vie priv\\u00e9e et d'\\u00e9conomiser vos ressources comme l'utilisation de la batterie.</p> <p>PMX fournit toutes les informations et contr\\u00f4les de permission dispers\\u00e9s (ou autrement indisponibles) sur un seul \\u00e9cran afin que vous puissiez les regarder et les contr\\u00f4ler de mani\\u00e8re compl\\u00e8te et pratique.</p> <p>Vous pouvez utiliser PMX:</p> <ul> <li>Voir / accorder / r\\u00e9voquer toutes les permissions manifest qui peuvent ou ne peuvent pas \\u00eatre d\\u00e9finies \\u00e0 l'aide de l'\\u00e9cran de configuration de l'application. La liste des permissions qui ne peuvent pas \\u00eatre d\\u00e9finies \\u00e0 partir de l'interface est tr\\u00e8s longue.</li> <li>Voir toutes les permissions AppOp qui n'ont g\\u00e9n\\u00e9ralement aucun param\\u00e8tre GUI. Par ex. <code>VIBRATE</code> et <code>READ_CLIPBOARD</code>. Vous pouvez d\\u00e9finir le mode AppOps d\\u00e9sir\\u00e9, par exemple Ignorer ou Avant-plan.</li> <li>Voir toutes les autorisations demand\\u00e9es par une application qui ne sont pas modifiables.</li> <li>Voir le dernier temps utilis\\u00e9 pour plusieurs autorisations AppOp.</li> <li>Changez les permissions System-Fixed qui ne peuvent \\u00eatre modifi\\u00e9es par aucun autre moyen.</li> <li>Suivre en temps r\\u00e9el les modifications des permissions ou effectuer des balayages programm\\u00e9s.</li> <li>Trier les applications et les autorisations par de nombreux param\\u00e8tres, y compris la date d'installation et le nombre d'autorisations.</li> <li>R\\u00e9aliser des requ\\u00eates de recherche avanc\\u00e9es dans les applications et leurs autorisations.</li> <li>Et bien plus encore.</li> </ul> <p>Voir aussi la description de Github README et Play Store. Ou essayez-le. Nous offrons une version gratuite et un mois d'essai gratuit.</p> <p>C'est incroyable na? Nous allons entrer dans les d\\u00e9tails.</p> <ul> <li>Autorisations manifestes et AppOps</li> <li>R\\u00e9f\\u00e9rences de permission</li> <li>Explication de l'interface utilisateur</li> <li>Recherche</li> <li>Contr\\u00f4le programm\\u00e9</li> <li>Observateur de permission</li> <li>Vue des permissions</li> <li>Op\\u00e9rations de lots</li> <li>Int\\u00e9gration avec WhatsRunning</li> <li>Utilisation de PMX avec ADB</li> <li>Versions PMX</li> <li>Fonctionnalit\\u00e9s payantes</li> <li>FAQ PMX</li> <li>T\\u00e9l\\u00e9chargements</li> <li>Captures d'\\u00e9cran</li> <li>Nous contacter</li> </ul>\"},{\"location\":\"fr/#rate-review\",\"title\":\"Notes/Avis / Commentaires / Upvotes / \\u00c9toiles\",\"text\":\"<ul> <li>Play Store</li> <li>XDA</li> <li>GitHub</li> </ul>\"},{\"location\":\"fr/batch-operations/\",\"title\":\"Op\\u00e9rations par lots\",\"text\":\"\"},{\"location\":\"fr/batch-operations/#permission-profiles\",\"title\":\"Profils de Permission\",\"text\":\"<ul> <li>Cr\\u00e9er et \\u00e9diter des profils de permission (mod\\u00e8les).</li> <li>Appliquer un profil \\u00e0 une liste d'applications s\\u00e9lectionn\\u00e9es.</li> <li>S\\u00e9lectionnez un Profil par d\\u00e9faut \\u00e0 appliquer sur les applications nouvellement install\\u00e9es (si Permission Watcher est activ\\u00e9).</li> </ul> <p>Ici tu trouveras une vid\\u00e9o qui explique comment cr\\u00e9er et utiliser un profil.</p>\"},{\"location\":\"fr/batch-operations/#operations-with-references\",\"title\":\"Op\\u00e9rations avec r\\u00e9f\\u00e9rences\",\"text\":\"\"},{\"location\":\"fr/batch-operations/#set-permissions\",\"title\":\"D\\u00e9finir les permissions\",\"text\":\"<p>Passez en revue une liste des applications s\\u00e9lectionn\\u00e9es et faites RED autorisations GREEN en d\\u00e9finissant leurs \\u00e9tats en fonction des valeurs de r\\u00e9f\\u00e9rence. Les autorisations avec les \\u00c9tats verts et orange sont ignor\\u00e9es.</p> <p>Cette option est g\\u00e9n\\u00e9ralement utile lorsque vous venez de restaurer une sauvegarde et qu'il y a beaucoup de permissions avec l'\\u00e9tat RED.</p>\"},{\"location\":\"fr/batch-operations/#set-references\",\"title\":\"D\\u00e9finir les r\\u00e9f\\u00e9rences\",\"text\":\"<p>Passez en revue une liste des applications s\\u00e9lectionn\\u00e9es et faites RED et ORANGE permissions GREEN en d\\u00e9finissant leurs valeurs de r\\u00e9f\\u00e9rence selon les \\u00e9tats d'autorisation.</p> <p>Cette option est g\\u00e9n\\u00e9ralement utile lors d'une installation initiale. Vous venez d'installer l'application PMX et avez pass\\u00e9 quelques heures \\u00e0 d\\u00e9finir les autorisations. Cette option les rendra toutes VERTES en un seul clic.</p>\"},{\"location\":\"fr/batch-operations/#cleanup-references\",\"title\":\"Nettoyer les r\\u00e9f\\u00e9rences\",\"text\":\"<p>Nettoyer la base de donn\\u00e9es des r\\u00e9f\\u00e9rences des permissions. Les r\\u00e9f\\u00e9rences inutilis\\u00e9es seront supprim\\u00e9es.</p> <p>S'il y a une grande liste de r\\u00e9f\\u00e9rences inutilis\\u00e9es, un nettoyage peut am\\u00e9liorer le chargement de la liste des applications.</p>\"},{\"location\":\"fr/batch-operations/#reset-references\",\"title\":\"R\\u00e9initialiser les r\\u00e9f\\u00e9rences\",\"text\":\"<p>R\\u00e9initialiser la base de donn\\u00e9es des r\\u00e9f\\u00e9rences des permissions. Toutes les r\\u00e9f\\u00e9rences seront supprim\\u00e9es.</p> <p>Non destin\\u00e9 \\u00e0 \\u00eatre utilis\\u00e9 normalement. Mais au cas o\\u00f9 vous voulez commencer \\u00e0 partir de z\\u00e9ro.</p> <p></p>\"},{\"location\":\"fr/details/\",\"title\":\"Interface utilisateur expliqu\\u00e9e\",\"text\":\"\"},{\"location\":\"fr/details/#apps-list\",\"title\":\"Liste des applications\",\"text\":\"<ol> <li> <p>La bande color\\u00e9e \\u00e0 gauche indique \\u00e9tat de r\\u00e9f\\u00e9rence</p> </li> <li> <p>ic\\u00f4ne de l'application</p> </li> <li> <p>La premi\\u00e8re ligne montre le paquet label</p> </li> <li> <p>La deuxi\\u00e8me ligne montre le paquet name et</p> </li> <li> <p>UID</p> </li> <li> <p>La troisi\\u00e8me ligne (optionnellement) montre l'\\u00e9tat du paquet : Critique (Framework), Framework ou System. Aussi si l'application est d\\u00e9sactiv\\u00e9e. Aucun \\u00e9tat n'est affich\\u00e9 pour les applications activ\\u00e9es, Utilisateur.</p> </li> <li> <p>La derni\\u00e8re ligne montre compte des permissions visibles sur le total manifest et</p> </li> <li> <p>Autorisations AppOps.</p> <p>Les permissions invisibles sont celles exclues dans les filtres d'exclusion.</p> </li> <li> <p>Si vous triez par heure d'installation ou de mise \\u00e0 jour, la derni\\u00e8re ligne affiche \\u00e9galement la date ou l'heure sur le c\\u00f4t\\u00e9 droit.</p> </li> </ol>\"},{\"location\":\"fr/details/#permissions-list\",\"title\":\"Liste des permissions\",\"text\":\"<ol> <li>La bande color\\u00e9e \\u00e0 gauche indique \\u00e9tat de r\\u00e9f\\u00e9rence</li> <li>Les permissions Manifest montrent un drapeau dans le coin sup\\u00e9rieur droit</li> <li>Permission ic\\u00f4ne</li> <li>La premi\\u00e8re ligne montre le nom de la permission</li> <li>La seconde ligne montre le niveau de protection de la permission: Normal, Dangerous, Signature, D\\u00e9veloppement, Privil\\u00e8ge, Fixe, AppOps ou Inconnu. \\u00c9galement si AppOp est par Package ou par UID. Et si c'est un AppOp extra (jamais exclu dans les param\\u00e8tres de filtre).</li> <li>La troisi\\u00e8me ligne (en cas de AppOp) montre le dernier acc\\u00e8s ou le dernier d\\u00e9lai de rejet</li> <li>La quatri\\u00e8me ligne (en cas de AppOp) montre la valeur r\\u00e9f\\u00e9renc\\u00e9e si elle ne correspond pas \\u00e0 la valeur actuelle de l'ensemble.</li> <li>Basculer pour changer l'\\u00e9tat des permissions</li> <li>\\u00c9tat actuel (dans le cas de AppOp)</li> <li>Par d\\u00e9faut indique que l'\\u00e9tat AppOp n'a jamais \\u00e9t\\u00e9 chang\\u00e9</li> </ol>\"},{\"location\":\"fr/faqs/\",\"title\":\"FAQs PMX\",\"text\":\"\"},{\"location\":\"fr/faqs/#faq36\",\"title\":\"Pourquoi dois-je utiliser PMX?\",\"text\":\"<p>Parce que :</p> <ul> <li>PMX rassemble toutes les infos et les commandes li\\u00e9es aux autorisations qui sont \\u00e9parpill\\u00e9es (ou pas disponibles) sur un seul \\u00e9cran pour que tu puisses les voir et les contr\\u00f4ler de mani\\u00e8re claire et pratique.</li> <li>Il n'y a pas d'outil officiel disponible en stock Android pour changer AppOps. Seuls un sous-ensemble de permissions manifest sont expos\\u00e9s \\u00e0 l'utilisateur dans les param\\u00e8tres d'autorisation. PMX expose toutes les autorisations sous forme brute. Relatif :  AutorisationsManifest et AppOps.</li> <li>PMX te permet de suivre facilement toutes les modifications ind\\u00e9sirables apport\\u00e9es aux autorisations.</li> <li>En donnant le contr\\u00f4le sur votre appareil, PMX vous permet d'\\u00e9conomiser des ressources de l'appareil comme la batterie et la bande passante du r\\u00e9seau, et de prot\\u00e9ger votre vie priv\\u00e9e. Vous n'\\u00eates pas enti\\u00e8rement laiss\\u00e9 \\u00e0 la merci de l'application et des d\\u00e9veloppeurs ROM. Lisez ceci article pour avoir une id\\u00e9e.</li> <li>PMX peux suivre les changements d'autorisation en direct et les annuler automatiquement quand tu arr\\u00eates d'utiliser une appli. Ou il peut effectuer une analyse programm\\u00e9e des permissions. Vous n'avez donc pas \\u00e0 vous souvenir des choses.</li> <li>PMX vous facilite la sauvegarde et restauration des autorisations de l'\\u00e9tat des applications install\\u00e9es, de sorte que vous n'ayez pas \\u00e0 modifier les permissions d'une application encore et encore.</li> </ul> <p>Veuillez \\u00e9galement voir Qu'est-ce que PMX ?</p>\"},{\"location\":\"fr/faqs/#faq1\",\"title\":\"Pourquoi PMX requiert un acc\\u00e8s root ou ADB?\",\"text\":\"<p>Android emp\\u00eache intentionnellement les applications de modifier les autorisations manifest ou AppOps d'autres applications (et dans de nombreux cas de modifier certaines de leurs propres applications). Ces protections prot\\u00e8gent la confidentialit\\u00e9 des utilisateurs et l'int\\u00e9grit\\u00e9 du syst\\u00e8me.</p> <p>Pour effectuer des actions qui n\\u00e9cessitent des privil\\u00e8ges \\u00e9lev\\u00e9s, PMX utilise un petit assistant privil\\u00e9gi\\u00e9 s\\u00e9par\\u00e9 plut\\u00f4t que d'essayer de tout faire depuis le processus normal de l'application. Par d\\u00e9faut, cette aide s'ex\\u00e9cute sous l'UID ADB (<code>2000</code>) lorsque d\\u00e9marr\\u00e9 via ADB, ou sous l'UID System (<code>1000</code>) sur les p\\u00e9riph\\u00e9riques root\\u00e9s. Si vous avez un p\\u00e9riph\\u00e9rique root\\u00e9, vous pouvez modifier l'UID de l'aide dans Param\\u00e8tres avanc\\u00e9s.</p>\"},{\"location\":\"fr/faqs/#faq33\",\"title\":\"Mon appareil n'est pas root\\u00e9. Comment puis-je utiliser PMX?\",\"text\":\"<p>Utiliser PMX avec ADB. Veuillez lire la note au d\\u00e9but. Il peut y avoir des limitations sur certains appareils.</p>\"},{\"location\":\"fr/faqs/#faq42\",\"title\":\"Pourquoi PMX ne fonctionne pas ou ne fonctionne pas correctement sur la derni\\u00e8re version d'Android ?\",\"text\":\"<p>PMX s'appuie sur les API cach\\u00e9es d'Android ou les interfaces non-SDK qui ne sont pas document\\u00e9es (D\\u00e9veloppeurs Android) \\u00e0 la diff\\u00e9rence des API standard. Donc, \\u00e0 chaque nouvelle version d'Android, nous devons passer par le code source d'Android pour savoir quelles API ont cass\\u00e9 (chang\\u00e9 ou supprim\\u00e9).</p> <p>De plus, il faut du temps pour r\\u00e9parer les APIs cass\\u00e9s ; parfois des semaines, parfois des mois. Et il n'est pas garanti que nous serons toujours en mesure de corriger les API cass\\u00e9es. Parfois, Google a pour but de rendre difficile ou impossible pour nous de continuer \\u00e0 utiliser les API cach\\u00e9es.</p> <p>Par cons\\u00e9quent, il n'est pas possible pour nous de faire en sorte que l' PMX fonctionne imm\\u00e9diatement sur chaque nouvelle version d'Android (particuli\\u00e8rement en phase b\\u00eata) tant que le code source AOSP final n'est pas publi\\u00e9 publiquement (Recherche de code ou R\\u00e9f\\u00e9rentiel Git).</p> <p>La version finale d'Android prise en charge par PMXest indiqu\\u00e9e dans la description de l'application sur GitHub et le Play Store. Lorsque vous ex\\u00e9cutez l'application sur une version non prise en charge pour la premi\\u00e8re fois, elle affiche un avertissement comme celui-ci :</p> <p></p>\"},{\"location\":\"fr/faqs/#faq43\",\"title\":\"Pourquoi PMX ne fonctionne pas correctement sur les syst\\u00e8mes d'exploitation OEM ou sur mesure ROMs?\",\"text\":\"<p>PMX s'appuie sur les API cach\\u00e9es d'Android ou les interfaces non-SDK qui ne sont pas document\\u00e9es (D\\u00e9veloppeurs Android) \\u00e0 la diff\\u00e9rence des API standard. Nous avons donc besoin d'acc\\u00e9der au code source de votre ROM pour savoir exactement comment fonctionnent les API cach\\u00e9es.</p> <p>Eh bien, AOSP (qui est d\\u00e9velopp\\u00e9 par Google) est open-source. Mais si votre d\\u00e9veloppeur OEM ou ROM apporte quelques modifications \\u00e0 AOSP \\u00e0 des fins de personnalisation, nous n'avons aucun moyen de savoir exactement quels changements ils ont apport\\u00e9 au code AOSP du stock. Nous sommes assez impuissants ici. Et ce fait est indiqu\\u00e9 dans la description de l'application sur GitHub et le Play Store. D\\u00e9sol\\u00e9.</p>\"},{\"location\":\"fr/faqs/#faq2\",\"title\":\"Comment PMX modifie-t-il les autorisations des autres applications ?\",\"text\":\"<p>PMX ne peut pas et ne donne ni ne retire les autorisations d'autres applis. En fait, aucune application tierce n'a le privil\\u00e8ge de le faire. C'est l'OS Android qui contr\\u00f4le les autorisations des applications. PMX envoie une demande au framework Android pour modifier l'\\u00e9tat d'une autorisation. Maintenant, c'est enti\\u00e8rement \\u00e0 Android combien cela honore notre demande. Toutes les permissions ne sont pas modifiables. Et si vous n'\\u00eates pas en mesure de changer l'\\u00e9tat d'une permission en utilisant PMX, vous ne pourrez pas non plus le modifier autrement.</p>\"},{\"location\":\"fr/faqs/#faq34\",\"title\":\"Les permissions restent-elles modifi\\u00e9es apr\\u00e8s la d\\u00e9sactivation de ADB ou le root est refus\\u00e9, ou bien PMX est d\\u00e9sinstall\\u00e9 ?\",\"text\":\"<p>PMX ne peut pas et ne donne ni ne retire les autorisations d'autres applis. En fait, aucune application tierce n'a le privil\\u00e8ge de le faire. C'est l'OS Android qui contr\\u00f4le les autorisations des applications. PMX envoie une demande au framework Android pour modifier l'\\u00e9tat d'une autorisation.</p> <p>Donc, une fois qu'une permission est modifi\\u00e9e, cela ne fait aucune diff\\u00e9rence si vous d\\u00e9sinstallez PMX ou supprimez ses privil\\u00e8ges. La permission reste dans quelque \\u00e9tat que ce soit, sauf si vous ou le syst\\u00e8me d'exploitation avez chang\\u00e9 \\u00e0 nouveau.</p>\"},{\"location\":\"fr/faqs/#faq15\",\"title\":\"Pourquoi ne puis-je pas modifier la permission XYZ ?\",\"text\":\"<p>Les permissions de manifestes avec seulement niveau de protection dangereux (et quelques autres) sont modifiables. AppOps qui ne d\\u00e9pendent pas d'autres AppOp sont modifiables. C'est ainsi que fonctionne Android, nous ne pouvons pas modifier le comportement. Voir  les permissionsManifest et AppOps.</p> <p>De plus, PMX prot\\u00e8ge certaines applications et autorisations critiques du framework ; les changer peuvent bloquer l'appareil. Voir la question li\\u00e9e.</p> <p>Voir aussi Pourquoi certains AppOps ne peuvent pas \\u00eatre chang\\u00e9s?</p> <p>Notez que depuis Android 15, les autorisations manifest des applications syst\\u00e8me avec le niveau de protection D\\u00e9veloppement ne peuvent pas \\u00eatre r\\u00e9voqu\\u00e9es. Android ignore silencieusement la requ\\u00eate.</p>\"},{\"location\":\"fr/faqs/#faq37\",\"title\":\"J'ai chang\\u00e9 de permission, mais \\u00e7a ne fonctionne pas. Pourquoi?\",\"text\":\"<p>Apr\\u00e8s avoir modifi\\u00e9 une permission avec succ\\u00e8s, si vous ne obtenez pas les r\\u00e9sultats souhait\\u00e9s i.e. il revient imm\\u00e9diatement ou apr\\u00e8s quelques heures ou quelques jours, c'est le syst\\u00e8me d'exploitation Android \\u00e0 bl\\u00e2mer. Veuillez voir:</p> <ul> <li>Comment PMX change-t-il les autorisations des autres applications ?</li> <li>Pourquoi certains AppOps ne peuvent pas \\u00eatre chang\\u00e9s?</li> </ul> <p>Lorsque vous utilisez des applications, Android peut modifier leurs permissions. Et nous n'avons malheureusement aucun moyen de l'emp\\u00eacher. Observateur de permission et V\\u00e9rificateur programm\\u00e9 peuvent vous aider \\u00e0 cet \\u00e9gard.</p>\"},{\"location\":\"fr/faqs/#faq3\",\"title\":\"Pourquoi certains AppOps ne peuvent pas \\u00eatre chang\\u00e9s ?\",\"text\":\"<p>Parfois, vous voyez \\\" Le modeAppOp n'a pas \\u00e9t\\u00e9 chang\\u00e9\\\". Cela signifie qu'Android a rejet\\u00e9 la demande de modification du mode AppOp. Vous ne pouvez pas le modifier quelle que soit la m\\u00e9thode ou l'application que vous utilisez. Il pourrait y avoir plusieurs raisons possibles.</p> <ul> <li> <p>Certains AppOps d\\u00e9pendent de leurs permissions manifest correspondantes. Ils ne peuvent donc pas \\u00eatre modifi\\u00e9s ind\\u00e9pendamment. Par exemple, vous ne pourrez peut-\\u00eatre pas refuser <code>READ_CONTACTS</code> AppOp si une permission <code>android.permission.READ_CONTACTS</code> manifest est accord\\u00e9e.</p> <p>\\u00c9galement si l'application n'a pas demand\\u00e9 la permission manifest dans son fichier manifest , sa permission AppOp ne peut pas non plus \\u00eatre accord\\u00e9e. Mais il peut toujours appara\\u00eetre dans la liste des permissions de l'application si l'application a essay\\u00e9 de l'utiliser (et a \\u00e9t\\u00e9 rejet\\u00e9e). <code>SYSTEM_ALERT_WINDOW</code> en est un exemple.</p> </li> <li> <p>Certains AppOps ne sont utilis\\u00e9s par Android que pour des raisons de compatibilit\\u00e9 (par exemple <code>LEGACY_STORAGE</code>) et ils ne contr\\u00f4lent rien. Si nous explorons leur travail sous-jacent, il est r\\u00e9v\\u00e9l\\u00e9 que l'octroie/r\\u00e9vocation de telles autorisations n'a aucun sens.</p> </li> <li> <p>Certaines autorisations ne peuvent pas \\u00eatre modifi\\u00e9es si l'application est en cours d'ex\\u00e9cution ou cible une version Android plus ancienne ou plus r\\u00e9cente.</p> </li> <li> <p>Certains OEM ROMs se comportent bizarrement en ce qui concerne AppOps. Voir Pourquoi PMX ne fonctionne pas correctement sur les syst\\u00e8mes d'exploitation OEM ou ROMspersonnalis\\u00e9s ?</p> </li> <li> <p>De nombreux AppOps peuvent avoir 2 modes : le mode package et le mode UID. Il est possible que l'un puisse \\u00eatre chang\\u00e9 alors que l'autre ne peut pas \\u00eatre.</p> <p>Habituellement UID AppOps a pr\\u00e9s\\u00e9ance sur ses homologues AppOp paquets. Dans ce cas, le mode effectif du package AppOp est identique \\u00e0 celui de son UID AppOps. Vous ne pouvez donc pas changer le package AppOp seul.</p> <p>Certains AppOps pr\\u00e9f\\u00e8rent \\u00eatre configur\\u00e9s en mode paquet, pas en mode UID. Mais si elle est mal d\\u00e9finie en mode UID (avec un outil en ligne de commande ou par une autre application), elle ne r\\u00e9pond pas aux changements. Faites \\\"R\\u00e9initialiser AppOps\\\" depuis le menu en haut \\u00e0 droite pour le faire fonctionner \\u00e0 nouveau. C'est \\u00e9galement le cas pour les autres AppOps qui ont une permission manifest correspondante avec AppOp niveau de protection.</p> </li> </ul> <p>En fait, il y a beaucoup plus d'explications si nous fouillons chaque application et chaque autorisation individuellement (ce qui ne semble pas pratique). Comme on l'a dit plus haut, PMX ne change pas tout seul les autorisations des autres applis. Donc, m\\u00eame si pour une raison inconnue, Android ne modifie pas une permission, ou le remet imm\\u00e9diatement \\u00e0 z\\u00e9ro, il n'y a rien que nous pouvons faire pour le forcer car ce sont les limitations \\u00e0 la fin d'Android. Je devrais plut\\u00f4t dire que c'est ainsi que fonctionne Android.</p> <p>Relatif :</p> <ul> <li>Quels sont les diff\\u00e9rents modes AppOp et lesquels devrais-je utiliser?</li> <li>Pourquoi ne puis-je pas mettre le mode AppOp au premier plan?</li> </ul>\"},{\"location\":\"fr/faqs/#faq6\",\"title\":\"Pourquoi ne pas voir l'application XYZ dans la liste des paquets ?\",\"text\":\"<p>Veuillez v\\u00e9rifier les filtres d'exclusion. Presque tous les paquets Android d'origine sont exclus par d\\u00e9faut. Vous pouvez exclure / inclure n'importe quel paquet que vous voulez de / \\u00e0 la liste visible.</p>\"},{\"location\":\"fr/faqs/#faq7\",\"title\":\"Pourquoi ne puis-je pas voir les permissions XYZ dans le paquet ABC ?\",\"text\":\"<p>Veuillez v\\u00e9rifier les filtres d'exclusion. Les permissions qui ne sont pas modifiables sont exclues de la liste visible par d\\u00e9faut.</p>\"},{\"location\":\"fr/faqs/#faq8\",\"title\":\"Pourquoi ne puis-je pas voir XYZ AppOp dans le paquet ABC ?\",\"text\":\"<p>Veuillez v\\u00e9rifier les filtres d'exclusion si XYZ AppOp est exclu de la liste visible. Ou ABC package peut ne pas utiliser une op\\u00e9ration XYZ. Vous n'avez pas besoin de vous inqui\\u00e9ter \\u00e0 ce sujet.</p> <p>Mais si vous voulez voir le XYZ AppOp pour toutes les applications, allez dans Exclusion Filters \\u2192 Extra AppOps, jamais exclu et v\\u00e9rifiez XYZ AppOp dans la liste.</p> <p>Par exemple, \\u00e9crivez <code>_CLIPBOARD</code> dans la bo\\u00eete de recherche (avec la case Recherche profonde coch\\u00e9e) et vous obtiendrez toutes les applications qui ont utilis\\u00e9 (ou tent\\u00e9 d'utiliser) la permission <code>READ_CLIPBOARD</code> ou <code>WRITE_CLIPBOARD</code>. L'horodatage est \\u00e9galement affich\\u00e9 (mais pas pour tous les AppOps).</p> <p>Donc, si l'application qui vous pr\\u00e9occupe n'est pas dans les r\\u00e9sultats de recherche, v\\u00e9rifiez AppOps dans la liste Filtres d'exclusion mentionn\\u00e9e ci-dessus.</p>\"},{\"location\":\"fr/faqs/#faq5\",\"title\":\"Que dois-je s\\u00e9lectionner pour l'UID du d\\u00e9mon privil\\u00e8ge dans les param\\u00e8tres avanc\\u00e9s ? Syst\\u00e8me ou ADB?\",\"text\":\"<p>Cela ne compte que si vous utilisez root, ou <code>adbd</code> sur votre appareil fonctionne avec le root (ce qui n'est pas le cas avec les appareils de l'utilisateur final).</p> <p>Utilisez de pr\\u00e9f\\u00e9rence Syst\\u00e8me (UID <code>1000</code>) car il permet plus de privil\\u00e8ges que ADB (UID <code>2000</code>). Par ex. modifier les permissions \\\"Syst\\u00e8me-Fixed\\\" n'est possible que lorsque le syst\\u00e8me est lanc\\u00e9.</p>\"},{\"location\":\"fr/faqs/#faq9\",\"title\":\"Que sont les \\\"permissions invalides\\\" dans les filtres d'exclusion ?\",\"text\":\"<p>Si une application demande une autorisation manifest mais qu'elle ne soit pas d\\u00e9clar\\u00e9e (fournie) par le framework Android ou par aucun des paquets install\\u00e9s, c'est une permission invalide. Par exemple, <code>com.android.vending.BILLING</code> n'est pas une autorisation valide si l'application Play Store n'est pas install\\u00e9e sur votre appareil.</p>\"},{\"location\":\"fr/faqs/#faq10\",\"title\":\"Que sont les \\u00ab AppOpssuppl\\u00e9mentaires \\u00bb dans les filtres d'exclusion ?\",\"text\":\"<p>Tous les AppOps ne sont pas utilis\\u00e9s pour toutes les applications install\\u00e9es. Mais vous pouvez imposer un AppOp \\u00e0 n'importe quelle application. L' AppOps suppl\\u00e9mentaire s\\u00e9lectionn\\u00e9 appara\\u00eet dans les listes d'autorisations de toutes les applications afin que vous puissiez les d\\u00e9finir.</p>\"},{\"location\":\"fr/faqs/#faq11\",\"title\":\"Quels sont les diff\\u00e9rents modes AppOp et lesquels dois-je utiliser ?\",\"text\":\"<p>Normalement, vous devriez autoriser ou ignorer. Ou vous pouvez autoriser une op\\u00e9ration uniquement lorsque l'application est en premier plan (uniquement sur Android 9 et sup\\u00e9rieur). Refuser est la version intense d'Ignore qui peut faire planter l'application requise. Par d\\u00e9faut est le comportement par d\\u00e9faut du syst\\u00e8me qui diff\\u00e8re pour diff\\u00e9rents AppOps.</p> <p>Veuillez noter que tous les modes AppOp ne peuvent pas \\u00eatre configur\\u00e9s sur chaque AppOp pour chaque application. Par exemple, sur les derni\\u00e8res versions d'Android <code>CAMERA</code> et <code>MICROPHONE</code> sont autoris\\u00e9s \\u00e0 \\u00eatre utilis\\u00e9s par les applications utilisateur uniquement au premier plan (m\\u00eame si le mode d\\u00e9fini est Autoris\\u00e9). De la m\\u00eame fa\\u00e7on, certains AppOps ne peuvent jamais \\u00eatre r\\u00e9gl\\u00e9s en mode Foreground.</p> <p>Li\\u00e9 : Pourquoi AppOps ne peut pas \\u00eatre modifi\\u00e9 ?</p> <p>Documentation officielle: AppOpsManager.</p>\"},{\"location\":\"fr/faqs/#faq12\",\"title\":\"Quelle est la diff\\u00e9rence entre les modes \\u00ab Ignorer \\u00bb et \\u00ab Refuser \\u00bb AppOp?\",\"text\":\"<p>Ignore \\u00e9choue silencieusement alors que Deny renvoie une erreur \\u00e0 l'application que l'application pourrait ne pas attendre et peut crasher. Vous devriez normalement utiliser Ignorer.</p>\"},{\"location\":\"fr/faqs/#faq41\",\"title\":\"Pourquoi ne puis-je pas mettre le mode AppOp au premier plan ?\",\"text\":\"<p>Le mode de premier plan ne peut pas \\u00eatre d\\u00e9fini pour tous les AppOps. M\\u00eame si elle est d\\u00e9finie, elle peut ne pas donner de r\\u00e9sultats attendus.</p> <p>Relatif :</p> <ul> <li>Quels sont les diff\\u00e9rents modes AppOp et lesquels devrais-je utiliser?</li> <li>Pourquoi certains AppOps ne peuvent pas \\u00eatre chang\\u00e9s?</li> </ul> <p>Veuillez noter que le mode d'autorisation \\\"Autoriser uniquement lorsque vous utilisez l'application\\\" ne d\\u00e9finit pas toujours le mode AppOp sur \\\"Premier plan\\\":</p> <p></p> <p>Normalement, nous ne voyons que deux \\u00e9tats pour une autorisation manifest : accord\\u00e9e et r\\u00e9voqu\\u00e9e. Mais Android utilise flags pour scinder ces deux \\u00e9tats en plusieurs sous-\\u00e9tats. Pour certaines autorisations, le m\\u00eame ph\\u00e9nom\\u00e8ne est utilis\\u00e9 pour obtenir le comportement \\\"accorder uniquement lorsque l'application est visible\\\". La permission AppOp n'est pas utilis\\u00e9e dans ce cas.</p> <p>Pour plus de d\\u00e9tails, voir la documentation officielle de acc\\u00e8s en arri\\u00e8re-plan et acc\\u00e8s au premier plan.</p> <p>Pour plus de simplicit\\u00e9, PMX ne regarde pas les drapeaux de permission pour le moment. Mais \\u00e0 l'avenir, une option pourrait \\u00eatre ajout\\u00e9e pour suivre \\u00e9galement les modifications des options de permission, m\\u00eame si le mode autoris\\u00e9/r\\u00e9voqu\\u00e9 reste inchang\\u00e9.</p>\"},{\"location\":\"fr/faqs/#faq14\",\"title\":\"Que fait la permission <code>WAKE_LOCK</code>?\",\"text\":\"<p>Les applications maintiennent wakelock pour garder l'appareil \\u00e9veill\\u00e9, c'est-\\u00e0-dire ne pas entrer en mode Doze.</p>\"},{\"location\":\"fr/faqs/#faq16\",\"title\":\"Comment puis-je changer la permission <code>INTERNET</code>?\",\"text\":\"<p>Android ne permet pas de changer toutes les permissions, comme celles qui ont le **niveau de protection Normal niveau de protection (e. . <code>INTERNET</code>) ou ceux qui ont un indicateur fixe ou un niveau de protection Signature (g\\u00e9n\\u00e9ralement des applications System ou Framework). Voir  les permissionsManifest et AppOps.</p> <p>Mais si vous \\u00eates root\\u00e9, Fyrypt vous donne un contr\\u00f4le tr\\u00e8s fort sur l'activit\\u00e9 du r\\u00e9seau sur votre appareil.</p>\"},{\"location\":\"fr/faqs/#faq40\",\"title\":\"Que sont les permissions fixes?\",\"text\":\"<p>Les permissions r\\u00e9par\\u00e9es par le syst\\u00e8me sont accord\\u00e9es aux applications pr\\u00e9install\\u00e9es par les d\\u00e9veloppeurs OEMs ou ROM. Elles ne sont pas cens\\u00e9es \\u00eatre modifi\\u00e9es. Mais si votre appareil est root\\u00e9, PMX peut modifier les permissions fix\\u00e9es par le syst\\u00e8me.</p> <p>Les autorisations fix\\u00e9es par la politique sont accord\\u00e9es (ou refus\\u00e9es) par les administrateurs informatiques sur les appareils g\\u00e9r\\u00e9s. Elles ne peuvent pas \\u00eatre modifi\\u00e9es.</p> <p>Les permissions fixes sont fix\\u00e9es par l'utilisateur. Si un utilisateur refuse une autorisation \\u00e0 plusieurs reprises lorsque l'application le demande, le syst\\u00e8me d'exploitation marque la permission comme r\\u00e9gl\\u00e9e par l'utilisateur et n'affiche plus d'invite l'utilisateur \\u00e0 accorder l'autorisation si l'application demande la m\\u00eame permission \\u00e0 nouveau. Ce type d'autorisations fixes peut \\u00eatre facilement modifi\\u00e9 quand l'utilisateur le veut.</p>\"},{\"location\":\"fr/faqs/#faq17\",\"title\":\"Comment puis-je modifier les permissions fix\\u00e9es par le syst\\u00e8me, les autorisations de signature/privil\\u00e8ges ou les permissions des applications du framework ?\",\"text\":\"<p>Si votre appareil est root\\u00e9, dans la version payante, vous pouvez autoriser les modifications critiques dans les R\\u00e9glages avanc\\u00e9s pour apporter des modifications aux permissions avec l'option Syst\\u00e8me-Fixed, niveau de protection Signature ou Privil\\u00e8ges, ou ceux de l'application Framework. Mais il n'est pas recommand\\u00e9 de jouer avec les applications System and Framework. Vous pouvez briquer votre appareil.</p>\"},{\"location\":\"fr/faqs/#faq18\",\"title\":\"Qu'est-ce que le \\\"mode UID\\\" dans les autorisations AppOp?\",\"text\":\"<p>C'est un mode d'autorisation AppOp qui indique que le changement de l' AppOp affectera \\u00e9galement les autres applications (avec le m\\u00eame UID), si install\\u00e9. Voir <code>sharedUserId</code>.</p> <p>Notez que le mode UID a pr\\u00e9s\\u00e9ance sur le mode package pour beaucoup de AppOps.</p>\"},{\"location\":\"fr/faqs/#faq39\",\"title\":\"Est-ce que je peux contr\\u00f4ler la fonctionnalit\\u00e9 Android \\u00ab Supprimer les autorisations si l'appli n'est pas utilis\\u00e9e \\u00bb depuis PMX?\",\"text\":\"<p>Oui. Cette fonctionnalit\\u00e9 est disponible depuis Android 11. Il est \\u00e9galement marqu\\u00e9 comme \\\"Pause l'activit\\u00e9 de l'application si non utilis\\u00e9e\\\" sur certains appareils.</p> <p></p> <p>Pour changer cette option de PMX:</p> <ol> <li>Allez dans la liste Exclusion Filters \\u2192 Extra AppOps et cochez <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code>.</li> <li>Retour sur l'\\u00e9cran principal, tapez <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code> dans la barre de recherche sup\\u00e9rieure. Assurez-vous que la recherche approfondie est activ\\u00e9e dans les param\\u00e8tres de recherche.</li> <li>D\\u00e9finit le mode Autoriser ou Ignorer pour toutes les applications que vous voulez.</li> </ol> <p>Vous pouvez \\u00e9galement utiliser Permission View ou Batch Operations \\u00e0 la place des \\u00e9tapes 2 et 3. Voici un guide sur la fa\\u00e7on dont vous le feriez en utilisant des op\\u00e9rations par lots :</p>      Remove permissions if app isn't used\"},{\"location\":\"fr/faqs/#faq31\",\"title\":\"Pourquoi ai-je beaucoup de popupons \\\"Mauvais ROM\\\" ?\",\"text\":\"<p>Les OEMs apportent d'\\u00e9normes modifications au code AOSP (d\\u00e9velopp\\u00e9 par Google). Donc le framework AppOps sur certains OEM personnalis\\u00e9s / ROMs retourne des r\\u00e9sultats inattendus que PMX ne peut comprendre. Vous pouvez ignorer ces popups, mais cela signifie que la fonctionnalit\\u00e9 est quelque peu limit\\u00e9e.</p> <p>Vous pouvez d\\u00e9sactiver ces popups dans Param\\u00e8tres \\u2192 R\\u00e9glages g\\u00e9n\\u00e9raux \\u2192 D\\u00e9sactiver les toasts ROM mauvaises.</p> <p>Voir Pourquoi PMX ne fonctionne pas correctement sur les syst\\u00e8mes d'exploitation OEM ou ROMspersonnalis\\u00e9s ?</p>\"},{\"location\":\"fr/faqs/#faq19\",\"title\":\"Que font les boutons \\\"Cacher de la liste\\\" (sur appui long) ?\",\"text\":\"<p>Ils ne font que cacher l'application ou la permission de la liste visible. Si vous ne voulez pas modifier une permission pour une application, vous pouvez la masquer. Et il n'appara\\u00eetra pas pour aucune application. Pour le d\\u00e9cocher \\u00e0 nouveau, allez dans les param\\u00e8tres de Filtres d'exclusion.</p> <p>De m\\u00eame, vous pouvez exclure une application de la liste visible si vous n'\\u00eates pas pr\\u00e9occup\\u00e9 par ses permissions.</p> <p> </p>\"},{\"location\":\"fr/faqs/#faq21\",\"title\":\"Y a-t-il une liste compl\\u00e8te de toutes les autorisations disponibles avec explication ?\",\"text\":\"<p>Il n'y a pas de liste compl\\u00e8te des permissions avec la description, au moins \\u00e0 ma connaissance. La version PMX Pro montre une br\\u00e8ve description des autorisations manifest et AppOp.</p> <p>Il y a des ressources tierces comme celle-ci par Izzy. Le site officiel du d\\u00e9veloppeur d'Android et le code source sont \\u00e9galement de bonnes sources d'apprentissage.</p> <p>Avec chaque nouvelle version d'Android, de nouvelles autorisations sont ajout\\u00e9es, et d'autres sont obsol\\u00e8tes. En outre, toutes les autorisations ne sont pas n\\u00e9cessaires pour \\u00eatre prises en charge par chaque utilisateur.</p>\"},{\"location\":\"fr/faqs/#faq22\",\"title\":\"Comment utiliser l'appli dans un profil professionnel / un environnement multi-utilisateurs ?\",\"text\":\"<p>La version Pro permet d'avoir des profils professionnels et plusieurs utilisateurs. S\\u00e9lectionnez un utilisateur dans le menu d\\u00e9roulant.</p> <p></p>\"},{\"location\":\"fr/faqs/#faq24\",\"title\":\"Comment PMX se compare-t-il \\u00e0 XPrivacyLua? Peuvent-ils se remplacer?\",\"text\":\"<p>PMX n'est pas con\\u00e7u pour remplacer mais pour complimenter des projets comme XPrivacyLua. Ils ont des objectifs de conception diff\\u00e9rents.</p> <p>XPrivacyLua hate la fonctionnalit\\u00e9 standard d'Android en se branchant \\u00e0 des API internes, en utilisant Xposed qui remplace certaines biblioth\\u00e8ques Android par les biblioth\\u00e8ques hack\\u00e9es. Ainsi, nous obtenons des fonctionnalit\\u00e9s suppl\\u00e9mentaires telles que l'envoi de fausses donn\\u00e9es aux applications et nous sommes inform\\u00e9s des \\u00e9v\\u00e9nements li\\u00e9s aux autorisations dont nous ne pouvons pas \\u00eatre inform\\u00e9s par d'autres moyens normaux.</p> <p>PMX d'un autre c\\u00f4t\\u00e9, n'est pas cens\\u00e9 \\u00eatre un module de base. Il fournit un acc\\u00e8s pratique \\u00e0 certaines API privil\\u00e9gi\\u00e9es que les applications normales ne peuvent utiliser. Ce n'est pas un piratage des fonctionnalit\\u00e9s standards d'Android par quelque moyen que ce soit. La plupart des t\\u00e2ches accomplies par PMX peuvent \\u00e9galement \\u00eatre ex\\u00e9cut\\u00e9es \\u00e0 partir de la ligne de commande, \\u00e0 l'exception de quelques t\\u00e2ches comme la modification des permissions syst\\u00e8me fixes.</p> <p>Le rootage et l' Xposed sont deux conditions obligatoires pour utiliser XPrivacyLua. PMX n'a pas besoin des deux pour la plupart. Les deux ne sont pas disponibles pour de nombreux appareils ou beaucoup d'utilisateurs ne les consid\\u00e8rent pas comme une option en raison des difficult\\u00e9s techniques impliqu\\u00e9es. garantie annul\\u00e9e, \\u00e9chec de SafetyNet et autres probl\\u00e8mes.</p> <p>Plus d'explications here et here.</p>\"},{\"location\":\"fr/faqs/#faq32\",\"title\":\"Est-ce que PMX peut supprimer automatiquement les autorisations lorsqu'une application est ferm\\u00e9e, comme Bouncer le fait ?\",\"text\":\"<p>Oui. Voir Gardien de permission et V\\u00e9rification programm\\u00e9e. Mais il n'utilise pas la fonction Accessibilit\\u00e9 d'Android pour effectuer des taps / clics \\u00e0 l'\\u00e9cran au nom de l'utilisateur (m\\u00eame si c'est une bonne fonctionnalit\\u00e9 sans n\\u00e9cessiter de configuration suppl\\u00e9mentaire). PMX d\\u00e9pend des privil\\u00e8ges root ou ADB. Elle peut donc faire bien plus (voir Qu'est-ce que PMX?) que ce qui peut \\u00eatre fait en utilisant les fonctionnalit\\u00e9s d'accessibilit\\u00e9.</p> <p>Si vous utilisez ADB, et non root, Permission Watcher peut ne pas fonctionner sur certains appareils. Veuillez consulter les Limitations de ADB.</p>\"},{\"location\":\"fr/faqs/#faq35\",\"title\":\"Puis-je \\u00eatre averti quand une nouvelle application est install\\u00e9e?\",\"text\":\"<p>Oui. Voir Gardien de permission.</p> <p>Depuis Android 8, il n'est pas possible pour les applications en arri\\u00e8re-plan (pas en cours d'ex\\u00e9cution) de recevoir une notification sur la nouvelle application install\\u00e9e. Nous devons donc ex\\u00e9cuter un service de premier plan (avec des notifications persistantes) pour recevoir cet \\u00e9v\\u00e9nement. Ou vous pouvez envisager d'utiliser V\\u00e9rification programm\\u00e9e pour garder les choses en place.</p>\"},{\"location\":\"fr/faqs/#faq38\",\"title\":\"Quand une nouvelle application est install\\u00e9e, PMX peut-elle supprimer ses autorisations par d\\u00e9faut ?\",\"text\":\"<p>Oui. Mais il n'y a pas de permissions \\u00e0 supprimer. Toutes les autorisations manifest r\\u00e9vocables sont d\\u00e9j\\u00e0 r\\u00e9voqu\\u00e9es et restent r\\u00e9voqu\\u00e9es \\u00e0 moins que l'utilisateur ne leur accorde explicitement. En ce qui concerne AppOps , beaucoup d'entre eux n'apparaissent pas avant au moins une fois utilis\\u00e9 par l'application (par exemple <code>VIBRATE</code> et <code>READ_CLIPBOARD</code>). Beaucoup d'autres (par exemple <code>READ_CONTACTS</code>) ont d\\u00e9j\\u00e0 leurs permissions manifest correspondantes, comme indiqu\\u00e9. Il n'est donc pas pr\\u00e9visible au moment de l'installation de l'application que AppOps doit supprimer.</p> <p>Mais une notification s'affiche lorsqu'une nouvelle application est install\\u00e9e (si vous utilisez Permission Watcher) afin que l'utilisateur puisse d\\u00e9finir les permissions une par une ou appliquer un profil.</p>\"},{\"location\":\"fr/faqs/#faq25\",\"title\":\"Pourquoi PMX requiert une autorisation INTERNET ?\",\"text\":\"<p>La version standalone Pro n\\u00e9cessite une connexion internet pour la v\\u00e9rification de licence. Les autres versions peuvent fonctionner compl\\u00e8tement hors ligne. Bien que l'application Play Store ait besoin d'une connexion internet pour la v\\u00e9rification des licences.</p>\"},{\"location\":\"fr/faqs/#optional-use-of-internet-permission\",\"title\":\"Utilisation optionnelle de la permission <code>android.permission.INTERNET</code>\",\"text\":\"<ul> <li>V\\u00e9rifier les mises \\u00e0 jour de l'application. Vous pouvez d\\u00e9sactiver cela dans les param\\u00e8tres de l'application.</li> </ul>\"},{\"location\":\"fr/faqs/#on-device-use-of-internet-permission\",\"title\":\"Utilisation locale (sur appareil) de la permission <code>android.permission.INTERNET</code>\",\"text\":\"<p>Android n'autorise pas les applications \\u00e0 cr\\u00e9er des sockets r\\u00e9seau sans avoir la permission <code>INTERNET</code> m\\u00eame si elles sont destin\\u00e9es \\u00e0 \\u00eatre utilis\\u00e9es uniquement localement et non pour une connexion Internet. PMX a deux utilisations de connexions locales (sur le p\\u00e9riph\\u00e9rique) (la possibilit\\u00e9 de cr\\u00e9er des sockets <code>localhost</code> \\u00e0 <code>127.0.0.1</code>) pour la Communication Inter Process (IPC) :</p> <ul> <li>PMX d\\u00e9marre un processus en arri\\u00e8re-plan avec les privil\\u00e8ges root / ADB et parle \\u00e0 ce processus via le socket r\\u00e9seau. Apr\\u00e8s la poign\\u00e9e de main initiale, les deux processus commencent \\u00e0 parler de Binder. Nous n'avons pas de meilleur moyen de le faire parce qu'Android ne permet pas non plus aux applications de parler des sockets de domaine UNIX.</li> <li>Si votre appareil n'est pas root\\u00e9 et que vous utilisez PMX avec ADB, la connexion \\u00e0 <code>adbd</code> n\\u00e9cessite des autorisations internet. Voir L'espionnage de PMX est-il sur moi en utilisant ADB sur le r\\u00e9seau?</li> </ul> <p>Donc, si l'application est incapable de cr\\u00e9er ou d'utiliser des sockets r\\u00e9seau local, cela \\u00e9chouera. Et si vous voulez emp\\u00eacher PMX d'utiliser Internet, cela ne doit pas emp\\u00eacher l'application de parler avec les processus sur l'appareil via l'interface de bouclage pour IPC. C'est g\\u00e9n\\u00e9ralement le cas avec les pare-feu bas\\u00e9s sur <code>iptables</code>comme Fyrypt et les pare-feu VPN comme NetGuard. Mais certains ROMs ont une fonctionnalit\\u00e9 int\\u00e9gr\\u00e9e pour interdire l'acc\\u00e8s au r\\u00e9seau :</p> <p></p> <p>Cela emp\\u00eache non seulement l'application d'utiliser Internet, mais d\\u00e9sactive \\u00e9galement sa capacit\\u00e9 \\u00e0 cr\\u00e9er des sockets de bouclage pour IPC. Donc PMX ne pourra pas obtenir les privil\\u00e8ges root / ADB si cette permission est refus\\u00e9e.</p>\"},{\"location\":\"fr/faqs/#faq26\",\"title\":\"PMX , c'est cool pour la confidentialit\\u00e9 ? Est-ce que vous collectez les donn\\u00e9es des utilisateurs ?\",\"text\":\"<p>Non. Nous ne collectons pas vos donn\\u00e9es. Jamais. Pas m\\u00eame un seul octet. PMX a une version open source. Nous croyons que nos utilisateurs sont \\u00e9duqu\\u00e9s et bien inform\\u00e9s de la raison pour laquelle ils utilisent PMX. Nous respectons votre vie priv\\u00e9e, donc aucune donn\\u00e9e n'est recueillie jamais, m\\u00eame les journaux de plantage. Vous pouvez \\u00e9galement consulter notre Politique de confidentialit\\u00e9.</p>\"},{\"location\":\"fr/faqs/#faq27\",\"title\":\"Est-ce que l'espionnage PMX sur mon r\\u00e9seau utilise ADB?\",\"text\":\"<p>Non.</p> <p>PMX parle au processus <code>adbd</code> via localhost (<code>127.0.0.1</code>). Mais il n'y a aucun moyen de commencer <code>adbd</code> \\u00e0 \\u00e9couter sur localhsot seulement, et pas sur les autres interfaces r\\u00e9seau (car ADB est destin\\u00e9 \\u00e0 \\u00eatre utilis\\u00e9 en externe depuis un PC). Vous pouvez certainement arr\\u00eater l'\\u00e9coute <code>adbd</code> depuis des adresses IP externes, si vous le pouvez. PMX fonctionnerait toujours, sans qu\\u2019aucun port ne soit expos\\u00e9 \\u00e0 l\\u2019ext\\u00e9rieur.</p> <p>Vous pouvez \\u00e9galement changer le port <code>5555</code> \\u00e0 n'importe quel num\\u00e9ro dans les R\\u00e9glages Avanc\\u00e9s. Ce n'est pas cod\\u00e9 en dur.</p> <p>Aussi ADB depuis Android 4.2 est destin\\u00e9 \\u00e0 \\u00eatre prot\\u00e9g\\u00e9 avec l'authentification par cl\\u00e9 RSA (un des m\\u00e9canismes d'authentification les plus forts). Ainsi, m\\u00eame si l'appareil est accessible \\u00e0 partir d'Internet (ce qui est fortement unlikely ), personne ne peut faire une connexion ADB sans authentification.</p> <p>Vous pouvez v\\u00e9rifier ces all\\u00e9gations comme vous le souhaitez. Nous sommes l\\u00e0 pour vous aider techniquement.</p>\"},{\"location\":\"fr/faqs/#faq28\",\"title\":\"Est-ce que PMX utilise les privil\\u00e8ges root pour collecter mes donn\\u00e9es ?\",\"text\":\"<p>Nous croyons au principe du moins de privil\\u00e8ges. Mais en raison de la nature restreinte du syst\\u00e8me d'exploitation Android, PMX ne peut pas fonctionner sans avoir des privil\\u00e8ges \\u00e9lev\\u00e9s. Ce que nous pouvons vous offrir, c'est si vous \\u00eates une personne avis\\u00e9e de la technologie, nous pouvons vous apprendre comment rendre difficile pour les applications de se connecter \\u00e0 Internet, m\\u00eame avec les privil\\u00e8ges de root.</p>\"},{\"location\":\"fr/faqs/#faq29\",\"title\":\"Je pense que PMX est inutile. Pourquoi a-t-elle \\u00e9t\\u00e9 cr\\u00e9\\u00e9e?\",\"text\":\"<p>Nous respectons votre opinion. PMX n'est pas pour tout le monde (et c'est pour \\u00e7a qu'il n'a pas \\u00e9t\\u00e9 peaufin\\u00e9 et sorti pendant des ann\\u00e9es, parce qu'on savait qu'on avait un public super restreint). Ce n'est que pour certaines \\u00e2mes de technologie suppl\\u00e9mentaire qui sont tr\\u00e8s conscientes de leur vie priv\\u00e9e et du contr\\u00f4le de leurs appareils. La majorit\\u00e9 des utilisateurs du t\\u00e9l\\u00e9phone sont entre les mains de leurs OEMs et de leurs d\\u00e9veloppeurs d'applications. Ils ne sont pas au courant de ce qui leur est fait et de leurs donn\\u00e9es. La majorit\\u00e9 pr\\u00e9f\\u00e8re la commodit\\u00e9 au respect de la vie priv\\u00e9e. Et c'est tr\\u00e8s bien.</p>\"},{\"location\":\"fr/permission-references/\",\"title\":\"R\\u00e9f\\u00e9rences d'autorisation\",\"text\":\"<p>Supposons que vous avez pass\\u00e9 un dimanche entier \\u00e0 d\\u00e9finir les permissions voulues sur plus de 200 applications install\\u00e9es. Et:</p> <ul> <li>Le mois suivant, vous avez mis \\u00e0 niveau votre appareil ou install\\u00e9 un nouveau ROM.</li> <li>Ou vous avez d\\u00e9sinstall\\u00e9 et r\\u00e9install\\u00e9 quelques-unes des applications pour une raison quelconque.</li> <li>Ou vous avez accord\\u00e9 quelques autorisations, comme demand\\u00e9 par les applications.</li> </ul> <p>Allez-vous revivre les tracasseries ?</p> <p>Non, vous n'avez pas besoin de le faire. Vous pouvez faire en sorte que PMX se souvienne des \\u00e9tats de permission souhait\\u00e9s. D\\u00e9finis une autorisation, mets-la en VERT, et c'est bon. Il ne faudra que quelques instants pour regarder tous les paquets install\\u00e9s et d\\u00e9terminer quelles permissions ne sont pas correctement d\\u00e9finies. . en effectuant une recherche rapide : <code>:RED|:ORANGE</code> ou <code>!:GREEN</code>. Voir Search pour plus de d\\u00e9tails.</p> <p>Trois \\u00e9tats de r\\u00e9f\\u00e9rence sont:</p> <ul> <li>\\u00e9tat ORANGE indique qu'aucune valeur de r\\u00e9f\\u00e9rence n'est d\\u00e9finie.</li> <li>GREEN indique que la valeur de r\\u00e9f\\u00e9rence correspond \\u00e0 la valeur actuellement d\\u00e9finie.</li> <li>RED indique que la valeur de r\\u00e9f\\u00e9rence et d\\u00e9finir la valeur diff\\u00e8re.</li> </ul> <p>Les \\u00e9tats de r\\u00e9f\\u00e9rence peuvent \\u00eatre sauvegard\\u00e9s et restaur\\u00e9s facilement. Apr\\u00e8s une restauration, il y a un moyen pratique de d\\u00e9finir toutes les autorisations selon les r\\u00e9f\\u00e9rences restaur\\u00e9es. Voir Op\\u00e9rations de lots.</p> <p>Il y a plusieurs fa\\u00e7ons de d\\u00e9finir une r\\u00e9f\\u00e9rence :</p> <ul> <li>Appuyez longuement sur une permission et appuyez sur le bouton \\u00ab Set Reference \\u00bb / \\u00ab Clear Reference\\u00bb.</li> <li>Il y a une option de menu en haut de la liste des permissions de chaque application pour d\\u00e9finir ou effacer toutes les r\\u00e9f\\u00e9rences.</li> <li>D\\u00e9finir les r\\u00e9f\\u00e9rences en vrac avec Op\\u00e9rations par lots.</li> <li>Activez la pr\\u00e9f\\u00e9rence \\\"Auto-set reference\\\" dans R\\u00e9glages \\u2192 R\\u00e9glages g\\u00e9n\\u00e9raux. Donc, chaque fois que vous changez un \\u00e9tat de permission, il est \\u00e9galement d\\u00e9fini comme r\\u00e9f\\u00e9rence.</li> </ul>\"},{\"location\":\"fr/permission-view/\",\"title\":\"Vue Permission\",\"text\":\"<p>La vue Permission montre une liste de toutes les autorisations avec un nombre de nombre d'applications qui utilisent ces permissions.</p> <p></p> <ol> <li>Nom de la permission</li> <li>Niveau de protection</li> <li>Nombre d'applications</li> <li>Nombre de permissions accord\\u00e9es hors du nombre total de permissions. Ce dernier peut \\u00eatre plus grand que le nombre d'applications car certaines applications peuvent utiliser une autorisation AppOp deux fois (en mode UID).</li> </ol> <p>Lorsque vous s\\u00e9lectionnez une autorisation, une liste d'applications utilisant cette autorisation appara\\u00eet :</p> <p></p> <ol> <li>Nom de la permission</li> <li>Description de la permission</li> <li>Drapeau indiquant que la permission est accord\\u00e9e</li> <li>Ic\\u00f4ne de l'application</li> <li>Libell\\u00e9 de l'application</li> <li>Nom du paquet</li> <li>UID de l'application</li> </ol> <p>Lorsque vous s\\u00e9lectionnez une application, la liste des permissions s'ouvre o\\u00f9 vous pouvez modifier l'\\u00e9tat des permissions.</p>\"},{\"location\":\"fr/permission-watcher/\",\"title\":\"Observateur de Permissions\",\"text\":\"<p>Certaines applications ne fonctionnent pas sans avoir une certaine autorisation. Mais vous voulez accorder la permission pour le temps seulement lorsque vous utilisez l'application, et r\\u00e9voquer l'autorisation d\\u00e8s que vous quittez l'application.</p> <p>Permission Watcher fait exactement cela. D\\u00e8s que vous quittez l'application, ou apr\\u00e8s l'heure d\\u00e9finie, il r\\u00e9voque les autorisations d'une application (manifest et AppOp) seuls, ou vous demandez de le faire, selon les pr\\u00e9f\\u00e9rences que vous avez d\\u00e9finies.</p> <p></p> <p>Permission Watcher vous avertit \\u00e9galement de d\\u00e9finir les autorisations sur les applications nouvellement install\\u00e9es (dans le profil utilisateur / propri\\u00e9taire principal uniquement).</p> <p></p> <p>Remarque:</p> <ul> <li>Seules les autorisations avec un \\u00e9tat de r\\u00e9f\\u00e9rence RED sont r\\u00e9voqu\\u00e9es, pas celles avec l'\\u00e9tat ORANGE. Donc vous DEVEZ d'abord d\\u00e9finir les \\u00e9tats de r\\u00e9f\\u00e9rence. Voir R\\u00e9f\\u00e9rences de permission.</li> <li>Les permissions Manifest seulement avec Dangerous niveau de protection sont surveill\\u00e9es. Ce sont eux qui ont g\\u00e9n\\u00e9ralement chang\\u00e9. Les permissions avec le niveau de protection Signature ou D\\u00e9veloppement ou celles avec le param\\u00e8tre Fixe au syst\\u00e8me ne sont pas v\\u00e9rifi\\u00e9es, m\\u00eame si elles sont modifiables.</li> <li>PMX surveille uniquement les applications Utilisateur ou Syst\\u00e8me normales, pas les applications Framework. Les modifier peuvent briquer l'appareil.</li> <li>Sur certains appareils, Permission Watcher peut ne pas fonctionner de mani\\u00e8re fiable pour les applications dans l'utilisateur / le profil secondaire. Il est recommand\\u00e9 de l'utiliser en combinaison avec le v\\u00e9rificateur planifi\\u00e9.</li> </ul> <p>Pourquoi le d\\u00e9marrage de Permission Watcher \\u00e9choue?</p> <p>Utilisez-vous ADB? Certains OEMs retirent la permission <code>OBSERVE_GRANT_REVOKE_PERMISSIONS</code> ou <code>SET_ACTIVITY_WATCHER</code> du paquet Shell. Si c'est le cas avec vous, nous sommes d\\u00e9sol\\u00e9s. C'est quelque chose que nous ne pouvons r\\u00e9parer. Sur de tels appareils Permission Watcher ne peut fonctionner qu'avec root. Voir les Limitations de ADB.</p>\"},{\"location\":\"fr/scheduled-check/\",\"title\":\"V\\u00e9rification programm\\u00e9e\",\"text\":\"<p>Voulez-vous garder une trace de toutes les modifications non souhait\\u00e9es des autorisations pour toutes les applications install\\u00e9es ? Les ch\\u00e8ques planifi\\u00e9s peuvent le faire pour vous \\u00e0 intervalles r\\u00e9guliers (en minutes, heure ou jours).</p> <p>D\\u00e9finissez R\\u00e9f\\u00e9rences de permission \\u00e0 VERTE et laissez le reste \\u00e0 PMX. Si une permission est trouv\\u00e9e modifi\\u00e9e (\\u00e9tat RED ) ou lorsqu'une nouvelle application est install\\u00e9e (avec les autorisations d'\\u00e9tat ORANGE ), PMX vous rappelle que quelque chose a besoin de votre attention.</p> <p>De plus, si configur\\u00e9 dans les pr\\u00e9f\\u00e9rences, la v\\u00e9rification planifi\\u00e9e peut automatiquement r\\u00e9voquer les autorisations accord\\u00e9es suivies d'une notification informatoire.</p>\"},{\"location\":\"fr/search/\",\"title\":\"Chercher\",\"text\":\"<p>Normalement, l'\\u00e9tiquette, le nom et l'UID des paquets sont recherch\\u00e9s dans la liste visible.</p> <p>Avec Recherche profonde, le nom des permissions et d'autres param\\u00e8tres sont interrog\\u00e9s.</p> <p>Notez que les filtres d'exclusion sont efficaces lors de la recherche.</p> <p>Vous pouvez utiliser les mots-cl\\u00e9s sp\\u00e9ciaux suivants dans la recherche :</p> <ul> <li> <p>\\u00c9tat de l'application:</p> <p><code>:Critical</code> <code>:Framework</code> <code>:System</code> <code>:User</code> <code>:Disabled</code></p> </li> <li> <p>\\u00c9tat de r\\u00e9f\\u00e9rence :</p> <p><code>:ORANGE</code> <code>:GREEN</code> <code>:RED</code></p> </li> <li> <p>Permissions niveau de protection:</p> <p><code>:Normal</code> <code>:Dangerous</code> <code>:Signature</code> <code>:Internal</code> <code>:Development</code> <code>:Privileged</code> <code>:Fixed</code> <code>:AppOps</code> <code>:Unknown</code></p> </li> <li> <p>Par UID AppOps:</p> <p><code>:UID</code></p> </li> <li> <p>AppOps avec la derni\\u00e8re fois qu'on y a acc\\u00e9d\\u00e9 ou rejet\\u00e9 :</p> <p><code>:TIME</code></p> </li> <li> <p>Extra AppOps (jamais exclu dans les param\\u00e8tres de filtre) :</p> <p><code>:EXTRA</code></p> </li> <li> <p>Op\\u00e9rateurs <code>&amp;</code> (ET), <code>|</code> (OU) et <code>!</code> (NOT) :</p> <p><code>Foo|Bar&amp;Baz</code></p> <p><code>Foo&amp;!Bar&amp;!Baz</code></p> </li> </ul> <p>La version payante affiche \\u00e9galement les suggestions de recherche (si d\\u00e9finies dans les pr\\u00e9f\\u00e9rences) pour faciliter le processus de recherche.</p>\"},{\"location\":\"fr/use-with-adb/\",\"title\":\"Utiliser PMX avec ADB\",\"text\":\"\"},{\"location\":\"fr/use-with-adb/#limitations-of-adb\",\"title\":\"Limitations de ADB\",\"text\":\"<p>ADB n'est pas aussi puissant que le root. Vous pouvez v\\u00e9rifier l'\\u00e9tat actuel de ce que ADB peut faire dans \\u00c0 propos \\u2192 Privil\\u00e8ges (lien de menu) :</p> <p></p> <p>Pour plus de d\\u00e9tails, voir Limitations de ADB. Voir aussi Pourquoi PMX ne fonctionne pas correctement sur les syst\\u00e8mes d'exploitation OEM ou ROMspersonnalis\\u00e9s ?</p>\"},{\"location\":\"fr/use-with-adb/#adb-guide\",\"title\":\"Guide ADB\",\"text\":\"<p>Veuillez consulter ADB Pairing / Guide de connexion.</p>\"},{\"location\":\"fr/versions/\",\"title\":\"Versions PMX\",\"text\":\"<p>PMX est dispo en deux versions : payante et gratuite. La version payante est disponible en deux variantes : Play Store et Pro. Les derniers APK sont disponibles dans le Play Store, GitHub et la Cha\\u00eene Telegram.</p>\"},{\"location\":\"fr/versions/#paid-features\",\"title\":\"Fonctionnalit\\u00e9s payantes\",\"text\":\"<p>La version payante inclut tout ce qui est dans la version gratuite, ainsi que les fonctionnalit\\u00e9s suppl\\u00e9mentaires suivantes qui sont \\u00e9galement list\\u00e9es dans la description du Play Store:</p> <ul> <li>Contr\\u00f4le programm\\u00e9 pour notifier les mauvais \\u00e9tats de r\\u00e9f\\u00e9rence</li> <li>Surveiller les modifications des permissions et les annuler</li> <li>R\\u00e9vocation automatique des autorisations accord\\u00e9es avec les \\u00e9tats RED</li> <li>Apporter des modifications aux applications critiques et aux autorisations</li> <li>Prise en charge de plusieurs utilisateurs / profil professionnel</li> <li>Op\\u00e9rations par lots (Profils)</li> <li>Afficher les autorisations</li> </ul>\"},{\"location\":\"fr/whatsrunning-integration/\",\"title\":\"Int\\u00e9gration avec WhatsRunning\",\"text\":\"<p>PMX est int\\u00e9gr\\u00e9 avec WhatsRunning afin que vous puissiez ouvrir l'un de l'autre.</p> <p> </p> <p>Ainsi, \\u00e0 partir de PMX , vous pouvez passer \\u00e0 WhatsRunning pour savoir si une application avec des autorisations limit\\u00e9es est toujours en cours d'ex\\u00e9cution. Si oui, dans quel \\u00e9tat il est et dans quelle quantit\\u00e9 de ressources il utilise.</p> <p>De m\\u00eame, \\u00e0 partir de WhatsRunning vous pouvez passer \\u00e0 PMX pour savoir quelles autorisations une application ex\\u00e9cut\\u00e9e (ou morte) est accord\\u00e9e.</p> <p>Ceci est particuli\\u00e8rement utile lors de l'analyse de l'effet des permissions comme <code>RUN_IN_BACKGROUND</code>.</p>\"},{\"location\":\"pt-BR/\",\"title\":\"O que \\u00e9 PMX?\",\"text\":\"<p>\\u00c9 o aplicativo eXtended Permission Manager para o Android que torna f\\u00e1cil definir e rever as permiss\\u00f5es desejadas em aplicativos instalados mantendo o controle de quaisquer altera\\u00e7\\u00f5es indesejadas. Dando controle ao seu dispositivo, ele permite proteger sua privacidade e economizar recursos como o uso da bateria.</p> <p>PMX fornece todas as informa\\u00e7\\u00f5es e controles relacionados \\u00e0 permiss\\u00e3o em uma \\u00fanica tela, para que voc\\u00ea possa assistir e control\\u00e1-los de forma abrangente e conveniente.</p> <p>Usando PMX voc\\u00ea pode:</p> <ul> <li>Ver / conceder / revogar todas as permiss\\u00f5es do manifest que podem ou n\\u00e3o podem ser definidas usando a tela de configura\\u00e7\\u00f5es do aplicativo. A lista de permiss\\u00f5es que n\\u00e3o podem ser definidas a partir da GUI \\u00e9 muito longa.</li> <li>Veja todas as permiss\\u00f5es do AppOp que geralmente n\\u00e3o possuem nenhuma configura\\u00e7\\u00e3o da GUI. Ex.: <code>VIBRATE</code> e <code>READ_CLIPBOARD</code>. Voc\\u00ea pode definir o modo desejado AppOps , por exemplo, Ignorar ou Primeiro plano.</li> <li>Veja todas as permiss\\u00f5es solicitadas por um aplicativo que n\\u00e3o s\\u00e3o alter\\u00e1veis.</li> <li>Ver a \\u00faltima vez que muitas permiss\\u00f5es do AppOp foram usadas.</li> <li>Alterar permiss\\u00f5es Corregidas pelo sistema que n\\u00e3o podem ser alteradas por quaisquer outros meios.</li> <li>Fique de olho nas mudan\\u00e7as de permiss\\u00e3o em tempo real ou fa\\u00e7a varreduras programadas.</li> <li>Ordenar apps e permiss\\u00f5es por muitos par\\u00e2metros, incluindo a data de instala\\u00e7\\u00e3o e o n\\u00famero de permiss\\u00f5es.</li> <li>Criar consultas avan\\u00e7adas de pesquisa em apps e suas permiss\\u00f5es.</li> <li>E muito mais.</li> </ul> <p>Veja tamb\\u00e9m Github README e Play Store descri\\u00e7\\u00e3o. Ou apenas experimente. N\\u00f3s oferecemos uma vers\\u00e3o gratuita e um m\\u00eas de teste gratuito.</p> <p>Isso \\u00e9 incr\\u00edvel? Vamos entrar em detalhes.</p> <ul> <li>Permiss\\u00f5es do manifesto e AppOps</li> <li>Refer\\u00eancias de permiss\\u00f5es</li> <li>Interface do usu\\u00e1rio explicada</li> <li>Pesquisar</li> <li>Verifica\\u00e7\\u00e3o Agendada</li> <li>Observador de permiss\\u00f5es</li> <li>Vis\\u00e3o de permiss\\u00e3o</li> <li>Opera\\u00e7\\u00f5es em lote</li> <li>Integra\\u00e7\\u00e3o com o WhatsRunning</li> <li>Usando PMX com ADB</li> <li>Vers\\u00f5es PMX</li> <li>Recursos pagos</li> <li>Perguntas frequentes sobre o PMX</li> <li>Downloads</li> <li>Capturas de tela</li> <li>Fale Conosco</li> </ul>\"},{\"location\":\"pt-BR/#rate-review\",\"title\":\"Avalia\\u00e7\\u00f5es / Avalia\\u00e7\\u00f5es / Coment\\u00e1rios / Upvotes / Favoritos\",\"text\":\"<ul> <li>Play Store</li> <li>XDA</li> <li>GitHub</li> </ul>\"},{\"location\":\"pt-BR/batch-operations/\",\"title\":\"Opera\\u00e7\\u00f5es em lote\",\"text\":\"\"},{\"location\":\"pt-BR/batch-operations/#permission-profiles\",\"title\":\"Perfis de permiss\\u00e3o\",\"text\":\"<ul> <li>Criar e editar perfis de permiss\\u00e3o (templates).</li> <li>Aplicar um perfil a uma lista selecionada de aplicativos.</li> <li>Selecione um Perfil Padr\\u00e3o para aplicar em aplicativos rec\\u00e9m-instalados (se Controle de permiss\\u00f5es estiver ativado).</li> </ul> <p>Here \\u00e9 um exemplo de guia de v\\u00eddeo de como criar e aplicar um perfil.</p>\"},{\"location\":\"pt-BR/batch-operations/#operations-with-references\",\"title\":\"Opera\\u00e7\\u00f5es com Refer\\u00eancias\",\"text\":\"\"},{\"location\":\"pt-BR/batch-operations/#set-permissions\",\"title\":\"Definir Permiss\\u00f5es\",\"text\":\"<p>D\\u00e1 uma olhada na lista de aplicativos selecionados e transforma as permiss\\u00f5es VERMELHAS em VERDES, definindo seus estados de acordo com os valores de refer\\u00eancia. Permiss\\u00f5es com estados Verde e laranja s\\u00e3o ignoradas.</p> <p>Essa op\\u00e7\\u00e3o geralmente \\u00e9 \\u00fatil quando voc\\u00ea acabou de restaurar um backup e tem v\\u00e1rias permiss\\u00f5es com o estado VERMELHO.</p>\"},{\"location\":\"pt-BR/batch-operations/#set-references\",\"title\":\"Definir Refer\\u00eancias\",\"text\":\"<p>D\\u00e1 uma olhada na lista de aplicativos selecionados e transforma as permiss\\u00f5es VERMELHAS e LARANJAS em VERDES, definindo seus valores de refer\\u00eancia de acordo com os estados de permiss\\u00e3o.</p> <p>Esta op\\u00e7\\u00e3o \\u00e9 geralmente \\u00fatil durante uma configura\\u00e7\\u00e3o inicial. Voc\\u00ea acabou de instalar o app PMX e passou algumas horas configurando permiss\\u00f5es. Essa op\\u00e7\\u00e3o vai deixar todos eles VERDES com um \\u00fanico toque.</p>\"},{\"location\":\"pt-BR/batch-operations/#cleanup-references\",\"title\":\"Limpeza de refer\\u00eancias\",\"text\":\"<p>Limpar banco de dados de refer\\u00eancias de permiss\\u00f5es. Refer\\u00eancias n\\u00e3o utilizadas ser\\u00e3o removidas.</p> <p>Se houver uma enorme lista de refer\\u00eancias n\\u00e3o utilizadas, uma limpeza pode melhorar o carregamento da lista de aplicativos.</p>\"},{\"location\":\"pt-BR/batch-operations/#reset-references\",\"title\":\"Redefinir Refer\\u00eancias\",\"text\":\"<p>Redefinir banco de dados de refer\\u00eancias de permiss\\u00f5es. Todas as refer\\u00eancias ser\\u00e3o removidas.</p> <p>N\\u00e3o foi feito para ser usado normalmente. Mas se voc\\u00ea quiser come\\u00e7ar do zero.</p> <p></p>\"},{\"location\":\"pt-BR/details/\",\"title\":\"Interface do usu\\u00e1rio explicada\",\"text\":\"\"},{\"location\":\"pt-BR/details/#apps-list\",\"title\":\"Lista de aplicativos\",\"text\":\"<ol> <li> <p>Tira colorida \\u00e0 esquerda indica estado de refer\\u00eancia</p> </li> <li> <p>\\u00cdcone do aplicativo</p> </li> <li> <p>Primeira linha mostra o pacote label</p> </li> <li> <p>A segunda linha mostra o nome do pacote,</p> </li> <li> <p>UID</p> </li> <li> <p>Terceira linha (opcionalmente) mostra o estado do pacote: Critical (Framework), Framework ou aplicativo System. Tamb\\u00e9m se o aplicativo estiver desativado. Nenhum estado \\u00e9 mostrado para Ativado, Usu\\u00e1rio apps.</p> </li> <li> <p>A \\u00faltima linha mostra conta de visibilidade do total de permiss\\u00f5es manifest e</p> </li> <li> <p>Permiss\\u00f5es AppOps.</p> <p>Permiss\\u00f5es invis\\u00edveis s\\u00e3o as exclu\\u00eddas em Filtros de exclus\\u00e3o.</p> </li> <li> <p>Se ordenada por instala\\u00e7\\u00e3o ou data de atualiza\\u00e7\\u00e3o, a \\u00faltima linha tamb\\u00e9m mostra data ou hora no lado direito.</p> </li> </ol>\"},{\"location\":\"pt-BR/details/#permissions-list\",\"title\":\"Lista de Permiss\\u00f5es\",\"text\":\"<ol> <li>Tira colorida \\u00e0 esquerda indica estado de refer\\u00eancia</li> <li>Permiss\\u00f5es Manifest mostram uma bandeira no canto superior direito</li> <li>Permiss\\u00e3o \\u00edcone</li> <li>Primeira linha mostra nome da permiss\\u00e3o</li> <li>A segunda linha mostra o n\\u00edvel de prote\\u00e7\\u00e3o: Normal, Perigoso, Assinatura, Desenvolvimento, Privil\\u00e9gio, Fixo, AppOps ou Desconhecido. Tamb\\u00e9m se AppOp \\u00e9 por Pacote ou por UID. E se for um AppOp Extra (nunca exclu\\u00eddo nas configura\\u00e7\\u00f5es de filtro).</li> <li>A terceira linha (no caso de AppOp) mostra o \\u00faltimo acesso ou o tempo de rejei\\u00e7\\u00e3o</li> <li>Quarta linha (no caso de AppOp) mostra o valor referenciado se n\\u00e3o corresponder ao valor definido atual.</li> <li>Alterne para alterar estado da permiss\\u00e3o</li> <li>Estado atual (no caso de AppOp)</li> <li>Padr\\u00e3o indica que o estado AppOp nunca foi alterado</li> </ol>\"},{\"location\":\"pt-BR/faqs/\",\"title\":\"FAQs PMX\",\"text\":\"\"},{\"location\":\"pt-BR/faqs/#faq36\",\"title\":\"Por que eu preciso usar PMX?\",\"text\":\"<p>Porque:</p> <ul> <li>PMX fornece todas as informa\\u00e7\\u00f5es relacionadas \\u00e0 permiss\\u00e3o (ou de outra forma indispon\\u00edveis) em uma \\u00fanica tela para que voc\\u00ea possa assistir e control\\u00e1-las de forma abrangente e conveniente.</li> <li>N\\u00e3o h\\u00e1 nenhuma ferramenta oficial dispon\\u00edvel no Android para alterar AppOps. Apenas um subconjunto de permiss\\u00f5es manifest est\\u00e3o expostos ao usu\\u00e1rio nas configura\\u00e7\\u00f5es de permiss\\u00e3o. PMX exp\\u00f5e todas as permiss\\u00f5es na forma raw Relacionado: Manifest permiss\\u00f5es e AppOps.</li> <li>PMX torna mais f\\u00e1cil para voc\\u00ea acompanhar as altera\\u00e7\\u00f5es indesejadas das permiss\\u00f5es.</li> <li>Dar controle ao seu dispositivo, PMX permite que voc\\u00ea economize recursos do dispositivo como a largura de banda da bateria e da rede e proteja sua privacidade. Voc\\u00ea n\\u00e3o \\u00e9 inteiramente deixado \\u00e0 merc\\u00ea do app e dos desenvolvedores ROM. Leia este article para ter uma ideia.</li> <li>PMX pode monitorar altera\\u00e7\\u00f5es de permiss\\u00e3o em tempo real, revertendo-as automaticamente quando voc\\u00ea parar de usar um aplicativo. Ou ele pode executar o escaneamento programado de permiss\\u00f5es. Portanto, n\\u00e3o \\u00e9 preciso lembrar das coisas.</li> <li>PMX torna mais f\\u00e1cil para voc\\u00ea fazer backup e restaurar permiss\\u00f5es dos aplicativos instalados para que voc\\u00ea n\\u00e3o precise ajustar as permiss\\u00f5es de um aplicativo novamente.</li> </ul> <p>Por favor, veja tamb\\u00e9m O que \\u00e9 PMX?</p>\"},{\"location\":\"pt-BR/faqs/#faq1\",\"title\":\"Por que PMX requer acesso root ou ADB?\",\"text\":\"<p>O Android restringe intencionalmente aplicativos de modificar as permiss\\u00f5es manifest ou AppOps (e em muitos casos de alterar algumas delas). Essas prote\\u00e7\\u00f5es da plataforma cuidam da privacidade dos usu\\u00e1rios e da integridade do sistema.</p> <p>Para executar a\\u00e7\\u00f5es que requerem privil\\u00e9gios elevados, PMX usa um pequeno, auxiliar privilegiado separado ao inv\\u00e9s de tentar fazer tudo do processo normal do aplicativo. Por padr\\u00e3o que o auxiliar roda sob o UID ADB (<code>2000</code>) quando iniciado via ADB, ou sob a UID do sistema (<code>1000</code>) em dispositivos com root. Se voc\\u00ea tem um dispositivo root, voc\\u00ea pode alterar o UID do helper em Configura\\u00e7\\u00f5es Avan\\u00e7adas.</p>\"},{\"location\":\"pt-BR/faqs/#faq33\",\"title\":\"Meu dispositivo n\\u00e3o est\\u00e1 rooteado. Como posso usar PMX?\",\"text\":\"<p>Usar PMX com ADB. Por favor, leia a nota no in\\u00edcio. Pode haver algumas limita\\u00e7\\u00f5es em alguns dispositivos.</p>\"},{\"location\":\"pt-BR/faqs/#faq42\",\"title\":\"Por que o PMX n\\u00e3o funciona ou funciona corretamente no Android mais recente?\",\"text\":\"<p>O PMX depende das APIs ocultas do Android ou interfaces n\\u00e3o-SDK que n\\u00e3o s\\u00e3o documentadas (em Desenvolvedores do Android) ao contr\\u00e1rio das APIs padr\\u00e3o. Ent\\u00e3o, a cada novo lan\\u00e7amento do Android, temos que passar pelo c\\u00f3digo-fonte do Android para descobrir quais APIs foram quebradas (alteradas ou removidas).</p> <p>Al\\u00e9m disso, leva tempo para consertar as APIs quebradas; \\u00e0s vezes semanas, algum tempo. E n\\u00e3o \\u00e9 garantido que seremos sempre capazes de consertar as APIs quebradas. \\u00c0s vezes o Google de prop\\u00f3sito torna dif\\u00edcil ou imposs\\u00edvel para n\\u00f3s continuar usando as APIs ocultas.</p> <p>Portanto, n\\u00e3o \\u00e9 poss\\u00edvel para n\\u00f3s fazer o PMX trabalhar imediatamente em cada nova vers\\u00e3o do Android (particularmente na fase beta) enquanto o c\\u00f3digo-fonte final AOSP n\\u00e3o for publicado publicamente (em C\\u00f3digo de Pesquisa ou Git Repository).</p> <p>A vers\\u00e3o final suportada pela PMX\\u00e9 descrita na descri\\u00e7\\u00e3o do aplicativo no GitHub e Play Store. Quando voc\\u00ea executa o aplicativo em uma vers\\u00e3o n\\u00e3o suportada pela primeira vez, ele mostra um aviso como este:</p> <p></p>\"},{\"location\":\"pt-BR/faqs/#faq43\",\"title\":\"Por que PMX n\\u00e3o funciona corretamente em sistemas operacionais OEM ou ROMs personalizado ?\",\"text\":\"<p>O PMX depende das APIs ocultas do Android ou interfaces n\\u00e3o-SDK que n\\u00e3o s\\u00e3o documentadas (em Desenvolvedores do Android) ao contr\\u00e1rio das APIs padr\\u00e3o. Ent\\u00e3o, precisamos acessar o c\\u00f3digo fonte do seu ROM para saber exatamente como funcionam as APIs ocultas.</p> <p>Bem, o AOSP (que \\u00e9 desenvolvido pelo Google) \\u00e9 open-source. Mas se o seu desenvolvedor OEM ou ROM fizer algumas altera\\u00e7\\u00f5es no AOSP para fins de personaliza\\u00e7\\u00e3o, N\\u00e3o temos nenhuma maneira de saber exatamente as mudan\\u00e7as que eles fizeram no c\\u00f3digo AOSP padr\\u00e3o. N\\u00f3s somos totalmente impotentes aqui. E este fato \\u00e9 mencionado na descri\\u00e7\\u00e3o do aplicativo no GitHub e Play Store. Desculpe.</p>\"},{\"location\":\"pt-BR/faqs/#faq2\",\"title\":\"Como PMX muda as permiss\\u00f5es de outros aplicativos?\",\"text\":\"<p>O pr\\u00f3prio PMX n\\u00e3o pode conceder ou revogar as permiss\\u00f5es de outros aplicativos. Na verdade, nenhum aplicativo de terceiros tem o privil\\u00e9gio de fazer isso. \\u00c9 o sistema operacional Android que controla as permiss\\u00f5es dos aplicativos. PMX apenas envia uma solicita\\u00e7\\u00e3o para o framework Android para alterar o estado de uma permiss\\u00e3o. Agora depende inteiramente do Android quanto honra o nosso pedido. Nem todas as permiss\\u00f5es s\\u00e3o alter\\u00e1veis. E se voc\\u00ea n\\u00e3o \\u00e9 capaz de alterar o estado de uma permiss\\u00e3o usando PMX, voc\\u00ea n\\u00e3o ser\\u00e1 capaz de mudar isso de outra maneira tamb\\u00e9m.</p>\"},{\"location\":\"pt-BR/faqs/#faq34\",\"title\":\"As permiss\\u00f5es permanecem alteradas depois que o ADB est\\u00e1 desligado, ou o root \\u00e9 negado ou o PMX est\\u00e1 desinstalado?\",\"text\":\"<p>O pr\\u00f3prio PMX n\\u00e3o pode conceder ou revogar as permiss\\u00f5es de outros aplicativos. Na verdade, nenhum aplicativo de terceiros tem o privil\\u00e9gio de fazer isso. \\u00c9 o sistema operacional Android que controla as permiss\\u00f5es dos aplicativos. PMX apenas envia uma solicita\\u00e7\\u00e3o para o framework Android para alterar o estado de uma permiss\\u00e3o.</p> <p>Ent\\u00e3o, uma vez que uma permiss\\u00e3o \\u00e9 alterada, n\\u00e3o faz diferen\\u00e7a se voc\\u00ea desinstalar PMX ou largar seus privil\\u00e9gios. A permiss\\u00e3o permanece em qualquer estado que seja, exceto quando alterada novamente por voc\\u00ea ou pelo sistema operacional.</p>\"},{\"location\":\"pt-BR/faqs/#faq15\",\"title\":\"Por que n\\u00e3o posso mudar a permiss\\u00e3o XYZ?\",\"text\":\"<p>Permiss\\u00f5es de manifesto com apenas n\\u00edvel de prote\\u00e7\\u00e3o perigoso (e alguns outros) podem ser alteradas. AppOps n\\u00e3o dependente de alguns outros AppOp s\\u00e3o alter\\u00e1veis. \\u00c9 assim que o Android funciona, n\\u00e3o podemos mudar o comportamento. Veja Manifest permiss\\u00f5es e AppOps.</p> <p>Al\\u00e9m disso, o PMX protege alguns aplicativos e permiss\\u00f5es de framework cr\\u00edtico; alter\\u00e1-los pode danificar o dispositivo. Ver a pergunta relacionada.</p> <p>Veja tamb\\u00e9m Por que alguns AppOps n\\u00e3o podem ser alterados?</p> <p>Note que come\\u00e7ar com o Android 15, as permiss\\u00f5es manifest dos aplicativos do sistema com n\\u00edvel de prote\\u00e7\\u00e3o de Desenvolvimento n\\u00e3o podem ser revogadas. O Android ignora silenciosamente o pedido.</p>\"},{\"location\":\"pt-BR/faqs/#faq37\",\"title\":\"Eu mudei de permiss\\u00e3o, mas n\\u00e3o est\\u00e1 funcionando. Porqu\\u00ea?\",\"text\":\"<p>Ap\\u00f3s alterar com sucesso uma permiss\\u00e3o, se voc\\u00ea n\\u00e3o estiver obtendo os resultados desejados, ou seja, ele reverte imediatamente ou depois de algumas horas ou dias, \\u00e9 o sistema operacional Android que \\u00e9 o culpado. Veja por favor:</p> <ul> <li>Como PMX altera as permiss\\u00f5es de outras aplica\\u00e7\\u00f5es?</li> <li>Por que algum AppOps n\\u00e3o pode ser alterado?</li> </ul> <p>Conforme voc\\u00ea usa apps, o Android pode alterar suas permiss\\u00f5es. E, infelizmente, n\\u00e3o temos maneira de o evitar. Observador de permiss\\u00f5es e Verificador Agendado pode ajudar neste aspecto.</p>\"},{\"location\":\"pt-BR/faqs/#faq3\",\"title\":\"Por que alguns AppOps n\\u00e3o podem ser alterados?\",\"text\":\"<p>\\u00c0s vezes voc\\u00ea v\\u00ea \\u201cAppOp mode not changed\\u201d. Isto significa que o Android rejeitou a solicita\\u00e7\\u00e3o para alterar o modo AppOp. Voc\\u00ea n\\u00e3o pode alter\\u00e1-lo, n\\u00e3o importa qual m\\u00e9todo ou aplicativo voc\\u00ea usa. Pode haver v\\u00e1rias raz\\u00f5es poss\\u00edveis.</p> <ul> <li> <p>Alguns AppOps s\\u00e3o dependentes das permiss\\u00f5es de manifest correspondentes. Por conseguinte, n\\u00e3o podem ser alteradas independentemente. Por exemplo, voc\\u00ea pode n\\u00e3o conseguir negar a permiss\\u00e3o <code>READ_CONTACTS</code> AppOp se <code>android.permission.READ_CONTACTS</code> manifest for concedida.</p> <p>Tamb\\u00e9m se o aplicativo n\\u00e3o solicitou a permiss\\u00e3o manifest em seu arquivo manifest , sua permiss\\u00e3o AppOp tamb\\u00e9m n\\u00e3o pode ser concedida. Mas ele ainda pode aparecer na lista de permiss\\u00f5es do aplicativo se o aplicativo tentou us\\u00e1-lo (e foi rejeitado). <code>SYSTEM_ALERT_WINDOW</code> \\u00e9 um desses exemplos.</p> </li> <li> <p>Alguns AppOps s\\u00e3o usados apenas pelo Android para compatibilidade (por exemplo, <code>LEGACY_STORAGE</code>) e eles realmente n\\u00e3o controlam nada. Se explorarmos seu trabalho subjacente, ser\\u00e1 revelado que conceder / revogar tais permiss\\u00f5es n\\u00e3o faz sentido.</p> </li> <li> <p>Algumas permiss\\u00f5es n\\u00e3o podem ser alteradas se o aplicativo estiver sendo executado ou estiver direcionado para uma vers\\u00e3o mais recente ou mais antiga do Android.</p> </li> <li> <p>Alguns OEM ROMs se comportam estranhos quando se trata de AppOps. Veja Por que o PMX n\\u00e3o funciona direito em sistemas operacionais OEM ou ROMspersonalizados?</p> </li> <li> <p>Muitos AppOps podem ter 2 modos: modo pacote e modo UID. \\u00c9 poss\\u00edvel que um possa ser alterado enquanto o outro n\\u00e3o pode ser.</p> <p>Geralmente UID AppOps tem preced\\u00eancia sobre suas contrapartes do pacote AppOp. Neste caso, o modo eficaz do pacote AppOp \\u00e9 o mesmo que seu UID AppOps. Ent\\u00e3o voc\\u00ea n\\u00e3o pode alterar o pacote AppOp sozinho.</p> <p>Alguns AppOps preferem ser definidos no modo pacote, n\\u00e3o no modo UID. Mas se estiver configurado incorretamente no modo UID (com a ferramenta de linha de comando ou por algum outro aplicativo), ele n\\u00e3o vai responder a nenhuma altera\\u00e7\\u00e3o. Fa\\u00e7a \\\"Redefinir AppOps\\\" no menu superior direito para faz\\u00ea-lo funcionar novamente. Este tamb\\u00e9m \\u00e9 o caso com outros AppOps que t\\u00eam uma permiss\\u00e3o correspondente manifest com AppOp n\\u00edvel de prote\\u00e7\\u00e3o.</p> </li> </ul> <p>Na verdade, vem muitas mais explica\\u00e7\\u00f5es se procurarmos cada aplicativo e permiss\\u00e3o individualmente (o que n\\u00e3o soa pr\\u00e1tico). Como mencionado acima, o PMX n\\u00e3o altera as permiss\\u00f5es de outros aplicativos por conta pr\\u00f3pria. Ent\\u00e3o, mesmo que, por alguma raz\\u00e3o desconhecida, o Android n\\u00e3o altere uma permiss\\u00e3o ou a reverta imediatamente, N\\u00e3o h\\u00e1 nada que possamos fazer para for\\u00e7\\u00e1-lo porque estas s\\u00e3o as limita\\u00e7\\u00f5es no fim do Android. Em vez disso, devo dizer que \\u00e9 assim que o Android funciona.</p> <p>Relacionado:</p> <ul> <li>Quais s\\u00e3o diferentes modos AppOp e qual devo usar?</li> <li>Por que n\\u00e3o posso definir o modo AppOp em primeiro plano?</li> </ul>\"},{\"location\":\"pt-BR/faqs/#faq6\",\"title\":\"Por que n\\u00e3o vejo o aplicativo XYZ na lista de pacotes?\",\"text\":\"<p>Por favor, verifique Filtros de Exclus\\u00e3o. Quase todos os pacotes padr\\u00e3o do Android s\\u00e3o exclu\\u00eddos por padr\\u00e3o. Voc\\u00ea pode excluir / incluir qualquer pacote que quiser de / para a lista vis\\u00edvel.</p>\"},{\"location\":\"pt-BR/faqs/#faq7\",\"title\":\"Por que n\\u00e3o vejo a permiss\\u00e3o XYZ no pacote ABC?\",\"text\":\"<p>Por favor, verifique Filtros de Exclus\\u00e3o. Permiss\\u00f5es que n\\u00e3o s\\u00e3o alter\\u00e1veis s\\u00e3o exclu\\u00eddas da lista vis\\u00edvel por padr\\u00e3o.</p>\"},{\"location\":\"pt-BR/faqs/#faq8\",\"title\":\"Por que n\\u00e3o vejo o XYZ AppOp no pacote ABC?\",\"text\":\"<p>Por favor verifique os Filtros de exclus\\u00e3o se o XYZ AppOp est\\u00e1 exclu\\u00eddo da lista vis\\u00edvel. Ou o pacote ABC pode n\\u00e3o estar usando a opera\\u00e7\\u00e3o XYZ. A senhora n\\u00e3o precisa ficar preocupada com isso.</p> <p>Mas se voc\\u00ea quiser ver o XYZ AppOp para todos os aplicativos, v\\u00e1 em Filtros de Exclus\\u00e3o \\u2192 AppOps adicional, nunca excluiu e verifique o XYZ AppOp na lista.</p> <p>Por exemplo, escrever <code>_CLIPBOARD</code> na caixa de pesquisa (com a caixa Pesquisa profunda marcada) e voc\\u00ea receber\\u00e1 todos os aplicativos que usaram (ou tentaram usar) a permiss\\u00e3o <code>READ_CLIPBOARD</code> ou <code>WRITE_CLIPBOARD</code>. O carimbo de data/hora tamb\\u00e9m \\u00e9 mostrado (mas n\\u00e3o para todos os AppOps).</p> <p>Ent\\u00e3o se o app que voc\\u00ea est\\u00e1 preocupado n\\u00e3o estiver nos resultados da pesquisa, verifique ambos AppOps na lista de Filtros de Exclus\\u00e3o mencionada acima.</p>\"},{\"location\":\"pt-BR/faqs/#faq5\",\"title\":\"O que devo selecionar para o Daemon Privil\\u00e9gio de UID nas Configura\\u00e7\\u00f5es Avan\\u00e7adas? Sistema ou ADB?\",\"text\":\"<p>\\u00c9 importante apenas se voc\\u00ea estiver usando root, ou <code>adbd</code> no seu dispositivo est\\u00e1 executando com root (que n\\u00e3o \\u00e9 o caso com dispositivos do usu\\u00e1rio final).</p> <p>Preferencialmente, use System (UID <code>1000</code>) pois ele permite mais privil\\u00e9gios do que ADB (UID <code>2000</code>). Ex.: alterar as permiss\\u00f5es \\\"Sistema-Fixo\\\" s\\u00f3 \\u00e9 poss\\u00edvel quando \\u00e9 executado como sistema.</p>\"},{\"location\":\"pt-BR/faqs/#faq9\",\"title\":\"O que s\\u00e3o \\\"permiss\\u00f5es inv\\u00e1lidas\\\" em Filtros de Exclus\\u00e3o?\",\"text\":\"<p>Se um aplicativo est\\u00e1 solicitando uma permiss\\u00e3o manifest , mas n\\u00e3o \\u00e9 declarado (fornecido) pelo framework Android ou qualquer um dos pacotes instalados, \\u00e9 uma permiss\\u00e3o inv\\u00e1lida. Por exemplo, o <code>com.android.vending.BILLING</code> \\u00e9 uma permiss\\u00e3o inv\\u00e1lida se o aplicativo Play Store n\\u00e3o estiver instalado no seu dispositivo.</p>\"},{\"location\":\"pt-BR/faqs/#faq10\",\"title\":\"O que \\u00e9 \\\" AppOpsextra \\\" em Filtros de Exclus\\u00e3o?\",\"text\":\"<p>Nem todos os AppOps est\\u00e3o sendo usados para todos os aplicativos instalados. Mas voc\\u00ea pode impor um AppOp a qualquer aplicativo. AppOps extra selecionado aparece nas listas de permiss\\u00f5es de todos os aplicativos, para que voc\\u00ea possa defini-los.</p>\"},{\"location\":\"pt-BR/faqs/#faq11\",\"title\":\"Quais s\\u00e3o diferentes modos AppOp e quais devo usar?\",\"text\":\"<p>Normalmente voc\\u00ea deve permitir ou ignorar. Ou voc\\u00ea pode querer permitir uma opera\\u00e7\\u00e3o somente quando o aplicativo estiver em Foreground (somente no Android 9 ou superior). Negar \\u00e9 a vers\\u00e3o intensa de Ignorar que pode travar o aplicativo solicitante. Padr\\u00e3o \\u00e9 o comportamento padr\\u00e3o do sistema que difere para AppOps diferente.</p> <p>Por favor, note que nem todos os modos AppOp podem ser definidos em cada AppOp para cada aplicativo. Por exemplo, em vers\\u00f5es recentes do Android, lan\\u00e7amentos <code>CAMERA</code> e <code>MICROPHONE</code> t\\u00eam permiss\\u00e3o para serem usados por aplicativos do usu\\u00e1rio apenas em primeiro plano (mesmo que o modo definido seja Permitido). Da mesma forma, alguns AppOps nunca podem ser definidos para o modo em primeiro plano.</p> <p>Relacionado: Por que alguns AppOps n\\u00e3o podem ser alterados?</p> <p>Documenta\\u00e7\\u00e3o oficial: AppOpsManager.</p>\"},{\"location\":\"pt-BR/faqs/#faq12\",\"title\":\"Qual \\u00e9 a diferen\\u00e7a entre os modos \\\"Ignorar\\\" e \\\"Negar\\\" em AppOp?\",\"text\":\"<p>Ignore falha silenciosamente enquanto Deny lan\\u00e7a um erro de volta para o aplicativo que pode n\\u00e3o estar esperando e que pode travar. Voc\\u00ea deveria estar normalmente usando Ignore.</p>\"},{\"location\":\"pt-BR/faqs/#faq41\",\"title\":\"Por que n\\u00e3o posso definir o modo AppOp em primeiro plano?\",\"text\":\"<p>O modo primeiro plano n\\u00e3o pode ser definido para todos os AppOps. Mesmo quando definido, n\\u00e3o pode dar os resultados esperados.</p> <p>Relacionado:</p> <ul> <li>Quais s\\u00e3o diferentes modos AppOp e qual devo usar?</li> <li>Por que algum AppOps n\\u00e3o pode ser alterado?</li> </ul> <p>Por favor, note que o modo de permiss\\u00e3o \\\"Permitir apenas quando estiver usando o aplicativo\\\" n\\u00e3o define o modo AppOp como \\\"Em primeiro plano\\\":</p> <p></p> <p>Normalmente vemos apenas dois estados para uma permiss\\u00e3o manifest : concedida e revogada. Mas Android usa flags para dividir esses dois estados em v\\u00e1rios subestados. Para algumas permiss\\u00f5es, o mesmo fen\\u00f4meno \\u00e9 usado para alcan\\u00e7ar o comportamento de \\\"conceder somente quando o aplicativo \\u00e9 vis\\u00edvel\\\". A permiss\\u00e3o AppOp n\\u00e3o \\u00e9 usada neste caso.</p> <p>Para mais detalhes, consulte a documenta\\u00e7\\u00e3o oficial de acesso em segundo plano e acesso em primeiro plano.</p> <p>Por simplicidade, PMX n\\u00e3o assiste a sinaliza\\u00e7\\u00f5es de permiss\\u00e3o neste momento. Mas no futuro uma op\\u00e7\\u00e3o pode ser adicionada para tamb\\u00e9m rastrear mudan\\u00e7as de sinalizadores de permiss\\u00e3o, mesmo que o modo concedido / revogado permane\\u00e7a inalterado.</p>\"},{\"location\":\"pt-BR/faqs/#faq14\",\"title\":\"O que a permiss\\u00e3o <code>WAKE_LOCK</code> faz?\",\"text\":\"<p>Os aplicativos mant\\u00eam o wakelock para manter o dispositivo ativo, ou seja, n\\u00e3o entrar no modo Doze.</p>\"},{\"location\":\"pt-BR/faqs/#faq16\",\"title\":\"Como posso mudar a permiss\\u00e3o <code>INTERNET</code>?\",\"text\":\"<p>O Android n\\u00e3o deixa mudar todas as permiss\\u00f5es, tipo aquelas com o n\\u00edvel de prote\\u00e7\\u00e3o Normal (por exemplo, <code>INTERNET</code>) ou aquelas com a marca\\u00e7\\u00e3o Fixa ou n\\u00edvel de prote\\u00e7\\u00e3o Assinatura (normalmente aplicativos do Sistema ou Framework). Veja Manifest permiss\\u00f5es e AppOps.</p> <p>Mas se voc\\u00ea estiver rooteado, Fyrypt d\\u00e1 a voc\\u00ea um controle muito forte sobre a atividade de rede acontecendo no seu dispositivo.</p>\"},{\"location\":\"pt-BR/faqs/#faq40\",\"title\":\"O que s\\u00e3o permiss\\u00f5es fixas?\",\"text\":\"<p>Permiss\\u00f5es de sistema corrigido s\\u00e3o concedidas aos aplicativos pr\\u00e9-instalados pelos desenvolvedores OEMs ou ROM. N\\u00e3o se pretende que sejam alteradas. Mas se o seu dispositivo estiver rooteado, o PMX pode mudar as permiss\\u00f5es fixadas pelo sistema.</p> <p>As permiss\\u00f5es fixas por pol\\u00edtica s\\u00e3o concedidas (ou negadas) pelos administradores de TI nos dispositivos gerenciados. Eles n\\u00e3o podem ser alterados.</p> <p>User-fixed permissions are fixed by the user. Se um usu\\u00e1rio negar uma permiss\\u00e3o algumas vezes quando o aplicativo solicita ele, o sistema operacional marca a permiss\\u00e3o como corrigida pelo usu\\u00e1rio e n\\u00e3o mostra mais solicita\\u00e7\\u00f5es ao usu\\u00e1rio para conceder a permiss\\u00e3o se o aplicativo pedir a mesma permiss\\u00e3o novamente. Esse tipo de permiss\\u00f5es fixas pode ser alterado facilmente sempre que o usu\\u00e1rio quiser.</p>\"},{\"location\":\"pt-BR/faqs/#faq17\",\"title\":\"Como posso alterar as permiss\\u00f5es do sistema, assinatura/privil\\u00e9gio ou permiss\\u00f5es de framework (framework app)?\",\"text\":\"<p>Se seu dispositivo estiver rooteado, na vers\\u00e3o paga voc\\u00ea pode Permitir Mudan\\u00e7as Cr\\u00edticas em Configura\\u00e7\\u00f5es Avan\\u00e7adas para fazer altera\\u00e7\\u00f5es nas permiss\\u00f5es com a flag Sistema Fixo, n\\u00edvel de prote\\u00e7\\u00e3o Assinatura ou Privil\\u00e9gio ou do framework app. Mas n\\u00e3o \\u00e9 recomend\\u00e1vel jogar com aplicativos do Sistema e do Framework Voc\\u00ea pode brick seu dispositivo.</p>\"},{\"location\":\"pt-BR/faqs/#faq18\",\"title\":\"O que \\u00e9 o \\\"Modo UID\\\" nas permiss\\u00f5es AppOp?\",\"text\":\"<p>\\u00c9 um modo de uma permiss\\u00e3o AppOp que indica que alterar este AppOp tamb\\u00e9m afetar\\u00e1 outros aplicativos (com a mesma UID), se instalado. Ver <code>sharedUserId</code>.</p> <p>Observe que o modo UID tem preced\\u00eancia sobre o modo pacote para muitos AppOps.</p>\"},{\"location\":\"pt-BR/faqs/#faq39\",\"title\":\"Posso controlar o recurso \\u201cRemover permiss\\u00f5es se o aplicativo n\\u00e3o for usado\\u201d do Android a partir de PMX?\",\"text\":\"<p>Sim. Esse recurso est\\u00e1 dispon\\u00edvel desde Android 11. Ele tamb\\u00e9m \\u00e9 rotulado como \\\"Pausar atividade de app se n\\u00e3o for usado\\\" em alguns dispositivos.</p> <p></p> <p>Para alterar esta op\\u00e7\\u00e3o do PMX:</p> <ol> <li>V\\u00e1 para Filtros de exclus\\u00e3o \\u2192 Lista AppOps extra e verifique <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code>.</li> <li>Volte na tela principal, digite <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code> na barra de pesquisa superior. Certifique-se de que a busca profunda esteja ativada nas configura\\u00e7\\u00f5es de busca.</li> <li>Defina o modo Permitir ou Ignorar para os aplicativos que voc\\u00ea quiser.</li> </ol> <p>Voc\\u00ea tamb\\u00e9m pode usar Vis\\u00e3o de permiss\\u00e3o ou Opera\\u00e7\\u00f5es em lote no lugar dos passos 2 e 3. Aqui est\\u00e1 um guia sobre como fazer isso usando Opera\\u00e7\\u00f5es de Lote:</p>      Remove permissions if app isn't used\"},{\"location\":\"pt-BR/faqs/#faq31\",\"title\":\"Por que eu consigo muitos \\\"Bad ROM\\\" popups?\",\"text\":\"<p>OEMs fazem enormes mudan\\u00e7as no c\\u00f3digo AOSP de estoque (que \\u00e9 desenvolvido pelo Google). Ent\\u00e3o o framework AppOps em alguns personalizados/OEM ROMs retorna resultados inesperados que PMX n\\u00e3o consegue entender. Voc\\u00ea pode ignorar estes popups, mas eles significam que a funcionalidade \\u00e9 um pouco limitada.</p> <p>Voc\\u00ea pode desativar estes pop-ups em Configura\\u00e7\\u00f5es \\u2192 Configura\\u00e7\\u00f5es gerais \\u2192 Desativar torradas ROM ruim.</p> <p>Veja Por que o PMX n\\u00e3o funciona direito em sistemas operacionais OEM ou ROMspersonalizados?</p>\"},{\"location\":\"pt-BR/faqs/#faq19\",\"title\":\"O que fazem os bot\\u00f5es \\\"Ocultar da Lista\\\" (no toque cont\\u00ednuo) fazer?\",\"text\":\"<p>Eles s\\u00f3 escondem o aplicativo ou a permiss\\u00e3o da lista vis\\u00edvel. Se voc\\u00ea n\\u00e3o deseja alterar uma permiss\\u00e3o para qualquer aplicativo, voc\\u00ea pode ocult\\u00e1-la. E n\\u00e3o aparecer\\u00e1 para nenhum aplicativo. Para mostr\\u00e1-lo novamente, v\\u00e1 para configura\\u00e7\\u00f5es de Filtros de exclus\\u00e3o.</p> <p>Da mesma forma, voc\\u00ea pode excluir um aplicativo da lista se voc\\u00ea n\\u00e3o estiver preocupado com suas permiss\\u00f5es.</p> <p> </p>\"},{\"location\":\"pt-BR/faqs/#faq21\",\"title\":\"Existe uma lista completa de todas as permiss\\u00f5es dispon\\u00edveis com explica\\u00e7\\u00e3o?\",\"text\":\"<p>N\\u00e3o h\\u00e1 nenhuma lista completa de permiss\\u00f5es com descri\\u00e7\\u00e3o, pelo menos no meu conhecimento. A vers\\u00e3o do PMX Pro mostra uma breve descri\\u00e7\\u00e3o das permiss\\u00f5es de manifest e AppOp comuns.</p> <p>Existem recursos de terceiros como este de Izzy. O site oficial de desenvolvedor e o c\\u00f3digo-fonte do Android tamb\\u00e9m s\\u00e3o boas fontes para a aprendizagem.</p> <p>A cada nova vers\\u00e3o do Android, algumas novas permiss\\u00f5es s\\u00e3o adicionadas, e outras tamb\\u00e9m ficam obsoletas. Al\\u00e9m disso, nem todas as permiss\\u00f5es s\\u00e3o necess\\u00e1rias para serem tomadas conta de todos os usu\\u00e1rios.</p>\"},{\"location\":\"pt-BR/faqs/#faq22\",\"title\":\"Como usar o app no perfil de trabalho / ambiente de multi-usu\\u00e1rio?\",\"text\":\"<p>Vers\\u00e3o Pro suporta perfis de trabalho e v\\u00e1rios usu\\u00e1rios. Selecione um usu\\u00e1rio no menu suspenso.</p> <p></p>\"},{\"location\":\"pt-BR/faqs/#faq24\",\"title\":\"Como PMX se compara a XPrivacyLua? Podem substituir-se um ao outro?\",\"text\":\"<p>PMX n\\u00e3o foi projetado para substituir, mas para projetos de elogio como XPrivacyLua. Eles t\\u00eam diferentes objetivos de concep\\u00e7\\u00e3o.</p> <p>XPrivacyLua hack a funcionalidade padr\\u00e3o do Android conectando em APIs internas, usando Xposed que substitui algumas bibliotecas do Android por bibliotecas hackeadas. Ent\\u00e3o obtemos funcionalidade extra como dar informa\\u00e7\\u00f5es falsas aos apps e ser notificado de eventos relacionados \\u00e0 permiss\\u00e3o que n\\u00e3o podemos saber por quaisquer outros meios normais.</p> <p>PMX por outro lado n\\u00e3o \\u00e9 um m\\u00f3dulo de estrutura. Ele fornece acesso conveniente a algumas APIs privilegiadas que os apps normais n\\u00e3o conseguem usar. N\\u00e3o est\\u00e1 hackeando a funcionalidade padr\\u00e3o do Android de forma alguma. A maioria das tarefas que PMX executa tamb\\u00e9m podem ser executadas pela linha de comando, exceto algumas como a altera\\u00e7\\u00e3o de permiss\\u00f5es fixas do sistema.</p> <p>Roota\\u00e7\\u00e3o e Xposed s\\u00e3o dois requisitos estritos para usar XPrivacyLua. PMX n\\u00e3o precisa de nenhum dos dois na maioria das vezes. Ambos n\\u00e3o est\\u00e3o dispon\\u00edveis para muitos dispositivos ou muitos usu\\u00e1rios n\\u00e3o os consideram como uma op\\u00e7\\u00e3o devido \\u00e0s dificuldades t\\u00e9cnicas envolvidas. Vazio de garantia, falha na SafetyNet e outras quest\\u00f5es.</p> <p>Mais explica\\u00e7\\u00e3o here e here.</p>\"},{\"location\":\"pt-BR/faqs/#faq32\",\"title\":\"O PMX pode remover automaticamente as permiss\\u00f5es quando um aplicativo \\u00e9 fechado, como o Bouncer faz?\",\"text\":\"<p>Sim. Ver Observador de permiss\\u00f5es e Verifica\\u00e7\\u00e3o Agendada. Mas n\\u00e3o usa a Acessibilidade do Android para executar toques / cliques na tela em nome do usu\\u00e1rio (embora seja um bom recurso sem exigir qualquer configura\\u00e7\\u00e3o extra). PMX depende de privil\\u00e9gios de raiz ou ADB. Ent\\u00e3o ele pode fazer muito mais (veja O que \\u00e9 PMX?) do que o que pode ser feito usando os recursos de Acessibilidade.</p> <p>Se voc\\u00ea estiver usando ADB, e n\\u00e3o root, o Observador de permiss\\u00f5es pode n\\u00e3o funcionar em alguns dispositivos. Por favor, veja Limita\\u00e7\\u00f5es de ADB.</p>\"},{\"location\":\"pt-BR/faqs/#faq35\",\"title\":\"Posso ser notificado quando um novo aplicativo for instalado?\",\"text\":\"<p>Sim. Ver Observador de permiss\\u00f5es.</p> <p>Desde o Android 8 n\\u00e3o \\u00e9 poss\\u00edvel para apps em segundo plano (n\\u00e3o em execu\\u00e7\\u00e3o) serem notificados sobre o novo evento instalado do aplicativo. Ent\\u00e3o vamos executar um servi\\u00e7o em primeiro plano (com notifica\\u00e7\\u00e3o persistente) para receber este evento. Ou voc\\u00ea pode considerar usar o Pedido Agendado para manter as coisas certas.</p>\"},{\"location\":\"pt-BR/faqs/#faq38\",\"title\":\"Quando um novo aplicativo \\u00e9 instalado, pode remover as permiss\\u00f5es por padr\\u00e3o do PMX?\",\"text\":\"<p>Sim. Mas n\\u00e3o h\\u00e1 permiss\\u00f5es para descartar. Todas as permiss\\u00f5es manifest revog\\u00e1veis j\\u00e1 est\\u00e3o revogadas e ser\\u00e3o revogadas, a menos que o usu\\u00e1rio as conceda explicitamente. No que diz respeito a AppOps , muitos deles n\\u00e3o aparecem at\\u00e9 pelo menos uma vez usados pelo aplicativo, por exemplo, <code>VIBRATE</code> e <code>READ_CLIPBOARD</code>. Muitas outras (por exemplo, <code>READ_CONTACTS</code>) t\\u00eam suas permiss\\u00f5es manifest correspondentes j\\u00e1 foram removidas, como apontado. Ent\\u00e3o n\\u00e3o \\u00e9 previs\\u00edvel no momento da instala\\u00e7\\u00e3o do aplicativo, que AppOps deve ser removida.</p> <p>Mas uma notifica\\u00e7\\u00e3o \\u00e9 exibida quando um novo aplicativo \\u00e9 instalado (se estiver usando Permiss\\u00f5es Watcher) para que o usu\\u00e1rio possa definir as permiss\\u00f5es um por um ou aplicar um perfil.</p>\"},{\"location\":\"pt-BR/faqs/#faq25\",\"title\":\"Por que o PMX requer permiss\\u00e3o da INTERNET?\",\"text\":\"<p>A vers\\u00e3o standalone Pro requer conex\\u00e3o com a internet para verifica\\u00e7\\u00e3o de licen\\u00e7a. Outro versions pode funcionar completamente offline. Embora o app Play Store precise de uma conex\\u00e3o com a internet para verifica\\u00e7\\u00e3o de licen\\u00e7a.</p>\"},{\"location\":\"pt-BR/faqs/#optional-use-of-internet-permission\",\"title\":\"Utiliza\\u00e7\\u00e3o opcional da permiss\\u00e3o <code>android.permission.INTERNET</code>\",\"text\":\"<ul> <li>Verificar por atualiza\\u00e7\\u00f5es do App. Voc\\u00ea pode desativar isto nas configura\\u00e7\\u00f5es do aplicativo.</li> </ul>\"},{\"location\":\"pt-BR/faqs/#on-device-use-of-internet-permission\",\"title\":\"Uso local (no dispositivo) da permiss\\u00e3o <code>android.permission.INTERNET</code>\",\"text\":\"<p>O Android n\\u00e3o permite que aplicativos criem soquetes de rede sem ter a permiss\\u00e3o <code>INTERNET</code>, mesmo se eles s\\u00e3o destinados a ser usados apenas localmente e n\\u00e3o para uma conex\\u00e3o de internet. PMX tem dois usos de conex\\u00f5es locais (no dispositivo) (a habilidade de criar <code>localhost</code> soquetes em <code>127.0.0.1</code>) para a Comunica\\u00e7\\u00e3o de Processo de Inter (IPC):</p> <ul> <li>O PMX inicia um processo em segundo plano com privil\\u00e9gios de raiz / ADB e conversa\\u00e7\\u00f5es para esse processo atrav\\u00e9s do soquete da rede. Ap\\u00f3s o handshake inicial, ambos os processos come\\u00e7am a falar sobre o Binder. N\\u00f3s n\\u00e3o temos uma maneira melhor de fazer isso porque o Android tamb\\u00e9m n\\u00e3o permite que apps falem sobre soquetes de dom\\u00ednio UNIX.</li> <li>Se seu dispositivo n\\u00e3o estiver com root e voc\\u00ea usar PMX com ADB, ent\\u00e3o conectar ao <code>adbd</code> requer permiss\\u00f5es de internet. Ver  PMX est\\u00e1 me espionando usando ADB pela rede?</li> </ul> <p>Ent\\u00e3o, se o aplicativo n\\u00e3o for capaz de criar ou usar as tomadas locais da rede, ele falhar\\u00e1. E se voc\\u00ea quiser impedir o PMX de usar a internet, n\\u00e3o deve impedir o aplicativo de falar com processos no dispositivo ao longo de interface de loopback para o IPC. Este \\u00e9 geralmente o caso com firewalls baseados em <code>iptables</code>como Fyrypt e firewalls baseados em VPN como NetGuard. Mas alguns ROMs t\\u00eam um recurso integrado para impedir o acesso \\u00e0 rede:</p> <p></p> <p>Isso n\\u00e3o s\\u00f3 impede o aplicativo de usar a internet, mas tamb\\u00e9m desabilita sua capacidade de criar soquetes loopback para o IPC. Portanto PMX n\\u00e3o ser\\u00e1 capaz de obter privil\\u00e9gios de raiz / ADB se essa permiss\\u00e3o for negada.</p>\"},{\"location\":\"pt-BR/faqs/#faq26\",\"title\":\"Quanto PMX \\u00e9 amig\\u00e1vel \\u00e0 privacidade? Voc\\u00ea coleta os dados dos usu\\u00e1rios?\",\"text\":\"<p>N\\u00e3o. N\\u00f3s n\\u00e3o coletamos seus dados. nunca. Nem um \\u00fanico byte. O PMX tem uma vers\\u00e3o de c\\u00f3digo aberto. Acreditamos que nossos usu\\u00e1rios sejam educados e bem informados sobre por que est\\u00e3o usando PMX. Respeitamos a sua privacidade, portanto nenhum dado \\u00e9 coletado, at\\u00e9 mesmo os registros de erros. Voc\\u00ea tamb\\u00e9m pode querer ver nossa Pol\\u00edtica de Privacidade.</p>\"},{\"location\":\"pt-BR/faqs/#faq27\",\"title\":\"O PMX est\\u00e1 me espionando usando o ADB pela rede?\",\"text\":\"<p>N\\u00e3o.</p> <p>PMX conversa com o processo <code>adbd</code> atrav\\u00e9s do localhost (<code>127.0.0.1</code>). Mas n\\u00e3o h\\u00e1 nenhuma maneira de come\\u00e7ar a ouvir <code>adbd</code> apenas no localhsot, e n\\u00e3o em outras interfaces de rede (porque ADB \\u00e9 usado externamente a partir de um PC). Voc\\u00ea certamente pode parar o <code>adbd</code> escutando endere\\u00e7os IP externos, se puder. PMX ainda funcionaria, sem que qualquer porta fosse exposta externamente.</p> <p>Tamb\\u00e9m voc\\u00ea pode mudar a porta <code>5555</code> para o n\\u00famero que quiser em Configura\\u00e7\\u00f5es Avan\\u00e7adas. N\\u00e3o \\u00e9 codificado duro.</p> <p>Tamb\\u00e9m ADB desde o Android 4.2 \\u00e9 destinado a ser protegido com autentica\\u00e7\\u00e3o RSA (um dos mecanismos de autentica\\u00e7\\u00e3o mais forte). Ent\\u00e3o mesmo que o dispositivo esteja acess\\u00edvel a partir da internet (que \\u00e9 altamente unlikely), ningu\\u00e9m pode fazer uma conex\\u00e3o ADB sem autentica\\u00e7\\u00e3o.</p> <p>Voc\\u00ea pode verificar essas reivindica\\u00e7\\u00f5es da forma que quiser. Estamos aqui para o ajudar tecnicamente.</p>\"},{\"location\":\"pt-BR/faqs/#faq28\",\"title\":\"O PMX est\\u00e1 fazendo mal uso dos privil\\u00e9gios de superusu\\u00e1rio para coletar meus dados?\",\"text\":\"<p>Acreditamos no princ\\u00edpio do m\\u00ednimo privil\\u00e9gio. Mas devido \\u00e0 natureza restrita do sistema operacional Android, PMX n\\u00e3o pode funcionar sem ter privil\\u00e9gios elevados. O que podemos oferecer \\u00e9, se se for uma pessoa experiente em tecnologia, n\\u00f3s podemos ensinar voc\\u00ea como dificultar as conex\\u00f5es \\u00e0 internet, mesmo com privil\\u00e9gios de root.</p>\"},{\"location\":\"pt-BR/faqs/#faq29\",\"title\":\"Eu acho que PMX \\u00e9 in\\u00fatil. Por que foi criado?\",\"text\":\"<p>N\\u00f3s respeitamos a sua opini\\u00e3o. PMX n\\u00e3o \\u00e9 para todos (e \\u00e9 por isso que n\\u00e3o foi polido e divulgado ao p\\u00fablico por anos, porque sab\\u00edamos que somos um p\\u00fablico muito pequeno). Somente para algumas almas experientes em tecnologia que s\\u00e3o extra-conscientes sobre sua privacidade e controle de dispositivos. A maioria dos usu\\u00e1rios de telefone est\\u00e3o apenas nas m\\u00e3os de seus OEMs e desenvolvedores de aplicativos. Eles n\\u00e3o est\\u00e3o cientes do que est\\u00e1 sendo feito para eles e seus dados. A maioria prefere a conveni\\u00eancia a privacidade. E est\\u00e1 bem.</p>\"},{\"location\":\"pt-BR/permission-references/\",\"title\":\"Refer\\u00eancias de permiss\\u00e3o\",\"text\":\"<p>Suponha que voc\\u00ea gastou todo um Domingo configurando permiss\\u00f5es desejadas em mais de 200 aplicativos instalados. E:</p> <ul> <li>No pr\\u00f3ximo m\\u00eas voc\\u00ea atualizou seu dispositivo, ou instalou um novo ROM.</li> <li>Ou voc\\u00ea desinstalou e reinstalou alguns aplicativos por algum motivo.</li> <li>Ou voc\\u00ea concedeu algumas permiss\\u00f5es, como solicitado pelos aplicativos.</li> </ul> <p>Voc\\u00ea vai passar por toda a complica\\u00e7\\u00e3o mais uma vez?</p> <p>Voc\\u00ea n\\u00e3o precisa. Voc\\u00ea pode fazer PMX lembrar seus estados de permiss\\u00e3o desejados. Defina uma permiss\\u00e3o, coloque-a em VERDE e pronto. S\\u00f3 levar\\u00e1 alguns instantes para ver todos os pacotes instalados e descobrir quais permiss\\u00f5es n\\u00e3o est\\u00e3o configuradas corretamente. . fazendo uma busca r\\u00e1pida: <code>:RED|:ORANGE</code> ou <code>!:GREEN</code>. Ver Search para mais detalhes.</p> <p>Tr\\u00eas estados de refer\\u00eancia s\\u00e3o:</p> <ul> <li>O estado LARANJA mostra que n\\u00e3o tem nenhum valor de refer\\u00eancia definido.</li> <li>GREEN indica que o valor de refer\\u00eancia corresponde ao valor definido atualmente.</li> <li>VERMELHO indica que o valor de refer\\u00eancia e o valor definido diferem.</li> </ul> <p>Os estados de refer\\u00eancia podem ser salvos e restaurados convenientemente. Ap\\u00f3s uma restaura\\u00e7\\u00e3o, h\\u00e1 uma maneira conveniente de definir todas as permiss\\u00f5es de acordo com refer\\u00eancias restauradas. Veja Opera\\u00e7\\u00f5es em lote.</p> <p>Existem v\\u00e1rias maneiras de definir uma refer\\u00eancia:</p> <ul> <li>Pressione e segure uma permiss\\u00e3o e toque no bot\\u00e3o \\\"Definir Refer\\u00eancia\\\" / \\\"Limpar Refer\\u00eancia\\\".</li> <li>H\\u00e1 uma op\\u00e7\\u00e3o de menu superior na tela da lista de permiss\\u00f5es de todos os aplicativos para definir ou limpar todas as refer\\u00eancias.</li> <li>Definir refer\\u00eancias em massa com Opera\\u00e7\\u00f5es em lote.</li> <li>Ative a prefer\\u00eancia \\\"Auto-Definir refer\\u00eancia\\\" em Configura\\u00e7\\u00f5es \\u2192 Configura\\u00e7\\u00f5es gerais. Ent\\u00e3o, sempre que voc\\u00ea alterar o estado de uma permiss\\u00e3o, ele tamb\\u00e9m \\u00e9 definido como refer\\u00eancia.</li> </ul>\"},{\"location\":\"pt-BR/permission-view/\",\"title\":\"Exibi\\u00e7\\u00e3o de permiss\\u00e3o\",\"text\":\"<p>A visualiza\\u00e7\\u00e3o de permiss\\u00f5es mostra uma lista de todas as permiss\\u00f5es, com uma quantidade de aplicativos que est\\u00e3o usando essas permiss\\u00f5es.</p> <p></p> <ol> <li>Nome de permiss\\u00e3o</li> <li>N\\u00edvel de prote\\u00e7\\u00e3o</li> <li>Contagem de apps</li> <li>Contagem de permiss\\u00f5es concedida fora da contagem total de permiss\\u00f5es. O \\u00faltimo pode ser maior do que a contagem do aplicativo porque alguns aplicativos podem usar uma permiss\\u00e3o AppOp duas vezes (no modo UID).</li> </ol> <p>Quando voc\\u00ea seleciona uma permiss\\u00e3o, uma lista de apps que usam essa permiss\\u00e3o mostra:</p> <p></p> <ol> <li>Nome de permiss\\u00e3o</li> <li>Descri\\u00e7\\u00e3o de permiss\\u00e3o</li> <li>Marca\\u00e7\\u00e3o indicando que a permiss\\u00e3o \\u00e9 concedida</li> <li>\\u00cdcone do aplicativo</li> <li>R\\u00f3tulo do aplicativo</li> <li>Nome do pacote</li> <li>UID do App</li> </ol> <p>Quando voc\\u00ea seleciona um aplicativo, a lista de permiss\\u00f5es abre onde voc\\u00ea pode alterar o estado da permiss\\u00e3o.</p>\"},{\"location\":\"pt-BR/permission-watcher/\",\"title\":\"Observador de Permiss\\u00f5es\",\"text\":\"<p>Alguns apps n\\u00e3o funcionam sem uma certa permiss\\u00e3o concedida. Mas voc\\u00ea quer conceder permiss\\u00e3o para o tempo apenas quando voc\\u00ea estiver usando o aplicativo, e revogar as permiss\\u00f5es assim que voc\\u00ea sair do aplicativo.</p> <p>O Observador de Permiss\\u00f5es faz exatamente isso. Assim que voc\\u00ea sair do aplicativo, ou depois que o tempo definido tiver passado, ele revoga as permiss\\u00f5es de um aplicativo (manifest e AppOp) por conta pr\\u00f3pria, ou pede para voc\\u00ea fazer isso, dependendo das prefer\\u00eancias que voc\\u00ea fez.</p> <p></p> <p>O Supervisor de Permiss\\u00e3o tamb\\u00e9m notifica voc\\u00ea para definir permiss\\u00f5es em aplicativos rec\\u00e9m-instalados (apenas no usu\\u00e1rio prim\\u00e1rio/perfil de propriet\\u00e1rio).</p> <p></p> <p>Observa\\u00e7\\u00e3o:</p> <ul> <li>Apenas as permiss\\u00f5es do estado de refer\\u00eancia RED s\\u00e3o revogadas, n\\u00e3o aquelas com o estado ORANGE. Ent\\u00e3o voc\\u00ea PRECISA definiu os estados de refer\\u00eancia. Ver Refer\\u00eancias de permiss\\u00f5es.</li> <li>As permiss\\u00f5es Manifest apenas com Perigoso n\\u00edvel de prote\\u00e7\\u00e3o s\\u00e3o assistidas. Esses s\\u00e3o os que geralmente mudam. Permiss\\u00f5es com n\\u00edvel de prote\\u00e7\\u00e3o Assinatura ou Desenvolvimento ou aquelas com a flag Sistema-Fixed n\\u00e3o s\\u00e3o assistidas, embora sejam alter\\u00e1veis.</li> <li>PMX monitora s\\u00f3 os aplicativos que o Usu\\u00e1rio instalou ou os aplicativos Sistema normais, n\\u00e3o os aplicativos Framework. Mudar os itens pode brickar o dispositivo.</li> <li>Em alguns dispositivos, Permiss\\u00f5es Watcher pode n\\u00e3o funcionar de forma confi\\u00e1vel para apps no usu\\u00e1rio/perfil secund\\u00e1rio. Recomenda-se us\\u00e1-lo em combina\\u00e7\\u00e3o com a verifica\\u00e7\\u00e3o programada.</li> </ul> <p>Por que iniciar o Observador de Permiss\\u00f5es falha?</p> <p>Voc\\u00ea est\\u00e1 usando ADB? Alguns OEMs removem a permiss\\u00e3o <code>OBSERVE_GRANT_REVOKE_PERMISSIONS</code> ou <code>SET_ACTIVITY_WATCHER</code> do pacote Shell. Se \\u00e9 esse o caso de V. Exa., lamentamos. Isto \\u00e9 algo que n\\u00e3o podemos corrigir. Nesses aparelhos, o Permission Watcher s\\u00f3 funciona com acesso root. Veja as Limita\\u00e7\\u00f5es de ADB.</p>\"},{\"location\":\"pt-BR/scheduled-check/\",\"title\":\"Verifica\\u00e7\\u00e3o Agendada\",\"text\":\"<p>Voc\\u00ea quer acompanhar quaisquer altera\\u00e7\\u00f5es indesejadas nas permiss\\u00f5es para todos os aplicativos instalados? A Verifica\\u00e7\\u00e3o agendada pode fazer isso para voc\\u00ea em intervalos regulares (em minutos, hora ou dias).</p> <p>Defina Refer\\u00eancias de permiss\\u00f5es como VERDER e deixe o resto para PMX. Se alguma permiss\\u00e3o for alterada (com status VERMELHO ) ou quando um novo aplicativo for instalado (com permiss\\u00f5es com status LARANJA ), o PMX vai te lembrar que algo precisa da sua aten\\u00e7\\u00e3o.</p> <p>Al\\u00e9m disso, se configurado em prefer\\u00eancias, a verifica\\u00e7\\u00e3o agendada pode revogar automaticamente as permiss\\u00f5es concedidas seguido de uma notifica\\u00e7\\u00e3o informatativa.</p>\"},{\"location\":\"pt-BR/search/\",\"title\":\"Pesquisa\",\"text\":\"<p>Normalmente a etiqueta de pacote, nome e UID s\\u00e3o pesquisados na lista vis\\u00edvel.</p> <p>Com a Pesquisa profunda, o nome da permiss\\u00e3o e outros par\\u00e2metros s\\u00e3o consultados.</p> <p>Observe que os Filtros de Exclus\\u00e3o s\\u00e3o eficazes ao fazer busca.</p> <p>Voc\\u00ea pode utilizar as seguintes palavras-chave especiais na busca:</p> <ul> <li> <p>Estado do app:</p> <p><code>:Critical</code> <code>:Framework</code> <code>:System</code> <code>:User</code> <code>:Disabled</code></p> </li> <li> <p>Estado de refer\\u00eancia:</p> <p><code>:ORANGE</code> <code>:GREEN</code> <code>:RED</code></p> </li> <li> <p>Permiss\\u00f5es n\\u00edvel de prote\\u00e7\\u00e3o:</p> <p><code>:Normal</code> <code>:Dangerous</code> <code>:Signature</code> <code>:Internal</code> <code>:Development</code> <code>:Privileged</code> <code>:Fixed</code> <code>:AppOps</code> <code>:Unknown</code></p> </li> <li> <p>Por UID AppOps:</p> <p><code>:UID</code></p> </li> <li> <p>AppOps com o \\u00faltimo acesso ou recusa de tempo:</p> <p><code>:TIME</code></p> </li> <li> <p>AppOps extra (nunca exclu\\u00eddo nas configura\\u00e7\\u00f5es de filtro):</p> <p><code>:EXTRA</code></p> </li> <li> <p><code>&amp;</code> (AND), <code>|</code> (OR) e <code>!</code> (NOT) operadores:</p> <p><code>Foo|Bar&amp;Baz</code></p> <p><code>Foo&amp;!Bar&amp;!Baz</code></p> </li> </ul> <p>A vers\\u00e3o paga tamb\\u00e9m mostra sugest\\u00f5es de busca (se for definida em prefer\\u00eancias) para facilitar o processo de pesquisa.</p>\"},{\"location\":\"pt-BR/use-with-adb/\",\"title\":\"Usando PMX com ADB\",\"text\":\"\"},{\"location\":\"pt-BR/use-with-adb/#limitations-of-adb\",\"title\":\"Limita\\u00e7\\u00f5es de ADB\",\"text\":\"<p>ADB n\\u00e3o \\u00e9 t\\u00e3o poderoso quanto a raiz. Voc\\u00ea pode verificar o status atual do que ADB pode fazer em Sobre \\u2192 Privil\\u00e9gios (item de menu):</p> <p></p> <p>Para mais detalhes consulte Limita\\u00e7\\u00f5es de ADB. Veja tamb\\u00e9m Por que o PMX n\\u00e3o funciona direito em sistemas operacionais OEM ou ROMspersonalizados?</p>\"},{\"location\":\"pt-BR/use-with-adb/#adb-guide\",\"title\":\"Guia ADB\",\"text\":\"<p>Por favor, veja ADB Emparelhando / Guia de Conex\\u00e3o.</p>\"},{\"location\":\"pt-BR/versions/\",\"title\":\"Vers\\u00f5es PMX\",\"text\":\"<p>PMX est\\u00e1 dispon\\u00edvel em duas variantes: Pago e Livre. A vers\\u00e3o paga est\\u00e1 dispon\\u00edvel em duas variantes: Play Store e Pro. Os \\u00faltimos APKs s\\u00e3o lan\\u00e7ados na Play Store, no GitHub e no Canal do Telegram.</p>\"},{\"location\":\"pt-BR/versions/#paid-features\",\"title\":\"Recursos pagos\",\"text\":\"<p>A vers\\u00e3o paga inclui tudo o que est\\u00e1 na vers\\u00e3o Gr\\u00e1tis, al\\u00e9m dos seguintes recursos extras que tamb\\u00e9m est\\u00e3o listados na descri\\u00e7\\u00e3o da Play Store:</p> <ul> <li>A verifica\\u00e7\\u00e3o programada para notificar estados de refer\\u00eancia incorretos</li> <li>Monitore as altera\\u00e7\\u00f5es de permiss\\u00e3o e desfa\\u00e7a elas</li> <li>Revogar automaticamente as permiss\\u00f5es concedidas aos estados RED</li> <li>Fazer altera\\u00e7\\u00f5es em aplicativos cr\\u00edticos e permiss\\u00f5es</li> <li>Suporte a v\\u00e1rios usu\\u00e1rios / perfil de trabalho</li> <li>Opera\\u00e7\\u00f5es em Lote (Perfis)</li> <li>Visualiza\\u00e7\\u00e3o de Permiss\\u00f5es</li> </ul>\"},{\"location\":\"pt-BR/whatsrunning-integration/\",\"title\":\"Integra\\u00e7\\u00e3o com WhatsRunning\",\"text\":\"<p>PMX est\\u00e1 integrado com WhatsRunning ent\\u00e3o voc\\u00ea pode abrir um do outro.</p> <p> </p> <p>Portanto, de PMX voc\\u00ea pode alternar para o WhatsRunning para descobrir se um app com permiss\\u00f5es restritas ainda est\\u00e1 em execu\\u00e7\\u00e3o. Se sim, em que estado est\\u00e1 e quantos recursos est\\u00e1 usando.</p> <p>Da mesma forma, a partir do WhatsRunning, voc\\u00ea pode mudar para o PMX para descobrir quais permiss\\u00f5es uma aplica\\u00e7\\u00e3o em execu\\u00e7\\u00e3o (ou encerrada) tem.</p> <p>Isso \\u00e9 particularmente \\u00fatil ao analisar o efeito de permiss\\u00f5es como o <code>RUN_IN_BACKGROUND</code>.</p>\"},{\"location\":\"ru/\",\"title\":\"\\u0427\\u0442\\u043e \\u0442\\u0430\\u043a\\u043e\\u0435 PMX?\",\"text\":\"<p>\\u042d\\u0442\\u043e \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435 \\u044f\\u0432\\u043b\\u044f\\u0435\\u0442\\u0441\\u044f \\u0440\\u0430\\u0441\\u0448\\u0438\\u0440\\u0435\\u043d\\u043d\\u044b\\u043c \\u0434\\u0438\\u0441\\u043f\\u0435\\u0442\\u0447\\u0435\\u0440\\u043e\\u043c \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439, \\u043a\\u043e\\u0442\\u043e\\u0440\\u043e\\u0435 \\u043f\\u043e\\u0437\\u0432\\u043e\\u043b\\u044f\\u0435\\u0442 \\u043b\\u0435\\u0433\\u043a\\u043e \\u043d\\u0430\\u0441\\u0442\\u0440\\u0430\\u0438\\u0432\\u0430\\u0442\\u044c \\u0438 \\u043f\\u0440\\u043e\\u0441\\u043c\\u0430\\u0442\\u0440\\u0438\\u0432\\u0430\\u0442\\u044c \\u0436\\u0435\\u043b\\u0430\\u0435\\u043c\\u044b\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u0434\\u043b\\u044f \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043b\\u0435\\u043d\\u043d\\u044b\\u0445 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439, \\u0430 \\u0442\\u0430\\u043a \\u0436\\u0435 \\u043e\\u0442\\u0441\\u043b\\u0435\\u0436\\u0438\\u0432\\u0430\\u0442\\u044c \\u043b\\u044e\\u0431\\u044b\\u0435 \\u043d\\u0435\\u0436\\u0435\\u043b\\u0430\\u0442\\u0435\\u043b\\u044c\\u043d\\u044b\\u0435 \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u0438\\u044f. \\u0414\\u0430\\u0432\\u0430\\u044f \\u043a\\u043e\\u043d\\u0442\\u0440\\u043e\\u043b\\u044c \\u043d\\u0430\\u0434 \\u0432\\u0430\\u0448\\u0438\\u043c \\u0443\\u0441\\u0442\\u0440\\u043e\\u0439\\u0441\\u0442\\u0432\\u043e\\u043c, \\u043e\\u043d\\u043e \\u043f\\u043e\\u0437\\u0432\\u043e\\u043b\\u044f\\u0435\\u0442 \\u0432\\u0430\\u043c \\u0437\\u0430\\u0449\\u0438\\u0442\\u0438\\u0442\\u044c \\u0432\\u0430\\u0448\\u0443 \\u043a\\u043e\\u043d\\u0444\\u0438\\u0434\\u0435\\u043d\\u0446\\u0438\\u0430\\u043b\\u044c\\u043d\\u043e\\u0441\\u0442\\u044c \\u0438 \\u0441\\u044d\\u043a\\u043e\\u043d\\u043e\\u043c\\u0438\\u0442\\u044c \\u0440\\u0435\\u0441\\u0443\\u0440\\u0441\\u044b, \\u0442\\u0430\\u043a\\u0438\\u0435 \\u043a\\u0430\\u043a \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u043d\\u0438\\u0435 \\u0431\\u0430\\u0442\\u0430\\u0440\\u0435\\u0438.</p> <p>PMX \\u043f\\u0440\\u0435\\u0434\\u043e\\u0441\\u0442\\u0430\\u0432\\u043b\\u044f\\u0435\\u0442 \\u0432\\u0441\\u044e \\u0438\\u043d\\u0444\\u043e\\u0440\\u043c\\u0430\\u0446\\u0438\\u044e \\u043e \\u0440\\u0430\\u0437\\u0440\\u043e\\u0437\\u043d\\u0435\\u043d\\u043d\\u044b\\u0445 (\\u0438\\u043b\\u0438 \\u0434\\u0440\\u0443\\u0433\\u0438\\u0445 \\u043d\\u0435\\u0434\\u043e\\u0441\\u0442\\u0443\\u043f\\u043d\\u044b\\u0445) \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f\\u0445 \\u0438 \\u043a\\u043e\\u043d\\u0442\\u0440\\u043e\\u043b\\u0438\\u0440\\u0443\\u0435\\u0442 \\u0440\\u0430\\u0431\\u043e\\u0442\\u0443 \\u043d\\u0430 \\u043e\\u0434\\u043d\\u043e\\u043c \\u044d\\u043a\\u0440\\u0430\\u043d\\u0435, \\u0447\\u0442\\u043e\\u0431\\u044b \\u0432\\u044b \\u043c\\u043e\\u0433\\u043b\\u0438 \\u043f\\u0440\\u043e\\u0441\\u043c\\u0430\\u0442\\u0440\\u0438\\u0432\\u0430\\u0442\\u044c \\u0438 \\u043a\\u043e\\u043d\\u0442\\u0440\\u043e\\u043b\\u0438\\u0440\\u043e\\u0432\\u0430\\u0442\\u044c \\u0438\\u0445 \\u0432\\u0441\\u0435\\u0441\\u0442\\u043e\\u0440\\u043e\\u043d\\u043d\\u0438\\u043c \\u0438 \\u0443\\u0434\\u043e\\u0431\\u043d\\u044b\\u043c \\u0441\\u043f\\u043e\\u0441\\u043e\\u0431\\u043e\\u043c.</p> <p>\\u0421 \\u043f\\u043e\\u043c\\u043e\\u0449\\u044c\\u044e PMX \\u0432\\u044b \\u043c\\u043e\\u0436\\u0435\\u0442\\u0435:</p> <ul> <li>\\u041f\\u0440\\u043e\\u0441\\u043c\\u043e\\u0442\\u0440\\u0435\\u0442\\u044c / \\u043f\\u0440\\u0435\\u0434\\u043e\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044c / \\u043e\\u0442\\u043c\\u0435\\u043d\\u0438\\u0442\\u044c \\u0432\\u0441\\u0435 manifest \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f, \\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 \\u043c\\u043e\\u0436\\u043d\\u043e \\u0438\\u043b\\u0438 \\u043d\\u0435\\u0432\\u043e\\u0437\\u043c\\u043e\\u0436\\u043d\\u043e \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u0438\\u0442\\u044c \\u0441 \\u043f\\u043e\\u043c\\u043e\\u0449\\u044c\\u044e \\u044d\\u043a\\u0440\\u0430\\u043d\\u0430 \\u043d\\u0430\\u0441\\u0442\\u0440\\u043e\\u0435\\u043a \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f. \\u0421\\u043f\\u0438\\u0441\\u043e\\u043a \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439, \\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 \\u043d\\u0435\\u043b\\u044c\\u0437\\u044f \\u043d\\u0430\\u0441\\u0442\\u0440\\u043e\\u0438\\u0442\\u044c \\u0438\\u0437 \\u0433\\u0440\\u0430\\u0444\\u0438\\u0447\\u0435\\u0441\\u043a\\u043e\\u0433\\u043e \\u0438\\u043d\\u0442\\u0435\\u0440\\u0444\\u0435\\u0439\\u0441\\u0430 (GUI), \\u043e\\u0447\\u0435\\u043d\\u044c \\u0434\\u043b\\u0438\\u043d\\u043d\\u044b\\u0439.</li> <li>\\u041f\\u043e\\u0441\\u043c\\u043e\\u0442\\u0440\\u0435\\u0442\\u044c \\u0432\\u0441\\u0435 AppOp \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f, \\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 \\u043e\\u0431\\u044b\\u0447\\u043d\\u043e \\u043d\\u0435 \\u0438\\u043c\\u0435\\u044e\\u0442 GUI \\u043d\\u0430\\u0441\\u0442\\u0440\\u043e\\u0439\\u043a\\u0438. \\u041d\\u0430\\u043f\\u0440\\u0438\\u043c\\u0435\\u0440, <code>VIBRATE</code> \\u0438 <code>READ_CLIPBOARD</code>. \\u0416\\u0435\\u043b\\u0430\\u0435\\u043c\\u044b\\u0439 \\u0440\\u0435\\u0436\\u0438\\u043c AppOps \\u043c\\u043e\\u0436\\u043d\\u043e \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u0438\\u0442\\u044c \\u043d\\u0430\\u043f\\u0440\\u0438\\u043c\\u0435\\u0440 Ignore \\u0438\\u043b\\u0438 Foreground.</li> <li>\\u041f\\u043e\\u0441\\u043c\\u043e\\u0442\\u0440\\u0438 \\u0432\\u0441\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f, \\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 \\u043f\\u0440\\u043e\\u0441\\u0438\\u0442 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435, \\u043d\\u043e \\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 \\u043d\\u0435\\u043b\\u044c\\u0437\\u044f \\u0438\\u0437\\u043c\\u0435\\u043d\\u0438\\u0442\\u044c.</li> <li>\\u041f\\u0440\\u043e\\u0441\\u043c\\u043e\\u0442\\u0440\\u0435\\u0442\\u044c \\u0432\\u0440\\u0435\\u043c\\u044f \\u043f\\u043e\\u0441\\u043b\\u0435\\u0434\\u043d\\u0435\\u0433\\u043e \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u043d\\u0438\\u044f \\u0434\\u043b\\u044f \\u043c\\u043d\\u043e\\u0433\\u0438\\u0445 AppOp \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439.</li> <li>\\u0418\\u0437\\u043c\\u0435\\u043d\\u0438 \\u043f\\u0440\\u0430\\u0432\\u0430 \\u0434\\u043e\\u0441\\u0442\\u0443\\u043f\\u0430 System-Fixed, \\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 \\u043d\\u0435\\u043b\\u044c\\u0437\\u044f \\u0438\\u0437\\u043c\\u0435\\u043d\\u0438\\u0442\\u044c \\u0434\\u0440\\u0443\\u0433\\u0438\\u043c\\u0438 \\u0441\\u043f\\u043e\\u0441\\u043e\\u0431\\u0430\\u043c\\u0438.</li> <li>\\u041d\\u0430\\u0431\\u043b\\u044e\\u0434\\u0430\\u0442\\u044c \\u0432 \\u0440\\u0435\\u0430\\u043b\\u044c\\u043d\\u043e\\u043c \\u0432\\u0440\\u0435\\u043c\\u0435\\u043d\\u0438 \\u0437\\u0430 \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u0438\\u044f\\u043c\\u0438 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439 \\u0438\\u043b\\u0438 \\u0432\\u044b\\u043f\\u043e\\u043b\\u043d\\u044f\\u0442\\u044c \\u043f\\u0440\\u043e\\u0432\\u0435\\u0440\\u043a\\u0438 \\u043f\\u043e \\u0440\\u0430\\u0441\\u043f\\u0438\\u0441\\u0430\\u043d\\u0438\\u044e.</li> <li>\\u0421\\u043e\\u0440\\u0442\\u0438\\u0440\\u043e\\u0432\\u0430\\u0442\\u044c \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f \\u0438 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u043f\\u043e \\u043c\\u043d\\u043e\\u0433\\u0438\\u043c \\u043f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440\\u0430\\u043c, \\u0432\\u043a\\u043b\\u044e\\u0447\\u0430\\u044f \\u0434\\u0430\\u0442\\u0443 \\u0438 \\u043a\\u043e\\u043b\\u0438\\u0447\\u0435\\u0441\\u0442\\u0432\\u043e \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439.</li> <li>\\u0421\\u043e\\u0437\\u0434\\u0430\\u0432\\u0430\\u0439\\u0442\\u0435 \\u0440\\u0430\\u0441\\u0448\\u0438\\u0440\\u0435\\u043d\\u043d\\u044b\\u0435 \\u043f\\u043e\\u0438\\u0441\\u043a\\u043e\\u0432\\u044b\\u0435 \\u0437\\u0430\\u043f\\u0440\\u043e\\u0441\\u044b \\u0432 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f\\u0445 \\u0438 \\u0438\\u0445 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f\\u0445.</li> <li>\\u0418 \\u043c\\u043d\\u043e\\u0433\\u043e\\u0435 \\u0434\\u0440\\u0443\\u0433\\u043e\\u0435.</li> </ul> <p>\\u041f\\u043e\\u0441\\u043c\\u043e\\u0442\\u0440\\u0438\\u0442\\u0435 \\u0442\\u0430\\u043a\\u0436\\u0435 \\u043e\\u043f\\u0438\\u0441\\u0430\\u043d\\u0438\\u0435 Github README \\u0438 Play Store. \\u0418\\u043b\\u0438 \\u043f\\u0440\\u043e\\u0441\\u0442\\u043e \\u043f\\u043e\\u043f\\u0440\\u043e\\u0431\\u0443\\u0439\\u0442\\u0435. \\u041c\\u044b \\u043f\\u0440\\u0435\\u0434\\u043b\\u0430\\u0433\\u0430\\u0435\\u043c \\u0431\\u0435\\u0441\\u043f\\u043b\\u0430\\u0442\\u043d\\u0443\\u044e \\u0432\\u0435\\u0440\\u0441\\u0438\\u044e \\u0438 \\u043c\\u0435\\u0441\\u044f\\u0447\\u043d\\u0443\\u044e \\u0431\\u0435\\u0441\\u043f\\u043b\\u0430\\u0442\\u043d\\u0443\\u044e \\u043f\\u0440\\u043e\\u0431\\u043d\\u0443\\u044e \\u0432\\u0435\\u0440\\u0441\\u0438\\u044e.</p> <p>\\u0423\\u0434\\u0438\\u0432\\u0438\\u0442\\u0435\\u043b\\u044c\\u043d\\u0430\\u044f na? \\u0414\\u0430\\u0432\\u0430\\u0439\\u0442\\u0435 \\u0440\\u0430\\u0441\\u0441\\u043c\\u043e\\u0442\\u0440\\u0438\\u043c \\u0434\\u0435\\u0442\\u0430\\u043b\\u0438.</p> <ul> <li>\\u041f\\u0440\\u0430\\u0432\\u0430 \\u043c\\u0430\\u043d\\u0438\\u0444\\u0435\\u0441\\u0442\\u0430 \\u0438 AppOps</li> <li>\\u0421\\u0441\\u044b\\u043b\\u043a\\u0438 \\u043d\\u0430 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f</li> <li>\\u041e\\u0431\\u044a\\u044f\\u0441\\u043d\\u0435\\u043d\\u0438\\u0435 \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u044c\\u0441\\u043a\\u043e\\u0433\\u043e \\u0438\\u043d\\u0442\\u0435\\u0440\\u0444\\u0435\\u0439\\u0441\\u0430</li> <li>\\u041f\\u043e\\u0438\\u0441\\u043a</li> <li>\\u041f\\u0440\\u043e\\u0432\\u0435\\u0440\\u0438\\u0442\\u044c \\u0440\\u0430\\u0441\\u043f\\u0438\\u0441\\u0430\\u043d\\u0438\\u0435</li> <li>\\u041d\\u0430\\u0431\\u043b\\u044e\\u0434\\u0430\\u0442\\u0435\\u043b\\u044c \\u0437\\u0430 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435\\u043c</li> <li>\\u0412\\u0438\\u0434 \\u043f\\u0440\\u0430\\u0432</li> <li>\\u0413\\u0440\\u0443\\u043f\\u043f\\u043e\\u0432\\u044b\\u0435 \\u043e\\u043f\\u0435\\u0440\\u0430\\u0446\\u0438\\u0438</li> <li>\\u0418\\u043d\\u0442\\u0435\\u0433\\u0440\\u0430\\u0446\\u0438\\u044f \\u0441 WhatsRunning</li> <li>\\u0418\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u043d\\u0438\\u0435 PMX \\u0441 ADB</li> <li>\\u0412\\u0435\\u0440\\u0441\\u0438\\u044f PMX</li> <li>\\u041f\\u043b\\u0430\\u0442\\u043d\\u044b\\u0435 \\u0432\\u043e\\u0437\\u043c\\u043e\\u0436\\u043d\\u043e\\u0441\\u0442\\u0438</li> <li>\\u0427\\u0430\\u0441\\u0442\\u043e \\u0437\\u0430\\u0434\\u0430\\u0432\\u0430\\u0435\\u043c\\u044b\\u0435 \\u0432\\u043e\\u043f\\u0440\\u043e\\u0441\\u044b \\u043e PMX</li> <li>\\u0417\\u0430\\u0433\\u0440\\u0443\\u0437\\u043a\\u0438</li> <li>\\u0421\\u043a\\u0440\\u0438\\u043d\\u0448\\u043e\\u0442\\u044b</li> <li>\\u0421\\u0432\\u044f\\u0436\\u0438\\u0442\\u0435\\u0441\\u044c \\u0441 \\u043d\\u0430\\u043c\\u0438</li> </ul>\"},{\"location\":\"ru/#rate-review\",\"title\":\"\\u0420\\u0435\\u0439\\u0442\\u0438\\u043d\\u0433\\u0438 / \\u041e\\u0431\\u0437\\u043e\\u0440\\u044b / \\u041a\\u043e\\u043c\\u043c\\u0435\\u043d\\u0442\\u0430\\u0440\\u0438\\u0438 / \\u0413\\u043e\\u043b\\u043e\\u0441\\u0430 / \\u0417\\u0432\\u0435\\u0437\\u0434\\u044b\",\"text\":\"<ul> <li>\\u0418\\u0433\\u0440\\u0430\\u0442\\u044c \\u0432 \\u043c\\u0430\\u0433\\u0430\\u0437\\u0438\\u043d</li> <li>XDA</li> <li>GitHub</li> </ul>\"},{\"location\":\"ru/batch-operations/\",\"title\":\"\\u041f\\u0430\\u043a\\u0435\\u0442\\u043d\\u044b\\u0435 \\u043e\\u043f\\u0435\\u0440\\u0430\\u0446\\u0438\\u0438\",\"text\":\"\"},{\"location\":\"ru/batch-operations/#permission-profiles\",\"title\":\"\\u041f\\u0440\\u043e\\u0444\\u0438\\u043b\\u0438 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439\",\"text\":\"<ul> <li>\\u0421\\u043e\\u0437\\u0434\\u0430\\u043d\\u0438\\u0435 \\u0438 \\u0440\\u0435\\u0434\\u0430\\u043a\\u0442\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u0438\\u0435 \\u043f\\u0440\\u043e\\u0444\\u0438\\u043b\\u0435\\u0439 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439 (\\u0448\\u0430\\u0431\\u043b\\u043e\\u043d\\u044b).</li> <li>\\u041f\\u0440\\u0438\\u043c\\u0435\\u043d\\u0435\\u043d\\u0438\\u0435 \\u043f\\u0440\\u043e\\u0444\\u0438\\u043b\\u044f \\u043a \\u0441\\u043f\\u0438\\u0441\\u043a\\u0443 \\u0432\\u044b\\u0431\\u0440\\u0430\\u043d\\u043d\\u044b\\u0445 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439.</li> <li>\\u0412\\u044b\\u0431\\u0435\\u0440\\u0438\\u0442\\u0435 \\u041f\\u0440\\u043e\\u0444\\u0438\\u043b\\u044c \\u043f\\u043e \\u0443\\u043c\\u043e\\u043b\\u0447\\u0430\\u043d\\u0438\\u044e \\u0434\\u043b\\u044f \\u043f\\u0440\\u0438\\u043c\\u0435\\u043d\\u0435\\u043d\\u0438\\u044f \\u0432 \\u0432\\u043d\\u043e\\u0432\\u044c \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043b\\u0435\\u043d\\u043d\\u044b\\u0445 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f\\u0445 (\\u0435\\u0441\\u043b\\u0438 Permission Watcher \\u0432\\u043a\\u043b\\u044e\\u0447\\u0435\\u043d\\u043e).</li> </ul> <p>Here \\u2014 \\u044d\\u0442\\u043e \\u043f\\u0440\\u0438\\u043c\\u0435\\u0440 \\u0432\\u0438\\u0434\\u0435\\u043e \\u0440\\u0443\\u043a\\u043e\\u0432\\u043e\\u0434\\u0441\\u0442\\u0432\\u0430 \\u043f\\u043e \\u0441\\u043e\\u0437\\u0434\\u0430\\u043d\\u0438\\u044e \\u0438 \\u043f\\u0440\\u0438\\u043c\\u0435\\u043d\\u0435\\u043d\\u0438\\u044e \\u043f\\u0440\\u043e\\u0444\\u0438\\u043b\\u044f.</p>\"},{\"location\":\"ru/batch-operations/#operations-with-references\",\"title\":\"\\u041e\\u043f\\u0435\\u0440\\u0430\\u0446\\u0438\\u0438 \\u0441\\u043e \\u0441\\u0441\\u044b\\u043b\\u043a\\u0430\\u043c\\u0438\",\"text\":\"\"},{\"location\":\"ru/batch-operations/#set-permissions\",\"title\":\"\\u0423\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043a\\u0430 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439\",\"text\":\"<p>\\u041f\\u0440\\u043e\\u0441\\u043c\\u043e\\u0442\\u0440\\u0438 \\u0441\\u043f\\u0438\\u0441\\u043e\\u043a \\u0432\\u044b\\u0431\\u0440\\u0430\\u043d\\u043d\\u044b\\u0445 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439 \\u0438 \\u0441\\u0434\\u0435\\u043b\\u0430\\u0439 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f RED GREEN, \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u0438\\u0432 \\u0438\\u0445 \\u0441\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u0438\\u044f \\u0432 \\u0441\\u043e\\u043e\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0438\\u0438 \\u0441 \\u044d\\u0442\\u0430\\u043b\\u043e\\u043d\\u043d\\u044b\\u043c\\u0438 \\u0437\\u043d\\u0430\\u0447\\u0435\\u043d\\u0438\\u044f\\u043c\\u0438. \\u0420\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u0441 \\u0417\\u0435\\u043b\\u0435\\u043d\\u044b\\u043c\\u0438 \\u0438 \\u041e\\u0440\\u0430\\u043d\\u0436\\u0435\\u0432\\u044b\\u043c\\u0438 \\u0441\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u0438\\u044f\\u043c\\u0438 \\u0438\\u0433\\u043d\\u043e\\u0440\\u0438\\u0440\\u0443\\u044e\\u0442\\u0441\\u044f.</p> <p>\\u042d\\u0442\\u0430 \\u043e\\u043f\\u0446\\u0438\\u044f \\u043e\\u0431\\u044b\\u0447\\u043d\\u043e \\u043f\\u043e\\u043b\\u0435\\u0437\\u043d\\u0430, \\u043a\\u043e\\u0433\\u0434\\u0430 \\u0432\\u044b \\u0442\\u043e\\u043b\\u044c\\u043a\\u043e \\u0447\\u0442\\u043e \\u0432\\u043e\\u0441\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u0438\\u043b\\u0438 \\u0440\\u0435\\u0437\\u0435\\u0440\\u0432\\u043d\\u0443\\u044e \\u043a\\u043e\\u043f\\u0438\\u044e \\u0438 \\u0435\\u0441\\u0442\\u044c \\u043c\\u043d\\u043e\\u0433\\u043e \\u043f\\u0440\\u0430\\u0432 \\u043d\\u0430 \\u0441\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u0438\\u0435 RED.</p>\"},{\"location\":\"ru/batch-operations/#set-references\",\"title\":\"\\u0423\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u0438\\u0442\\u044c \\u0441\\u0441\\u044b\\u043b\\u043a\\u0438\",\"text\":\"<p>\\u041f\\u0440\\u043e\\u0441\\u043c\\u043e\\u0442\\u0440\\u0438 \\u0441\\u043f\\u0438\\u0441\\u043e\\u043a \\u0432\\u044b\\u0431\\u0440\\u0430\\u043d\\u043d\\u044b\\u0445 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439 \\u0438 \\u0441\\u0434\\u0435\\u043b\\u0430\\u0439 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f RED \\u0438 ORANGE GREEN, \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u0438\\u0432 \\u0438\\u0445 \\u0431\\u0430\\u0437\\u043e\\u0432\\u044b\\u0435 \\u0437\\u043d\\u0430\\u0447\\u0435\\u043d\\u0438\\u044f \\u0432 \\u0441\\u043e\\u043e\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0438\\u0438 \\u0441 \\u0441\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u0438\\u0435\\u043c \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439.</p> <p>\\u042d\\u0442\\u0430 \\u043e\\u043f\\u0446\\u0438\\u044f \\u043e\\u0431\\u044b\\u0447\\u043d\\u043e \\u043f\\u043e\\u043b\\u0435\\u0437\\u043d\\u0430 \\u0432\\u043e \\u0432\\u0440\\u0435\\u043c\\u044f \\u043d\\u0430\\u0447\\u0430\\u043b\\u044c\\u043d\\u043e\\u0439 \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043a\\u0438. \\u0412\\u044b \\u0442\\u043e\\u043b\\u044c\\u043a\\u043e \\u0447\\u0442\\u043e \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u0438\\u043b\\u0438 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435 PMX \\u0438 \\u043f\\u0440\\u043e\\u0432\\u0435\\u043b\\u0438 \\u043d\\u0435\\u0441\\u043a\\u043e\\u043b\\u044c\\u043a\\u043e \\u0447\\u0430\\u0441\\u043e\\u0432 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u043d\\u0430 \\u043d\\u0430\\u0441\\u0442\\u0440\\u043e\\u0439\\u043a\\u0438. \\u042d\\u0442\\u0430 \\u043e\\u043f\\u0446\\u0438\\u044f \\u0441\\u0434\\u0435\\u043b\\u0430\\u0435\\u0442 \\u0432\\u0441\\u0435 GREEN \\u043e\\u0434\\u043d\\u0438\\u043c \\u043a\\u0430\\u0441\\u0430\\u043d\\u0438\\u0435\\u043c.</p>\"},{\"location\":\"ru/batch-operations/#cleanup-references\",\"title\":\"\\u0421\\u0441\\u044b\\u043b\\u043a\\u0438 \\u043f\\u043e \\u043e\\u0447\\u0438\\u0441\\u0442\\u043a\\u0435\",\"text\":\"<p>\\u041e\\u0447\\u0438\\u0441\\u0442\\u0438\\u0442\\u044c \\u0431\\u0430\\u0437\\u0443 \\u0434\\u0430\\u043d\\u043d\\u044b\\u0445 \\u0441\\u0441\\u044b\\u043b\\u043e\\u043a \\u043d\\u0430 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f. \\u041d\\u0435\\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u0443\\u0435\\u043c\\u044b\\u0435 \\u0441\\u0441\\u044b\\u043b\\u043a\\u0438 \\u0431\\u0443\\u0434\\u0443\\u0442 \\u0443\\u0434\\u0430\\u043b\\u0435\\u043d\\u044b.</p> <p>\\u0415\\u0441\\u043b\\u0438 \\u0435\\u0441\\u0442\\u044c \\u043a\\u0443\\u0447\\u0430 \\u043d\\u0435\\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u0443\\u0435\\u043c\\u044b\\u0445 \\u0441\\u0441\\u044b\\u043b\\u043e\\u043a, \\u0442\\u043e \\u0438\\u0445 \\u0443\\u0431\\u043e\\u0440\\u043a\\u0430 \\u043c\\u043e\\u0436\\u0435\\u0442 \\u0443\\u0441\\u043a\\u043e\\u0440\\u0438\\u0442\\u044c \\u0437\\u0430\\u0433\\u0440\\u0443\\u0437\\u043a\\u0443 \\u0441\\u043f\\u0438\\u0441\\u043a\\u0430 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439.</p>\"},{\"location\":\"ru/batch-operations/#reset-references\",\"title\":\"\\u0421\\u0431\\u0440\\u043e\\u0441\\u0438\\u0442\\u044c \\u0441\\u0441\\u044b\\u043b\\u043a\\u0438\",\"text\":\"<p>\\u0421\\u0431\\u0440\\u043e\\u0441\\u0438\\u0442\\u044c \\u0441\\u0441\\u044b\\u043b\\u043a\\u0438 \\u043d\\u0430 \\u0431\\u0430\\u0437\\u0443 \\u0434\\u0430\\u043d\\u043d\\u044b\\u0445 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439. \\u0412\\u0441\\u0435 \\u0441\\u0441\\u044b\\u043b\\u043a\\u0438 \\u0431\\u0443\\u0434\\u0443\\u0442 \\u0443\\u0434\\u0430\\u043b\\u0435\\u043d\\u044b.</p> <p>\\u041d\\u0435 \\u043f\\u0440\\u0435\\u0434\\u043d\\u0430\\u0437\\u043d\\u0430\\u0447\\u0435\\u043d\\u043e \\u0434\\u043b\\u044f \\u043e\\u0431\\u044b\\u0447\\u043d\\u043e\\u0433\\u043e \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u043d\\u0438\\u044f. \\u0422\\u043e\\u043b\\u044c\\u043a\\u043e \\u0434\\u043b\\u044f \\u0441\\u043b\\u0443\\u0447\\u0430\\u0435\\u0432, \\u0435\\u0441\\u043b\\u0438 \\u0432\\u044b \\u0445\\u043e\\u0442\\u0438\\u0442\\u0435 \\u043d\\u0430\\u0447\\u0430\\u0442\\u044c \\u0441 \\u043d\\u0443\\u043b\\u044f.</p> <p></p>\"},{\"location\":\"ru/details/\",\"title\":\"\\u041e\\u0431\\u044a\\u044f\\u0441\\u043d\\u0435\\u043d\\u0438\\u0435 \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u044c\\u0441\\u043a\\u043e\\u0433\\u043e \\u0438\\u043d\\u0442\\u0435\\u0440\\u0444\\u0435\\u0439\\u0441\\u0430\",\"text\":\"\"},{\"location\":\"ru/details/#apps-list\",\"title\":\"\\u0421\\u043f\\u0438\\u0441\\u043e\\u043a \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439\",\"text\":\"<ol> <li> <p>\\u0426\\u0432\\u0435\\u0442\\u043d\\u0430\\u044f \\u043f\\u043e\\u043b\\u043e\\u0441\\u0430 \\u0441\\u043b\\u0435\\u0432\\u0430 \\u043f\\u043e\\u043a\\u0430\\u0437\\u044b\\u0432\\u0430\\u0435\\u0442 \\u044d\\u0442\\u0430\\u043b\\u043e\\u043d</p> </li> <li> <p>\\u041f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435 \\u0418\\u043a\\u043e\\u043d\\u043a\\u0430</p> </li> <li> <p>\\u041f\\u0435\\u0440\\u0432\\u0430\\u044f \\u0441\\u0442\\u0440\\u043e\\u043a\\u0430 \\u043f\\u043e\\u043a\\u0430\\u0437\\u044b\\u0432\\u0430\\u0435\\u0442 \\u044d\\u0442\\u0438\\u043a\\u0435\\u0442\\u043a\\u0443 \\u043f\\u0430\\u043a\\u0435\\u0442\\u0430</p> </li> <li> <p>\\u0412\\u0442\\u043e\\u0440\\u0430\\u044f \\u0441\\u0442\\u0440\\u043e\\u043a\\u0430 \\u043f\\u043e\\u043a\\u0430\\u0437\\u044b\\u0432\\u0430\\u0435\\u0442 \\u043f\\u0430\\u043a\\u0435\\u0442 \\u0438\\u043c\\u044f \\u0438</p> </li> <li> <p>UID</p> </li> <li> <p>\\u0422\\u0440\\u0435\\u0442\\u044c\\u044f \\u0441\\u0442\\u0440\\u043e\\u043a\\u0430 (\\u043d\\u0435\\u043e\\u0431\\u044f\\u0437\\u0430\\u0442\\u0435\\u043b\\u044c\\u043d\\u043e) \\u043f\\u043e\\u043a\\u0430\\u0437\\u044b\\u0432\\u0430\\u0435\\u0442 \\u0441\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u0438\\u0435 \\u043f\\u0430\\u043a\\u0435\\u0442\\u0430: \\u041a\\u0440\\u0438\\u0442\\u0438\\u0447\\u043d\\u043e (\\u0424\\u0440\\u0435\\u0439\\u043c\\u0432\\u043e\\u0440\\u043a), \\u0424\\u0440\\u0435\\u0439\\u043c\\u0432\\u043e\\u0440\\u043a \\u0438\\u043b\\u0438 \\u0421\\u0438\\u0441\\u0442\\u0435\\u043c\\u043d\\u043e\\u0435. \\u0422\\u0430\\u043a\\u0436\\u0435 \\u0435\\u0441\\u043b\\u0438 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435 \\u041e\\u0442\\u043a\\u043b\\u044e\\u0447\\u0435\\u043d\\u043e. \\u041d\\u0435\\u0442 \\u0441\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u0438\\u044f \\u0434\\u043b\\u044f \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439 \\u0412\\u043a\\u043b\\u044e\\u0447\\u0435\\u043d, \\u041f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u044c.</p> </li> <li> <p>\\u041f\\u043e\\u0441\\u043b\\u0435\\u0434\\u043d\\u044f\\u044f \\u0441\\u0442\\u0440\\u043e\\u043a\\u0430 \\u043f\\u043e\\u043a\\u0430\\u0437\\u044b\\u0432\\u0430\\u0435\\u0442 \\u043a\\u043e\\u043b\\u0438\\u0447\\u0435\\u0441\\u0442\\u0432\\u043e \\u0432\\u0438\\u0434\\u0438\\u043c\\u044b\\u0445 \\u0437\\u0430 \\u043f\\u0440\\u0435\\u0434\\u0435\\u043b\\u0430\\u043c\\u0438 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439 manifest \\u0438</p> </li> <li> <p>AppOps \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f.</p> <p>\\u041d\\u0435\\u0432\\u0438\\u0434\\u0438\\u043c\\u044b\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u0438\\u0441\\u043a\\u043b\\u044e\\u0447\\u0435\\u043d\\u044b \\u0438\\u0437 \\u0424\\u0438\\u043b\\u044c\\u0442\\u0440\\u043e\\u0432 \\u0418\\u0441\\u043a\\u043b\\u044e\\u0447\\u0435\\u043d\\u0438\\u044f.</p> </li> <li> <p>\\u041f\\u0440\\u0438 \\u0441\\u043e\\u0440\\u0442\\u0438\\u0440\\u043e\\u0432\\u043a\\u0435 \\u043f\\u043e \\u0432\\u0440\\u0435\\u043c\\u0435\\u043d\\u0438 \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043a\\u0438 \\u0438\\u043b\\u0438 \\u043e\\u0431\\u043d\\u043e\\u0432\\u043b\\u0435\\u043d\\u0438\\u044f \\u043f\\u043e\\u0441\\u043b\\u0435\\u0434\\u043d\\u044f\\u044f \\u0441\\u0442\\u0440\\u043e\\u043a\\u0430 \\u0442\\u0430\\u043a\\u0436\\u0435 \\u043f\\u043e\\u043a\\u0430\\u0437\\u044b\\u0432\\u0430\\u0435\\u0442 \\u0441\\u043f\\u0440\\u0430\\u0432\\u0430 \\u0434\\u0430\\u0442\\u0443 \\u0438\\u043b\\u0438 \\u0432\\u0440\\u0435\\u043c\\u044f.</p> </li> </ol>\"},{\"location\":\"ru/details/#permissions-list\",\"title\":\"\\u0421\\u043f\\u0438\\u0441\\u043e\\u043a \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439\",\"text\":\"<ol> <li>\\u0426\\u0432\\u0435\\u0442\\u043d\\u0430\\u044f \\u043f\\u043e\\u043b\\u043e\\u0441\\u0430 \\u0441\\u043b\\u0435\\u0432\\u0430 \\u043f\\u043e\\u043a\\u0430\\u0437\\u044b\\u0432\\u0430\\u0435\\u0442 \\u044d\\u0442\\u0430\\u043b\\u043e\\u043d</li> <li>\\u0420\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f Manifest \\u043f\\u043e\\u043a\\u0430\\u0437\\u044b\\u0432\\u0430\\u044e\\u0442 \\u0444\\u043b\\u0430\\u0433 \\u0432 \\u043f\\u0440\\u0430\\u0432\\u043e\\u043c \\u0432\\u0435\\u0440\\u0445\\u043d\\u0435\\u043c \\u0443\\u0433\\u043b\\u0443</li> <li>\\u0420\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435 \\u0418\\u043a\\u043e\\u043d\\u043a\\u0430</li> <li>\\u041f\\u0435\\u0440\\u0432\\u0430\\u044f \\u0441\\u0442\\u0440\\u043e\\u043a\\u0430 \\u043f\\u043e\\u043a\\u0430\\u0437\\u044b\\u0432\\u0430\\u0435\\u0442 \\u0438\\u043c\\u044f \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f</li> <li>\\u0412\\u0442\\u043e\\u0440\\u0430\\u044f \\u0441\\u0442\\u0440\\u043e\\u043a\\u0430 \\u043f\\u043e\\u043a\\u0430\\u0437\\u044b\\u0432\\u0430\\u0435\\u0442 \\u0443\\u0440\\u043e\\u0432\\u0435\\u043d\\u044c \\u0437\\u0430\\u0449\\u0438\\u0442\\u044b: \\u041d\\u043e\\u0440\\u043c\\u0430\\u043b\\u044c\\u043d\\u044b\\u0439, \\u041e\\u043f\\u0430\\u0441\\u043d\\u044b\\u0439, \\u041f\\u043e\\u0434\\u043f\\u0438\\u0441\\u044c, \\u0420\\u0430\\u0437\\u0432\\u0438\\u0442\\u0438\\u0435, \\u041f\\u0440\\u0438\\u0432\\u0438\\u043b\\u0435\\u0433\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d, \\u0418\\u0441\\u043f\\u0440\\u0430\\u0432\\u043b\\u0435\\u043d\\u043e, AppOps \\u0438\\u043b\\u0438 \\u041d\\u0435\\u0438\\u0437\\u0432\\u0435\\u0441\\u0442\\u043d\\u043e. \\u0422\\u0430\\u043a\\u0436\\u0435, \\u0435\\u0441\\u043b\\u0438 AppOp \\u044f\\u0432\\u043b\\u044f\\u0435\\u0442\\u0441\\u044f \\u043d\\u0430 \\u043f\\u0430\\u043a\\u0435\\u0442 \\u0438\\u043b\\u0438 \\u043d\\u0430 UID. \\u0418 \\u0435\\u0441\\u043b\\u0438 \\u044d\\u0442\\u043e \\u042d\\u043a\\u0441\\u0442\\u0440\\u0430 AppOp (\\u043d\\u0435 \\u0438\\u0441\\u043a\\u043b\\u044e\\u0447\\u0430\\u0435\\u0442\\u0441\\u044f \\u0432 \\u043d\\u0430\\u0441\\u0442\\u0440\\u043e\\u0439\\u043a\\u0430\\u0445 \\u0444\\u0438\\u043b\\u044c\\u0442\\u0440\\u0430).</li> <li>\\u0422\\u0440\\u0435\\u0442\\u044c\\u044f \\u0441\\u0442\\u0440\\u043e\\u043a\\u0430 (\\u0432 \\u0441\\u043b\\u0443\\u0447\\u0430\\u0435 AppOp) \\u043f\\u043e\\u043a\\u0430\\u0437\\u044b\\u0432\\u0430\\u0435\\u0442 \\u043f\\u043e\\u0441\\u043b\\u0435\\u0434\\u043d\\u0438\\u0439 \\u0434\\u043e\\u0441\\u0442\\u0443\\u043f \\u0438\\u043b\\u0438 \\u0432\\u0440\\u0435\\u043c\\u044f \\u043e\\u0442\\u043a\\u043b\\u043e\\u043d\\u0435\\u043d\\u0438\\u044f</li> <li>\\u0427\\u0435\\u0442\\u0432\\u0435\\u0440\\u0442\\u0430\\u044f \\u0441\\u0442\\u0440\\u043e\\u043a\\u0430 (\\u0432 \\u0441\\u043b\\u0443\\u0447\\u0430\\u0435 AppOp) \\u043f\\u043e\\u043a\\u0430\\u0437\\u044b\\u0432\\u0430\\u0435\\u0442 \\u0443\\u043a\\u0430\\u0437\\u0430\\u043d\\u043d\\u043e\\u0435 \\u0437\\u043d\\u0430\\u0447\\u0435\\u043d\\u0438\\u0435, \\u0435\\u0441\\u043b\\u0438 \\u043e\\u043d\\u043e \\u043d\\u0435 \\u0441\\u043e\\u043e\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442 \\u0442\\u0435\\u043a\\u0443\\u0449\\u0435\\u043c\\u0443 \\u0437\\u043d\\u0430\\u0447\\u0435\\u043d\\u0438\\u044e.</li> <li>\\u041f\\u0435\\u0440\\u0435\\u043a\\u043b\\u044e\\u0447\\u0430\\u0442\\u0435\\u043b\\u044c \\u0434\\u043b\\u044f \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u0438\\u044f \\u0441\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u0438\\u044f \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f</li> <li>\\u0422\\u0435\\u043a\\u0443\\u0449\\u0435\\u0435 \\u0441\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u0438\\u0435 (\\u0432 \\u0441\\u043b\\u0443\\u0447\\u0430\\u0435 AppOp)</li> <li>\\u041f\\u043e \\u0443\\u043c\\u043e\\u043b\\u0447\\u0430\\u043d\\u0438\\u044e \\u0443\\u043a\\u0430\\u0437\\u044b\\u0432\\u0430\\u0435\\u0442, \\u0447\\u0442\\u043e \\u0441\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u0438\\u0435 AppOp \\u043d\\u0438\\u043a\\u043e\\u0433\\u0434\\u0430 \\u043d\\u0435 \\u0431\\u044b\\u043b\\u043e \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u043e</li> </ol>\"},{\"location\":\"ru/faqs/\",\"title\":\"PMX FAQ\",\"text\":\"\"},{\"location\":\"ru/faqs/#faq36\",\"title\":\"\\u0417\\u0430\\u0447\\u0435\\u043c \\u043c\\u043d\\u0435 \\u043d\\u0443\\u0436\\u043d\\u043e \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u044c PMX?\",\"text\":\"<p>\\u041f\\u043e\\u0442\\u043e\\u043c\\u0443 \\u0447\\u0442\\u043e:</p> <ul> <li>PMX \\u043f\\u0440\\u0435\\u0434\\u043e\\u0441\\u0442\\u0430\\u0432\\u043b\\u044f\\u0435\\u0442 \\u0432\\u0441\\u0435 \\u0434\\u043e\\u0441\\u0442\\u0443\\u043f\\u043d\\u044b\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u0438\\u043d\\u0444\\u043e\\u0440\\u043c\\u0430\\u0446\\u0438\\u044f \\u0438 \\u0443\\u043f\\u0440\\u0430\\u0432\\u043b\\u0435\\u043d\\u0438\\u044f \\u043d\\u0430 \\u043e\\u0434\\u043d\\u043e\\u043c \\u044d\\u043a\\u0440\\u0430\\u043d\\u0435, \\u0447\\u0442\\u043e\\u0431\\u044b \\u0432\\u044b \\u043c\\u043e\\u0433\\u043b\\u0438 \\u0432\\u0441\\u0435\\u0441\\u0442\\u043e\\u0440\\u043e\\u043d\\u043d\\u0435 \\u0438 \\u0443\\u0434\\u043e\\u0431\\u043d\\u043e \\u0438\\u0445 \\u043f\\u0440\\u043e\\u0441\\u043c\\u0430\\u0442\\u0440\\u0438\\u0432\\u0430\\u0442\\u044c.</li> <li>\\u041d\\u0430 \\u043f\\u043b\\u0430\\u0442\\u0444\\u043e\\u0440\\u043c\\u0435 Android \\u043d\\u0435\\u0442 \\u043e\\u0444\\u0438\\u0446\\u0438\\u0430\\u043b\\u044c\\u043d\\u043e\\u0433\\u043e \\u0438\\u043d\\u0441\\u0442\\u0440\\u0443\\u043c\\u0435\\u043d\\u0442\\u0430, \\u0447\\u0442\\u043e\\u0431\\u044b \\u0441\\u043c\\u0435\\u043d\\u0438\\u0442\\u044c AppOps. \\u0422\\u043e\\u043b\\u044c\\u043a\\u043e \\u043f\\u043e\\u0434\\u043c\\u043d\\u043e\\u0436\\u0435\\u0441\\u0442\\u0432\\u043e manifest \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439 \\u043f\\u043e\\u0434\\u0432\\u0435\\u0440\\u0433\\u0430\\u044e\\u0442\\u0441\\u044f \\u0432\\u043e\\u0437\\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044e \\u043d\\u0430 \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u044f \\u0432 \\u043d\\u0430\\u0441\\u0442\\u0440\\u043e\\u0439\\u043a\\u0430\\u0445 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439. PMX \\u0440\\u0430\\u0441\\u043a\\u0440\\u044b\\u0432\\u0430\\u0435\\u0442 \\u0432\\u0441\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u0432 \\u0441\\u044b\\u0440\\u043e\\u0439 \\u0444\\u043e\\u0440\\u043c\\u0435. \\u0421\\u0432\\u044f\\u0437\\u0430\\u043d\\u043d\\u044b\\u0439: Manifest \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u0438 AppOps.</li> <li>PMX \\u043f\\u043e\\u0437\\u0432\\u043e\\u043b\\u044f\\u0435\\u0442 \\u0432\\u0430\\u043c \\u043b\\u0435\\u0433\\u043a\\u043e \\u043e\\u0442\\u0441\\u043b\\u0435\\u0436\\u0438\\u0432\\u0430\\u0442\\u044c \\u043b\\u044e\\u0431\\u044b\\u0435 \\u043d\\u0435\\u0436\\u0435\\u043b\\u0430\\u0442\\u0435\\u043b\\u044c\\u043d\\u044b\\u0435 \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u0438\\u044f \\u0432 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f\\u0445.</li> <li>\\u0423\\u043f\\u0440\\u0430\\u0432\\u043b\\u0435\\u043d\\u0438\\u0435 \\u0443\\u0441\\u0442\\u0440\\u043e\\u0439\\u0441\\u0442\\u0432\\u043e\\u043c PMX \\u043f\\u043e\\u0437\\u0432\\u043e\\u043b\\u044f\\u0435\\u0442 \\u0441\\u043e\\u0445\\u0440\\u0430\\u043d\\u0438\\u0442\\u044c \\u0440\\u0435\\u0441\\u0443\\u0440\\u0441\\u044b \\u0443\\u0441\\u0442\\u0440\\u043e\\u0439\\u0441\\u0442\\u0432\\u0430, \\u0442\\u0430\\u043a\\u0438\\u0435 \\u043a\\u0430\\u043a \\u0437\\u0430\\u0440\\u044f\\u0434 \\u0431\\u0430\\u0442\\u0430\\u0440\\u0435\\u0438 \\u0438 \\u043f\\u0440\\u043e\\u043f\\u0443\\u0441\\u043a\\u043d\\u0443\\u044e \\u0441\\u043f\\u043e\\u0441\\u043e\\u0431\\u043d\\u043e\\u0441\\u0442\\u044c \\u0441\\u0435\\u0442\\u0438, \\u0438 \\u0437\\u0430\\u0449\\u0438\\u0442\\u0438\\u0442\\u044c \\u0441\\u0432\\u043e\\u044e \\u043f\\u0440\\u0438\\u0432\\u0430\\u0442\\u043d\\u043e\\u0441\\u0442\\u044c. \\u0412\\u044b \\u043d\\u0435 \\u0432\\u0441\\u0435\\u0433\\u0434\\u0430 \\u043e\\u0441\\u0442\\u0430\\u043b\\u0438\\u0441\\u044c \\u043d\\u0430 \\u043c\\u0438\\u043b\\u043e\\u0441\\u0442\\u044c \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f \\u0438 ROM \\u0440\\u0430\\u0437\\u0440\\u0430\\u0431\\u043e\\u0442\\u0447\\u0438\\u043a\\u043e\\u0432. \\u041f\\u0440\\u043e\\u0447\\u0438\\u0442\\u0430\\u0439 \\u044d\\u0442\\u0443 \\u0441\\u0442\\u0430\\u0442\\u044c\\u044e, \\u0447\\u0442\\u043e\\u0431\\u044b \\u043f\\u043e\\u043d\\u044f\\u0442\\u044c, \\u043e \\u0447\\u0435\\u043c \\u0438\\u0434\\u0435\\u0442 \\u0440\\u0435\\u0447\\u044c.</li> <li>PMX \\u043c\\u043e\\u0436\\u0435\\u0442 \\u043e\\u0442\\u0441\\u043b\\u0435\\u0436\\u0438\\u0432\\u0430\\u0442\\u044c \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u0438\\u044f \\u043f\\u0440\\u0430\\u0432 \\u0432 \\u0440\\u0435\\u0430\\u043b\\u044c\\u043d\\u043e\\u043c \\u0432\\u0440\\u0435\\u043c\\u0435\\u043d\\u0438, \\u043e\\u0442\\u043a\\u0430\\u0442\\u0438\\u0442\\u044c \\u0438\\u0445 \\u0430\\u0432\\u0442\\u043e\\u043c\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043a\\u0438 \\u043f\\u0440\\u0438 \\u043e\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043a\\u0435 \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u043d\\u0438\\u044f \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f. \\u0418\\u043b\\u0438 \\u043e\\u043d \\u043c\\u043e\\u0436\\u0435\\u0442 \\u0432\\u044b\\u043f\\u043e\\u043b\\u043d\\u044f\\u0442\\u044c \\u0437\\u0430\\u043f\\u043b\\u0430\\u043d\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u043d\\u043e\\u0435 \\u0441\\u043a\\u0430\\u043d\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u0438\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439. \\u0422\\u0430\\u043a \\u0447\\u0442\\u043e \\u0432\\u0430\\u043c \\u043d\\u0435 \\u043d\\u0443\\u0436\\u043d\\u043e \\u0447\\u0442\\u043e-\\u0442\\u043e \\u0437\\u0430\\u043f\\u043e\\u043c\\u0438\\u043d\\u0430\\u0442\\u044c.</li> <li>PMX \\u0443\\u043f\\u0440\\u043e\\u0449\\u0430\\u0435\\u0442 \\u0434\\u043b\\u044f \\u0432\\u0430\\u0441 \\u0440\\u0435\\u0437\\u0435\\u0440\\u0432\\u043d\\u043e\\u0435 \\u043a\\u043e\\u043f\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u0438\\u0435 \\u0438 \\u0432\\u043e\\u0441\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043b\\u0435\\u043d\\u0438\\u0435 \\u043f\\u0440\\u0430\\u0432 \\u0441\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u0438\\u044f \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043b\\u0435\\u043d\\u043d\\u044b\\u0445 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439, \\u0447\\u0442\\u043e\\u0431\\u044b \\u0432\\u0430\\u043c \\u043d\\u0435 \\u043f\\u0440\\u0438\\u0445\\u043e\\u0434\\u0438\\u043b\\u043e\\u0441\\u044c \\u0441\\u043d\\u043e\\u0432\\u0430 \\u0438 \\u0441\\u043d\\u043e\\u0432\\u0430 \\u043d\\u0430\\u0441\\u0442\\u0440\\u0430\\u0438\\u0432\\u0430\\u0442\\u044c \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f.</li> </ul> <p>\\u041f\\u043e\\u0436\\u0430\\u043b\\u0443\\u0439\\u0441\\u0442\\u0430, \\u043f\\u043e\\u0441\\u043c\\u043e\\u0442\\u0440\\u0438\\u0442\\u0435 \\u0427\\u0442\\u043e \\u0442\\u0430\\u043a\\u043e\\u0435 PMX?</p>\"},{\"location\":\"ru/faqs/#faq1\",\"title\":\"\\u041f\\u043e\\u0447\\u0435\\u043c\\u0443 PMX \\u0442\\u0440\\u0435\\u0431\\u0443\\u0435\\u0442 root \\u0434\\u043e\\u0441\\u0442\\u0443\\u043f \\u0438\\u043b\\u0438 ADB?\",\"text\":\"<p>Android \\u043d\\u0430\\u043c\\u0435\\u0440\\u0435\\u043d\\u043d\\u043e \\u0437\\u0430\\u043f\\u0440\\u0435\\u0449\\u0430\\u0435\\u0442 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f\\u043c \\u0438\\u0437\\u043c\\u0435\\u043d\\u044f\\u0442\\u044c \\u043f\\u0440\\u0430\\u0432\\u0430 \\u0434\\u043e\\u0441\\u0442\\u0443\\u043f\\u0430 \\u0434\\u0440\\u0443\\u0433\\u0438\\u0445 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439 manifest \\u0438\\u043b\\u0438 AppOps (\\u0438 \\u0432\\u043e \\u043c\\u043d\\u043e\\u0433\\u0438\\u0445 \\u0441\\u043b\\u0443\\u0447\\u0430\\u044f\\u0445 \\u0438\\u0437\\u043c\\u0435\\u043d\\u044f\\u0442\\u044c \\u043f\\u0440\\u0430\\u0432\\u0430 \\u043e\\u0442\\u0434\\u0435\\u043b\\u044c\\u043d\\u044b\\u0445 \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u0435\\u0439). \\u042d\\u0442\\u0438 \\u043c\\u0435\\u0440\\u044b \\u0431\\u0435\\u0437\\u043e\\u043f\\u0430\\u0441\\u043d\\u043e\\u0441\\u0442\\u0438 \\u043f\\u043b\\u0430\\u0442\\u0444\\u043e\\u0440\\u043c\\u044b \\u0437\\u0430\\u0449\\u0438\\u0449\\u0430\\u044e\\u0442 \\u043a\\u043e\\u043d\\u0444\\u0438\\u0434\\u0435\\u043d\\u0446\\u0438\\u0430\\u043b\\u044c\\u043d\\u043e\\u0441\\u0442\\u044c \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u0435\\u0439 \\u0438 \\u0446\\u0435\\u043b\\u043e\\u0441\\u0442\\u043d\\u043e\\u0441\\u0442\\u044c \\u0441\\u0438\\u0441\\u0442\\u0435\\u043c\\u044b.</p> <p>\\u0414\\u043b\\u044f \\u0432\\u044b\\u043f\\u043e\\u043b\\u043d\\u0435\\u043d\\u0438\\u044f \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0439, \\u0442\\u0440\\u0435\\u0431\\u0443\\u044e\\u0449\\u0438\\u0445 \\u043f\\u043e\\u0432\\u044b\\u0448\\u0435\\u043d\\u043d\\u044b\\u0445 \\u043f\\u0440\\u0438\\u0432\\u0438\\u043b\\u0435\\u0433\\u0438\\u0439, PMX \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u0443\\u0435\\u0442 \\u043d\\u0435\\u0431\\u043e\\u043b\\u044c\\u0448\\u043e\\u0439, \\u043e\\u0442\\u0434\\u0435\\u043b\\u044c\\u043d\\u044b\\u0439 \\u043f\\u0440\\u0438\\u0432\\u0438\\u043b\\u0435\\u0433\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u043d\\u044b\\u0439 \\u043f\\u043e\\u043c\\u043e\\u0449\\u043d\\u0438\\u043a, \\u0432\\u043c\\u0435\\u0441\\u0442\\u043e \\u0442\\u043e\\u0433\\u043e, \\u0447\\u0442\\u043e\\u0431\\u044b \\u043f\\u044b\\u0442\\u0430\\u0442\\u044c\\u0441\\u044f \\u0441\\u0434\\u0435\\u043b\\u0430\\u0442\\u044c \\u0432\\u0441\\u0435 \\u0438\\u0437 \\u043e\\u0431\\u044b\\u0447\\u043d\\u043e\\u0433\\u043e \\u043f\\u0440\\u043e\\u0446\\u0435\\u0441\\u0441\\u0430 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f. \\u041f\\u043e \\u0443\\u043c\\u043e\\u043b\\u0447\\u0430\\u043d\\u0438\\u044e \\u044d\\u0442\\u043e\\u0442 \\u043f\\u043e\\u043c\\u043e\\u0449\\u043d\\u0438\\u043a \\u0437\\u0430\\u043f\\u0443\\u0441\\u043a\\u0430\\u0435\\u0442\\u0441\\u044f \\u043f\\u043e\\u0434 ADB UID (<code>2000</code>) \\u043f\\u0440\\u0438 \\u0437\\u0430\\u043f\\u0443\\u0441\\u043a\\u0435 \\u0447\\u0435\\u0440\\u0435\\u0437 ADB, \\u0438\\u043b\\u0438 \\u043f\\u043e\\u0434 \\u0438\\u0434\\u0435\\u043d\\u0442\\u0438\\u0444\\u0438\\u043a\\u0430\\u0442\\u043e\\u0440\\u043e\\u043c \\u0441\\u0438\\u0441\\u0442\\u0435\\u043c\\u044b (<code>1000</code>) \\u043d\\u0430 \\u0443\\u0441\\u0442\\u0440\\u043e\\u0439\\u0441\\u0442\\u0432\\u0430\\u0445 \\u0441 \\u043f\\u0440\\u0430\\u0432\\u0430\\u043c\\u0438 root. \\u0415\\u0441\\u043b\\u0438 \\u0443 \\u0432\\u0430\\u0441 \\u0435\\u0441\\u0442\\u044c \\u0440\\u0443\\u0442-\\u0443\\u0441\\u0442\\u0440\\u043e\\u0439\\u0441\\u0442\\u0432\\u043e, \\u0432\\u044b \\u043c\\u043e\\u0436\\u0435\\u0442\\u0435 \\u0438\\u0437\\u043c\\u0435\\u043d\\u0438\\u0442\\u044c UID \\u043f\\u043e\\u043c\\u043e\\u0449\\u043d\\u0438\\u043a\\u0430 \\u0432 \\u0414\\u043e\\u043f\\u043e\\u043b\\u043d\\u0438\\u0442\\u0435\\u043b\\u044c\\u043d\\u044b\\u0435 \\u043d\\u0430\\u0441\\u0442\\u0440\\u043e\\u0439\\u043a\\u0438.</p>\"},{\"location\":\"ru/faqs/#faq33\",\"title\":\"\\u041c\\u043e\\u0435 \\u0443\\u0441\\u0442\\u0440\\u043e\\u0439\\u0441\\u0442\\u0432\\u043e \\u0431\\u0435\\u0437 root. \\u041a\\u0430\\u043a \\u044f \\u043c\\u043e\\u0433\\u0443 \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u044c PMX?\",\"text\":\"<p>\\u0418\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u0443\\u0439\\u0442\\u0435 PMX \\u0441 ADB. \\u041f\\u043e\\u0436\\u0430\\u043b\\u0443\\u0439\\u0441\\u0442\\u0430, \\u043f\\u0440\\u043e\\u0447\\u0438\\u0442\\u0430\\u0439\\u0442\\u0435 \\u0437\\u0430\\u043c\\u0435\\u0442\\u043a\\u0443 \\u0432 \\u043d\\u0430\\u0447\\u0430\\u043b\\u0435. \\u041d\\u0430 \\u043d\\u0435\\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0445 \\u0443\\u0441\\u0442\\u0440\\u043e\\u0439\\u0441\\u0442\\u0432\\u0430\\u0445 \\u043c\\u043e\\u0433\\u0443\\u0442 \\u0431\\u044b\\u0442\\u044c \\u043d\\u0435\\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 \\u043e\\u0433\\u0440\\u0430\\u043d\\u0438\\u0447\\u0435\\u043d\\u0438\\u044f.</p>\"},{\"location\":\"ru/faqs/#faq42\",\"title\":\"\\u041f\\u043e\\u0447\\u0435\\u043c\\u0443 PMX \\u043d\\u0435 \\u0437\\u0430\\u043f\\u0443\\u0441\\u043a\\u0430\\u0435\\u0442 \\u0438 \\u043d\\u0435 \\u0440\\u0430\\u0431\\u043e\\u0442\\u0430\\u0435\\u0442 \\u043d\\u0430 \\u043f\\u043e\\u0441\\u043b\\u0435\\u0434\\u043d\\u0435\\u0439 \\u0432\\u0435\\u0440\\u0441\\u0438\\u0438 Android?\",\"text\":\"<p>PMX \\u043e\\u043f\\u0438\\u0440\\u0430\\u0435\\u0442\\u0441\\u044f \\u043d\\u0430 \\u0441\\u043a\\u0440\\u044b\\u0442\\u044b\\u0435 API Android \\u0438\\u043b\\u0438 \\u043d\\u0435 SDK \\u0438\\u043d\\u0442\\u0435\\u0440\\u0444\\u0435\\u0439\\u0441\\u044b, \\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 \\u043d\\u0435 \\u0434\\u043e\\u043a\\u0443\\u043c\\u0435\\u043d\\u0442\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u044b (\\u043d\\u0430 \\u0440\\u0430\\u0437\\u0440\\u0430\\u0431\\u043e\\u0442\\u0447\\u0438\\u043a\\u0430\\u0445 Android) \\u0432 \\u043e\\u0442\\u043b\\u0438\\u0447\\u0438\\u0435 \\u043e\\u0442 \\u0441\\u0442\\u0430\\u043d\\u0434\\u0430\\u0440\\u0442\\u043d\\u044b\\u0445 API. \\u0422\\u0430\\u043a \\u0447\\u0442\\u043e \\u0441 \\u043a\\u0430\\u0436\\u0434\\u044b\\u043c \\u043d\\u043e\\u0432\\u044b\\u043c \\u0440\\u0435\\u043b\\u0438\\u0437\\u043e\\u043c Android, \\u043c\\u044b \\u0434\\u043e\\u043b\\u0436\\u043d\\u044b \\u043f\\u0440\\u043e\\u0439\\u0442\\u0438 \\u0447\\u0435\\u0440\\u0435\\u0437 \\u0438\\u0441\\u0445\\u043e\\u0434\\u043d\\u044b\\u0439 \\u043a\\u043e\\u0434 Android, \\u0447\\u0442\\u043e\\u0431\\u044b \\u0432\\u044b\\u044f\\u0441\\u043d\\u0438\\u0442\\u044c, \\u043a\\u0430\\u043a\\u0438\\u0435 API \\u0431\\u044b\\u043b\\u0438 \\u043d\\u0430\\u0440\\u0443\\u0448\\u0435\\u043d\\u044b (\\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u044b \\u0438\\u043b\\u0438 \\u0443\\u0434\\u0430\\u043b\\u0435\\u043d\\u044b).</p> <p>\\u041a\\u0440\\u043e\\u043c\\u0435 \\u0442\\u043e\\u0433\\u043e, \\u0442\\u0440\\u0435\\u0431\\u0443\\u0435\\u0442\\u0441\\u044f \\u0432\\u0440\\u0435\\u043c\\u044f \\u043d\\u0430 \\u0438\\u0441\\u043f\\u0440\\u0430\\u0432\\u043b\\u0435\\u043d\\u0438\\u0435 \\u0438\\u0441\\u043f\\u043e\\u0440\\u0447\\u0435\\u043d\\u043d\\u044b\\u0445 API, \\u0438\\u043d\\u043e\\u0433\\u0434\\u0430 \\u043d\\u0435\\u0434\\u0435\\u043b\\u0438, \\u0438\\u043d\\u043e\\u0433\\u0434\\u0430 \\u043c\\u0435\\u0441\\u044f\\u0446\\u044b. \\u0418 \\u043d\\u0435 \\u0433\\u0430\\u0440\\u0430\\u043d\\u0442\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u043d\\u043e, \\u0447\\u0442\\u043e \\u043c\\u044b \\u0432\\u0441\\u0435\\u0433\\u0434\\u0430 \\u0441\\u043c\\u043e\\u0436\\u0435\\u043c \\u0438\\u0441\\u043f\\u0440\\u0430\\u0432\\u0438\\u0442\\u044c \\u0438\\u0441\\u043f\\u043e\\u0440\\u0447\\u0435\\u043d\\u043d\\u044b\\u0435 API. \\u0418\\u043d\\u043e\\u0433\\u0434\\u0430 Google \\u0441\\u043f\\u0435\\u0446\\u0438\\u0430\\u043b\\u044c\\u043d\\u043e \\u0434\\u0435\\u043b\\u0430\\u0435\\u0442 \\u0442\\u0430\\u043a, \\u0447\\u0442\\u043e \\u043d\\u0430\\u043c \\u0441\\u043b\\u043e\\u0436\\u043d\\u043e \\u0438\\u043b\\u0438 \\u0432\\u043e\\u043e\\u0431\\u0449\\u0435 \\u043d\\u0435\\u0432\\u043e\\u0437\\u043c\\u043e\\u0436\\u043d\\u043e \\u043f\\u0440\\u043e\\u0434\\u043e\\u043b\\u0436\\u0430\\u0442\\u044c \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u044c \\u0441\\u043a\\u0440\\u044b\\u0442\\u044b\\u0435 API.</p> <p>\\u041f\\u043e\\u044d\\u0442\\u043e\\u043c\\u0443 \\u043c\\u044b \\u043d\\u0435 \\u043c\\u043e\\u0436\\u0435\\u043c \\u043d\\u0435\\u043c\\u0435\\u0434\\u043b\\u0435\\u043d\\u043d\\u043e \\u0437\\u0430\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044c PMX \\u0440\\u0430\\u0431\\u043e\\u0442\\u0430\\u0442\\u044c \\u043d\\u0430\\u0434 \\u043a\\u0430\\u0436\\u0434\\u044b\\u043c \\u043d\\u043e\\u0432\\u044b\\u043c \\u0440\\u0435\\u043b\\u0438\\u0437\\u043e\\u043c Android (\\u043e\\u0441\\u043e\\u0431\\u0435\\u043d\\u043d\\u043e \\u0432 \\u0431\\u0435\\u0442\\u0430-\\u0444\\u0430\\u0437\\u0435) \\u0434\\u043e \\u0442\\u0435\\u0445 \\u043f\\u043e\\u0440, \\u043f\\u043e\\u043a\\u0430 \\u043e\\u043a\\u043e\\u043d\\u0447\\u0430\\u0442\\u0435\\u043b\\u044c\\u043d\\u044b\\u0439 \\u0438\\u0441\\u0445\\u043e\\u0434\\u043d\\u044b\\u0439 \\u043a\\u043e\\u0434 AOSP \\u043f\\u0443\\u0431\\u043b\\u0438\\u0447\\u043d\\u043e \\u043d\\u0435 \\u0431\\u0443\\u0434\\u0435\\u0442 \\u0432\\u044b\\u043f\\u0443\\u0449\\u0435\\u043d (\\u043f\\u043e Code Search \\u0438\\u043b\\u0438 Git Repository).</p> <p>\\u041e\\u043a\\u043e\\u043d\\u0447\\u0430\\u0442\\u0435\\u043b\\u044c\\u043d\\u0430\\u044f \\u043f\\u043e\\u0434\\u0434\\u0435\\u0440\\u0436\\u0438\\u0432\\u0430\\u0435\\u043c\\u0430\\u044f PMX\\u0432\\u0435\\u0440\\u0441\\u0438\\u044f \\u043e\\u043f\\u0438\\u0441\\u0430\\u043d\\u0430 \\u0432 \\u043e\\u043f\\u0438\\u0441\\u0430\\u043d\\u0438\\u0438 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f \\u043d\\u0430 GitHub \\u0438 Play Store. \\u041a\\u043e\\u0433\\u0434\\u0430 \\u0432\\u044b \\u0437\\u0430\\u043f\\u0443\\u0441\\u043a\\u0430\\u0435\\u0442\\u0435 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435 \\u043d\\u0430 \\u043d\\u0435\\u043f\\u043e\\u0434\\u0434\\u0435\\u0440\\u0436\\u0438\\u0432\\u0430\\u0435\\u043c\\u043e\\u0439 \\u0432\\u0435\\u0440\\u0441\\u0438\\u0438 \\u0432 \\u043f\\u0435\\u0440\\u0432\\u044b\\u0439 \\u0440\\u0430\\u0437, \\u043e\\u043d\\u043e \\u043f\\u043e\\u043a\\u0430\\u0437\\u044b\\u0432\\u0430\\u0435\\u0442 \\u043f\\u0440\\u0435\\u0434\\u0443\\u043f\\u0440\\u0435\\u0436\\u0434\\u0435\\u043d\\u0438\\u0435:</p> <p></p>\"},{\"location\":\"ru/faqs/#faq43\",\"title\":\"\\u041f\\u043e\\u0447\\u0435\\u043c\\u0443 PMX \\u043d\\u0435\\u043f\\u0440\\u0430\\u0432\\u0438\\u043b\\u044c\\u043d\\u043e \\u0440\\u0430\\u0431\\u043e\\u0442\\u0430\\u0435\\u0442 \\u043d\\u0430 OEM \\u043e\\u043f\\u0435\\u0440\\u0430\\u0446\\u0438\\u043e\\u043d\\u043d\\u044b\\u0445 \\u0441\\u0438\\u0441\\u0442\\u0435\\u043c\\u0430\\u0445 \\u0438\\u043b\\u0438 \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u044c\\u0441\\u043a\\u0438\\u0445 ROMs?\",\"text\":\"<p>PMX \\u043e\\u043f\\u0438\\u0440\\u0430\\u0435\\u0442\\u0441\\u044f \\u043d\\u0430 \\u0441\\u043a\\u0440\\u044b\\u0442\\u044b\\u0435 API Android \\u0438\\u043b\\u0438 \\u043d\\u0435 SDK \\u0438\\u043d\\u0442\\u0435\\u0440\\u0444\\u0435\\u0439\\u0441\\u044b, \\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 \\u043d\\u0435 \\u0434\\u043e\\u043a\\u0443\\u043c\\u0435\\u043d\\u0442\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u044b (\\u043d\\u0430 \\u0440\\u0430\\u0437\\u0440\\u0430\\u0431\\u043e\\u0442\\u0447\\u0438\\u043a\\u0430\\u0445 Android) \\u0432 \\u043e\\u0442\\u043b\\u0438\\u0447\\u0438\\u0435 \\u043e\\u0442 \\u0441\\u0442\\u0430\\u043d\\u0434\\u0430\\u0440\\u0442\\u043d\\u044b\\u0445 API. \\u041f\\u043e\\u044d\\u0442\\u043e\\u043c\\u0443 \\u043d\\u0430\\u043c \\u043d\\u0443\\u0436\\u0435\\u043d \\u0434\\u043e\\u0441\\u0442\\u0443\\u043f \\u043a \\u0438\\u0441\\u0445\\u043e\\u0434\\u043d\\u043e\\u043c\\u0443 \\u043a\\u043e\\u0434\\u0443 \\u0432\\u0430\\u0448\\u0435\\u0433\\u043e ROM , \\u0447\\u0442\\u043e\\u0431\\u044b \\u0442\\u043e\\u0447\\u043d\\u043e \\u0437\\u043d\\u0430\\u0442\\u044c, \\u043a\\u0430\\u043a \\u0440\\u0430\\u0431\\u043e\\u0442\\u0430\\u044e\\u0442 \\u0441\\u043a\\u0440\\u044b\\u0442\\u044b\\u0435 API.</p> <p>\\u0427\\u0442\\u043e \\u0436, AOSP (\\u0440\\u0430\\u0437\\u0440\\u0430\\u0431\\u043e\\u0442\\u0430\\u043d\\u043d\\u044b\\u0439 Google) \\u044f\\u0432\\u043b\\u044f\\u0435\\u0442\\u0441\\u044f \\u043e\\u0442\\u043a\\u0440\\u044b\\u0442\\u044b\\u043c \\u0438\\u0441\\u0445\\u043e\\u0434\\u043d\\u044b\\u043c \\u043a\\u043e\\u0434\\u043e\\u043c. \\u041d\\u043e \\u0435\\u0441\\u043b\\u0438 \\u0432\\u0430\\u0448 OEM \\u0438\\u043b\\u0438 ROM \\u0434\\u0435\\u043b\\u0430\\u0435\\u0442 \\u043d\\u0435\\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u0438\\u044f \\u0432 AOSP \\u0434\\u043b\\u044f \\u0446\\u0435\\u043b\\u0435\\u0439 \\u043d\\u0430\\u0441\\u0442\\u0440\\u043e\\u0439\\u043a\\u0438, \\u043c\\u044b \\u043d\\u0435 \\u0437\\u043d\\u0430\\u0435\\u043c \\u0442\\u043e\\u0447\\u043d\\u043e, \\u043a\\u0430\\u043a\\u0438\\u0435 \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u0438\\u044f \\u043e\\u043d\\u0438 \\u0432\\u043d\\u0435\\u0441\\u043b\\u0438 \\u0432 \\u0441\\u0442\\u0430\\u043d\\u0434\\u0430\\u0440\\u0442\\u043d\\u044b\\u0439 \\u043a\\u043e\\u0434 AOSP. \\u041c\\u044b \\u0437\\u0434\\u0435\\u0441\\u044c \\u0431\\u0435\\u0441\\u043f\\u043e\\u043c\\u043e\\u0449\\u043d\\u044b. \\u0418 \\u044d\\u0442\\u043e\\u0442 \\u0444\\u0430\\u043a\\u0442 \\u043e\\u043f\\u0438\\u0441\\u0430\\u043d \\u0432 \\u043e\\u043f\\u0438\\u0441\\u0430\\u043d\\u0438\\u0438 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f \\u043d\\u0430 GitHub \\u0438 Play Store. \\u0418\\u0437\\u0432\\u0438\\u043d\\u0438\\u0442\\u0435.</p>\"},{\"location\":\"ru/faqs/#faq2\",\"title\":\"\\u041a\\u0430\\u043a PMX \\u0438\\u0437\\u043c\\u0435\\u043d\\u044f\\u0435\\u0442 \\u043f\\u0440\\u0430\\u0432\\u0430 \\u043d\\u0430 \\u0434\\u0440\\u0443\\u0433\\u0438\\u0435 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f?\",\"text\":\"<p>\\u0421\\u0430\\u043c PMX \\u043d\\u0435 \\u043c\\u043e\\u0436\\u0435\\u0442 \\u0438 \\u043d\\u0435 \\u043c\\u043e\\u0436\\u0435\\u0442 \\u043f\\u0440\\u0435\\u0434\\u043e\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044c \\u0438\\u043b\\u0438 \\u043e\\u0442\\u043e\\u0437\\u0432\\u0430\\u0442\\u044c \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u0434\\u0440\\u0443\\u0433\\u0438\\u0445 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439. \\u0424\\u0430\\u043a\\u0442\\u0438\\u0447\\u0435\\u0441\\u043a\\u0438, \\u043d\\u0438 \\u043e\\u0434\\u043d\\u043e \\u0441\\u0442\\u043e\\u0440\\u043e\\u043d\\u043d\\u0435\\u0435 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435 \\u043d\\u0435 \\u0438\\u043c\\u0435\\u0435\\u0442 \\u043f\\u0440\\u0430\\u0432\\u0430 \\u0441\\u0434\\u0435\\u043b\\u0430\\u0442\\u044c \\u044d\\u0442\\u043e. \\u042d\\u0442\\u043e \\u041e\\u0421 Android, \\u043a\\u043e\\u0442\\u043e\\u0440\\u0430\\u044f \\u0443\\u043f\\u0440\\u0430\\u0432\\u043b\\u044f\\u0435\\u0442 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f\\u043c\\u0438 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439. PMX \\u043f\\u0440\\u043e\\u0441\\u0442\\u043e \\u043e\\u0442\\u043f\\u0440\\u0430\\u0432\\u043b\\u044f\\u0435\\u0442 \\u0437\\u0430\\u043f\\u0440\\u043e\\u0441 \\u043d\\u0430 Android \\u0444\\u0440\\u0435\\u0439\\u043c\\u0432\\u043e\\u0440\\u043a \\u0434\\u043b\\u044f \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u0438\\u044f \\u0441\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u0438\\u044f \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f. \\u0422\\u0435\\u043f\\u0435\\u0440\\u044c \\u0432\\u0441\\u0435 \\u0437\\u0430\\u0432\\u0438\\u0441\\u0438\\u0442 \\u043e\\u0442 \\u041e\\u0421 Android, \\u043d\\u0430\\u0441\\u043a\\u043e\\u043b\\u044c\\u043a\\u043e \\u043e\\u043d\\u0430 \\u0432\\u044b\\u043f\\u043e\\u043b\\u043d\\u0438\\u0442 \\u043d\\u0430\\u0448 \\u0437\\u0430\\u043f\\u0440\\u043e\\u0441. \\u041d\\u0435 \\u0432\\u0441\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u0438\\u0437\\u043c\\u0435\\u043d\\u044f\\u044e\\u0442\\u0441\\u044f. \\u0418 \\u0435\\u0441\\u043b\\u0438 \\u0432\\u044b \\u043d\\u0435 \\u043c\\u043e\\u0436\\u0435\\u0442\\u0435 \\u0438\\u0437\\u043c\\u0435\\u043d\\u0438\\u0442\\u044c \\u0441\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u0438\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u0441 \\u043f\\u043e\\u043c\\u043e\\u0449\\u044c\\u044e PMX, \\u0432\\u044b \\u0442\\u0430\\u043a\\u0436\\u0435 \\u043d\\u0435 \\u0441\\u043c\\u043e\\u0436\\u0435\\u0442\\u0435 \\u0438\\u0437\\u043c\\u0435\\u043d\\u0438\\u0442\\u044c \\u0435\\u0433\\u043e \\u043a\\u0430\\u043a\\u0438\\u043c-\\u043b\\u0438\\u0431\\u043e \\u043e\\u0431\\u0440\\u0430\\u0437\\u043e\\u043c.</p>\"},{\"location\":\"ru/faqs/#faq34\",\"title\":\"\\u0420\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u043e\\u0441\\u0442\\u0430\\u044e\\u0442\\u0441\\u044f \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u043d\\u044b\\u043c\\u0438 \\u043f\\u043e\\u0441\\u043b\\u0435 \\u043e\\u0442\\u043a\\u043b\\u044e\\u0447\\u0435\\u043d\\u0438\\u044f ADB , \\u043b\\u0438\\u0431\\u043e \\u043f\\u0440\\u0430\\u0432\\u0430 \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u044f root \\u0437\\u0430\\u043f\\u0440\\u0435\\u0449\\u0435\\u043d\\u044b, \\u043b\\u0438\\u0431\\u043e PMX \\u0443\\u0434\\u0430\\u043b\\u044f\\u0435\\u0442\\u0441\\u044f?\",\"text\":\"<p>\\u0421\\u0430\\u043c PMX \\u043d\\u0435 \\u043c\\u043e\\u0436\\u0435\\u0442 \\u0438 \\u043d\\u0435 \\u043c\\u043e\\u0436\\u0435\\u0442 \\u043f\\u0440\\u0435\\u0434\\u043e\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044c \\u0438\\u043b\\u0438 \\u043e\\u0442\\u043e\\u0437\\u0432\\u0430\\u0442\\u044c \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u0434\\u0440\\u0443\\u0433\\u0438\\u0445 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439. \\u0424\\u0430\\u043a\\u0442\\u0438\\u0447\\u0435\\u0441\\u043a\\u0438, \\u043d\\u0438 \\u043e\\u0434\\u043d\\u043e \\u0441\\u0442\\u043e\\u0440\\u043e\\u043d\\u043d\\u0435\\u0435 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435 \\u043d\\u0435 \\u0438\\u043c\\u0435\\u0435\\u0442 \\u043f\\u0440\\u0430\\u0432\\u0430 \\u0441\\u0434\\u0435\\u043b\\u0430\\u0442\\u044c \\u044d\\u0442\\u043e. \\u042d\\u0442\\u043e \\u041e\\u0421 Android, \\u043a\\u043e\\u0442\\u043e\\u0440\\u0430\\u044f \\u0443\\u043f\\u0440\\u0430\\u0432\\u043b\\u044f\\u0435\\u0442 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f\\u043c\\u0438 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439. PMX \\u043f\\u0440\\u043e\\u0441\\u0442\\u043e \\u043e\\u0442\\u043f\\u0440\\u0430\\u0432\\u043b\\u044f\\u0435\\u0442 \\u0437\\u0430\\u043f\\u0440\\u043e\\u0441 \\u043d\\u0430 Android \\u0444\\u0440\\u0435\\u0439\\u043c\\u0432\\u043e\\u0440\\u043a \\u0434\\u043b\\u044f \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u0438\\u044f \\u0441\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u0438\\u044f \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f.</p> <p>\\u0422\\u0430\\u043a \\u0447\\u0442\\u043e, \\u043a\\u0430\\u043a \\u0442\\u043e\\u043b\\u044c\\u043a\\u043e \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435 \\u0438\\u0437\\u043c\\u0435\\u043d\\u0438\\u0442\\u0441\\u044f, \\u0443\\u0436\\u0435 \\u043d\\u0435 \\u0438\\u043c\\u0435\\u0435\\u0442 \\u0437\\u043d\\u0430\\u0447\\u0435\\u043d\\u0438\\u044f, \\u0443\\u0434\\u0430\\u043b\\u0438\\u0448\\u044c \\u043b\\u0438 \\u0442\\u044b PMX \\u0438\\u043b\\u0438 \\u043e\\u0442\\u043a\\u0430\\u0436\\u0435\\u0448\\u044c\\u0441\\u044f \\u043e\\u0442 \\u0435\\u0433\\u043e \\u043f\\u0440\\u0438\\u0432\\u0438\\u043b\\u0435\\u0433\\u0438\\u0439. \\u0420\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435 \\u043e\\u0441\\u0442\\u0430\\u043d\\u0435\\u0442\\u0441\\u044f \\u0432 \\u043b\\u044e\\u0431\\u043e\\u043c \\u0441\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u0438\\u0438, \\u0435\\u0441\\u043b\\u0438 \\u043e\\u043d\\u043e \\u0441\\u043d\\u043e\\u0432\\u0430 \\u043d\\u0435 \\u0431\\u0443\\u0434\\u0435\\u0442 \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u043e \\u0432\\u0430\\u043c\\u0438 \\u0438\\u043b\\u0438 \\u043e\\u043f\\u0435\\u0440\\u0430\\u0446\\u0438\\u043e\\u043d\\u043d\\u043e\\u0439 \\u0441\\u0438\\u0441\\u0442\\u0435\\u043c\\u043e\\u0439.</p>\"},{\"location\":\"ru/faqs/#faq15\",\"title\":\"\\u041f\\u043e\\u0447\\u0435\\u043c\\u0443 \\u044f \\u043d\\u0435 \\u043c\\u043e\\u0433\\u0443 \\u0438\\u0437\\u043c\\u0435\\u043d\\u0438\\u0442\\u044c \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435 XYZ?\",\"text\":\"<p>\\u0420\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u043c\\u0430\\u043d\\u0438\\u0444\\u0435\\u0441\\u0442\\u0430 \\u0442\\u043e\\u043b\\u044c\\u043a\\u043e \\u0441 \\u043e\\u043f\\u0430\\u0441\\u043d\\u044b\\u043c \\u0443\\u0440\\u043e\\u0432\\u043d\\u0435\\u043c \\u0437\\u0430\\u0449\\u0438\\u0442\\u044b (\\u0438 \\u043d\\u0435\\u0441\\u043a\\u043e\\u043b\\u044c\\u043a\\u0438\\u043c\\u0438 \\u0434\\u0440\\u0443\\u0433\\u0438\\u043c\\u0438) \\u043c\\u043e\\u0433\\u0443\\u0442 \\u0431\\u044b\\u0442\\u044c \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u044b. AppOps \\u043d\\u0435 \\u0437\\u0430\\u0432\\u0438\\u0441\\u0438\\u0442 \\u043e\\u0442 \\u043a\\u0430\\u043a\\u0438\\u0445-\\u0442\\u043e \\u0434\\u0440\\u0443\\u0433\\u0438\\u0445 AppOp \\u043c\\u043e\\u0433\\u0443\\u0442 \\u043c\\u0435\\u043d\\u044f\\u0442\\u044c\\u0441\\u044f. \\u0422\\u0430\\u043a \\u0440\\u0430\\u0431\\u043e\\u0442\\u0430\\u0435\\u0442 Android, \\u043c\\u044b \\u043d\\u0435 \\u043c\\u043e\\u0436\\u0435\\u043c \\u0438\\u0437\\u043c\\u0435\\u043d\\u0438\\u0442\\u044c \\u0435\\u0433\\u043e \\u043f\\u043e\\u0432\\u0435\\u0434\\u0435\\u043d\\u0438\\u0435. \\u0421\\u043c. Manifest \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u0438 AppOps.</p> <p>\\u041a\\u0440\\u043e\\u043c\\u0435 \\u0442\\u043e\\u0433\\u043e, PMX \\u0437\\u0430\\u0449\\u0438\\u0449\\u0430\\u0435\\u0442 \\u043d\\u0435\\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 \\u043a\\u0440\\u0438\\u0442\\u0438\\u0447\\u0435\\u0441\\u043a\\u0438\\u0435 \\u043a\\u0430\\u0440\\u043a\\u0430\\u0441\\u043d\\u044b\\u0435 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f \\u0438 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f; \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u0438\\u0435 \\u0438\\u0445 \\u043c\\u043e\\u0436\\u0435\\u0442 \\u043f\\u0440\\u0438\\u0432\\u0435\\u0441\\u0442\\u0438 \\u043a \\u0431\\u0440\\u0438\\u043a\\u0443 \\u0443\\u0441\\u0442\\u0440\\u043e\\u0439\\u0441\\u0442\\u0432\\u0430. \\u0421\\u043c. \\u0421\\u0432\\u044f\\u0437\\u0430\\u043d\\u043d\\u044b\\u0439 \\u0432\\u043e\\u043f\\u0440\\u043e\\u0441.</p> <p>\\u0422\\u0430\\u043a\\u0436\\u0435 \\u043f\\u043e\\u0441\\u043c\\u043e\\u0442\\u0440\\u0438\\u0442\\u0435 \\u041f\\u043e\\u0447\\u0435\\u043c\\u0443 \\u043d\\u0435\\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 AppOps \\u043d\\u0435 \\u043c\\u043e\\u0433\\u0443\\u0442 \\u0431\\u044b\\u0442\\u044c \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u044b?</p> <p>\\u041e\\u0431\\u0440\\u0430\\u0442\\u0438 \\u0432\\u043d\\u0438\\u043c\\u0430\\u043d\\u0438\\u0435, \\u0447\\u0442\\u043e \\u043d\\u0430\\u0447\\u0438\\u043d\\u0430\\u044f \\u0441 Android 15, \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f manifest \\u0441\\u0438\\u0441\\u0442\\u0435\\u043c\\u043d\\u044b\\u0445 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439 \\u0441 \\u0443\\u0440\\u043e\\u0432\\u043d\\u0435\\u043c \\u0437\\u0430\\u0449\\u0438\\u0442\\u044b \\u0420\\u0430\\u0437\\u0440\\u0430\\u0431\\u043e\\u0442\\u043a\\u0430 \\u043d\\u0435\\u043b\\u044c\\u0437\\u044f \\u043e\\u0442\\u043c\\u0435\\u043d\\u0438\\u0442\\u044c. Android \\u0431\\u0435\\u0437\\u0437\\u0432\\u0443\\u0447\\u043d\\u043e \\u0438\\u0433\\u043d\\u043e\\u0440\\u0438\\u0440\\u0443\\u0435\\u0442 \\u0437\\u0430\\u043f\\u0440\\u043e\\u0441.</p>\"},{\"location\":\"ru/faqs/#faq37\",\"title\":\"\\u042f \\u0438\\u0437\\u043c\\u0435\\u043d\\u0438\\u043b \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435, \\u043d\\u043e \\u044d\\u0442\\u043e \\u043d\\u0435 \\u0440\\u0430\\u0431\\u043e\\u0442\\u0430\\u0435\\u0442. \\u041f\\u043e\\u0447\\u0435\\u043c\\u0443?\",\"text\":\"<p>\\u0415\\u0441\\u043b\\u0438 \\u0432\\u044b \\u043d\\u0435 \\u043f\\u043e\\u043b\\u0443\\u0447\\u0430\\u0435\\u0442\\u0435 \\u0436\\u0435\\u043b\\u0430\\u0435\\u043c\\u044b\\u0445 \\u0440\\u0435\\u0437\\u0443\\u043b\\u044c\\u0442\\u0430\\u0442\\u043e\\u0432 \\u043f\\u043e\\u0441\\u043b\\u0435 \\u0443\\u0441\\u043f\\u0435\\u0448\\u043d\\u043e\\u0433\\u043e \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u0438\\u044f \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f, \\u0442.\\u0435. \\u0441\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u0438\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u0432\\u043e\\u0437\\u0432\\u0440\\u0430\\u0449\\u0430\\u0435\\u0442\\u0441\\u044f \\u0441\\u0440\\u0430\\u0437\\u0443 \\u0438\\u043b\\u0438 \\u0447\\u0435\\u0440\\u0435\\u0437 \\u043d\\u0435\\u0441\\u043a\\u043e\\u043b\\u044c\\u043a\\u043e \\u0447\\u0430\\u0441\\u043e\\u0432 \\u0438\\u043b\\u0438 \\u0434\\u043d\\u0435\\u0439, \\u0432 \\u044d\\u0442\\u043e\\u0439 \\u0441\\u0438\\u0442\\u0443\\u0430\\u0446\\u0438\\u0438 \\u0432\\u0438\\u043d\\u043e\\u0432\\u0430\\u0442\\u0430 \\u043e\\u043f\\u0435\\u0440\\u0430\\u0446\\u0438\\u043e\\u043d\\u043d\\u0430\\u044f \\u0441\\u0438\\u0441\\u0442\\u0435\\u043c\\u0430 Android. \\u041f\\u043e\\u0436\\u0430\\u043b\\u0443\\u0439\\u0441\\u0442\\u0430, \\u043f\\u043e\\u0441\\u043c\\u043e\\u0442\\u0440\\u0438\\u0442\\u0435:</p> <ul> <li>\\u041a\\u0430\\u043a PMX \\u0438\\u0437\\u043c\\u0435\\u043d\\u044f\\u0435\\u0442 \\u043f\\u0440\\u0430\\u0432\\u0430 \\u0434\\u043e\\u0441\\u0442\\u0443\\u043f\\u0430 \\u0434\\u0440\\u0443\\u0433\\u0438\\u0445 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439?</li> <li>\\u041f\\u043e\\u0447\\u0435\\u043c\\u0443 \\u043d\\u0435\\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 AppOps \\u043d\\u0435 \\u043c\\u043e\\u0433\\u0443\\u0442 \\u0431\\u044b\\u0442\\u044c \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u044b?</li> </ul> <p>\\u041f\\u043e \\u043c\\u0435\\u0440\\u0435 \\u0442\\u043e\\u0433\\u043e, \\u043a\\u0430\\u043a \\u0432\\u044b \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u0443\\u0435\\u0442\\u0435 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f, Android \\u043c\\u043e\\u0436\\u0435\\u0442 \\u0438\\u0437\\u043c\\u0435\\u043d\\u044f\\u0442\\u044c \\u0438\\u0445 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f. \\u0418, \\u043a \\u0441\\u043e\\u0436\\u0430\\u043b\\u0435\\u043d\\u0438\\u044e, \\u0443 \\u043d\\u0430\\u0441 \\u043d\\u0435\\u0442 \\u0441\\u043f\\u043e\\u0441\\u043e\\u0431\\u0430 \\u043f\\u0440\\u0435\\u0434\\u043e\\u0442\\u0432\\u0440\\u0430\\u0442\\u0438\\u0442\\u044c \\u044d\\u0442\\u043e. \\u041d\\u0430\\u0431\\u043b\\u044e\\u0434\\u0430\\u0442\\u0435\\u043b\\u044c \\u043f\\u0440\\u0430\\u0432 \\u0438 \\u0417\\u0430\\u043f\\u043b\\u0430\\u043d\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u043d\\u044b\\u0439 \\u0447\\u0435\\u043a \\u043c\\u043e\\u0433\\u0443\\u0442 \\u043f\\u043e\\u043c\\u043e\\u0447\\u044c \\u0432 \\u044d\\u0442\\u043e\\u043c \\u043e\\u0442\\u043d\\u043e\\u0448\\u0435\\u043d\\u0438\\u0438.</p>\"},{\"location\":\"ru/faqs/#faq3\",\"title\":\"\\u041f\\u043e\\u0447\\u0435\\u043c\\u0443 \\u043d\\u0435\\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 AppOps \\u043d\\u0435 \\u043c\\u043e\\u0433\\u0443\\u0442 \\u0431\\u044b\\u0442\\u044c \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u044b?\",\"text\":\"<p>\\u0418\\u043d\\u043e\\u0433\\u0434\\u0430 \\u0432\\u044b \\u0432\\u0438\\u0434\\u0438\\u0442\\u0435 \\\"AppOp \\u0440\\u0435\\u0436\\u0438\\u043c \\u043d\\u0435 \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\\". \\u042d\\u0442\\u043e \\u043e\\u0437\\u043d\\u0430\\u0447\\u0430\\u0435\\u0442, \\u0447\\u0442\\u043e Android \\u043e\\u0442\\u043a\\u043b\\u043e\\u043d\\u0438\\u043b \\u0437\\u0430\\u043f\\u0440\\u043e\\u0441 \\u043d\\u0430 \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u0438\\u0435 \\u0440\\u0435\\u0436\\u0438\\u043c\\u0430 AppOp. \\u0412\\u044b \\u043d\\u0435 \\u043c\\u043e\\u0436\\u0435\\u0442\\u0435 \\u0438\\u0437\\u043c\\u0435\\u043d\\u0438\\u0442\\u044c \\u044d\\u0442\\u043e \\u043d\\u0435\\u0437\\u0430\\u0432\\u0438\\u0441\\u0438\\u043c\\u043e \\u043e\\u0442 \\u0442\\u043e\\u0433\\u043e, \\u043a\\u0430\\u043a\\u043e\\u0439 \\u043c\\u0435\\u0442\\u043e\\u0434 \\u0438\\u043b\\u0438 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435 \\u0432\\u044b \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u0443\\u0435\\u0442\\u0435. \\u041c\\u043e\\u0436\\u0435\\u0442 \\u0431\\u044b\\u0442\\u044c \\u043d\\u0435\\u0441\\u043a\\u043e\\u043b\\u044c\\u043a\\u043e \\u0432\\u043e\\u0437\\u043c\\u043e\\u0436\\u043d\\u044b\\u0445 \\u043f\\u0440\\u0438\\u0447\\u0438\\u043d.</p> <ul> <li> <p>\\u041d\\u0435\\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 AppOps \\u0437\\u0430\\u0432\\u0438\\u0441\\u044f\\u0442 \\u043e\\u0442 \\u0438\\u0445 \\u0441\\u043e\\u043e\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0443\\u044e\\u0449\\u0438\\u0445 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439 manifest. \\u041f\\u043e\\u044d\\u0442\\u043e\\u043c\\u0443 \\u043e\\u043d\\u0438 \\u043d\\u0435 \\u043c\\u043e\\u0433\\u0443\\u0442 \\u0431\\u044b\\u0442\\u044c \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u044b \\u0441\\u0430\\u043c\\u043e\\u0441\\u0442\\u043e\\u044f\\u0442\\u0435\\u043b\\u044c\\u043d\\u043e. \\u041d\\u0430\\u043f\\u0440\\u0438\\u043c\\u0435\\u0440, \\u0432\\u044b \\u043d\\u0435 \\u043c\\u043e\\u0436\\u0435\\u0442\\u0435 \\u043e\\u0442\\u043a\\u043b\\u043e\\u043d\\u0438\\u0442\\u044c <code>READ_CONTACTS</code> AppOp , \\u0435\\u0441\\u043b\\u0438 \\u043f\\u0440\\u0435\\u0434\\u043e\\u0441\\u0442\\u0430\\u0432\\u043b\\u0435\\u043d\\u043e \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435 <code>android.permission.READ_CONTACTS</code> manifest.</p> <p>\\u0422\\u0430\\u043a\\u0436\\u0435 \\u0435\\u0441\\u043b\\u0438 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435 \\u043d\\u0435 \\u0437\\u0430\\u043f\\u0440\\u0430\\u0448\\u0438\\u0432\\u0430\\u0435\\u0442 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435 manifest \\u0432 \\u0444\\u0430\\u0439\\u043b\\u0435 manifest , \\u0435\\u0433\\u043e \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435 AppOp \\u0442\\u0430\\u043a\\u0436\\u0435 \\u043d\\u0435 \\u043c\\u043e\\u0436\\u0435\\u0442 \\u0431\\u044b\\u0442\\u044c \\u043f\\u0440\\u0435\\u0434\\u043e\\u0441\\u0442\\u0430\\u0432\\u043b\\u0435\\u043d\\u043e. \\u041d\\u043e \\u043e\\u043d \\u0432\\u0441\\u0435 \\u0435\\u0449\\u0435 \\u043c\\u043e\\u0436\\u0435\\u0442 \\u043f\\u043e\\u044f\\u0432\\u0438\\u0442\\u044c\\u0441\\u044f \\u0432 \\u0441\\u043f\\u0438\\u0441\\u043a\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f, \\u0435\\u0441\\u043b\\u0438 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435 \\u043f\\u043e\\u043f\\u044b\\u0442\\u0430\\u043b\\u043e\\u0441\\u044c \\u0435\\u0433\\u043e \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u044c (\\u0438 \\u043f\\u043e\\u043b\\u0443\\u0447\\u0438\\u043b\\u043e \\u043e\\u0442\\u043a\\u043b\\u043e\\u043d\\u0435\\u043d\\u0438\\u0435). <code>SYSTEM_ALERT_WINDOW</code> \\u2014 \\u044d\\u0442\\u043e \\u043e\\u0434\\u0438\\u043d \\u0438\\u0437 \\u0442\\u0430\\u043a\\u0438\\u0445 \\u043f\\u0440\\u0438\\u043c\\u0435\\u0440\\u043e\\u0432.</p> </li> <li> <p>\\u041d\\u0435\\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 AppOps \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u0443\\u044e\\u0442\\u0441\\u044f \\u0442\\u043e\\u043b\\u044c\\u043a\\u043e \\u0434\\u043b\\u044f \\u0441\\u043e\\u0432\\u043c\\u0435\\u0441\\u0442\\u0438\\u043c\\u043e\\u0441\\u0442\\u0438 (\\u043d\\u0430\\u043f\\u0440\\u0438\\u043c\\u0435\\u0440, <code>LEGACY_STORAGE</code>) \\u0438 \\u043d\\u0430 \\u0441\\u0430\\u043c\\u043e\\u043c \\u0434\\u0435\\u043b\\u0435 \\u043e\\u043d\\u0438 \\u043d\\u0438\\u0447\\u0435\\u0433\\u043e \\u043d\\u0435 \\u043a\\u043e\\u043d\\u0442\\u0440\\u043e\\u043b\\u0438\\u0440\\u0443\\u044e\\u0442. \\u0415\\u0441\\u043b\\u0438 \\u043c\\u044b \\u0438\\u0441\\u0441\\u043b\\u0435\\u0434\\u0443\\u0435\\u043c \\u0438\\u0445 \\u043e\\u0441\\u043d\\u043e\\u0432\\u043d\\u0443\\u044e \\u0440\\u0430\\u0431\\u043e\\u0442\\u0443, \\u0432\\u044b\\u044f\\u0441\\u043d\\u0438\\u0442\\u0441\\u044f, \\u0447\\u0442\\u043e \\u043f\\u0440\\u0435\\u0434\\u043e\\u0441\\u0442\\u0430\\u0432\\u043b\\u0435\\u043d\\u0438\\u0435/\\u043e\\u0442\\u043c\\u0435\\u043d\\u0430 \\u0442\\u0430\\u043a\\u0438\\u0445 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439 \\u043d\\u0435 \\u0438\\u043c\\u0435\\u0435\\u0442 \\u0441\\u043c\\u044b\\u0441\\u043b\\u0430.</p> </li> <li> <p>\\u041d\\u0435\\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u043d\\u0435\\u0432\\u043e\\u0437\\u043c\\u043e\\u0436\\u043d\\u043e \\u0438\\u0437\\u043c\\u0435\\u043d\\u0438\\u0442\\u044c, \\u0435\\u0441\\u043b\\u0438 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435 \\u0440\\u0430\\u0431\\u043e\\u0442\\u0430\\u0435\\u0442 \\u043d\\u0430 \\u0431\\u043e\\u043b\\u0435\\u0435 \\u0441\\u0442\\u0430\\u0440\\u043e\\u0439 \\u0438\\u043b\\u0438 \\u043d\\u043e\\u0432\\u043e\\u0439 \\u0432\\u0435\\u0440\\u0441\\u0438\\u0438 Android \\u0438\\u043b\\u0438 \\u043f\\u0440\\u0435\\u0434\\u043d\\u0430\\u0437\\u043d\\u0430\\u0447\\u0435\\u043d\\u043e \\u0434\\u043b\\u044f \\u043d\\u0435\\u0435.</p> </li> <li> <p>\\u041d\\u0435\\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 OEM ROMs \\u0432\\u0435\\u0434\\u0443\\u0442 \\u0441\\u0435\\u0431\\u044f \\u0441\\u0442\\u0440\\u0430\\u043d\\u043d\\u043e, \\u043a\\u043e\\u0433\\u0434\\u0430 \\u0434\\u0435\\u043b\\u043e \\u0434\\u043e\\u0445\\u043e\\u0434\\u0438\\u0442 \\u0434\\u043e AppOps. \\u0421\\u043c. \\u041f\\u043e\\u0447\\u0435\\u043c\\u0443 PMX \\u043d\\u0435 \\u0440\\u0430\\u0431\\u043e\\u0442\\u0430\\u0435\\u0442 \\u043f\\u0440\\u0430\\u0432\\u0438\\u043b\\u044c\\u043d\\u043e \\u043d\\u0430 OEM \\u043e\\u043f\\u0435\\u0440\\u0430\\u0446\\u0438\\u043e\\u043d\\u043d\\u044b\\u0445 \\u0441\\u0438\\u0441\\u0442\\u0435\\u043c\\u0430\\u0445 \\u0438\\u043b\\u0438 \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u044c\\u0441\\u043a\\u0438\\u0445 ROMs?</p> </li> <li> <p>\\u041c\\u043d\\u043e\\u0433\\u0438\\u0435 AppOps \\u043c\\u043e\\u0433\\u0443\\u0442 \\u0438\\u043c\\u0435\\u0442\\u044c 2 \\u0440\\u0435\\u0436\\u0438\\u043c\\u0430: \\u0440\\u0435\\u0436\\u0438\\u043c \\u043f\\u0430\\u043a\\u0435\\u0442\\u043e\\u0432 \\u0438 \\u0440\\u0435\\u0436\\u0438\\u043c UID. \\u0412\\u043f\\u043e\\u043b\\u043d\\u0435 \\u0432\\u043e\\u0437\\u043c\\u043e\\u0436\\u043d\\u043e, \\u0447\\u0442\\u043e \\u043e\\u0434\\u043d\\u043e \\u043c\\u043e\\u0436\\u043d\\u043e \\u0438\\u0437\\u043c\\u0435\\u043d\\u0438\\u0442\\u044c, \\u0430 \\u0434\\u0440\\u0443\\u0433\\u043e\\u0435 \\u043d\\u0435\\u043b\\u044c\\u0437\\u044f.</p> <p>\\u041e\\u0431\\u044b\\u0447\\u043d\\u043e UID AppOps \\u0438\\u043c\\u0435\\u0435\\u0442 \\u043f\\u0440\\u0438\\u043e\\u0440\\u0438\\u0442\\u0435\\u0442 \\u043d\\u0430\\u0434 \\u0441\\u0432\\u043e\\u0438\\u043c\\u0438 \\u0430\\u043d\\u0430\\u043b\\u043e\\u0433\\u0430\\u043c\\u0438 \\u043f\\u0430\\u043a\\u0435\\u0442\\u0430 AppOp. \\u0412 \\u044d\\u0442\\u043e\\u043c \\u0441\\u043b\\u0443\\u0447\\u0430\\u0435 \\u044d\\u0444\\u0444\\u0435\\u043a\\u0442\\u0438\\u0432\\u043d\\u044b\\u0439 \\u0440\\u0435\\u0436\\u0438\\u043c AppOp \\u0442\\u0430\\u043a\\u043e\\u0439 \\u0436\\u0435, \\u043a\\u0430\\u043a \\u0443 \\u043f\\u0430\\u043a\\u0435\\u0442\\u0430 UID AppOps. \\u0422\\u0430\\u043a \\u0447\\u0442\\u043e \\u0442\\u044b \\u043d\\u0435 \\u043c\\u043e\\u0436\\u0435\\u0448\\u044c \\u0438\\u0437\\u043c\\u0435\\u043d\\u0438\\u0442\\u044c \\u0442\\u043e\\u043b\\u044c\\u043a\\u043e \\u043f\\u0430\\u043a\\u0435\\u0442 AppOp .</p> <p>\\u041d\\u0435\\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 AppOps \\u043f\\u0440\\u0435\\u0434\\u043f\\u043e\\u0447\\u0438\\u0442\\u0430\\u044e\\u0442 \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u0438\\u0442\\u044c \\u0432 \\u0440\\u0435\\u0436\\u0438\\u043c\\u0435 \\u043f\\u0430\\u043a\\u0435\\u0442\\u0430, \\u0430 \\u043d\\u0435 \\u0432 \\u0440\\u0435\\u0436\\u0438\\u043c\\u0435 UID. \\u041d\\u043e \\u0435\\u0441\\u043b\\u0438 \\u043e\\u043d \\u043d\\u0435\\u043f\\u0440\\u0430\\u0432\\u0438\\u043b\\u044c\\u043d\\u043e \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043b\\u0435\\u043d \\u0432 UID \\u0440\\u0435\\u0436\\u0438\\u043c\\u0435 (\\u0441 \\u043f\\u043e\\u043c\\u043e\\u0449\\u044c\\u044e \\u0438\\u043d\\u0441\\u0442\\u0440\\u0443\\u043c\\u0435\\u043d\\u0442\\u0430 \\u043a\\u043e\\u043c\\u0430\\u043d\\u0434\\u043d\\u043e\\u0439 \\u0441\\u0442\\u0440\\u043e\\u043a\\u0438 \\u0438\\u043b\\u0438 \\u0434\\u0440\\u0443\\u0433\\u0438\\u043c \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435\\u043c), \\u043e\\u043d \\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u0438\\u0442\\u0441\\u044f \\u043d\\u0435 \\u043e\\u0442\\u0432\\u0435\\u0447\\u0430\\u044e\\u0449\\u0438\\u043c \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u0438\\u044f\\u043c. \\u041d\\u0430\\u0436\\u043c\\u0438 \\u00ab\\u0421\\u0431\\u0440\\u043e\\u0441\\u0438\\u0442\\u044c AppOps\\u00bb \\u0432 \\u043f\\u0440\\u0430\\u0432\\u043e\\u043c \\u0432\\u0435\\u0440\\u0445\\u043d\\u0435\\u043c \\u0443\\u0433\\u043b\\u0443, \\u0447\\u0442\\u043e\\u0431\\u044b \\u0432\\u0441\\u0451 \\u0441\\u043d\\u043e\\u0432\\u0430 \\u0437\\u0430\\u0440\\u0430\\u0431\\u043e\\u0442\\u0430\\u043b\\u043e. \\u042d\\u0442\\u043e \\u0442\\u0430\\u043a\\u0436\\u0435 \\u0441\\u043b\\u0443\\u0447\\u0430\\u0439 \\u0441 \\u0434\\u0440\\u0443\\u0433\\u0438\\u043c\\u0438 AppOps , \\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 \\u0438\\u043c\\u0435\\u044e\\u0442 \\u0441\\u043e\\u043e\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0443\\u044e\\u0449\\u0435\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435 manifest \\u043d\\u0430 AppOp \\u0443\\u0440\\u043e\\u0432\\u0435\\u043d\\u044c \\u0437\\u0430\\u0449\\u0438\\u0442\\u044b.</p> </li> </ul> <p>\\u041d\\u0430 \\u0441\\u0430\\u043c\\u043e\\u043c \\u0434\\u0435\\u043b\\u0435, \\u0435\\u0441\\u043b\\u0438 \\u043c\\u044b \\u0438\\u0441\\u0441\\u043b\\u0435\\u0434\\u0443\\u0435\\u043c \\u043a\\u0430\\u0436\\u0434\\u043e\\u0435 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435 \\u0438 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435 \\u043f\\u043e \\u043e\\u0442\\u0434\\u0435\\u043b\\u044c\\u043d\\u043e\\u0441\\u0442\\u0438, \\u0442\\u043e \\u043c\\u044b \\u043f\\u043e\\u043b\\u0443\\u0447\\u0438\\u043c \\u0435\\u0449\\u0435 \\u043c\\u043d\\u043e\\u0433\\u043e \\u043e\\u0431\\u044a\\u044f\\u0441\\u043d\\u0435\\u043d\\u0438\\u0439 (\\u0447\\u0442\\u043e \\u0437\\u0432\\u0443\\u0447\\u0438\\u0442 \\u043d\\u0435\\u043f\\u0440\\u0430\\u043a\\u0442\\u0438\\u0447\\u043d\\u043e). \\u041a\\u0430\\u043a \\u0443\\u0436\\u0435 \\u0433\\u043e\\u0432\\u043e\\u0440\\u0438\\u043b\\u043e\\u0441\\u044c \\u0432\\u044b\\u0448\\u0435, PMX \\u0441\\u0430\\u043c\\u043e\\u0441\\u0442\\u043e\\u044f\\u0442\\u0435\\u043b\\u044c\\u043d\\u043e \\u043d\\u0435 \\u043c\\u0435\\u043d\\u044f\\u0435\\u0442 \\u043f\\u0440\\u0430\\u0432\\u0430 \\u0434\\u0440\\u0443\\u0433\\u0438\\u0445 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439. \\u0422\\u0430\\u043a\\u0438\\u043c \\u043e\\u0431\\u0440\\u0430\\u0437\\u043e\\u043c, \\u0434\\u0430\\u0436\\u0435 \\u0435\\u0441\\u043b\\u0438 \\u043f\\u043e \\u043a\\u0430\\u043a\\u043e\\u0439-\\u0442\\u043e \\u043d\\u0435\\u0438\\u0437\\u0432\\u0435\\u0441\\u0442\\u043d\\u043e\\u0439 \\u043f\\u0440\\u0438\\u0447\\u0438\\u043d\\u0435 Android \\u043d\\u0435 \\u043c\\u0435\\u043d\\u044f\\u0435\\u0442 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435 \\u0438\\u043b\\u0438 \\u0441\\u0440\\u0430\\u0437\\u0443 \\u0436\\u0435 \\u0432\\u043e\\u0437\\u0432\\u0440\\u0430\\u0449\\u0430\\u0435\\u0442 \\u0435\\u0433\\u043e \\u043e\\u0431\\u0440\\u0430\\u0442\\u043d\\u043e, \\u043c\\u044b \\u043d\\u0438\\u0447\\u0435\\u0433\\u043e \\u043d\\u0435 \\u043c\\u043e\\u0436\\u0435\\u043c \\u0441\\u0434\\u0435\\u043b\\u0430\\u0442\\u044c, \\u0447\\u0442\\u043e\\u0431\\u044b \\u0437\\u0430\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044c \\u0435\\u0433\\u043e, \\u043f\\u043e\\u0442\\u043e\\u043c\\u0443 \\u0447\\u0442\\u043e \\u044d\\u0442\\u043e \\u043e\\u0433\\u0440\\u0430\\u043d\\u0438\\u0447\\u0435\\u043d\\u0438\\u044f \\u0441\\u043e \\u0441\\u0442\\u043e\\u0440\\u043e\\u043d\\u044b Android. \\u0421\\u043a\\u043e\\u0440\\u0435\\u0435 \\u0432\\u0441\\u0435\\u0433\\u043e, \\u044f \\u0434\\u043e\\u043b\\u0436\\u0435\\u043d \\u0441\\u043a\\u0430\\u0437\\u0430\\u0442\\u044c, \\u0447\\u0442\\u043e \\u0438\\u043c\\u0435\\u043d\\u043d\\u043e \\u0442\\u0430\\u043a \\u0440\\u0430\\u0431\\u043e\\u0442\\u0430\\u0435\\u0442 Android.</p> <p>\\u0422\\u0430\\u043a\\u0436\\u0435:</p> <ul> <li>\\u0427\\u0442\\u043e \\u0442\\u0430\\u043a\\u043e\\u0435 AppOp \\u0440\\u0435\\u0436\\u0438\\u043c\\u044b \\u0438 \\u043a\\u0430\\u043a\\u0438\\u0435 \\u044f \\u0434\\u043e\\u043b\\u0436\\u0435\\u043d \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u044c?</li> <li>\\u041f\\u043e\\u0447\\u0435\\u043c\\u0443 \\u044f \\u043d\\u0435 \\u043c\\u043e\\u0433\\u0443 \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u0438\\u0442\\u044c \\u0440\\u0435\\u0436\\u0438\\u043c AppOp \\u043d\\u0430 \\u043f\\u0435\\u0440\\u0435\\u0434\\u043d\\u0438\\u0439 \\u043f\\u043b\\u0430\\u043d?</li> </ul>\"},{\"location\":\"ru/faqs/#faq6\",\"title\":\"\\u041f\\u043e\\u0447\\u0435\\u043c\\u0443 \\u0432 \\u0441\\u043f\\u0438\\u0441\\u043a\\u0435 \\u043f\\u0430\\u043a\\u0435\\u0442\\u043e\\u0432 \\u044f \\u043d\\u0435 \\u0432\\u0438\\u0436\\u0443 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435 XYZ?\",\"text\":\"<p>\\u041f\\u043e\\u0436\\u0430\\u043b\\u0443\\u0439\\u0441\\u0442\\u0430, \\u043f\\u0440\\u043e\\u0432\\u0435\\u0440\\u044c\\u0442\\u0435 \\u0418\\u0441\\u043a\\u043b\\u044e\\u0447\\u0438\\u0442\\u0435\\u043b\\u044c\\u043d\\u044b\\u0435 \\u0444\\u0438\\u043b\\u044c\\u0442\\u0440\\u044b. \\u041f\\u043e \\u0443\\u043c\\u043e\\u043b\\u0447\\u0430\\u043d\\u0438\\u044e \\u043f\\u0440\\u0430\\u043a\\u0442\\u0438\\u0447\\u0435\\u0441\\u043a\\u0438 \\u0432\\u0441\\u0435 \\u0441\\u0442\\u0430\\u043d\\u0434\\u0430\\u0440\\u0442\\u043d\\u044b\\u0435 Android \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f \\u0438\\u0441\\u043a\\u043b\\u044e\\u0447\\u0435\\u043d\\u044b. \\u0412\\u044b \\u043c\\u043e\\u0436\\u0435\\u0442\\u0435 \\u0438\\u0441\\u043a\\u043b\\u044e\\u0447\\u0438\\u0442\\u044c/\\u0432\\u043a\\u043b\\u044e\\u0447\\u0438\\u0442\\u044c \\u043b\\u044e\\u0431\\u043e\\u0439 \\u043f\\u0430\\u043a\\u0435\\u0442, \\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0439 \\u0445\\u043e\\u0442\\u0438\\u0442\\u0435 \\u0438\\u0437/\\u0432 \\u0441\\u043f\\u0438\\u0441\\u043a\\u0435 \\u0432\\u0438\\u0434\\u0438\\u043c\\u044b\\u0445.</p>\"},{\"location\":\"ru/faqs/#faq7\",\"title\":\"\\u041f\\u043e\\u0447\\u0435\\u043c\\u0443 \\u044f \\u043d\\u0435 \\u0432\\u0438\\u0436\\u0443 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435 XYZ \\u0432 \\u043f\\u0430\\u043a\\u0435\\u0442\\u0435 ABC?\",\"text\":\"<p>\\u041f\\u043e\\u0436\\u0430\\u043b\\u0443\\u0439\\u0441\\u0442\\u0430, \\u043f\\u0440\\u043e\\u0432\\u0435\\u0440\\u044c\\u0442\\u0435 \\u0418\\u0441\\u043a\\u043b\\u044e\\u0447\\u0438\\u0442\\u0435\\u043b\\u044c\\u043d\\u044b\\u0435 \\u0444\\u0438\\u043b\\u044c\\u0442\\u0440\\u044b. \\u0420\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f, \\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 \\u043d\\u0435 \\u043c\\u043e\\u0433\\u0443\\u0442 \\u0431\\u044b\\u0442\\u044c \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u044b, \\u0438\\u0441\\u043a\\u043b\\u044e\\u0447\\u0430\\u044e\\u0442\\u0441\\u044f \\u0438\\u0437 \\u0441\\u043f\\u0438\\u0441\\u043a\\u0430 \\u0432\\u0438\\u0434\\u0438\\u043c\\u044b\\u0445 \\u043f\\u043e \\u0443\\u043c\\u043e\\u043b\\u0447\\u0430\\u043d\\u0438\\u044e.</p>\"},{\"location\":\"ru/faqs/#faq8\",\"title\":\"\\u041f\\u043e\\u0447\\u0435\\u043c\\u0443 \\u044f \\u043d\\u0435 \\u0432\\u0438\\u0436\\u0443 XYZ AppOp \\u0432 \\u043f\\u0430\\u043a\\u0435\\u0442\\u0435 ABC?\",\"text\":\"<p>\\u041f\\u043e\\u0436\\u0430\\u043b\\u0443\\u0439\\u0441\\u0442\\u0430, \\u043f\\u0440\\u043e\\u0432\\u0435\\u0440\\u044c\\u0442\\u0435 \\u0424\\u0438\\u043b\\u044c\\u0442\\u0440\\u044b \\u0438\\u0441\\u043a\\u043b\\u044e\\u0447\\u0435\\u043d\\u0438\\u0439, \\u0435\\u0441\\u043b\\u0438 XYZ AppOp \\u0438\\u0441\\u043a\\u043b\\u044e\\u0447\\u0435\\u043d\\u0430 \\u0438\\u0437 \\u0432\\u0438\\u0434\\u0438\\u043c\\u043e\\u0433\\u043e \\u0441\\u043f\\u0438\\u0441\\u043a\\u0430. \\u0418\\u043b\\u0438 \\u0436\\u0435 \\u043f\\u0430\\u043a\\u0435\\u0442 ABC \\u043c\\u043e\\u0436\\u0435\\u0442 \\u043d\\u0435 \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u044c \\u043e\\u043f\\u0435\\u0440\\u0430\\u0446\\u0438\\u044e XYZ. \\u0412\\u0430\\u043c \\u043d\\u0435 \\u043d\\u0443\\u0436\\u043d\\u043e \\u0431\\u0435\\u0441\\u043f\\u043e\\u043a\\u043e\\u0438\\u0442\\u044c\\u0441\\u044f \\u043e\\u0431 \\u044d\\u0442\\u043e\\u043c.</p> <p>\\u041d\\u043e \\u0435\\u0441\\u043b\\u0438 \\u0432\\u044b \\u0445\\u043e\\u0442\\u0438\\u0442\\u0435 \\u0443\\u0432\\u0438\\u0434\\u0435\\u0442\\u044c XYZ AppOp \\u0434\\u043b\\u044f \\u0432\\u0441\\u0435\\u0445 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439, \\u043f\\u0435\\u0440\\u0435\\u0439\\u0434\\u0438\\u0442\\u0435 \\u0432 Exclusion Filters \\u2192 Extra AppOps, \\u043d\\u0438\\u043a\\u043e\\u0433\\u0434\\u0430 \\u043d\\u0435 \\u0438\\u0441\\u043a\\u043b\\u044e\\u0447\\u0430\\u044e\\u0442 \\u0438 \\u043f\\u0440\\u043e\\u0432\\u0435\\u0440\\u044c\\u0442\\u0435 \\u0432 \\u0441\\u043f\\u0438\\u0441\\u043a\\u0435 XYZ AppOp.</p> <p>\\u041d\\u0430\\u043f\\u0440\\u0438\\u043c\\u0435\\u0440, \\u041d\\u0430\\u043f\\u0438\\u0448\\u0438\\u0442\\u0435 <code>_CLIPBOARD</code> \\u0432 \\u043f\\u043e\\u043b\\u0435 \\u043f\\u043e\\u0438\\u0441\\u043a\\u0430 (\\u0441 \\u0413\\u043b\\u0443\\u0431\\u043e\\u043a\\u0438\\u043c \\u043f\\u043e\\u0438\\u0441\\u043a\\u043e\\u043c \\u043e\\u0442\\u043c\\u0435\\u0447\\u0435\\u043d\\u043e), \\u0438 \\u0432\\u044b \\u043f\\u043e\\u043b\\u0443\\u0447\\u0438\\u0442\\u0435 \\u0432\\u0441\\u0435 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f, \\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u043b\\u0438\\u0441\\u044c (\\u0438\\u043b\\u0438 \\u043f\\u044b\\u0442\\u0430\\u043b\\u0438\\u0441\\u044c \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u044c) <code>READ_CLIPBOARD</code> \\u0438\\u043b\\u0438 <code>WRITE_CLIPBOARD</code> \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435. \\u0412\\u0440\\u0435\\u043c\\u0435\\u043d\\u043d\\u0430\\u044f \\u043c\\u0435\\u0442\\u043a\\u0430 \\u0442\\u0430\\u043a\\u0436\\u0435 \\u043f\\u043e\\u043a\\u0430\\u0437\\u0430\\u043d\\u0430 (\\u043d\\u043e \\u043d\\u0435 \\u0434\\u043b\\u044f \\u0432\\u0441\\u0435\\u0445 AppOps).</p> <p>So if the app you are concerned about isn't in the search results, check both AppOps in the Exclusion Filters list mentioned above.</p>\"},{\"location\":\"ru/faqs/#faq5\",\"title\":\"\\u0427\\u0442\\u043e \\u043c\\u043d\\u0435 \\u0441\\u043b\\u0435\\u0434\\u0443\\u0435\\u0442 \\u0432\\u044b\\u0431\\u0440\\u0430\\u0442\\u044c \\u0434\\u043b\\u044f UID \\u043f\\u0440\\u0438\\u0432\\u0438\\u043b\\u0435\\u0433\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u043d\\u043e\\u0433\\u043e \\u0434\\u0435\\u043c\\u043e\\u043d\\u0430 \\u0432 \\u0440\\u0430\\u0441\\u0448\\u0438\\u0440\\u0435\\u043d\\u043d\\u044b\\u0445 \\u043d\\u0430\\u0441\\u0442\\u0440\\u043e\\u0439\\u043a\\u0430\\u0445? \\u0421\\u0438\\u0441\\u0442\\u0435\\u043c\\u0430 \\u0438\\u043b\\u0438 ADB?\",\"text\":\"<p>\\u042d\\u0442\\u043e \\u0432\\u0430\\u0436\\u043d\\u043e, \\u0442\\u043e\\u043b\\u044c\\u043a\\u043e \\u0435\\u0441\\u043b\\u0438 \\u0432\\u044b \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u0443\\u0435\\u0442\\u0435 root, \\u0438\\u043b\\u0438 <code>adbd</code> \\u043d\\u0430 \\u0432\\u0430\\u0448\\u0435\\u043c \\u0443\\u0441\\u0442\\u0440\\u043e\\u0439\\u0441\\u0442\\u0432\\u0435 \\u0437\\u0430\\u043f\\u0443\\u0449\\u0435\\u043d \\u0441 \\u043f\\u0440\\u0430\\u0432\\u0430\\u043c\\u0438 root (\\u044d\\u0442\\u043e \\u043d\\u0435 \\u0442\\u0430\\u043a, \\u043a\\u0430\\u043a \\u0432 \\u043a\\u043e\\u043d\\u0435\\u0447\\u043d\\u044b\\u0445 \\u0443\\u0441\\u0442\\u0440\\u043e\\u0439\\u0441\\u0442\\u0432\\u0430\\u0445 \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u044f).</p> <p>\\u041f\\u0440\\u0435\\u0434\\u043f\\u043e\\u0447\\u0442\\u0438\\u0442\\u0435\\u043b\\u044c\\u043d\\u043e \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u0443\\u0439\\u0442\\u0435 System (UID <code>1000</code>), \\u0442\\u0430\\u043a \\u043a\\u0430\\u043a \\u044d\\u0442\\u043e \\u043f\\u043e\\u0437\\u0432\\u043e\\u043b\\u044f\\u0435\\u0442 \\u0431\\u043e\\u043b\\u044c\\u0448\\u0435 \\u043f\\u0440\\u0438\\u0432\\u0438\\u043b\\u0435\\u0433\\u0438\\u0439, \\u0447\\u0435\\u043c ADB (UID <code>2000</code>). \\u041d\\u0430\\u043f\\u0440\\u0438\\u043c\\u0435\\u0440, \\u0418\\u0437\\u043c\\u0435\\u043d\\u0438\\u0442\\u044c \\u043f\\u0440\\u0430\\u0432\\u0430 \\u0434\\u043e\\u0441\\u0442\\u0443\\u043f\\u0430 \\u00abSystem-Fixed\\u00bb \\u043c\\u043e\\u0436\\u043d\\u043e \\u0442\\u043e\\u043b\\u044c\\u043a\\u043e, \\u0435\\u0441\\u043b\\u0438 \\u0442\\u044b \\u0437\\u0430\\u043f\\u0443\\u0449\\u0435\\u043d \\u043a\\u0430\\u043a \\u0441\\u0438\\u0441\\u0442\\u0435\\u043c\\u0430.</p>\"},{\"location\":\"ru/faqs/#faq9\",\"title\":\"\\u0427\\u0442\\u043e \\u0442\\u0430\\u043a\\u043e\\u0435 \\u00ab\\u043d\\u0435\\u0434\\u043e\\u043f\\u0443\\u0441\\u0442\\u0438\\u043c\\u044b\\u0435 \\u043f\\u0440\\u0430\\u0432\\u0430\\u00bb \\u0432 \\u0424\\u0438\\u043b\\u044c\\u0442\\u0440\\u0430\\u0445 \\u0438\\u0441\\u043a\\u043b\\u044e\\u0447\\u0435\\u043d\\u0438\\u0439?\",\"text\":\"<p>\\u0415\\u0441\\u043b\\u0438 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435 \\u0437\\u0430\\u043f\\u0440\\u0430\\u0448\\u0438\\u0432\\u0430\\u0435\\u0442 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435 manifest , \\u043d\\u043e \\u043e\\u043d\\u043e \\u043d\\u0435 \\u043e\\u0431\\u044a\\u044f\\u0432\\u043b\\u0435\\u043d\\u043e (\\u043f\\u0440\\u0435\\u0434\\u043e\\u0441\\u0442\\u0430\\u0432\\u043b\\u0435\\u043d\\u043e) \\u0444\\u0440\\u0435\\u0439\\u043c\\u0432\\u043e\\u0440\\u043a\\u043e\\u043c Android \\u0438\\u043b\\u0438 \\u043b\\u044e\\u0431\\u044b\\u043c \\u0438\\u0437 \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043b\\u0435\\u043d\\u043d\\u044b\\u0445 \\u043f\\u0430\\u043a\\u0435\\u0442\\u043e\\u0432, \\u044d\\u0442\\u043e \\u043d\\u0435\\u0432\\u0435\\u0440\\u043d\\u043e\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435. \\u041d\\u0430\\u043f\\u0440\\u0438\\u043c\\u0435\\u0440, <code>com.android.vending.BILLING</code> \\u044f\\u0432\\u043b\\u044f\\u0435\\u0442\\u0441\\u044f \\u043d\\u0435\\u0434\\u043e\\u043f\\u0443\\u0441\\u0442\\u0438\\u043c\\u044b\\u043c \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435\\u043c, \\u0435\\u0441\\u043b\\u0438 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435 Play Store \\u043d\\u0435 \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043b\\u0435\\u043d\\u043e \\u043d\\u0430 \\u0432\\u0430\\u0448\\u0435\\u043c \\u0443\\u0441\\u0442\\u0440\\u043e\\u0439\\u0441\\u0442\\u0432\\u0435.</p>\"},{\"location\":\"ru/faqs/#faq10\",\"title\":\"\\u0427\\u0442\\u043e \\u0442\\u0430\\u043a\\u043e\\u0435 \\\"\\u0434\\u043e\\u043f\\u043e\\u043b\\u043d\\u0438\\u0442\\u0435\\u043b\\u044c\\u043d\\u044b\\u0439 AppOps\\\" \\u0432 \\u0424\\u0438\\u043b\\u044c\\u0442\\u0440\\u0430\\u0445 \\u0418\\u0441\\u043a\\u043b\\u044e\\u0447\\u0435\\u043d\\u0438\\u0439?\",\"text\":\"<p>\\u041d\\u0435 \\u0432\\u0441\\u0435 AppOps \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u0443\\u044e\\u0442\\u0441\\u044f \\u0434\\u043b\\u044f \\u0432\\u0441\\u0435\\u0445 \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043b\\u0435\\u043d\\u043d\\u044b\\u0445 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439. \\u041d\\u043e \\u0442\\u044b \\u043c\\u043e\\u0436\\u0435\\u0448\\u044c \\u043f\\u0440\\u0438\\u043c\\u0435\\u043d\\u0438\\u0442\\u044c AppOp \\u043a \\u043b\\u044e\\u0431\\u043e\\u043c\\u0443 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044e. \\u0412\\u044b\\u0431\\u0440\\u0430\\u043d\\u043d\\u044b\\u0435 \\u0434\\u043e\\u043f\\u043e\\u043b\\u043d\\u0438\\u0442\\u0435\\u043b\\u044c\\u043d\\u044b\\u0435 AppOps \\u043f\\u043e\\u044f\\u0432\\u043b\\u044f\\u044e\\u0442\\u0441\\u044f \\u0432\\u043e \\u0432\\u0441\\u0435\\u0445 \\u0441\\u043f\\u0438\\u0441\\u043a\\u0430\\u0445 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439, \\u0447\\u0442\\u043e\\u0431\\u044b \\u0432\\u044b \\u043c\\u043e\\u0433\\u043b\\u0438 \\u0438\\u0445 \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u0438\\u0442\\u044c.</p>\"},{\"location\":\"ru/faqs/#faq11\",\"title\":\"\\u0427\\u0442\\u043e \\u0442\\u0430\\u043a\\u043e\\u0435 AppOp \\u0440\\u0435\\u0436\\u0438\\u043c\\u044b \\u0438 \\u043a\\u0430\\u043a\\u0438\\u0435 \\u044f \\u0434\\u043e\\u043b\\u0436\\u0435\\u043d \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u044c?\",\"text\":\"<p>\\u041e\\u0431\\u044b\\u0447\\u043d\\u043e \\u0432\\u044b \\u0434\\u043e\\u043b\\u0436\\u043d\\u044b \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0430\\u0442\\u044c \\u0438\\u043b\\u0438 \\u0418\\u0433\\u043d\\u043e\\u0440\\u0438\\u0440\\u043e\\u0432\\u0430\\u0442\\u044c. \\u0418\\u043b\\u0438 \\u0432\\u044b \\u043c\\u043e\\u0436\\u0435\\u0442\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0438\\u0442\\u044c \\u043e\\u043f\\u0435\\u0440\\u0430\\u0446\\u0438\\u044e \\u0442\\u043e\\u043b\\u044c\\u043a\\u043e \\u0442\\u043e\\u0433\\u0434\\u0430, \\u043a\\u043e\\u0433\\u0434\\u0430 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435 \\u043d\\u0430\\u0445\\u043e\\u0434\\u0438\\u0442\\u0441\\u044f \\u0432 Foreground (\\u0442\\u043e\\u043b\\u044c\\u043a\\u043e \\u043d\\u0430 Android 9 \\u0438 \\u0432\\u044b\\u0448\\u0435). Deny \\u2014 \\u0438\\u043d\\u0442\\u0435\\u043d\\u0441\\u0438\\u0432\\u043d\\u0430\\u044f \\u0432\\u0435\\u0440\\u0441\\u0438\\u044f \\u0438\\u0433\\u043d\\u043e\\u0440\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u0438\\u044f, \\u043a\\u043e\\u0442\\u043e\\u0440\\u0430\\u044f \\u043c\\u043e\\u0436\\u0435\\u0442 \\u0432\\u044b\\u0437\\u0432\\u0430\\u0442\\u044c \\u0441\\u0431\\u043e\\u0439 \\u0437\\u0430\\u043f\\u0440\\u0430\\u0448\\u0438\\u0432\\u0430\\u0435\\u043c\\u043e\\u0433\\u043e \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f. \\u041f\\u043e \\u0443\\u043c\\u043e\\u043b\\u0447\\u0430\\u043d\\u0438\\u044e \\u044d\\u0442\\u043e \\u043f\\u043e\\u0432\\u0435\\u0434\\u0435\\u043d\\u0438\\u0435 \\u0441\\u0438\\u0441\\u0442\\u0435\\u043c\\u044b \\u043f\\u043e \\u0443\\u043c\\u043e\\u043b\\u0447\\u0430\\u043d\\u0438\\u044e, \\u043a\\u043e\\u0442\\u043e\\u0440\\u043e\\u0435 \\u043e\\u0442\\u043b\\u0438\\u0447\\u0430\\u0435\\u0442\\u0441\\u044f \\u043e\\u0442 \\u0434\\u0440\\u0443\\u0433\\u0438\\u0445 AppOps.</p> <p>\\u041e\\u0431\\u0440\\u0430\\u0442\\u0438 \\u0432\\u043d\\u0438\\u043c\\u0430\\u043d\\u0438\\u0435, \\u0447\\u0442\\u043e \\u043d\\u0435 \\u043a\\u0430\\u0436\\u0434\\u044b\\u0439 \\u0440\\u0435\\u0436\\u0438\\u043c AppOp \\u043c\\u043e\\u0436\\u043d\\u043e \\u0432\\u043a\\u043b\\u044e\\u0447\\u0438\\u0442\\u044c \\u043d\\u0430 \\u043a\\u0430\\u0436\\u0434\\u043e\\u043c AppOp \\u0434\\u043b\\u044f \\u043a\\u0430\\u0436\\u0434\\u043e\\u0433\\u043e \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f. \\u041d\\u0430\\u043f\\u0440\\u0438\\u043c\\u0435\\u0440, \\u0432 \\u043f\\u043e\\u0441\\u043b\\u0435\\u0434\\u043d\\u0438\\u0445 \\u0432\\u0435\\u0440\\u0441\\u0438\\u044f\\u0445 Android \\u043c\\u043e\\u0436\\u043d\\u043e \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u044c <code>CAMERA</code> \\u0438 <code>MICROPHONE</code> \\u0442\\u043e\\u043b\\u044c\\u043a\\u043e \\u0432 \\u041f\\u0435\\u0440\\u0435\\u0434\\u043d\\u0438\\u0439 \\u043f\\u043b\\u0430\\u043d \\u0440\\u0435\\u0436\\u0438\\u043c\\u0435 (\\u0434\\u0430\\u0436\\u0435 \\u0435\\u0441\\u043b\\u0438 \\u0432\\u044b\\u0431\\u0440\\u0430\\u043d \\u0440\\u0435\\u0436\\u0438\\u043c \\u0420\\u0430\\u0437\\u0440\\u0435\\u0448\\u0438\\u0442\\u044c). \\u0410\\u043d\\u0430\\u043b\\u043e\\u0433\\u0438\\u0447\\u043d\\u044b\\u043c \\u043e\\u0431\\u0440\\u0430\\u0437\\u043e\\u043c, \\u043d\\u0435\\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 AppOps \\u043d\\u0438\\u043a\\u043e\\u0433\\u0434\\u0430 \\u043d\\u0435 \\u043c\\u043e\\u0433\\u0443\\u0442 \\u0431\\u044b\\u0442\\u044c \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043b\\u0435\\u043d\\u044b \\u0432 Foreground.</p> <p>\\u0421\\u0432\\u044f\\u0437\\u0430\\u043d\\u043d\\u044b\\u0439: \\u041f\\u043e\\u0447\\u0435\\u043c\\u0443 \\u043d\\u0435\\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 AppOps \\u043d\\u0435 \\u043c\\u043e\\u0433\\u0443\\u0442 \\u0431\\u044b\\u0442\\u044c \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u044b?</p> <p>\\u041e\\u0444\\u0438\\u0446\\u0438\\u0430\\u043b\\u044c\\u043d\\u0430\\u044f \\u0434\\u043e\\u043a\\u0443\\u043c\\u0435\\u043d\\u0442\\u0430\\u0446\\u0438\\u044f: AppOpsManager.</p>\"},{\"location\":\"ru/faqs/#faq12\",\"title\":\"\\u0412 \\u0447\\u0435\\u043c \\u0440\\u0430\\u0437\\u043d\\u0438\\u0446\\u0430 \\u043c\\u0435\\u0436\\u0434\\u0443 \\u0440\\u0435\\u0436\\u0438\\u043c\\u0430\\u043c\\u0438 \\\"Ignore\\\" \\u0438 \\\"Deny\\\" AppOp?\",\"text\":\"<p>Ignore \\u041c\\u043e\\u043b\\u0447\\u0430\\u043b\\u044c\\u043d\\u043e \\u043d\\u0435 \\u0443\\u0434\\u0430\\u0435\\u0442\\u0441\\u044f, \\u043f\\u043e\\u043a\\u0430 Deny \\u0432\\u043e\\u0437\\u0432\\u0440\\u0430\\u0449\\u0430\\u0435\\u0442 \\u043e\\u0448\\u0438\\u0431\\u043a\\u0443 \\u0432 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0438, \\u043a \\u043a\\u043e\\u0442\\u043e\\u0440\\u043e\\u0439 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435 \\u043c\\u043e\\u0436\\u0435\\u0442 \\u043d\\u0435 \\u043e\\u0436\\u0438\\u0434\\u0430\\u0442\\u044c \\u0438 \\u043c\\u043e\\u0436\\u0435\\u0442 \\u043f\\u0440\\u043e\\u0438\\u0437\\u043e\\u0439\\u0442\\u0438 \\u0441\\u0431\\u043e\\u0439. \\u0412\\u044b \\u043e\\u0431\\u044b\\u0447\\u043d\\u043e \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u0443\\u0435\\u0442\\u0435 Ignore.</p>\"},{\"location\":\"ru/faqs/#faq41\",\"title\":\"\\u041f\\u043e\\u0447\\u0435\\u043c\\u0443 \\u044f \\u043d\\u0435 \\u043c\\u043e\\u0433\\u0443 \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u0438\\u0442\\u044c \\u0440\\u0435\\u0436\\u0438\\u043c AppOp \\u043d\\u0430 \\u043f\\u0435\\u0440\\u0435\\u0434\\u043d\\u0438\\u0439 \\u043f\\u043b\\u0430\\u043d?\",\"text\":\"<p>\\u0420\\u0435\\u0436\\u0438\\u043c \\u043f\\u0435\\u0440\\u0435\\u0434\\u043d\\u0435\\u0433\\u043e \\u043f\\u043b\\u0430\\u043d\\u0430 \\u043d\\u0435 \\u043c\\u043e\\u0436\\u0435\\u0442 \\u0431\\u044b\\u0442\\u044c \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043b\\u0435\\u043d \\u0434\\u043b\\u044f \\u0432\\u0441\\u0435\\u0445 AppOps. \\u0414\\u0430\\u0436\\u0435 \\u043a\\u043e\\u0433\\u0434\\u0430 \\u043e\\u043d \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043b\\u0435\\u043d, \\u043e\\u043d \\u043c\\u043e\\u0436\\u0435\\u0442 \\u043d\\u0435 \\u0434\\u0430\\u0442\\u044c \\u043e\\u0436\\u0438\\u0434\\u0430\\u0435\\u043c\\u044b\\u0445 \\u0440\\u0435\\u0437\\u0443\\u043b\\u044c\\u0442\\u0430\\u0442\\u043e\\u0432.</p> <p>\\u0422\\u0430\\u043a\\u0436\\u0435:</p> <ul> <li>\\u0427\\u0442\\u043e \\u0442\\u0430\\u043a\\u043e\\u0435 AppOp \\u0440\\u0435\\u0436\\u0438\\u043c\\u044b \\u0438 \\u043a\\u0430\\u043a\\u0438\\u0435 \\u044f \\u0434\\u043e\\u043b\\u0436\\u0435\\u043d \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u044c?</li> <li>\\u041f\\u043e\\u0447\\u0435\\u043c\\u0443 \\u043d\\u0435\\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 AppOps \\u043d\\u0435 \\u043c\\u043e\\u0433\\u0443\\u0442 \\u0431\\u044b\\u0442\\u044c \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u044b?</li> </ul> <p>\\u041f\\u043e\\u0436\\u0430\\u043b\\u0443\\u0439\\u0441\\u0442\\u0430, \\u043e\\u0431\\u0440\\u0430\\u0442\\u0438\\u0442\\u0435 \\u0432\\u043d\\u0438\\u043c\\u0430\\u043d\\u0438\\u0435, \\u0447\\u0442\\u043e \\u0440\\u0435\\u0436\\u0438\\u043c \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439 \\\"\\u0420\\u0430\\u0437\\u0440\\u0435\\u0448\\u0438\\u0442\\u044c \\u0442\\u043e\\u043b\\u044c\\u043a\\u043e \\u043f\\u0440\\u0438 \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u043d\\u0438\\u0438 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f\\\" \\u043d\\u0435 \\u0443\\u0441\\u0442\\u0430\\u043d\\u0430\\u0432\\u043b\\u0438\\u0432\\u0430\\u0435\\u0442 \\u0440\\u0435\\u0436\\u0438\\u043c AppOp \\u0432 \\\"Foreground\\\":</p> <p></p> <p>\\u041e\\u0431\\u044b\\u0447\\u043d\\u043e \\u043c\\u044b \\u0432\\u0438\\u0434\\u0438\\u043c \\u0442\\u043e\\u043b\\u044c\\u043a\\u043e \\u0434\\u0432\\u0430 \\u0448\\u0442\\u0430\\u0442\\u0430 \\u0434\\u043b\\u044f \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f manifest : \\u043f\\u0440\\u0435\\u0434\\u043e\\u0441\\u0442\\u0430\\u0432\\u043b\\u0435\\u043d\\u043e \\u0438 \\u043e\\u0442\\u043e\\u0437\\u0432\\u0430\\u043d\\u043e. \\u041d\\u043e Android \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u0443\\u0435\\u0442 flags \\u0434\\u043b\\u044f \\u0440\\u0430\\u0437\\u0434\\u0435\\u043b\\u0435\\u043d\\u0438\\u044f \\u044d\\u0442\\u0438\\u0445 \\u0434\\u0432\\u0443\\u0445 \\u0441\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u0438\\u0439 \\u043d\\u0430 \\u043c\\u043d\\u043e\\u0433\\u0438\\u0435 \\u0441\\u0443\\u0431\\u0441\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u0438\\u044f. \\u0414\\u043b\\u044f \\u043d\\u0435\\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0445 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439 \\u0442\\u043e\\u0442 \\u0436\\u0435 \\u0444\\u0435\\u043d\\u043e\\u043c\\u0435\\u043d \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u0443\\u0435\\u0442\\u0441\\u044f \\u0434\\u043b\\u044f \\u0434\\u043e\\u0441\\u0442\\u0438\\u0436\\u0435\\u043d\\u0438\\u044f \\u043f\\u043e\\u0432\\u0435\\u0434\\u0435\\u043d\\u0438\\u044f \\u00ab\\u043f\\u0440\\u0435\\u0434\\u043e\\u0441\\u0442\\u0430\\u0432\\u043b\\u044f\\u0442\\u044c \\u0442\\u043e\\u043b\\u044c\\u043a\\u043e \\u0442\\u043e\\u0433\\u0434\\u0430, \\u043a\\u043e\\u0433\\u0434\\u0430 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435 \\u0432\\u0438\\u0434\\u0438\\u043c\\u043e\\u00bb. \\u0412 \\u044d\\u0442\\u043e\\u043c \\u0441\\u043b\\u0443\\u0447\\u0430\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435 AppOp \\u043d\\u0435 \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u0443\\u0435\\u0442\\u0441\\u044f.</p> <p>\\u0414\\u043e\\u043f\\u043e\\u043b\\u043d\\u0438\\u0442\\u0435\\u043b\\u044c\\u043d\\u0443\\u044e \\u0438\\u043d\\u0444\\u043e\\u0440\\u043c\\u0430\\u0446\\u0438\\u044e \\u0441\\u043c. \\u0432 \\u043e\\u0444\\u0438\\u0446\\u0438\\u0430\\u043b\\u044c\\u043d\\u043e\\u0439 \\u0434\\u043e\\u043a\\u0443\\u043c\\u0435\\u043d\\u0442\\u0430\\u0446\\u0438\\u0438 \\u0444\\u043e\\u043d\\u043e\\u0432\\u044b\\u0439 \\u0434\\u043e\\u0441\\u0442\\u0443\\u043f \\u0438 foreground access.</p> <p>\\u0414\\u043b\\u044f \\u043f\\u0440\\u043e\\u0441\\u0442\\u043e\\u0442\\u044b PMX \\u0432 \\u0434\\u0430\\u043d\\u043d\\u044b\\u0439 \\u043c\\u043e\\u043c\\u0435\\u043d\\u0442 \\u043d\\u0435 \\u0432\\u0438\\u0434\\u0438\\u0442 \\u0444\\u043b\\u0430\\u0433\\u0438 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439. \\u041d\\u043e \\u0432 \\u0431\\u0443\\u0434\\u0443\\u0449\\u0435\\u043c \\u043c\\u043e\\u0436\\u0435\\u0442 \\u0431\\u044b\\u0442\\u044c \\u0434\\u043e\\u0431\\u0430\\u0432\\u043b\\u0435\\u043d\\u0430 \\u0432\\u043e\\u0437\\u043c\\u043e\\u0436\\u043d\\u043e\\u0441\\u0442\\u044c \\u0442\\u0430\\u043a\\u0436\\u0435 \\u043e\\u0442\\u0441\\u043b\\u0435\\u0436\\u0438\\u0432\\u0430\\u0442\\u044c \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u0438\\u044f \\u0444\\u043b\\u0430\\u0433\\u043e\\u0432 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439, \\u0434\\u0430\\u0436\\u0435 \\u0435\\u0441\\u043b\\u0438 \\u043f\\u0440\\u0435\\u0434\\u043e\\u0441\\u0442\\u0430\\u0432\\u043b\\u0435\\u043d\\u043d\\u044b\\u0439/\\u043e\\u0442\\u043e\\u0437\\u0432\\u0430\\u043d\\u043d\\u044b\\u0439 \\u0440\\u0435\\u0436\\u0438\\u043c \\u043e\\u0441\\u0442\\u0430\\u0435\\u0442\\u0441\\u044f \\u043d\\u0435\\u0438\\u0437\\u043c\\u0435\\u043d\\u043d\\u044b\\u043c.</p>\"},{\"location\":\"ru/faqs/#faq14\",\"title\":\"What does <code>WAKE_LOCK</code> permission do?\",\"text\":\"<p>\\u041f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f \\u0443\\u0434\\u0435\\u0440\\u0436\\u0438\\u0432\\u0430\\u044e\\u0442 \\u0432\\u044d\\u0439\\u043a\\u043b\\u043e\\u043a \\u0434\\u043b\\u044f \\u043f\\u0440\\u043e\\u0434\\u043e\\u043b\\u0436\\u0435\\u043d\\u0438\\u044f \\u0440\\u0430\\u0431\\u043e\\u0442\\u044b \\u0443\\u0441\\u0442\\u0440\\u043e\\u0439\\u0441\\u0442\\u0432\\u0430, \\u0442\\u043e \\u0435\\u0441\\u0442\\u044c \\u043d\\u0435 \\u0432\\u044b\\u0445\\u043e\\u0434\\u044f\\u0442 \\u0432 \\u0440\\u0435\\u0436\\u0438\\u043c Doz.</p>\"},{\"location\":\"ru/faqs/#faq16\",\"title\":\"\\u041a\\u0430\\u043a \\u044f \\u043c\\u043e\\u0433\\u0443 \\u0438\\u0437\\u043c\\u0435\\u043d\\u0438\\u0442\\u044c \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435 <code>INTERNET</code>?\",\"text\":\"<p>\\u0410\\u043d\\u0434\\u0440\\u043e\\u0438\\u0434 \\u043d\\u0435 \\u043f\\u043e\\u0437\\u0432\\u043e\\u043b\\u044f\\u0435\\u0442 \\u0438\\u0437\\u043c\\u0435\\u043d\\u044f\\u0442\\u044c \\u0432\\u0441\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f, \\u0442\\u0430\\u043a\\u0438\\u0435 \\u043a\\u0430\\u043a \\u0443 \\u041d\\u043e\\u0440\\u043c\\u0430\\u043b\\u044c\\u043d\\u043e\\u0433\\u043e \\u0443\\u0440\\u043e\\u0432\\u043d\\u044f \\u0437\\u0430\\u0449\\u0438\\u0442\\u044b (e. . <code>INTERNET</code>) \\u0438\\u043b\\u0438 \\u0441 \\u0444\\u043b\\u0430\\u0433\\u043e\\u043c Fixed \\u0438\\u043b\\u0438 \\u041f\\u043e\\u0434\\u043f\\u0438\\u0441\\u044c \\u0443\\u0440\\u043e\\u0432\\u043d\\u044f \\u0437\\u0430\\u0449\\u0438\\u0442\\u044b (\\u043e\\u0431\\u044b\\u0447\\u043d\\u043e \\u0441\\u0438\\u0441\\u0442\\u0435\\u043c\\u043d\\u044b\\u0435 \\u0438\\u043b\\u0438 \\u0444\\u0440\\u0435\\u0439\\u043c\\u0432\\u043e\\u0440\\u043a\\u0438). \\u0421\\u043c. Manifest \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u0438 AppOps.</p> <p>\\u041d\\u043e \\u0435\\u0441\\u043b\\u0438 \\u0432\\u044b \\u043a\\u043e\\u0440\\u043d\\u0435\\u0432\\u044b\\u0435, Fyrypt \\u0434\\u0430\\u0435\\u0442 \\u0432\\u0430\\u043c \\u043e\\u0447\\u0435\\u043d\\u044c \\u0441\\u0438\\u043b\\u044c\\u043d\\u044b\\u0439 \\u043a\\u043e\\u043d\\u0442\\u0440\\u043e\\u043b\\u044c \\u043d\\u0430\\u0434 \\u0441\\u0435\\u0442\\u0435\\u0432\\u043e\\u0439 \\u0430\\u043a\\u0442\\u0438\\u0432\\u043d\\u043e\\u0441\\u0442\\u044c\\u044e \\u043d\\u0430 \\u0432\\u0430\\u0448\\u0435\\u043c \\u0443\\u0441\\u0442\\u0440\\u043e\\u0439\\u0441\\u0442\\u0432\\u0435.</p>\"},{\"location\":\"ru/faqs/#faq40\",\"title\":\"\\u0427\\u0442\\u043e \\u0442\\u0430\\u043a\\u043e\\u0435 \\u0424\\u0438\\u043a\\u0441\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u043d\\u044b\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f?\",\"text\":\"<p>\\u0420\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f, \\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 \\u0437\\u0430\\u043a\\u0440\\u0435\\u043f\\u043b\\u0435\\u043d\\u044b \\u0441\\u0438\\u0441\\u0442\\u0435\\u043c\\u043e\\u0439, \\u043f\\u0440\\u0435\\u0434\\u043e\\u0441\\u0442\\u0430\\u0432\\u043b\\u044f\\u044e\\u0442\\u0441\\u044f \\u043f\\u0440\\u0435\\u0434\\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043b\\u0435\\u043d\\u043d\\u044b\\u043c \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f\\u043c \\u043f\\u0440\\u043e\\u0438\\u0437\\u0432\\u043e\\u0434\\u0438\\u0442\\u0435\\u043b\\u044f\\u043c\\u0438 \\u0438\\u043b\\u0438 \\u0440\\u0430\\u0437\\u0440\\u0430\\u0431\\u043e\\u0442\\u0447\\u0438\\u043a\\u0430\\u043c\\u0438 ROM . \\u041e\\u043d\\u0438 \\u043d\\u0435 \\u043f\\u0440\\u0435\\u0434\\u043d\\u0430\\u0437\\u043d\\u0430\\u0447\\u0435\\u043d\\u044b \\u0434\\u043b\\u044f \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u0438\\u044f. But if your device is rooted, PMX can change system-fixed permissions.</p> <p>\\u0423\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043b\\u0435\\u043d\\u043d\\u044b\\u0435 \\u043f\\u043e\\u043b\\u0438\\u0442\\u0438\\u043a\\u0438 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u043f\\u0440\\u0435\\u0434\\u043e\\u0441\\u0442\\u0430\\u0432\\u043b\\u044f\\u044e\\u0442\\u0441\\u044f (\\u0438\\u043b\\u0438 \\u043e\\u0442\\u043a\\u043b\\u043e\\u043d\\u044f\\u044e\\u0442\\u0441\\u044f) \\u0418\\u0422-\\u0430\\u0434\\u043c\\u0438\\u043d\\u0438\\u0441\\u0442\\u0440\\u0430\\u0442\\u043e\\u0440\\u0430\\u043c\\u0438 \\u043d\\u0430 \\u0443\\u043f\\u0440\\u0430\\u0432\\u043b\\u044f\\u0435\\u043c\\u044b\\u0445 \\u0443\\u0441\\u0442\\u0440\\u043e\\u0439\\u0441\\u0442\\u0432\\u0430\\u0445. \\u0418\\u0445 \\u043d\\u0435\\u0432\\u043e\\u0437\\u043c\\u043e\\u0436\\u043d\\u043e \\u0438\\u0437\\u043c\\u0435\\u043d\\u0438\\u0442\\u044c.</p> <p>User-fixed permissions are fixed by the user. \\u0415\\u0441\\u043b\\u0438 \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u044c \\u043e\\u0442\\u043a\\u0430\\u0437\\u044b\\u0432\\u0430\\u0435\\u0442 \\u0432 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0438 \\u043d\\u0435\\u0441\\u043a\\u043e\\u043b\\u044c\\u043a\\u043e \\u0440\\u0430\\u0437, \\u043a\\u043e\\u0433\\u0434\\u0430 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435 \\u0437\\u0430\\u043f\\u0440\\u0430\\u0448\\u0438\\u0432\\u0430\\u0435\\u0442 \\u0435\\u0433\\u043e, \\u043e\\u043f\\u0435\\u0440\\u0430\\u0446\\u0438\\u043e\\u043d\\u043d\\u0430\\u044f \\u0441\\u0438\\u0441\\u0442\\u0435\\u043c\\u0430 \\u043f\\u043e\\u043c\\u0435\\u0447\\u0430\\u0435\\u0442 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435 \\u043a\\u0430\\u043a \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u044c-\\u0444\\u0438\\u043a\\u0441\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u043d\\u043e\\u0435 \\u0438 \\u0431\\u043e\\u043b\\u044c\\u0448\\u0435 \\u043d\\u0435 \\u043f\\u043e\\u043a\\u0430\\u0437\\u044b\\u0432\\u0430\\u0435\\u0442 \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u044e \\u0437\\u0430\\u043f\\u0440\\u043e\\u0441\\u043e\\u0432 \\u043d\\u0430 \\u043f\\u0440\\u0435\\u0434\\u043e\\u0441\\u0442\\u0430\\u0432\\u043b\\u0435\\u043d\\u0438\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f, \\u0435\\u0441\\u043b\\u0438 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435 \\u0441\\u043d\\u043e\\u0432\\u0430 \\u0437\\u0430\\u043f\\u0440\\u0430\\u0448\\u0438\\u0432\\u0430\\u0435\\u0442 \\u0442\\u0430\\u043a\\u043e\\u0435 \\u0436\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435. \\u042d\\u0442\\u043e\\u0442 \\u0432\\u0438\\u0434 \\u0444\\u0438\\u043a\\u0441\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u043d\\u044b\\u0445 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439 \\u043c\\u043e\\u0436\\u0435\\u0442 \\u0431\\u044b\\u0442\\u044c \\u043b\\u0435\\u0433\\u043a\\u043e \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d \\u043f\\u0440\\u0438 \\u0436\\u0435\\u043b\\u0430\\u043d\\u0438\\u0438 \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u044f.</p>\"},{\"location\":\"ru/faqs/#faq17\",\"title\":\"\\u041a\\u0430\\u043a \\u044f \\u043c\\u043e\\u0433\\u0443 \\u0438\\u0437\\u043c\\u0435\\u043d\\u0438\\u0442\\u044c \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u043d\\u0430 \\u0444\\u0438\\u043a\\u0441\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u043d\\u044b\\u0435 \\u0441\\u0438\\u0441\\u0442\\u0435\\u043c\\u044b \\u0434\\u043e\\u0441\\u0442\\u0443\\u043f\\u0430, \\u043f\\u043e\\u0434\\u043f\\u0438\\u0441\\u0430\\u043d\\u0438\\u0435/\\u043f\\u0440\\u0438\\u0432\\u0438\\u043b\\u0435\\u0433\\u0438\\u0438 \\u0438\\u043b\\u0438 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u0440\\u0430\\u043c\\u043e\\u0447\\u043d\\u044b\\u0445 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439?\",\"text\":\"<p>\\u0415\\u0441\\u043b\\u0438 \\u0432\\u0430\\u0448\\u0435 \\u0443\\u0441\\u0442\\u0440\\u043e\\u0439\\u0441\\u0442\\u0432\\u043e \\u0438\\u043c\\u0435\\u0435\\u0442 \\u0440\\u0443\\u0442-\\u0434\\u043e\\u0441\\u0442\\u0443\\u043f, \\u0432 \\u043f\\u043b\\u0430\\u0442\\u043d\\u043e\\u0439 \\u0432\\u0435\\u0440\\u0441\\u0438\\u0438 \\u0432\\u044b \\u043c\\u043e\\u0436\\u0435\\u0442\\u0435 \\u0420\\u0430\\u0437\\u0440\\u0435\\u0448\\u0438\\u0442\\u044c \\u043a\\u0440\\u0438\\u0442\\u0438\\u0447\\u0435\\u0441\\u043a\\u0438\\u0435 \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u0438\\u044f \\u0432 \\u0414\\u043e\\u043f\\u043e\\u043b\\u043d\\u0438\\u0442\\u0435\\u043b\\u044c\\u043d\\u044b\\u0435 \\u043d\\u0430\\u0441\\u0442\\u0440\\u043e\\u0439\\u043a\\u0438 \\u0434\\u043b\\u044f \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u0438\\u044f \\u043f\\u0440\\u0430\\u0432 \\u0441 \\u043f\\u043e\\u043c\\u043e\\u0449\\u044c\\u044e \\u0444\\u043b\\u0430\\u0433\\u0430 \\u0418\\u0441\\u043f\\u0440\\u0430\\u0432\\u043b\\u0435\\u043d\\u043d\\u0430\\u044f \\u0441\\u0438\\u0441\\u0442\\u0435\\u043c\\u0430, \\u0443\\u0440\\u043e\\u0432\\u0435\\u043d\\u044c \\u0437\\u0430\\u0449\\u0438\\u0442\\u044b \\u041f\\u043e\\u0434\\u043f\\u0438\\u0441\\u044c \\u0438\\u043b\\u0438 \\u041f\\u0440\\u0438\\u0432\\u0438\\u043b\\u0435\\u0433\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u043d\\u044b\\u0439, \\u0438\\u043b\\u0438 \\u043a\\u0430\\u0440\\u043a\\u0430\\u0441\\u043d\\u043e\\u0435 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435. \\u041d\\u043e \\u043d\\u0435 \\u0440\\u0435\\u043a\\u043e\\u043c\\u0435\\u043d\\u0434\\u0443\\u0435\\u0442\\u0441\\u044f \\\"\\u0438\\u0433\\u0440\\u0430\\u0442\\u044c\\\" \\u0441 \\u0441\\u0438\\u0441\\u0442\\u0435\\u043c\\u043d\\u044b\\u043c\\u0438 \\u0438\\u043b\\u0438 \\u0444\\u0440\\u0435\\u0439\\u043c\\u0432\\u043e\\u0440\\u043a \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f\\u043c\\u0438. \\u0412\\u044b \\u043c\\u043e\\u0436\\u0435\\u0442\\u0435 \\\"\\u043e\\u043a\\u0438\\u0440\\u043f\\u0438\\u0447\\u0438\\u0442\\u044c\\\" \\u0443\\u0441\\u0442\\u0440\\u043e\\u0439\\u0441\\u0442\\u0432\\u043e.</p>\"},{\"location\":\"ru/faqs/#faq18\",\"title\":\"\\u0427\\u0442\\u043e \\u0442\\u0430\\u043a\\u043e\\u0435 \\\"UID \\u0440\\u0435\\u0436\\u0438\\u043c\\\" \\u0432 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f\\u0445 AppOp?\",\"text\":\"<p>\\u042d\\u0442\\u043e \\u0440\\u0435\\u0436\\u0438\\u043c \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f AppOp , \\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0439 \\u0443\\u043a\\u0430\\u0437\\u044b\\u0432\\u0430\\u0435\\u0442, \\u0447\\u0442\\u043e \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u0438\\u0435 \\u044d\\u0442\\u043e\\u0433\\u043e AppOp \\u0442\\u0430\\u043a\\u0436\\u0435 \\u043f\\u043e\\u0432\\u043b\\u0438\\u044f\\u0435\\u0442 \\u043d\\u0430 \\u0434\\u0440\\u0443\\u0433\\u0438\\u0435 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f (\\u0441 \\u0442\\u0435\\u043c \\u0436\\u0435 UID), \\u0435\\u0441\\u043b\\u0438 \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043b\\u0435\\u043d\\u043e. \\u0421\\u043c. <code>sharedUserId</code>.</p> <p>\\u0417\\u0430\\u043c\\u0435\\u0442\\u044c\\u0442\\u0435, \\u0447\\u0442\\u043e \\u0440\\u0435\\u0436\\u0438\\u043c UID \\u0438\\u043c\\u0435\\u0435\\u0442 \\u043f\\u0440\\u0438\\u043e\\u0440\\u0438\\u0442\\u0435\\u0442 \\u043d\\u0430\\u0434 \\u0440\\u0435\\u0436\\u0438\\u043c\\u043e\\u043c \\u043f\\u0430\\u043a\\u0435\\u0442\\u043e\\u0432 \\u0434\\u043b\\u044f \\u043c\\u043d\\u043e\\u0433\\u0438\\u0445 AppOps.</p>\"},{\"location\":\"ru/faqs/#faq39\",\"title\":\"\\u041c\\u043e\\u0436\\u043d\\u043e \\u043b\\u0438 \\u0443\\u043f\\u0440\\u0430\\u0432\\u043b\\u044f\\u0442\\u044c \\u0444\\u0443\\u043d\\u043a\\u0446\\u0438\\u0435\\u0439 Android \\u00ab\\u0423\\u0434\\u0430\\u043b\\u0438\\u0442\\u044c \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f, \\u0435\\u0441\\u043b\\u0438 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435 \\u043d\\u0435 \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u0443\\u0435\\u0442\\u0441\\u044f\\u00bb \\u0438\\u0437 PMX?\",\"text\":\"<p>\\u0414\\u0430. \\u042d\\u0442\\u0430 \\u0444\\u0443\\u043d\\u043a\\u0446\\u0438\\u044f \\u0434\\u043e\\u0441\\u0442\\u0443\\u043f\\u043d\\u0430 \\u0441 Android 11. \\u0422\\u0430\\u043a\\u0436\\u0435 \\u043e\\u043d \\u043e\\u0431\\u043e\\u0437\\u043d\\u0430\\u0447\\u0430\\u0435\\u0442\\u0441\\u044f \\u043a\\u0430\\u043a \\\"\\u041f\\u0430\\u0443\\u0437\\u0430 \\u0430\\u043a\\u0442\\u0438\\u0432\\u043d\\u043e\\u0441\\u0442\\u0438 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f, \\u0435\\u0441\\u043b\\u0438 \\u043d\\u0435 \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u0443\\u0435\\u0442\\u0441\\u044f\\\" \\u043d\\u0430 \\u043d\\u0435\\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0445 \\u0443\\u0441\\u0442\\u0440\\u043e\\u0439\\u0441\\u0442\\u0432\\u0430\\u0445.</p> <p></p> <p>\\u0427\\u0442\\u043e\\u0431\\u044b \\u0438\\u0437\\u043c\\u0435\\u043d\\u0438\\u0442\\u044c \\u044d\\u0442\\u0443 \\u043e\\u043f\\u0446\\u0438\\u044e \\u043e\\u0442 PMX:</p> <ol> <li>\\u041f\\u0435\\u0440\\u0435\\u0439\\u0434\\u0438\\u0442\\u0435 \\u0432 \\u0418\\u0441\\u043a\\u043b\\u044e\\u0447\\u0430\\u044e\\u0449\\u0438\\u0435 \\u0444\\u0438\\u043b\\u044c\\u0442\\u0440\\u044b \\u2192 \\u0414\\u043e\\u043f\\u043e\\u043b\\u043d\\u0438\\u0442\\u0435\\u043b\\u044c\\u043d\\u044b\\u0439 \\u0441\\u043f\\u0438\\u0441\\u043e\\u043a AppOps \\u0438 \\u043f\\u0440\\u043e\\u0432\\u0435\\u0440\\u044c\\u0442\\u0435 <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code>.</li> <li>\\u041d\\u0430\\u0437\\u0430\\u0434 \\u043d\\u0430 \\u0433\\u043b\\u0430\\u0432\\u043d\\u043e\\u043c \\u044d\\u043a\\u0440\\u0430\\u043d\\u0435 \\u043d\\u0430\\u0431\\u0435\\u0440\\u0438\\u0442\\u0435 <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code> \\u0432 \\u0432\\u0435\\u0440\\u0445\\u043d\\u0435\\u0439 \\u0441\\u0442\\u0440\\u043e\\u043a\\u0435 \\u043f\\u043e\\u0438\\u0441\\u043a\\u0430. \\u0423\\u0431\\u0435\\u0434\\u0438\\u0442\\u0435\\u0441\\u044c, \\u0447\\u0442\\u043e \\u0432 \\u043d\\u0430\\u0441\\u0442\\u0440\\u043e\\u0439\\u043a\\u0430\\u0445 \\u043f\\u043e\\u0438\\u0441\\u043a\\u0430 \\u0432\\u043a\\u043b\\u044e\\u0447\\u0435\\u043d\\u0430 \\u043e\\u043f\\u0446\\u0438\\u044f \\\"\\u0413\\u043b\\u0443\\u0431\\u043e\\u043a\\u0438\\u0439 \\u043f\\u043e\\u0438\\u0441\\u043a\\\".</li> <li>\\u0423\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u0438\\u043b \\u0440\\u0435\\u0436\\u0438\\u043c \\u0420\\u0430\\u0437\\u0440\\u0435\\u0448\\u0438\\u0442\\u044c \\u0438\\u043b\\u0438 \\u0418\\u0433\\u043d\\u043e\\u0440\\u0438\\u0440\\u043e\\u0432\\u0430\\u0442\\u044c \\u0434\\u043b\\u044f \\u0442\\u0435\\u0445 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439, \\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 \\u0432\\u044b \\u0445\\u043e\\u0442\\u0438\\u0442\\u0435.</li> </ol> <p>\\u0412\\u044b \\u0442\\u0430\\u043a\\u0436\\u0435 \\u043c\\u043e\\u0436\\u0435\\u0442\\u0435 \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u044c \\u0412\\u0438\\u0434 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u0438\\u043b\\u0438 \\u0413\\u0440\\u0443\\u043f\\u043f\\u043e\\u0432\\u044b\\u0435 \\u043e\\u043f\\u0435\\u0440\\u0430\\u0446\\u0438\\u0438 \\u0432\\u043c\\u0435\\u0441\\u0442\\u043e \\u0448\\u0430\\u0433\\u0430 2 \\u0438 3. \\u0412\\u043e\\u0442 \\u0440\\u0443\\u043a\\u043e\\u0432\\u043e\\u0434\\u0441\\u0442\\u0432\\u043e, \\u043a\\u0430\\u043a \\u0432\\u044b \\u043c\\u043e\\u0433\\u043b\\u0438 \\u0431\\u044b \\u0441\\u0434\\u0435\\u043b\\u0430\\u0442\\u044c \\u044d\\u0442\\u043e \\u0441 \\u043f\\u043e\\u043c\\u043e\\u0449\\u044c\\u044e Batch Operations:</p>      Remove permissions if app isn't used\"},{\"location\":\"ru/faqs/#faq31\",\"title\":\"\\u041f\\u043e\\u0447\\u0435\\u043c\\u0443 \\u0443 \\u043c\\u0435\\u043d\\u044f \\u0435\\u0441\\u0442\\u044c \\u043c\\u043d\\u043e\\u0433\\u043e \\u0432\\u0441\\u043f\\u043b\\u044b\\u0432\\u0430\\u044e\\u0449\\u0438\\u0445 \\u043e\\u043a\\u043e\\u043d \\\"Bad ROM\\\"?\",\"text\":\"<p>OEM-\\u043f\\u0440\\u043e\\u0438\\u0437\\u0432\\u043e\\u0434\\u0438\\u0442\\u0435\\u043b\\u0438 \\u0432\\u043d\\u043e\\u0441\\u044f\\u0442 \\u043e\\u0433\\u0440\\u043e\\u043c\\u043d\\u044b\\u0435 \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u0438\\u044f \\u0432 \\u0441\\u0442\\u0430\\u043d\\u0434\\u0430\\u0440\\u0442\\u043d\\u044b\\u0439 \\u043a\\u043e\\u0434 AOSP (\\u0440\\u0430\\u0437\\u0440\\u0430\\u0431\\u043e\\u0442\\u0430\\u043d\\u043d\\u044b\\u0439 Google). \\u0422\\u0430\\u043a\\u0438\\u043c \\u043e\\u0431\\u0440\\u0430\\u0437\\u043e\\u043c, \\u0444\\u0440\\u0435\\u0439\\u043c\\u0432\\u043e\\u0440\\u043a AppOps \\u043d\\u0430 \\u043d\\u0435\\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0445 \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u044c\\u0441\\u043a\\u0438\\u0445 / OEM ROMs \\u0432\\u043e\\u0437\\u0432\\u0440\\u0430\\u0449\\u0430\\u0435\\u0442 \\u043d\\u0435\\u043e\\u0436\\u0438\\u0434\\u0430\\u043d\\u043d\\u044b\\u0435 \\u0440\\u0435\\u0437\\u0443\\u043b\\u044c\\u0442\\u0430\\u0442\\u044b, \\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 PMX \\u043d\\u0435 \\u043f\\u043e\\u043d\\u0438\\u043c\\u0430\\u044e\\u0442. \\u0412\\u044b \\u043c\\u043e\\u0436\\u0435\\u0442\\u0435 \\u0438\\u0433\\u043d\\u043e\\u0440\\u0438\\u0440\\u043e\\u0432\\u0430\\u0442\\u044c \\u044d\\u0442\\u0438 \\u0432\\u0441\\u043f\\u043b\\u044b\\u0432\\u0430\\u044e\\u0449\\u0438\\u0435 \\u043e\\u043a\\u043d\\u0430, \\u043d\\u043e \\u044d\\u0442\\u043e \\u043e\\u0437\\u043d\\u0430\\u0447\\u0430\\u0435\\u0442, \\u0447\\u0442\\u043e \\u0444\\u0443\\u043d\\u043a\\u0446\\u0438\\u043e\\u043d\\u0430\\u043b\\u044c\\u043d\\u043e\\u0441\\u0442\\u044c \\u043d\\u0435\\u0441\\u043a\\u043e\\u043b\\u044c\\u043a\\u043e \\u043e\\u0433\\u0440\\u0430\\u043d\\u0438\\u0447\\u0435\\u043d\\u0430.</p> <p>\\u0412\\u044b \\u043c\\u043e\\u0436\\u0435\\u0442\\u0435 \\u0432\\u044b\\u043a\\u043b\\u044e\\u0447\\u0438\\u0442\\u044c \\u044d\\u0442\\u0438 \\u0432\\u0441\\u043f\\u043b\\u044b\\u0432\\u0430\\u044e\\u0449\\u0438\\u0435 \\u043e\\u043a\\u043d\\u0430 \\u0432 \\u041d\\u0430\\u0441\\u0442\\u0440\\u043e\\u0439\\u043a\\u0430 \\u2192 \\u041e\\u0431\\u0449\\u0438\\u0435 \\u043d\\u0430\\u0441\\u0442\\u0440\\u043e\\u0439\\u043a\\u0438 \\u2192 \\u041e\\u0442\\u043a\\u043b\\u044e\\u0447\\u0438\\u0442\\u044c \\u043f\\u043b\\u043e\\u0445\\u0438\\u0435 ROM toasts.</p> <p>\\u0421\\u043c. \\u041f\\u043e\\u0447\\u0435\\u043c\\u0443 PMX \\u043d\\u0435 \\u0440\\u0430\\u0431\\u043e\\u0442\\u0430\\u0435\\u0442 \\u043f\\u0440\\u0430\\u0432\\u0438\\u043b\\u044c\\u043d\\u043e \\u043d\\u0430 OEM \\u043e\\u043f\\u0435\\u0440\\u0430\\u0446\\u0438\\u043e\\u043d\\u043d\\u044b\\u0445 \\u0441\\u0438\\u0441\\u0442\\u0435\\u043c\\u0430\\u0445 \\u0438\\u043b\\u0438 \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u044c\\u0441\\u043a\\u0438\\u0445 ROMs?</p>\"},{\"location\":\"ru/faqs/#faq19\",\"title\":\"\\u0427\\u0442\\u043e \\u0434\\u0435\\u043b\\u0430\\u0435\\u0442 \\u043a\\u043d\\u043e\\u043f\\u043a\\u0430 \\u00ab\\u0421\\u043a\\u0440\\u044b\\u0442\\u044c \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435 \\u0438\\u0437 \\u0441\\u043f\\u0438\\u0441\\u043a\\u0430\\u00bb (\\u0432\\u044b\\u0437\\u044b\\u0432\\u0430\\u0435\\u0442\\u0441\\u044f \\u0434\\u043e\\u043b\\u0433\\u0438\\u043c \\u043d\\u0430\\u0436\\u0430\\u0442\\u0438\\u0435\\u043c)?\",\"text\":\"<p>\\u041e\\u043d\\u0438 \\u043e\\u0431\\u0430 \\u043f\\u0440\\u043e\\u0441\\u0442\\u043e \\u0441\\u043a\\u0440\\u044b\\u0432\\u0430\\u044e\\u0442 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435 \\u0438\\u043b\\u0438 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435 \\u0438\\u0437 \\u0432\\u0438\\u0434\\u0438\\u043c\\u043e\\u0433\\u043e \\u0441\\u043f\\u0438\\u0441\\u043a\\u0430. \\u0415\\u0441\\u043b\\u0438 \\u0432\\u044b \\u043d\\u0435 \\u0445\\u043e\\u0442\\u0438\\u0442\\u0435 \\u0438\\u0437\\u043c\\u0435\\u043d\\u044f\\u0442\\u044c \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435 \\u0434\\u043b\\u044f \\u043b\\u044e\\u0431\\u043e\\u0433\\u043e \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f, \\u0432\\u044b \\u043c\\u043e\\u0436\\u0435\\u0442\\u0435 \\u043f\\u0440\\u043e\\u0441\\u0442\\u043e \\u00ab\\u0418\\u0441\\u043a\\u043b\\u044e\\u0447\\u0438\\u0442\\u044c\\u00bb \\u0435\\u0433\\u043e. \\u0418 \\u043e\\u043d \\u043d\\u0435 \\u043f\\u043e\\u044f\\u0432\\u0438\\u0442\\u0441\\u044f \\u043d\\u0438 \\u0434\\u043b\\u044f \\u043e\\u0434\\u043d\\u043e\\u0433\\u043e \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f. \\u0427\\u0442\\u043e\\u0431\\u044b \\u0441\\u043d\\u043e\\u0432\\u0430 \\u0435\\u0433\\u043e \\u043f\\u043e\\u043a\\u0430\\u0437\\u0430\\u0442\\u044c, \\u0437\\u0430\\u0439\\u0434\\u0438 \\u0432 \\u043d\\u0430\\u0441\\u0442\\u0440\\u043e\\u0439\\u043a\\u0438 \\u0424\\u0438\\u043b\\u044c\\u0442\\u0440\\u044b \\u0438\\u0441\\u043a\\u043b\\u044e\\u0447\\u0435\\u043d\\u0438\\u0439.</p> <p>\\u0422\\u043e\\u0447\\u043d\\u043e \\u0442\\u0430\\u043a \\u0436\\u0435 \\u0432\\u044b \\u043c\\u043e\\u0436\\u0435\\u0442\\u0435 \\u0438\\u0441\\u043a\\u043b\\u044e\\u0447\\u0438\\u0442\\u044c \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435 \\u0438\\u0437 \\u0441\\u043f\\u0438\\u0441\\u043a\\u0430 \\u0432\\u0438\\u0434\\u0438\\u043c\\u044b\\u0445, \\u0435\\u0441\\u043b\\u0438 \\u0432\\u0430\\u0441 \\u043d\\u0435 \\u0431\\u0435\\u0441\\u043f\\u043e\\u043a\\u043e\\u044f\\u0442 \\u0435\\u0433\\u043e \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f.</p> <p> </p>\"},{\"location\":\"ru/faqs/#faq21\",\"title\":\"\\u0415\\u0441\\u0442\\u044c \\u043b\\u0438 \\u043f\\u043e\\u043b\\u043d\\u044b\\u0439 \\u0441\\u043f\\u0438\\u0441\\u043e\\u043a \\u0432\\u0441\\u0435\\u0445 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439 \\u0441 \\u043f\\u043e\\u044f\\u0441\\u043d\\u0435\\u043d\\u0438\\u044f\\u043c\\u0438?\",\"text\":\"<p>\\u041d\\u0435\\u0442 \\u043f\\u043e\\u043b\\u043d\\u043e\\u0433\\u043e \\u0441\\u043f\\u0438\\u0441\\u043a\\u0430 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439 \\u0441 \\u043e\\u043f\\u0438\\u0441\\u0430\\u043d\\u0438\\u0435\\u043c, \\u043f\\u043e \\u043a\\u0440\\u0430\\u0439\\u043d\\u0435\\u0439 \\u043c\\u0435\\u0440\\u0435, \\u043d\\u0430\\u0441\\u043a\\u043e\\u043b\\u044c\\u043a\\u043e \\u043c\\u043d\\u0435 \\u0438\\u0437\\u0432\\u0435\\u0441\\u0442\\u043d\\u043e. \\u0412\\u0435\\u0440\\u0441\\u0438\\u044f PMX Pro \\u043f\\u043e\\u043a\\u0430\\u0437\\u044b\\u0432\\u0430\\u0435\\u0442 \\u043a\\u0440\\u0430\\u0442\\u043a\\u043e\\u0435 \\u043e\\u043f\\u0438\\u0441\\u0430\\u043d\\u0438\\u0435 \\u043e\\u0431\\u0449\\u0438\\u0445 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439 manifest \\u0438 AppOp.</p> <p>\\u0415\\u0441\\u0442\\u044c \\u0441\\u0442\\u043e\\u0440\\u043e\\u043d\\u043d\\u0438\\u0435 \\u0440\\u0435\\u0441\\u0443\\u0440\\u0441\\u044b, \\u0442\\u0430\\u043a\\u0438\\u0435 \\u043a\\u0430\\u043a \\u044d\\u0442\\u043e\\u0439 \\u043e\\u0442 Izzy. \\u041e\\u0444\\u0438\\u0446\\u0438\\u0430\\u043b\\u044c\\u043d\\u044b\\u0439 \\u0441\\u0430\\u0439\\u0442 \\u0440\\u0430\\u0437\\u0440\\u0430\\u0431\\u043e\\u0442\\u0447\\u0438\\u043a\\u043e\\u0432 Android \\u0438 \\u0438\\u0441\\u0445\\u043e\\u0434\\u043d\\u044b\\u0439 \\u043a\\u043e\\u0434 \\u0442\\u043e\\u0436\\u0435 \\u043a\\u043b\\u0430\\u0441\\u0441\\u043d\\u044b\\u0435 \\u0438\\u0441\\u0442\\u043e\\u0447\\u043d\\u0438\\u043a\\u0438 \\u0434\\u043b\\u044f \\u043e\\u0431\\u0443\\u0447\\u0435\\u043d\\u0438\\u044f.</p> <p>\\u0421 \\u043a\\u0430\\u0436\\u0434\\u043e\\u0439 \\u043d\\u043e\\u0432\\u043e\\u0439 \\u0432\\u0435\\u0440\\u0441\\u0438\\u0435\\u0439 Android \\u0434\\u043e\\u0431\\u0430\\u0432\\u043b\\u044f\\u044e\\u0442\\u0441\\u044f \\u043d\\u043e\\u0432\\u044b\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f, \\u0430 \\u043d\\u0435\\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 \\u0443\\u0441\\u0442\\u0430\\u0440\\u0435\\u0432\\u0430\\u044e\\u0442. \\u041a\\u0440\\u043e\\u043c\\u0435 \\u0442\\u043e\\u0433\\u043e, \\u043d\\u0435 \\u0432\\u0441\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u043d\\u0435\\u043e\\u0431\\u0445\\u043e\\u0434\\u0438\\u043c\\u044b \\u043a\\u0430\\u0436\\u0434\\u043e\\u043c\\u0443 \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u044e.</p>\"},{\"location\":\"ru/faqs/#faq22\",\"title\":\"\\u041a\\u0430\\u043a \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u044c \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435 \\u0432 \\u0440\\u0430\\u0431\\u043e\\u0447\\u0435\\u043c \\u043f\\u0440\\u043e\\u0444\\u0438\\u043b\\u0435/\\u043c\\u043d\\u043e\\u0433\\u043e\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u044c\\u0441\\u043a\\u043e\\u0439 \\u0441\\u0440\\u0435\\u0434\\u0435?\",\"text\":\"<p>Pro \\u0432\\u0435\\u0440\\u0441\\u0438\\u044f \\u043f\\u043e\\u0434\\u0434\\u0435\\u0440\\u0436\\u0438\\u0432\\u0430\\u0435\\u0442 \\u0440\\u0430\\u0431\\u043e\\u0447\\u0438\\u0435 \\u043f\\u0440\\u043e\\u0444\\u0438\\u043b\\u0438 \\u0438 \\u043d\\u0435\\u0441\\u043a\\u043e\\u043b\\u044c\\u043a\\u043e \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u0435\\u0439. \\u0412\\u044b\\u0431\\u0435\\u0440\\u0438\\u0442\\u0435 \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u044f \\u0438\\u0437 \\u0432\\u044b\\u043f\\u0430\\u0434\\u0430\\u044e\\u0449\\u0435\\u0433\\u043e \\u043c\\u0435\\u043d\\u044e.</p> <p></p>\"},{\"location\":\"ru/faqs/#faq24\",\"title\":\"\\u041a\\u0430\\u043a PMX \\u0441\\u0440\\u0430\\u0432\\u043d\\u0438\\u0432\\u0430\\u0435\\u0442 \\u0441 XPrivacyLua? \\u041c\\u043e\\u0433\\u0443\\u0442 \\u043b\\u0438 \\u043e\\u043d\\u0438 \\u0437\\u0430\\u043c\\u0435\\u043d\\u0438\\u0442\\u044c \\u0434\\u0440\\u0443\\u0433 \\u0434\\u0440\\u0443\\u0433\\u0430?\",\"text\":\"<p>PMX \\u043d\\u0435 \\u043f\\u0440\\u0435\\u0434\\u043d\\u0430\\u0437\\u043d\\u0430\\u0447\\u0435\\u043d \\u0434\\u043b\\u044f \\u0437\\u0430\\u043c\\u0435\\u043d\\u044b, \\u0430 \\u0434\\u043e\\u043f\\u043e\\u043b\\u043d\\u044f\\u044e\\u0449\\u0438\\u0445 \\u043f\\u0440\\u043e\\u0435\\u043a\\u0442\\u044b \\u0442\\u0438\\u043f\\u0430 XPrivacyLua. \\u041e\\u043d\\u0438 \\u0438\\u043c\\u0435\\u044e\\u0442 \\u0440\\u0430\\u0437\\u043b\\u0438\\u0447\\u043d\\u044b\\u0435 \\u0446\\u0435\\u043b\\u0438.</p> <p>XPrivacyLua \\u0432\\u0437\\u043b\\u043e\\u043c\\u0430\\u0435\\u0442 \\u0441\\u0442\\u0430\\u043d\\u0434\\u0430\\u0440\\u0442\\u043d\\u0443\\u044e \\u0444\\u0443\\u043d\\u043a\\u0446\\u0438\\u043e\\u043d\\u0430\\u043b\\u044c\\u043d\\u043e\\u0441\\u0442\\u044c Android, \\u043f\\u043e\\u0434\\u043a\\u043b\\u044e\\u0447\\u0438\\u0432\\u0448\\u0438\\u0441\\u044c \\u043a \\u0432\\u043d\\u0443\\u0442\\u0440\\u0435\\u043d\\u043d\\u0438\\u043c API, \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u0443\\u044f Xposed , \\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0439 \\u0437\\u0430\\u043c\\u0435\\u043d\\u044f\\u0435\\u0442 \\u043d\\u0435\\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 \\u0431\\u0438\\u0431\\u043b\\u0438\\u043e\\u0442\\u0435\\u043a\\u0438 Android \\u043d\\u0430 \\u0432\\u0437\\u043b\\u043e\\u043c\\u0430\\u043d\\u043d\\u044b\\u0435. \\u0422\\u0430\\u043a\\u0438\\u043c \\u043e\\u0431\\u0440\\u0430\\u0437\\u043e\\u043c, \\u043c\\u044b \\u043f\\u043e\\u043b\\u0443\\u0447\\u0430\\u0435\\u043c \\u0434\\u043e\\u043f\\u043e\\u043b\\u043d\\u0438\\u0442\\u0435\\u043b\\u044c\\u043d\\u044b\\u0435 \\u0444\\u0443\\u043d\\u043a\\u0446\\u0438\\u0438, \\u0442\\u0430\\u043a\\u0438\\u0435 \\u043a\\u0430\\u043a \\u043e\\u0442\\u043f\\u0440\\u0430\\u0432\\u043a\\u0430 \\u043f\\u043e\\u0434\\u0434\\u0435\\u043b\\u044c\\u043d\\u044b\\u0445 \\u0434\\u0430\\u043d\\u043d\\u044b\\u0445 \\u0432 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f \\u0438 \\u0443\\u0432\\u0435\\u0434\\u043e\\u043c\\u043b\\u0435\\u043d\\u0438\\u044f \\u043e \\u0441\\u043e\\u0431\\u044b\\u0442\\u0438\\u044f\\u0445, \\u0441\\u0432\\u044f\\u0437\\u0430\\u043d\\u043d\\u044b\\u0445 \\u0441 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f\\u043c\\u0438, \\u043e \\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0445 \\u043c\\u044b \\u043d\\u0435 \\u043c\\u043e\\u0436\\u0435\\u043c \\u0443\\u0437\\u043d\\u0430\\u0442\\u044c \\u043d\\u0438\\u043a\\u0430\\u043a\\u0438\\u043c\\u0438 \\u0434\\u0440\\u0443\\u0433\\u0438\\u043c\\u0438 \\u043e\\u0431\\u044b\\u0447\\u043d\\u044b\\u043c\\u0438 \\u0441\\u043f\\u043e\\u0441\\u043e\\u0431\\u0430\\u043c\\u0438.</p> <p>PMX \\u0441 \\u0434\\u0440\\u0443\\u0433\\u043e\\u0439 \\u0441\\u0442\\u043e\\u0440\\u043e\\u043d\\u044b, \\u043d\\u0435 \\u0437\\u0430\\u0434\\u0443\\u043c\\u044b\\u0432\\u0430\\u043b\\u0441\\u044f \\u043a\\u0430\\u043a \\u043c\\u043e\\u0434\\u0443\\u043b\\u044c \\u0444\\u0440\\u0435\\u0439\\u043c\\u0432\\u043e\\u0440\\u043a\\u0430. \\u041e\\u043d\\u043e \\u043e\\u0431\\u0435\\u0441\\u043f\\u0435\\u0447\\u0438\\u0432\\u0430\\u0435\\u0442 \\u0443\\u0434\\u043e\\u0431\\u043d\\u044b\\u0439 \\u0434\\u043e\\u0441\\u0442\\u0443\\u043f \\u043a \\u043d\\u0435\\u0441\\u043a\\u043e\\u043b\\u044c\\u043a\\u0438\\u043c \\u043f\\u0440\\u0438\\u0432\\u0438\\u043b\\u0435\\u0433\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u043d\\u044b\\u043c API, \\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 \\u043d\\u0435 \\u043c\\u043e\\u0433\\u0443\\u0442 \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u044c \\u043e\\u0431\\u044b\\u0447\\u043d\\u044b\\u0435 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f. \\u042d\\u0442\\u043e \\u043d\\u0438 \\u0432 \\u043a\\u043e\\u0435\\u043c \\u0441\\u043b\\u0443\\u0447\\u0430\\u0435 \\u043d\\u0435 \\u0432\\u0437\\u043b\\u043e\\u043c \\u0441\\u0442\\u0430\\u043d\\u0434\\u0430\\u0440\\u0442\\u043d\\u044b\\u0445 \\u0444\\u0443\\u043d\\u043a\\u0446\\u0438\\u0439 Android. \\u0411\\u043e\\u043b\\u044c\\u0448\\u0438\\u043d\\u0441\\u0442\\u0432\\u043e \\u0437\\u0430\\u0434\\u0430\\u0447 PMX \\u0432\\u044b\\u043f\\u043e\\u043b\\u043d\\u044f\\u0435\\u0442\\u0441\\u044f \\u0442\\u0430\\u043a\\u0436\\u0435 \\u0438\\u0437 \\u043a\\u043e\\u043c\\u0430\\u043d\\u0434\\u043d\\u043e\\u0439 \\u0441\\u0442\\u0440\\u043e\\u043a\\u0438, \\u0437\\u0430 \\u0438\\u0441\\u043a\\u043b\\u044e\\u0447\\u0435\\u043d\\u0438\\u0435\\u043c \\u043d\\u0435\\u0441\\u043a\\u043e\\u043b\\u044c\\u043a\\u0438\\u0445 \\u0442\\u0430\\u043a\\u0438\\u0445 \\u043a\\u0430\\u043a \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u0438\\u0435 \\u0444\\u0438\\u043a\\u0441\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u043d\\u044b\\u0445 \\u0441\\u0438\\u0441\\u0442\\u0435\\u043c\\u043d\\u044b\\u0445 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439.</p> <p>\\u041a\\u043e\\u0440\\u0435\\u043d\\u044c \\u0438 Xposed \\u044f\\u0432\\u043b\\u044f\\u044e\\u0442\\u0441\\u044f \\u0434\\u0432\\u0443\\u043c\\u044f \\u0441\\u0442\\u0440\\u043e\\u0433\\u0438\\u043c\\u0438 \\u0442\\u0440\\u0435\\u0431\\u043e\\u0432\\u0430\\u043d\\u0438\\u044f\\u043c\\u0438 \\u0434\\u043b\\u044f \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u043d\\u0438\\u044f XPrivacyLua. PMX \\u0432 \\u043e\\u0441\\u043d\\u043e\\u0432\\u043d\\u043e\\u043c \\u043d\\u0435 \\u0442\\u0440\\u0435\\u0431\\u0443\\u0435\\u0442 \\u043d\\u0438 \\u0442\\u043e\\u0433\\u043e, \\u043d\\u0438 \\u0434\\u0440\\u0443\\u0433\\u043e\\u0433\\u043e. \\u041e\\u0431\\u0430 \\u044d\\u0442\\u0438 \\u0443\\u0441\\u0442\\u0440\\u043e\\u0439\\u0441\\u0442\\u0432\\u0430 \\u043d\\u0435 \\u0434\\u043e\\u0441\\u0442\\u0443\\u043f\\u043d\\u044b \\u0434\\u043b\\u044f \\u043c\\u043d\\u043e\\u0433\\u0438\\u0445 \\u0443\\u0441\\u0442\\u0440\\u043e\\u0439\\u0441\\u0442\\u0432 \\u0438\\u043b\\u0438 \\u043c\\u043d\\u043e\\u0433\\u0438\\u0435 \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u0438 \\u043d\\u0435 \\u0441\\u0447\\u0438\\u0442\\u0430\\u044e\\u0442 \\u0438\\u0445 \\u0432\\u0430\\u0440\\u0438\\u0430\\u043d\\u0442\\u043e\\u043c \\u0438\\u0437-\\u0437\\u0430 \\u0442\\u0435\\u0445\\u043d\\u0438\\u0447\\u0435\\u0441\\u043a\\u0438\\u0445 \\u0442\\u0440\\u0443\\u0434\\u043d\\u043e\\u0441\\u0442\\u0435\\u0439, \\u0441\\u0432\\u044f\\u0437\\u0430\\u043d\\u043d\\u044b\\u0445 \\u0441 \\u044d\\u0442\\u0438\\u043c, \\u0413\\u0430\\u0440\\u0430\\u043d\\u0442\\u0438\\u0439\\u043d\\u044b\\u0439 \\u043d\\u043e\\u0442\\u0430\\u0440\\u0438\\u0443\\u0441, \\u043e\\u0442\\u043a\\u0430\\u0437 SafetyNet \\u0438 \\u0434\\u0440\\u0443\\u0433\\u0438\\u0435 \\u0432\\u043e\\u043f\\u0440\\u043e\\u0441\\u044b.</p> <p>\\u0411\\u043e\\u043b\\u044c\\u0448\\u0435 \\u043e\\u0431\\u044a\\u044f\\u0441\\u043d\\u0435\\u043d\\u0438\\u0439 here \\u0438 here.</p>\"},{\"location\":\"ru/faqs/#faq32\",\"title\":\"\\u041c\\u043e\\u0436\\u0435\\u0442 \\u043b\\u0438 PMX \\u0430\\u0432\\u0442\\u043e\\u043c\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043a\\u0438 \\u0443\\u0434\\u0430\\u043b\\u044f\\u0442\\u044c \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f, \\u043a\\u043e\\u0433\\u0434\\u0430 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435 \\u0437\\u0430\\u043a\\u0440\\u044b\\u0432\\u0430\\u0435\\u0442\\u0441\\u044f, \\u043a\\u0430\\u043a \\u044d\\u0442\\u043e \\u0434\\u0435\\u043b\\u0430\\u0435\\u0442 Bouncer?\",\"text\":\"<p>\\u0414\\u0430. \\u0421\\u043c. \\u041d\\u0430\\u0431\\u043b\\u044e\\u0434\\u0430\\u0442\\u0435\\u043b\\u044c \\u043f\\u0440\\u0430\\u0432 \\u0438 \\u041f\\u0440\\u043e\\u0432\\u0435\\u0440\\u0438\\u0442\\u044c \\u0440\\u0430\\u0441\\u043f\\u0438\\u0441\\u0430\\u043d\\u0438\\u0435. \\u041d\\u043e \\u0444\\u0443\\u043d\\u043a\\u0446\\u0438\\u044f \\u0414\\u043e\\u0441\\u0442\\u0443\\u043f\\u043d\\u043e\\u0441\\u0442\\u0438 \\u0434\\u043b\\u044f Android \\u043d\\u0435 \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u0443\\u0435\\u0442\\u0441\\u044f \\u0434\\u043b\\u044f \\u043d\\u0430\\u0436\\u0430\\u0442\\u0438\\u044f / \\u043a\\u043b\\u0438\\u043a\\u043e\\u0432 \\u043d\\u0430 \\u044d\\u043a\\u0440\\u0430\\u043d \\u043e\\u0442 \\u0438\\u043c\\u0435\\u043d\\u0438 \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u044f (\\u0445\\u043e\\u0442\\u044f \\u044d\\u0442\\u043e \\u0445\\u043e\\u0440\\u043e\\u0448\\u0430\\u044f \\u0444\\u0443\\u043d\\u043a\\u0446\\u0438\\u044f \\u0431\\u0435\\u0437 \\u043d\\u0435\\u043e\\u0431\\u0445\\u043e\\u0434\\u0438\\u043c\\u043e\\u0441\\u0442\\u0438 \\u0434\\u043e\\u043f\\u043e\\u043b\\u043d\\u0438\\u0442\\u0435\\u043b\\u044c\\u043d\\u043e\\u0439 \\u043d\\u0430\\u0441\\u0442\\u0440\\u043e\\u0439\\u043a\\u0438). PMX \\u043f\\u043e\\u043b\\u0430\\u0433\\u0430\\u0435\\u0442\\u0441\\u044f \\u043d\\u0430 \\u043f\\u0440\\u0438\\u0432\\u0438\\u043b\\u0435\\u0433\\u0438\\u0438 root \\u0438\\u043b\\u0438 ADB. \\u0422\\u0430\\u043a\\u0438\\u043c \\u043e\\u0431\\u0440\\u0430\\u0437\\u043e\\u043c, \\u043e\\u043d \\u043c\\u043e\\u0436\\u0435\\u0442 \\u0441\\u0434\\u0435\\u043b\\u0430\\u0442\\u044c \\u043d\\u0430\\u043c\\u043d\\u043e\\u0433\\u043e \\u0431\\u043e\\u043b\\u044c\\u0448\\u0435 (\\u0441\\u043c. \\u0427\\u0442\\u043e \\u0442\\u0430\\u043a\\u043e\\u0435 PMX?) \\u0447\\u0435\\u043c \\u0442\\u043e, \\u0447\\u0442\\u043e \\u043c\\u043e\\u0436\\u0435\\u0442 \\u0431\\u044b\\u0442\\u044c \\u0441\\u0434\\u0435\\u043b\\u0430\\u043d\\u043e \\u0441 \\u043f\\u043e\\u043c\\u043e\\u0449\\u044c\\u044e \\u0444\\u0443\\u043d\\u043a\\u0446\\u0438\\u0439 \\u0421\\u043f\\u0435\\u0446\\u0438\\u0430\\u043b\\u044c\\u043d\\u044b\\u0435 \\u0432\\u043e\\u0437\\u043c\\u043e\\u0436\\u043d\\u043e\\u0441\\u0442\\u0438.</p> <p>\\u0415\\u0441\\u043b\\u0438 \\u0432\\u044b \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u0443\\u0435\\u0442\\u0435 ADB, \\u0430 \\u043d\\u0435 root, Permission Watcher \\u043c\\u043e\\u0436\\u0435\\u0442 \\u043d\\u0435 \\u0440\\u0430\\u0431\\u043e\\u0442\\u0430\\u0442\\u044c \\u043d\\u0430 \\u043d\\u0435\\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0445 \\u0443\\u0441\\u0442\\u0440\\u043e\\u0439\\u0441\\u0442\\u0432\\u0430\\u0445. \\u0421\\u043c. \\u041e\\u0433\\u0440\\u0430\\u043d\\u0438\\u0447\\u0435\\u043d\\u0438\\u044f \\u0434\\u043b\\u044f ADB.</p>\"},{\"location\":\"ru/faqs/#faq35\",\"title\":\"\\u041c\\u043e\\u0433\\u0443 \\u043b\\u0438 \\u044f \\u043f\\u043e\\u043b\\u0443\\u0447\\u0430\\u0442\\u044c \\u0443\\u0432\\u0435\\u0434\\u043e\\u043c\\u043b\\u0435\\u043d\\u0438\\u044f \\u043e \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043a\\u0435 \\u043d\\u043e\\u0432\\u043e\\u0433\\u043e \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f?\",\"text\":\"<p>\\u0414\\u0430. \\u0421\\u043c\\u043e\\u0442\\u0440\\u0438\\u0442\\u0435 \\u041d\\u0430\\u0431\\u043b\\u044e\\u0434\\u0430\\u0442\\u0435\\u043b\\u044c \\u0420\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439.</p> <p>\\u041d\\u0430\\u0447\\u0438\\u043d\\u0430\\u044f \\u0441 Android 8, \\u0444\\u043e\\u043d\\u043e\\u0432\\u044b\\u0435 (\\u043d\\u0435 \\u0440\\u0430\\u0431\\u043e\\u0442\\u0430\\u044e\\u0449\\u0438\\u0435) \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f \\u043d\\u0435 \\u043c\\u043e\\u0433\\u0443\\u0442 \\u043f\\u043e\\u043b\\u0443\\u0447\\u0430\\u0442\\u044c \\u0443\\u0432\\u0435\\u0434\\u043e\\u043c\\u043b\\u0435\\u043d\\u0438\\u044f \\u043e\\u0431 \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043a\\u0435 \\u043d\\u043e\\u0432\\u043e\\u0433\\u043e \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f. \\u041f\\u043e\\u044d\\u0442\\u043e\\u043c\\u0443 \\u043c\\u044b \\u0434\\u043e\\u043b\\u0436\\u043d\\u044b \\u0437\\u0430\\u043f\\u0443\\u0441\\u0442\\u0438\\u0442\\u044c \\u0441\\u043b\\u0443\\u0436\\u0431\\u0443 \\u043f\\u0435\\u0440\\u0435\\u0434\\u043d\\u0435\\u0433\\u043e \\u043f\\u043b\\u0430\\u043d\\u0430 (\\u0441 \\u043f\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u043d\\u044b\\u043c \\u0443\\u0432\\u0435\\u0434\\u043e\\u043c\\u043b\\u0435\\u043d\\u0438\\u0435\\u043c), \\u0447\\u0442\\u043e\\u0431\\u044b \\u043f\\u043e\\u043b\\u0443\\u0447\\u0438\\u0442\\u044c \\u044d\\u0442\\u043e \\u0443\\u0432\\u0435\\u0434\\u043e\\u043c\\u043b\\u0435\\u043d\\u0438\\u0435. \\u0418\\u043b\\u0438 \\u0432\\u044b \\u043c\\u043e\\u0436\\u0435\\u0442\\u0435 \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u044c \\u0417\\u0430\\u043f\\u043b\\u0430\\u043d\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u043d\\u0430\\u044f \\u043f\\u0440\\u043e\\u0432\\u0435\\u0440\\u043a\\u0430 \\u0447\\u0442\\u043e\\u0431\\u044b \\u0441\\u043e\\u0445\\u0440\\u0430\\u043d\\u0438\\u0442\\u044c \\u0432\\u0435\\u0449\\u0438 \\u043d\\u0430 \\u043c\\u0435\\u0441\\u0442\\u0435.</p>\"},{\"location\":\"ru/faqs/#faq38\",\"title\":\"\\u041a\\u043e\\u0433\\u0434\\u0430 \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043b\\u0435\\u043d\\u043e \\u043d\\u043e\\u0432\\u043e\\u0435 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435, \\u043c\\u043e\\u0436\\u0435\\u0442 \\u043b\\u0438 PMX \\u0441\\u0431\\u0440\\u043e\\u0441\\u0438\\u0442\\u044c \\u0441\\u0432\\u043e\\u0438 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u043f\\u043e \\u0443\\u043c\\u043e\\u043b\\u0447\\u0430\\u043d\\u0438\\u044e?\",\"text\":\"<p>\\u0414\\u0430. \\u041d\\u043e \\u043d\\u0435\\u0442 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u043d\\u0430 \\u0441\\u0431\\u0440\\u043e\\u0441. \\u0412\\u0441\\u0435 \\u0430\\u043d\\u043d\\u0443\\u043b\\u0438\\u0440\\u0443\\u0435\\u043c\\u044b\\u0435 manifest \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u0443\\u0436\\u0435 \\u043e\\u0442\\u043e\\u0437\\u0432\\u0430\\u043d\\u044b \\u0438 \\u043e\\u0441\\u0442\\u0430\\u044e\\u0442\\u0441\\u044f \\u043e\\u0442\\u043e\\u0437\\u0432\\u0430\\u043d\\u044b, \\u0435\\u0441\\u043b\\u0438 \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u044c \\u043d\\u0435 \\u043f\\u0440\\u0435\\u0434\\u043e\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442 \\u0438\\u043c \\u044f\\u0432\\u043d\\u043e. \\u0427\\u0442\\u043e \\u043a\\u0430\\u0441\\u0430\\u0435\\u0442\\u0441\\u044f AppOps , \\u0442\\u043e \\u043c\\u043d\\u043e\\u0433\\u0438\\u0435 \\u0438\\u0437 \\u043d\\u0438\\u0445 \\u043d\\u0435 \\u043f\\u043e\\u044f\\u0432\\u043b\\u044f\\u044e\\u0442\\u0441\\u044f \\u0445\\u043e\\u0442\\u044f \\u0431\\u044b \\u0440\\u0430\\u0437 \\u0438 \\u043f\\u043e\\u0441\\u043b\\u0435 \\u0438\\u0445 \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u043d\\u0438\\u044f \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435\\u043c, \\u043d\\u0430\\u043f\\u0440\\u0438\\u043c\\u0435\\u0440 <code>VIBRATE</code> \\u0438 <code>READ_CLIPBOARD</code>. Many others (e.g. <code>READ_CONTACTS</code>) have their corresponding manifest permissions already dropped, as pointed out. \\u0422\\u0430\\u043a \\u0447\\u0442\\u043e \\u043d\\u0430 \\u043c\\u043e\\u043c\\u0435\\u043d\\u0442 \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043a\\u0438 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f \\u043d\\u0435 \\u043f\\u0440\\u043e\\u0433\\u043d\\u043e\\u0437\\u0438\\u0440\\u0443\\u0435\\u0442\\u0441\\u044f, \\u0447\\u0442\\u043e AppOps \\u0441\\u043b\\u0435\\u0434\\u0443\\u0435\\u0442 \\u0443\\u0434\\u0430\\u043b\\u0438\\u0442\\u044c.</p> <p>\\u041d\\u043e \\u0443\\u0432\\u0435\\u0434\\u043e\\u043c\\u043b\\u0435\\u043d\\u0438\\u0435 \\u043e\\u0442\\u043e\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442\\u0441\\u044f \\u043f\\u0440\\u0438 \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043a\\u0435 \\u043d\\u043e\\u0432\\u043e\\u0433\\u043e \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f (\\u0435\\u0441\\u043b\\u0438 \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u0443\\u0435\\u0442\\u0441\\u044f Permission Watcher), \\u0447\\u0442\\u043e\\u0431\\u044b \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u044c \\u043c\\u043e\\u0433 \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u0438\\u0442\\u044c \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u043f\\u043e \\u043e\\u0434\\u043d\\u043e\\u043c\\u0443 \\u0438\\u043b\\u0438 \\u043f\\u0440\\u0438\\u043c\\u0435\\u043d\\u0438\\u0442\\u044c \\u043f\\u0440\\u043e\\u0444\\u0438\\u043b\\u044c.</p>\"},{\"location\":\"ru/faqs/#faq25\",\"title\":\"\\u041f\\u043e\\u0447\\u0435\\u043c\\u0443 PMX \\u0442\\u0440\\u0435\\u0431\\u0443\\u0435\\u0442 \\u0418\\u041d\\u0422\\u0415\\u0420\\u041d\\u0415\\u0422 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f?\",\"text\":\"<p>standalone Pro \\u0432\\u0435\\u0440\\u0441\\u0438\\u044f \\u0442\\u0440\\u0435\\u0431\\u0443\\u0435\\u0442 \\u043f\\u043e\\u0434\\u043a\\u043b\\u044e\\u0447\\u0435\\u043d\\u0438\\u0435 \\u043a \\u0418\\u043d\\u0442\\u0435\\u0440\\u043d\\u0435\\u0442\\u0443 \\u0434\\u043b\\u044f \\u043f\\u0440\\u043e\\u0432\\u0435\\u0440\\u043a\\u0438 \\u043b\\u0438\\u0446\\u0435\\u043d\\u0437\\u0438\\u0438. \\u0414\\u0440\\u0443\\u0433\\u0438\\u0435 versions \\u043c\\u043e\\u0433\\u0443\\u0442 \\u0440\\u0430\\u0431\\u043e\\u0442\\u0430\\u0442\\u044c \\u043f\\u043e\\u043b\\u043d\\u043e\\u0441\\u0442\\u044c\\u044e \\u043e\\u0444\\u0444\\u043b\\u0430\\u0439\\u043d. \\u0425\\u043e\\u0442\\u044f \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044e Play \\u041c\\u0430\\u0440\\u043a\\u0435\\u0442 \\u0434\\u043b\\u044f \\u043f\\u0440\\u043e\\u0432\\u0435\\u0440\\u043a\\u0438 \\u043b\\u0438\\u0446\\u0435\\u043d\\u0437\\u0438\\u0438 \\u0442\\u0440\\u0435\\u0431\\u0443\\u0435\\u0442\\u0441\\u044f \\u043f\\u043e\\u0434\\u043a\\u043b\\u044e\\u0447\\u0435\\u043d\\u0438\\u0435 \\u043a \\u0418\\u043d\\u0442\\u0435\\u0440\\u043d\\u0435\\u0442\\u0443.</p>\"},{\"location\":\"ru/faqs/#optional-use-of-internet-permission\",\"title\":\"\\u041d\\u0435\\u043e\\u0431\\u044f\\u0437\\u0430\\u0442\\u0435\\u043b\\u044c\\u043d\\u043e\\u0435 \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u043d\\u0438\\u0435 <code>android.permission.INTERNET</code> \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f\",\"text\":\"<ul> <li>\\u041f\\u0440\\u043e\\u0432\\u0435\\u0440\\u043a\\u0430 \\u043e\\u0431\\u043d\\u043e\\u0432\\u043b\\u0435\\u043d\\u0438\\u044f \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f. \\u0412\\u044b \\u043c\\u043e\\u0436\\u0435\\u0442\\u0435 \\u043e\\u0442\\u043a\\u043b\\u044e\\u0447\\u0438\\u0442\\u044c \\u044d\\u0442\\u043e \\u0432 \\u043d\\u0430\\u0441\\u0442\\u0440\\u043e\\u0439\\u043a\\u0430\\u0445.</li> </ul>\"},{\"location\":\"ru/faqs/#on-device-use-of-internet-permission\",\"title\":\"\\u041b\\u043e\\u043a\\u0430\\u043b\\u044c\\u043d\\u043e\\u0435 (\\u043d\\u0430 \\u0443\\u0441\\u0442\\u0440\\u043e\\u0439\\u0441\\u0442\\u0432\\u0435) \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u043d\\u0438\\u0435 <code>android.permission.INTERNET</code> \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f\",\"text\":\"<p>Android \\u043d\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0430\\u0435\\u0442 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f\\u043c \\u0441\\u043e\\u0437\\u0434\\u0430\\u0432\\u0430\\u0442\\u044c \\u0441\\u0435\\u0442\\u0435\\u0432\\u044b\\u0435 \\u0441\\u043e\\u043a\\u0435\\u0442\\u044b \\u0431\\u0435\\u0437 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f <code>INTERNET</code>, \\u0434\\u0430\\u0436\\u0435 \\u0435\\u0441\\u043b\\u0438 \\u043e\\u043d\\u0438 \\u043f\\u0440\\u0435\\u0434\\u043d\\u0430\\u0437\\u043d\\u0430\\u0447\\u0435\\u043d\\u044b \\u0442\\u043e\\u043b\\u044c\\u043a\\u043e \\u043b\\u043e\\u043a\\u0430\\u043b\\u044c\\u043d\\u043e \\u0438 \\u043d\\u0435 \\u0434\\u043b\\u044f \\u043f\\u043e\\u0434\\u043a\\u043b\\u044e\\u0447\\u0435\\u043d\\u0438\\u044f \\u043a \\u0418\\u043d\\u0442\\u0435\\u0440\\u043d\\u0435\\u0442\\u0443. PMX \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u0443\\u0435\\u0442 \\u0434\\u0432\\u0430 \\u043b\\u043e\\u043a\\u0430\\u043b\\u044c\\u043d\\u044b\\u0445 (\\u043d\\u0430 \\u0443\\u0441\\u0442\\u0440\\u043e\\u0439\\u0441\\u0442\\u0432\\u0435) \\u0441\\u043e\\u0435\\u0434\\u0438\\u043d\\u0435\\u043d\\u0438\\u044f (\\u0432\\u043e\\u0437\\u043c\\u043e\\u0436\\u043d\\u043e\\u0441\\u0442\\u044c \\u0441\\u043e\\u0437\\u0434\\u0430\\u043d\\u0438\\u044f <code>localhost</code> \\u0441\\u043e\\u043a\\u0435\\u0442\\u043e\\u0432 \\u0432 <code>127.0.0.1</code>) \\u0434\\u043b\\u044f \\u043a\\u043e\\u043c\\u043c\\u0443\\u043d\\u0438\\u043a\\u0430\\u0446\\u0438\\u0438 \\u043c\\u0435\\u0436\\u0434\\u0443 \\u043f\\u0440\\u043e\\u0446\\u0435\\u0441\\u0441\\u0430\\u043c\\u0438 (IPC):</p> <ul> <li>PMX \\u0437\\u0430\\u043f\\u0443\\u0441\\u043a\\u0430\\u0435\\u0442 \\u0444\\u043e\\u043d\\u043e\\u0432\\u044b\\u0439 \\u043f\\u0440\\u043e\\u0446\\u0435\\u0441\\u0441 \\u0441 \\u043f\\u0440\\u0438\\u0432\\u0438\\u043b\\u0435\\u0433\\u0438\\u044f\\u043c\\u0438 root / ADB \\u0438 \\u0440\\u0430\\u0437\\u0433\\u043e\\u0432\\u0430\\u0440\\u0438\\u0432\\u0430\\u0435\\u0442 \\u0441 \\u044d\\u0442\\u0438\\u043c \\u043f\\u0440\\u043e\\u0446\\u0435\\u0441\\u0441\\u043e\\u043c \\u0447\\u0435\\u0440\\u0435\\u0437 \\u0441\\u0435\\u0442\\u0435\\u0432\\u043e\\u0439 \\u0441\\u043e\\u043a\\u0435\\u0442. \\u041f\\u043e\\u0441\\u043b\\u0435 \\u043f\\u0435\\u0440\\u0432\\u043e\\u043d\\u0430\\u0447\\u0430\\u043b\\u044c\\u043d\\u043e\\u0433\\u043e \\\"\\u0440\\u0443\\u043a\\u043e\\u043f\\u043e\\u0436\\u0430\\u0442\\u0438\\u044f\\\" \\u043e\\u0431\\u0430 \\u043f\\u0440\\u043e\\u0446\\u0435\\u0441\\u0441\\u0430 \\u043d\\u0430\\u0447\\u0438\\u043d\\u0430\\u044e\\u0442 \\u043e\\u0431\\u043c\\u0435\\u043d \\u0434\\u0430\\u043d\\u043d\\u044b\\u043c\\u0438 \\u0447\\u0435\\u0440\\u0435\\u0437 binder. \\u0423 \\u043d\\u0430\\u0441 \\u043d\\u0435\\u0442 \\u043b\\u0443\\u0447\\u0448\\u0435\\u0433\\u043e \\u0441\\u043f\\u043e\\u0441\\u043e\\u0431\\u0430 \\u0441\\u0434\\u0435\\u043b\\u0430\\u0442\\u044c \\u044d\\u0442\\u043e, \\u043f\\u043e\\u0442\\u043e\\u043c\\u0443 \\u0447\\u0442\\u043e Android \\u0442\\u0430\\u043a\\u0436\\u0435 \\u043d\\u0435 \\u043f\\u043e\\u0437\\u0432\\u043e\\u043b\\u044f\\u0435\\u0442 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f\\u043c \\u043e\\u0431\\u0449\\u0430\\u0442\\u044c\\u0441\\u044f \\u0447\\u0435\\u0440\\u0435\\u0437 \\u0441\\u043e\\u043a\\u0435\\u0442\\u044b \\u0434\\u043e\\u043c\\u0435\\u043d\\u0430 UNIX.</li> <li>\\u0415\\u0441\\u043b\\u0438 \\u0442\\u0432\\u043e\\u0435 \\u0443\\u0441\\u0442\\u0440\\u043e\\u0439\\u0441\\u0442\\u0432\\u043e \\u043d\\u0435 \\u0440\\u0443\\u0442\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u043e \\u0438 \\u0442\\u044b \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u0443\\u0435\\u0448\\u044c PMX \\u0441 ADB, \\u0442\\u043e \\u0434\\u043b\\u044f \\u043f\\u043e\\u0434\\u043a\\u043b\\u044e\\u0447\\u0435\\u043d\\u0438\\u044f \\u043a <code>adbd</code> \\u043d\\u0443\\u0436\\u043d\\u044b \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u043d\\u0430 \\u0434\\u043e\\u0441\\u0442\\u0443\\u043f \\u043a \\u0418\\u043d\\u0442\\u0435\\u0440\\u043d\\u0435\\u0442\\u0443. \\u0421\\u043c.  PMX \\u0448\\u043f\\u0438\\u043e\\u043d\\u0438\\u043b \\u0437\\u0430 \\u043c\\u043d\\u043e\\u0439 \\u0441 \\u043f\\u043e\\u043c\\u043e\\u0449\\u044c\\u044e ADB \\u043f\\u043e \\u0441\\u0435\\u0442\\u0438?</li> </ul> <p>\\u041f\\u043e\\u044d\\u0442\\u043e\\u043c\\u0443, \\u0435\\u0441\\u043b\\u0438 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435 \\u043d\\u0435 \\u043c\\u043e\\u0436\\u0435\\u0442 \\u0441\\u043e\\u0437\\u0434\\u0430\\u0432\\u0430\\u0442\\u044c \\u0438\\u043b\\u0438 \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u044c \\u0441\\u043e\\u043a\\u0435\\u0442\\u044b \\u043b\\u043e\\u043a\\u0430\\u043b\\u044c\\u043d\\u043e\\u0439 \\u0441\\u0435\\u0442\\u0438, \\u043e\\u043d\\u043e \\u043d\\u0435 \\u0431\\u0443\\u0434\\u0435\\u0442 \\u0440\\u0430\\u0431\\u043e\\u0442\\u0430\\u0442\\u044c. \\u0418 \\u0435\\u0441\\u043b\\u0438 \\u0442\\u044b \\u0445\\u043e\\u0447\\u0435\\u0448\\u044c \\u0437\\u0430\\u043f\\u0440\\u0435\\u0442\\u0438\\u0442\\u044c \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044e PMX \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u044c \\u0438\\u043d\\u0442\\u0435\\u0440\\u043d\\u0435\\u0442, \\u043e\\u043d\\u043e \\u043d\\u0435 \\u0434\\u043e\\u043b\\u0436\\u043d\\u043e \\u0431\\u043b\\u043e\\u043a\\u0438\\u0440\\u043e\\u0432\\u0430\\u0442\\u044c \\u0432\\u0437\\u0430\\u0438\\u043c\\u043e\\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0435 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f \\u0441 \\u043f\\u0440\\u043e\\u0446\\u0435\\u0441\\u0441\\u0430\\u043c\\u0438 \\u043d\\u0430 \\u0443\\u0441\\u0442\\u0440\\u043e\\u0439\\u0441\\u0442\\u0432\\u0435 \\u0447\\u0435\\u0440\\u0435\\u0437 \\u0438\\u043d\\u0442\\u0435\\u0440\\u0444\\u0435\\u0439\\u0441 \\u043e\\u0431\\u0440\\u0430\\u0442\\u043d\\u043e\\u0439 \\u0441\\u0432\\u044f\\u0437\\u0438 \\u0434\\u043b\\u044f IPC. \\u041a\\u0430\\u043a \\u043f\\u0440\\u0430\\u0432\\u0438\\u043b\\u043e, \\u044d\\u0442\\u043e \\u043e\\u0442\\u043d\\u043e\\u0441\\u0438\\u0442\\u0441\\u044f \\u043a \\u0442\\u0430\\u043a\\u0438\\u043c \\u0431\\u0440\\u0430\\u043d\\u0434\\u043c\\u0430\\u0443\\u044d\\u0440\\u0430\\u043c \\u043d\\u0430 \\u043e\\u0441\\u043d\\u043e\\u0432\\u0435 <code>iptables</code>\\u043a\\u0430\\u043a Fyrypt \\u0438 \\u0431\\u0440\\u0430\\u043d\\u0434\\u043c\\u0430\\u0443\\u044d\\u0440\\u0430\\u043c \\u043d\\u0430 \\u043e\\u0441\\u043d\\u043e\\u0432\\u0435 VPN, \\u043a\\u0430\\u043a NetGuard. \\u041d\\u043e \\u043d\\u0435\\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 ROMs \\u0438\\u043c\\u0435\\u044e\\u0442 \\u0432\\u0441\\u0442\\u0440\\u043e\\u0435\\u043d\\u043d\\u0443\\u044e \\u0444\\u0443\\u043d\\u043a\\u0446\\u0438\\u044e \\u0434\\u043b\\u044f \\u0437\\u0430\\u043f\\u0440\\u0435\\u0449\\u0435\\u043d\\u0438\\u044f \\u0434\\u043e\\u0441\\u0442\\u0443\\u043f\\u0430 \\u043a \\u0441\\u0435\\u0442\\u0438:</p> <p></p> <p>\\u042d\\u0442\\u043e \\u043d\\u0435 \\u0442\\u043e\\u043b\\u044c\\u043a\\u043e \\u0437\\u0430\\u043f\\u0440\\u0435\\u0449\\u0430\\u0435\\u0442 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044e \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u044c \\u0418\\u043d\\u0442\\u0435\\u0440\\u043d\\u0435\\u0442, \\u043d\\u043e \\u0438 \\u043e\\u0442\\u043a\\u043b\\u044e\\u0447\\u0430\\u0435\\u0442 \\u0435\\u0433\\u043e \\u0432\\u043e\\u0437\\u043c\\u043e\\u0436\\u043d\\u043e\\u0441\\u0442\\u044c \\u0441\\u043e\\u0437\\u0434\\u0430\\u0432\\u0430\\u0442\\u044c \\u043f\\u0435\\u0442\\u043b\\u0435\\u0432\\u044b\\u0435 (loopback) \\u0441\\u043e\\u043a\\u0435\\u0442\\u044b \\u0434\\u043b\\u044f IPC. \\u0422\\u0430\\u043a\\u0438\\u043c \\u043e\\u0431\\u0440\\u0430\\u0437\\u043e\\u043c, PMX \\u043d\\u0435 \\u0441\\u043c\\u043e\\u0436\\u0435\\u0442 \\u043f\\u043e\\u043b\\u0443\\u0447\\u0438\\u0442\\u044c \\u043f\\u0440\\u0438\\u0432\\u0438\\u043b\\u0435\\u0433\\u0438\\u0438 root / ADB , \\u0435\\u0441\\u043b\\u0438 \\u044d\\u0442\\u043e\\u043c\\u0443 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044e \\u0431\\u0443\\u0434\\u0435\\u0442 \\u043e\\u0442\\u043a\\u0430\\u0437\\u0430\\u043d\\u043e.</p>\"},{\"location\":\"ru/faqs/#faq26\",\"title\":\"\\u0421\\u043a\\u043e\\u043b\\u044c\\u043a\\u043e PMX \\u043f\\u043e\\u0434\\u0434\\u0435\\u0440\\u0436\\u0438\\u0432\\u0430\\u0435\\u0442 \\u043a\\u043e\\u043d\\u0444\\u0438\\u0434\\u0435\\u043d\\u0446\\u0438\\u0430\\u043b\\u044c\\u043d\\u043e\\u0441\\u0442\\u044c? \\u0421\\u043e\\u0431\\u0438\\u0440\\u0430\\u0435\\u0442\\u0435 \\u043b\\u0438 \\u0432\\u044b \\u0434\\u0430\\u043d\\u043d\\u044b\\u0435 \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u044f?\",\"text\":\"<p>\\u041d\\u0435\\u0442. \\u041c\\u044b \\u043d\\u0435 \\u0441\\u043e\\u0431\\u0438\\u0440\\u0430\\u0435\\u043c \\u0432\\u0430\\u0448\\u0438 \\u0434\\u0430\\u043d\\u043d\\u044b\\u0435. \\u041d\\u0438\\u043a\\u043e\\u0433\\u0434\\u0430. \\u0414\\u0430\\u0436\\u0435 \\u043d\\u0435 \\u043e\\u0434\\u0438\\u043d \\u0431\\u0430\\u0439\\u0442. PMX \\u0435\\u0441\\u0442\\u044c \\u0432\\u0435\\u0440\\u0441\\u0438\\u044f \\u0441 \\u043e\\u0442\\u043a\\u0440\\u044b\\u0442\\u044b\\u043c \\u0438\\u0441\\u0445\\u043e\\u0434\\u043d\\u044b\\u043c \\u043a\\u043e\\u0434\\u043e\\u043c. \\u041c\\u044b \\u0432\\u0435\\u0440\\u0438\\u043c, \\u0447\\u0442\\u043e \\u043d\\u0430\\u0448\\u0438 \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u0438 \\u0445\\u043e\\u0440\\u043e\\u0448\\u043e \\u043e\\u0441\\u0432\\u0435\\u0434\\u043e\\u043c\\u043b\\u0435\\u043d\\u044b \\u043e \\u0442\\u043e\\u043c, \\u043f\\u043e\\u0447\\u0435\\u043c\\u0443 \\u043e\\u043d\\u0438 \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u0443\\u044e\\u0442 PMX. \\u041c\\u044b \\u0443\\u0432\\u0430\\u0436\\u0430\\u0435\\u043c \\u0432\\u0430\\u0448\\u0443 \\u043a\\u043e\\u043d\\u0444\\u0438\\u0434\\u0435\\u043d\\u0446\\u0438\\u0430\\u043b\\u044c\\u043d\\u043e\\u0441\\u0442\\u044c, \\u043f\\u043e\\u044d\\u0442\\u043e\\u043c\\u0443 \\u043d\\u0438\\u043a\\u0430\\u043a\\u0438\\u0435 \\u0434\\u0430\\u043d\\u043d\\u044b\\u0435 \\u043d\\u0435 \\u0441\\u043e\\u0431\\u0438\\u0440\\u0430\\u044e\\u0442\\u0441\\u044f, \\u0434\\u0430\\u0436\\u0435 \\u043b\\u043e\\u0433\\u0438 \\u0441\\u0431\\u043e\\u0435\\u0432. \\u0412\\u044b \\u0442\\u0430\\u043a\\u0436\\u0435 \\u043c\\u043e\\u0436\\u0435\\u0442\\u0435 \\u043f\\u043e\\u0441\\u043c\\u043e\\u0442\\u0440\\u0435\\u0442\\u044c \\u043d\\u0430\\u0448\\u0443 \\u041f\\u043e\\u043b\\u0438\\u0442\\u0438\\u043a\\u0443 \\u043a\\u043e\\u043d\\u0444\\u0438\\u0434\\u0435\\u043d\\u0446\\u0438\\u0430\\u043b\\u044c\\u043d\\u043e\\u0441\\u0442\\u0438.</p>\"},{\"location\":\"ru/faqs/#faq27\",\"title\":\"PMX \\u0448\\u043f\\u0438\\u043e\\u043d\\u0438\\u043b \\u0437\\u0430 \\u043c\\u043d\\u043e\\u0439 \\u0441 \\u043f\\u043e\\u043c\\u043e\\u0449\\u044c\\u044e ADB \\u043f\\u043e \\u0441\\u0435\\u0442\\u0438?\",\"text\":\"<p>\\u041d\\u0435\\u0442.</p> <p>PMX \\u043e\\u0431\\u0449\\u0430\\u0435\\u0442\\u0441\\u044f \\u0441 \\u043f\\u0440\\u043e\\u0446\\u0435\\u0441\\u0441\\u043e\\u043c <code>adbd</code> \\u0447\\u0435\\u0440\\u0435\\u0437 localhost (<code>127.0.0.1</code>). \\u041d\\u043e \\u043d\\u0435\\u0432\\u043e\\u0437\\u043c\\u043e\\u0436\\u043d\\u043e \\u0437\\u0430\\u043f\\u0443\\u0441\\u0442\\u0438\\u0442\\u044c <code>adbd</code> \\u0442\\u043e\\u043b\\u044c\\u043a\\u043e \\u0434\\u043b\\u044f localhsot, \\u0430 \\u043d\\u0435 \\u043d\\u0430 \\u0434\\u0440\\u0443\\u0433\\u0438\\u0445 \\u0441\\u0435\\u0442\\u0435\\u0432\\u044b\\u0445 \\u0438\\u043d\\u0442\\u0435\\u0440\\u0444\\u0435\\u0439\\u0441\\u0430\\u0445 (\\u043f\\u043e\\u0442\\u043e\\u043c\\u0443 \\u0447\\u0442\\u043e ADB \\u043f\\u0440\\u0435\\u0434\\u043d\\u0430\\u0437\\u043d\\u0430\\u0447\\u0435\\u043d \\u0434\\u043b\\u044f \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u043d\\u0438\\u044f \\u0441 \\u041f\\u041a). \\u0422\\u044b \\u043c\\u043e\\u0436\\u0435\\u0448\\u044c \\u043b\\u0435\\u0433\\u043a\\u043e \\u0437\\u0430\\u043f\\u0440\\u0435\\u0442\\u0438\\u0442\\u044c <code>adbd</code> \\u0441\\u043b\\u0443\\u0448\\u0430\\u0442\\u044c \\u0441 \\u0432\\u043d\\u0435\\u0448\\u043d\\u0438\\u0445 IP-\\u0430\\u0434\\u0440\\u0435\\u0441\\u043e\\u0432, \\u0435\\u0441\\u043b\\u0438 \\u0443 \\u0442\\u0435\\u0431\\u044f \\u0435\\u0441\\u0442\\u044c \\u0442\\u0430\\u043a\\u0430\\u044f \\u0432\\u043e\\u0437\\u043c\\u043e\\u0436\\u043d\\u043e\\u0441\\u0442\\u044c. PMX \\u043f\\u043e-\\u043f\\u0440\\u0435\\u0436\\u043d\\u0435\\u043c\\u0443 \\u0431\\u0443\\u0434\\u0435\\u0442 \\u0440\\u0430\\u0431\\u043e\\u0442\\u0430\\u0442\\u044c, \\u0431\\u0435\\u0437 \\u043a\\u0430\\u043a\\u0438\\u0445 \\u0431\\u044b \\u0442\\u043e \\u043d\\u0438 \\u0431\\u044b\\u043b\\u043e \\u0432\\u043d\\u0435\\u0448\\u043d\\u0438\\u0445 \\u043f\\u043e\\u0440\\u0442\\u043e\\u0432.</p> <p>\\u0422\\u0430\\u043a\\u0436\\u0435 \\u0432\\u044b \\u043c\\u043e\\u0436\\u0435\\u0442\\u0435 \\u0438\\u0437\\u043c\\u0435\\u043d\\u0438\\u0442\\u044c \\u043f\\u043e\\u0440\\u0442 <code>5555</code> \\u043d\\u0430 \\u043b\\u044e\\u0431\\u043e\\u0439 \\u043d\\u043e\\u043c\\u0435\\u0440 \\u0432 \\u0440\\u0430\\u0437\\u0434\\u0435\\u043b\\u0435 \\u0414\\u043e\\u043f\\u043e\\u043b\\u043d\\u0438\\u0442\\u0435\\u043b\\u044c\\u043d\\u044b\\u0435 \\u043d\\u0430\\u0441\\u0442\\u0440\\u043e\\u0439\\u043a\\u0438. \\u042d\\u0442\\u043e \\u043d\\u0435 \\u0436\\u0435\\u0441\\u0442\\u043a\\u043e \\u0437\\u0430\\u043f\\u0440\\u043e\\u0433\\u0440\\u0430\\u043c\\u043c\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u043e.</p> <p>\\u0422\\u0430\\u043a\\u0436\\u0435 ADB \\u0441 Android 4.2 \\u0434\\u043e\\u043b\\u0436\\u0435\\u043d \\u0431\\u044b\\u0442\\u044c \\u0437\\u0430\\u0449\\u0438\\u0449\\u0435\\u043d RSA \\u043a\\u043b\\u044e\\u0447\\u043e\\u043c \\u0430\\u0443\\u0442\\u0435\\u043d\\u0442\\u0438\\u0444\\u0438\\u043a\\u0430\\u0446\\u0438\\u0438 (\\u043e\\u0434\\u043d\\u0438\\u043c \\u0438\\u0437 \\u0441\\u0430\\u043c\\u044b\\u0445 \\u0441\\u0438\\u043b\\u044c\\u043d\\u044b\\u0445 \\u043c\\u0435\\u0445\\u0430\\u043d\\u0438\\u0437\\u043c\\u043e\\u0432 \\u0430\\u0443\\u0442\\u0435\\u043d\\u0442\\u0438\\u0444\\u0438\\u043a\\u0430\\u0446\\u0438\\u0438). \\u0422\\u0430\\u043a\\u0438\\u043c \\u043e\\u0431\\u0440\\u0430\\u0437\\u043e\\u043c, \\u0434\\u0430\\u0436\\u0435 \\u0435\\u0441\\u043b\\u0438 \\u0443\\u0441\\u0442\\u0440\\u043e\\u0439\\u0441\\u0442\\u0432\\u043e \\u0434\\u043e\\u0441\\u0442\\u0443\\u043f\\u043d\\u043e \\u0438\\u0437 \\u0438\\u043d\\u0442\\u0435\\u0440\\u043d\\u0435\\u0442\\u0430 (\\u0447\\u0442\\u043e \\u0432 \\u0432\\u044b\\u0441\\u0448\\u0435\\u0439 \\u0441\\u0442\\u0435\\u043f\\u0435\\u043d\\u0438 unlikely), \\u043d\\u0438\\u043a\\u0442\\u043e \\u043d\\u0435 \\u043c\\u043e\\u0436\\u0435\\u0442 \\u0441\\u0434\\u0435\\u043b\\u0430\\u0442\\u044c ADB \\u0441\\u043e\\u0435\\u0434\\u0438\\u043d\\u0435\\u043d\\u0438\\u0435 \\u0431\\u0435\\u0437 \\u0430\\u0443\\u0442\\u0435\\u043d\\u0442\\u0438\\u0444\\u0438\\u043a\\u0430\\u0446\\u0438\\u0438.</p> <p>\\u0412\\u044b \\u043c\\u043e\\u0436\\u0435\\u0442\\u0435 \\u043f\\u0440\\u043e\\u0432\\u0435\\u0440\\u0438\\u0442\\u044c \\u044d\\u0442\\u0438 \\u0443\\u0442\\u0432\\u0435\\u0440\\u0436\\u0434\\u0435\\u043d\\u0438\\u044f \\u043b\\u044e\\u0431\\u044b\\u043c \\u0441\\u043f\\u043e\\u0441\\u043e\\u0431\\u043e\\u043c. \\u041c\\u044b \\u0433\\u043e\\u0442\\u043e\\u0432\\u044b \\u043e\\u043a\\u0430\\u0437\\u0430\\u0442\\u044c \\u0412\\u0430\\u043c \\u0442\\u0435\\u0445\\u043d\\u0438\\u0447\\u0435\\u0441\\u043a\\u0443\\u044e \\u043f\\u043e\\u043c\\u043e\\u0449\\u044c.</p>\"},{\"location\":\"ru/faqs/#faq28\",\"title\":\"PMX \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u0443\\u0435\\u0442 \\u043b\\u0438 \\u043d\\u0435 \\u043f\\u043e \\u043d\\u0430\\u0437\\u043d\\u0430\\u0447\\u0435\\u043d\\u0438\\u044e \\u043f\\u0440\\u0430\\u0432\\u0430 root \\u0434\\u043b\\u044f \\u0441\\u0431\\u043e\\u0440\\u0430 \\u043c\\u043e\\u0438\\u0445 \\u0434\\u0430\\u043d\\u043d\\u044b\\u0445?\",\"text\":\"<p>\\u041c\\u044b \\u0432\\u0435\\u0440\\u0438\\u043c \\u0432 \\u043f\\u0440\\u0438\\u043d\\u0446\\u0438\\u043f \\u043d\\u0430\\u0438\\u043c\\u0435\\u043d\\u044c\\u0448\\u0435\\u0439 \\u043f\\u0440\\u0438\\u0432\\u0438\\u043b\\u0435\\u0433\\u0438\\u0438. \\u041d\\u043e \\u0438\\u0437-\\u0437\\u0430 \\u043e\\u0433\\u0440\\u0430\\u043d\\u0438\\u0447\\u0435\\u043d\\u043d\\u043e\\u0433\\u043e \\u0445\\u0430\\u0440\\u0430\\u043a\\u0442\\u0435\\u0440\\u0430 \\u043e\\u043f\\u0435\\u0440\\u0430\\u0446\\u0438\\u043e\\u043d\\u043d\\u043e\\u0439 \\u0441\\u0438\\u0441\\u0442\\u0435\\u043c\\u044b Android, PMX \\u043d\\u0435 \\u043c\\u043e\\u0436\\u0435\\u0442 \\u0444\\u0443\\u043d\\u043a\\u0446\\u0438\\u043e\\u043d\\u0438\\u0440\\u043e\\u0432\\u0430\\u0442\\u044c \\u0431\\u0435\\u0437 \\u0432\\u044b\\u0441\\u043e\\u043a\\u0438\\u0445 \\u043f\\u0440\\u0438\\u0432\\u0438\\u043b\\u0435\\u0433\\u0438\\u0439. \\u0427\\u0442\\u043e \\u043c\\u044b \\u043c\\u043e\\u0436\\u0435\\u043c \\u043f\\u0440\\u0435\\u0434\\u043b\\u043e\\u0436\\u0438\\u0442\\u044c, \\u0442\\u0430\\u043a \\u044d\\u0442\\u043e \\u0442\\u043e, \\u0447\\u0442\\u043e \\u0435\\u0441\\u043b\\u0438 \\u0432\\u044b \\u0442\\u0435\\u0445\\u043d\\u0438\\u0447\\u0435\\u0441\\u043a\\u0438 \\u043f\\u043e\\u0434\\u043a\\u043e\\u0432\\u0430\\u043d\\u043d\\u044b\\u0439 \\u0447\\u0435\\u043b\\u043e\\u0432\\u0435\\u043a, \\u043c\\u044b \\u043c\\u043e\\u0436\\u0435\\u043c \\u043d\\u0430\\u0443\\u0447\\u0438\\u0442\\u044c \\u0432\\u0430\\u0441, \\u043a\\u0430\\u043a \\u0437\\u0430\\u0442\\u0440\\u0443\\u0434\\u043d\\u0438\\u0442\\u044c \\u043f\\u043e\\u0434\\u043a\\u043b\\u044e\\u0447\\u0435\\u043d\\u0438\\u0435 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439 \\u043a \\u0418\\u043d\\u0442\\u0435\\u0440\\u043d\\u0435\\u0442\\u0443, \\u0434\\u0430\\u0436\\u0435 \\u0441 root \\u043f\\u0440\\u0430\\u0432\\u0430\\u043c\\u0438.</p>\"},{\"location\":\"ru/faqs/#faq29\",\"title\":\"\\u042f \\u0434\\u0443\\u043c\\u0430\\u044e, PMX \\u0431\\u0435\\u0441\\u043f\\u043e\\u043b\\u0435\\u0437\\u0435\\u043d. \\u0417\\u0430\\u0447\\u0435\\u043c \\u0431\\u044b\\u043b\\u043e \\u0441\\u043e\\u0437\\u0434\\u0430\\u043d\\u043e \\u044d\\u0442\\u043e \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435?\",\"text\":\"<p>\\u041c\\u044b \\u0443\\u0432\\u0430\\u0436\\u0430\\u0435\\u043c \\u0412\\u0430\\u0448\\u0435 \\u043c\\u043d\\u0435\\u043d\\u0438\\u0435. PMX \\u043d\\u0435 \\u0434\\u043b\\u044f \\u0432\\u0441\\u0435\\u0445 (\\u0438 \\u043f\\u043e\\u044d\\u0442\\u043e\\u043c\\u0443 \\u043e\\u043d \\u043d\\u0435 \\u0431\\u044b\\u043b \\u043e\\u0442\\u043f\\u043e\\u043b\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d \\u0438 \\u0432\\u044b\\u043f\\u0443\\u0449\\u0435\\u043d \\u0434\\u043b\\u044f \\u043f\\u0443\\u0431\\u043b\\u0438\\u043a\\u0438 \\u0432 \\u0442\\u0435\\u0447\\u0435\\u043d\\u0438\\u0435 \\u043c\\u043d\\u043e\\u0433\\u0438\\u0445 \\u043b\\u0435\\u0442, \\u043f\\u043e\\u0442\\u043e\\u043c\\u0443 \\u0447\\u0442\\u043e \\u043c\\u044b \\u0437\\u043d\\u0430\\u043b\\u0438, \\u0447\\u0442\\u043e \\u0443 \\u043d\\u0430\\u0441 \\u043e\\u0447\\u0435\\u043d\\u044c \\u043c\\u0430\\u043b\\u0435\\u043d\\u044c\\u043a\\u0430\\u044f \\u0430\\u0443\\u0434\\u0438\\u0442\\u043e\\u0440\\u0438\\u044f). \\u041e\\u043d\\u043e \\u0442\\u043e\\u043b\\u044c\\u043a\\u043e \\u0434\\u043b\\u044f \\u043d\\u0435\\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0445 \\u0442\\u0435\\u0445\\u043d\\u0438\\u0447\\u0435\\u0441\\u043a\\u0438 \\u043f\\u043e\\u0434\\u043a\\u043e\\u0432\\u0430\\u043d\\u043d\\u044b\\u0445 \\u043b\\u044e\\u0434\\u0435\\u0439, \\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 \\u0442\\u0449\\u0430\\u0442\\u0435\\u043b\\u044c\\u043d\\u043e \\u0437\\u0430\\u0431\\u043e\\u0442\\u044f\\u0442\\u0441\\u044f \\u043e \\u0441\\u0432\\u043e\\u0435\\u0439 \\u043a\\u043e\\u043d\\u0444\\u0438\\u0434\\u0435\\u043d\\u0446\\u0438\\u0430\\u043b\\u044c\\u043d\\u043e\\u0441\\u0442\\u0438 \\u0438 \\u043a\\u043e\\u043d\\u0442\\u0440\\u043e\\u043b\\u0435 \\u043d\\u0430\\u0434 \\u0443\\u0441\\u0442\\u0440\\u043e\\u0439\\u0441\\u0442\\u0432\\u0430\\u043c\\u0438. \\u0411\\u043e\\u043b\\u044c\\u0448\\u0438\\u043d\\u0441\\u0442\\u0432\\u043e \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u0435\\u0439 \\u0442\\u0435\\u043b\\u0435\\u0444\\u043e\\u043d\\u043e\\u0432 \\u043d\\u0430\\u0445\\u043e\\u0434\\u0438\\u0442\\u0441\\u044f \\u0432 \\u0440\\u0443\\u043a\\u0430\\u0445 \\u0441\\u0432\\u043e\\u0438\\u0445 OEMs \\u0438 \\u0440\\u0430\\u0437\\u0440\\u0430\\u0431\\u043e\\u0442\\u0447\\u0438\\u043a\\u043e\\u0432 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439. \\u0418\\u043c \\u043d\\u0435 \\u0438\\u0437\\u0432\\u0435\\u0441\\u0442\\u043d\\u043e \\u043e \\u0442\\u043e\\u043c, \\u0447\\u0442\\u043e \\u0434\\u0435\\u043b\\u0430\\u0435\\u0442\\u0441\\u044f \\u0441 \\u043d\\u0438\\u043c\\u0438 \\u0438 \\u0438\\u0445 \\u0434\\u0430\\u043d\\u043d\\u044b\\u043c\\u0438. \\u0411\\u043e\\u043b\\u044c\\u0448\\u0438\\u043d\\u0441\\u0442\\u0432\\u043e \\u043f\\u0440\\u0435\\u0434\\u043f\\u043e\\u0447\\u0438\\u0442\\u0430\\u0435\\u0442 \\u0443\\u0434\\u043e\\u0431\\u0441\\u0442\\u0432\\u043e \\u043f\\u043e \\u043e\\u0442\\u043d\\u043e\\u0448\\u0435\\u043d\\u0438\\u044e \\u043a \\u043a\\u043e\\u043d\\u0444\\u0438\\u0434\\u0435\\u043d\\u0446\\u0438\\u0430\\u043b\\u044c\\u043d\\u043e\\u0441\\u0442\\u0438. \\u0418 \\u044d\\u0442\\u043e \\u0445\\u043e\\u0440\\u043e\\u0448\\u043e.</p>\"},{\"location\":\"ru/permission-references/\",\"title\":\"\\u0421\\u0441\\u044b\\u043b\\u043a\\u0438 \\u043d\\u0430 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f\",\"text\":\"<p>\\u041f\\u0440\\u0435\\u0434\\u043f\\u043e\\u043b\\u043e\\u0436\\u0438\\u043c, \\u0432\\u044b \\u043f\\u043e\\u0442\\u0440\\u0430\\u0442\\u0438\\u043b\\u0438 \\u0432\\u0441\\u0435 \\u0432\\u043e\\u0441\\u043a\\u0440\\u0435\\u0441\\u0435\\u043d\\u044c\\u0435 \\u043d\\u0430 \\u0442\\u043e, \\u0447\\u0442\\u043e\\u0431\\u044b \\u043d\\u0430\\u0441\\u0442\\u0440\\u043e\\u0438\\u0442\\u044c \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u0434\\u043b\\u044f \\u0431\\u043e\\u043b\\u0435\\u0435 200 \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043b\\u0435\\u043d\\u043d\\u044b\\u0445 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439. \\u0418:</p> <ul> <li>\\u0412 \\u0441\\u043b\\u0435\\u0434\\u0443\\u044e\\u0449\\u0435\\u043c \\u043c\\u0435\\u0441\\u044f\\u0446\\u0435 \\u0432\\u044b \\u043e\\u0431\\u043d\\u043e\\u0432\\u0438\\u043b\\u0438 \\u0432\\u0430\\u0448\\u0435 \\u0443\\u0441\\u0442\\u0440\\u043e\\u0439\\u0441\\u0442\\u0432\\u043e, \\u0438\\u043b\\u0438 \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u0438\\u043b\\u0438 \\u043d\\u043e\\u0432\\u044b\\u0439 ROM.</li> <li>\\u0418\\u043b\\u0438 \\u043f\\u043e \\u043a\\u0430\\u043a\\u043e\\u0439-\\u0442\\u043e \\u043f\\u0440\\u0438\\u0447\\u0438\\u043d\\u0435 \\u0432\\u044b \\u0443\\u0434\\u0430\\u043b\\u0438\\u043b\\u0438 \\u0438 \\u043f\\u0435\\u0440\\u0435\\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u0438\\u043b\\u0438 \\u043d\\u0435\\u0441\\u043a\\u043e\\u043b\\u044c\\u043a\\u043e \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439.</li> <li>\\u0418\\u043b\\u0438 \\u0432\\u044b \\u043f\\u0440\\u0435\\u0434\\u043e\\u0441\\u0442\\u0430\\u0432\\u0438\\u043b\\u0438 \\u043d\\u0435\\u0441\\u043a\\u043e\\u043b\\u044c\\u043a\\u043e \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439 \\u043f\\u043e \\u0437\\u0430\\u043f\\u0440\\u043e\\u0441\\u0443 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439.</li> </ul> <p>\\u041f\\u0440\\u043e\\u0439\\u0434\\u0435\\u0442\\u0435 \\u043b\\u0438 \\u0432\\u044b \\u0447\\u0435\\u0440\\u0435\\u0437 \\u044d\\u0442\\u0443 \\u0432\\u043e\\u0437\\u043d\\u044e \\u0435\\u0449\\u0435 \\u0440\\u0430\\u0437?</p> <p>\\u0412\\u0430\\u043c \\u044d\\u0442\\u043e \\u043d\\u0435 \\u0442\\u0440\\u0435\\u0431\\u0443\\u0435\\u0442\\u0441\\u044f. \\u0422\\u044b \\u043c\\u043e\\u0436\\u0435\\u0448\\u044c \\u043d\\u0430\\u0441\\u0442\\u0440\\u043e\\u0438\\u0442\\u044c PMX \\u0442\\u0430\\u043a, \\u0447\\u0442\\u043e\\u0431\\u044b \\u043e\\u043d \\u0437\\u0430\\u043f\\u043e\\u043c\\u0438\\u043d\\u0430\\u043b, \\u043a\\u0430\\u043a\\u0438\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u0442\\u0435\\u0431\\u0435 \\u043d\\u0443\\u0436\\u043d\\u044b. \\u0417\\u0430\\u0434\\u0430\\u0439\\u0442\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435, \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u0438\\u0442\\u0435 \\u0435\\u0433\\u043e \\u0441\\u0442\\u0430\\u0442\\u0443\\u0441 \\u043a\\u0430\\u043a \\u0417\\u0415\\u041b\\u0415\\u041d\\u042b\\u0419, \\u0433\\u043e\\u0442\\u043e\\u0432\\u043e. \\u0412\\u0441\\u0435\\u0433\\u043e \\u043d\\u0435\\u0441\\u043a\\u043e\\u043b\\u044c\\u043a\\u043e \\u043c\\u0438\\u043d\\u0443\\u0442 \\u0437\\u0430\\u0439\\u043c\\u0451\\u0442 \\u0438\\u0437\\u0443\\u0447\\u0435\\u043d\\u0438\\u0435 \\u0432\\u0441\\u0435\\u0445 \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043b\\u0435\\u043d\\u043d\\u044b\\u0445 \\u043f\\u0430\\u043a\\u0435\\u0442\\u043e\\u0432 \\u0438 \\u0432\\u044b\\u044f\\u0441\\u043d\\u0435\\u043d\\u0438\\u0435 \\u043d\\u0435\\u043a\\u043e\\u0440\\u0440\\u0435\\u043a\\u0442\\u043d\\u043e \\u0443\\u0441\\u0442\\u0430\\u043d\\u0430\\u0432\\u043b\\u0438\\u0432\\u0430\\u0435\\u043c\\u044b\\u0445 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439. , \\u0432\\u044b\\u043f\\u043e\\u043b\\u043d\\u0438\\u0432 \\u0431\\u044b\\u0441\\u0442\\u0440\\u044b\\u0439 \\u043f\\u043e\\u0438\\u0441\\u043a: <code>:RED|:ORANGE</code> \\u0438\\u043b\\u0438 <code>!:GREEN</code>. \\u0421\\u043c\\u043e\\u0442\\u0440\\u0438 \\u041f\\u043e\\u0438\\u0441\\u043a, \\u0447\\u0442\\u043e\\u0431\\u044b \\u0443\\u0437\\u043d\\u0430\\u0442\\u044c \\u0431\\u043e\\u043b\\u044c\\u0448\\u0435.</p> <p>\\u0422\\u0440\\u0438 \\u044d\\u0442\\u0430\\u043b\\u043e\\u043d\\u043d\\u044b\\u0445 \\u0441\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u0438\\u044f:</p> <ul> <li>\\u041e\\u0440\\u0430\\u043d\\u0436\\u0435\\u0432\\u044b\\u0439 \\u0446\\u0432\\u0435\\u0442 \\u0437\\u043d\\u0430\\u0447\\u0438\\u0442, \\u0447\\u0442\\u043e \\u0437\\u043d\\u0430\\u0447\\u0435\\u043d\\u0438\\u0435 \\u043d\\u0435 \\u0437\\u0430\\u0434\\u0430\\u043d\\u043e.</li> <li>GREEN \\u0443\\u043a\\u0430\\u0437\\u044b\\u0432\\u0430\\u0435\\u0442, \\u0447\\u0442\\u043e \\u044d\\u0442\\u0430\\u043b\\u043e\\u043d\\u043d\\u043e\\u0435 \\u0437\\u043d\\u0430\\u0447\\u0435\\u043d\\u0438\\u0435 \\u0441\\u043e\\u043e\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442 \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043b\\u0435\\u043d\\u043d\\u043e\\u043c\\u0443 \\u0432 \\u043d\\u0430\\u0441\\u0442\\u043e\\u044f\\u0449\\u0435\\u0435 \\u0432\\u0440\\u0435\\u043c\\u044f \\u0437\\u043d\\u0430\\u0447\\u0435\\u043d\\u0438\\u044e.</li> <li>RED \\u0443\\u043a\\u0430\\u0437\\u044b\\u0432\\u0430\\u0435\\u0442, \\u0447\\u0442\\u043e \\u044d\\u0442\\u0430\\u043b\\u043e\\u043d\\u043d\\u043e\\u0435 \\u0437\\u043d\\u0430\\u0447\\u0435\\u043d\\u0438\\u0435 \\u0438 \\u0437\\u0430\\u0434\\u0430\\u043d\\u043e \\u043f\\u043e-\\u0440\\u0430\\u0437\\u043d\\u043e\\u043c\\u0443.</li> </ul> <p>\\u0420\\u0435\\u0444\\u0435\\u0440\\u0435\\u043d\\u0441\\u043d\\u044b\\u0435 \\u0441\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u0438\\u044f \\u043c\\u043e\\u0436\\u043d\\u043e \\u043b\\u0435\\u0433\\u043a\\u043e \\u0440\\u0435\\u0437\\u0435\\u0440\\u0432\\u0438\\u0440\\u043e\\u0432\\u0430\\u0442\\u044c \\u0438 \\u0432\\u043e\\u0441\\u0441\\u0442\\u0430\\u043d\\u0430\\u0432\\u043b\\u0438\\u0432\\u0430\\u0442\\u044c. \\u041f\\u043e\\u0441\\u043b\\u0435 \\u0432\\u043e\\u0441\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043b\\u0435\\u043d\\u0438\\u044f \\u0435\\u0441\\u0442\\u044c \\u0443\\u0434\\u043e\\u0431\\u043d\\u044b\\u0439 \\u0441\\u043f\\u043e\\u0441\\u043e\\u0431 \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043a\\u0438 \\u0432\\u0441\\u0435\\u0445 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439 \\u0432 \\u0441\\u043e\\u043e\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0438\\u0438 \\u0441 \\u0432\\u043e\\u0441\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043b\\u0435\\u043d\\u043d\\u044b\\u043c\\u0438 \\u0441\\u0441\\u044b\\u043b\\u043a\\u0430\\u043c\\u0438. \\u0421\\u043c. \\u041f\\u0430\\u043a\\u0435\\u0442\\u043d\\u044b\\u0435 \\u043e\\u043f\\u0435\\u0440\\u0430\\u0446\\u0438\\u0438.</p> <p>\\u0415\\u0441\\u0442\\u044c \\u043d\\u0435\\u0441\\u043a\\u043e\\u043b\\u044c\\u043a\\u043e \\u0441\\u043f\\u043e\\u0441\\u043e\\u0431\\u043e\\u0432 \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u0438\\u0442\\u044c \\u0441\\u0441\\u044b\\u043b\\u043a\\u0443:</p> <ul> <li>\\u041d\\u0430\\u0436\\u043c\\u0438 \\u0438 \\u043f\\u043e\\u0434\\u0435\\u0440\\u0436\\u0438 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435, \\u0430 \\u043f\\u043e\\u0442\\u043e\\u043c \\u043d\\u0430\\u0436\\u043c\\u0438 \\u043a\\u043d\\u043e\\u043f\\u043a\\u0443 \\u00ab\\u0423\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u0438\\u0442\\u044c \\u0441\\u0441\\u044b\\u043b\\u043a\\u0443\\u00bb / \\u00ab\\u0423\\u0434\\u0430\\u043b\\u0438\\u0442\\u044c \\u0441\\u0441\\u044b\\u043b\\u043a\\u0443\\u00bb.</li> <li>\\u0412 \\u043a\\u0430\\u0436\\u0434\\u043e\\u043c \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0438 \\u0435\\u0441\\u0442\\u044c \\u0432\\u0435\\u0440\\u0445\\u043d\\u0438\\u0439 \\u043f\\u0443\\u043d\\u043a\\u0442 \\u043c\\u0435\\u043d\\u044e, \\u0433\\u0434\\u0435 \\u043c\\u043e\\u0436\\u043d\\u043e \\u043d\\u0430\\u0441\\u0442\\u0440\\u043e\\u0438\\u0442\\u044c \\u0438\\u043b\\u0438 \\u043e\\u0447\\u0438\\u0441\\u0442\\u0438\\u0442\\u044c \\u0432\\u0441\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f.</li> <li>\\u0423\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u0438\\u0442\\u0435 \\u0441\\u0441\\u044b\\u043b\\u043a\\u0438 \\u0441\\u0440\\u0430\\u0437\\u0443 \\u043d\\u0430 \\u043d\\u0435\\u0441\\u043a\\u043e\\u043b\\u044c\\u043a\\u043e \\u044d\\u043b\\u0435\\u043c\\u0435\\u043d\\u0442\\u043e\\u0432 \\u0441 \\u043f\\u043e\\u043c\\u043e\\u0449\\u044c\\u044e \\u043f\\u0430\\u043a\\u0435\\u0442\\u043d\\u044b\\u0445 \\u043e\\u043f\\u0435\\u0440\\u0430\\u0446\\u0438\\u0439.</li> <li>\\u0412\\u043a\\u043b\\u044e\\u0447\\u0438 \\u043d\\u0430\\u0441\\u0442\\u0440\\u043e\\u0439\\u043a\\u0443 \\u00ab\\u0410\\u0432\\u0442\\u043e\\u043c\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043a\\u0430\\u044f \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043a\\u0430 \\u0441\\u0441\\u044b\\u043b\\u043a\\u0438\\u00bb \\u0432 \\u0440\\u0430\\u0437\\u0434\\u0435\\u043b\\u0435 \\u00ab\\u041d\\u0430\\u0441\\u0442\\u0440\\u043e\\u0439\\u043a\\u0438\\u00bb \\u2192 \\u00ab\\u041e\\u0431\\u0449\\u0438\\u0435 \\u043d\\u0430\\u0441\\u0442\\u0440\\u043e\\u0439\\u043a\\u0438\\u00bb. \\u0422\\u0430\\u043a\\u0438\\u043c \\u043e\\u0431\\u0440\\u0430\\u0437\\u043e\\u043c, \\u0432\\u0441\\u044f\\u043a\\u0438\\u0439 \\u0440\\u0430\\u0437, \\u043a\\u043e\\u0433\\u0434\\u0430 \\u0432\\u044b \\u043c\\u0435\\u043d\\u044f\\u0435\\u0442\\u0435 \\u0441\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u0438\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f, \\u043e\\u043d \\u0442\\u0430\\u043a\\u0436\\u0435 \\u0443\\u0441\\u0442\\u0430\\u043d\\u0430\\u0432\\u043b\\u0438\\u0432\\u0430\\u0435\\u0442\\u0441\\u044f \\u0432 \\u043a\\u0430\\u0447\\u0435\\u0441\\u0442\\u0432\\u0435 \\u0441\\u0441\\u044b\\u043b\\u043a\\u0438.</li> </ul>\"},{\"location\":\"ru/permission-view/\",\"title\":\"\\u041f\\u0440\\u043e\\u0441\\u043c\\u043e\\u0442\\u0440 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439\",\"text\":\"<p>\\u041f\\u0440\\u043e\\u0441\\u043c\\u043e\\u0442\\u0440 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439 \\u043f\\u043e\\u043a\\u0430\\u0437\\u044b\\u0432\\u0430\\u0435\\u0442 \\u0441\\u043f\\u0438\\u0441\\u043e\\u043a \\u0432\\u0441\\u0435\\u0445 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439 \\u0441 \\u043f\\u043e\\u0434\\u0441\\u0447\\u0435\\u0442\\u043e\\u043c \\u0442\\u043e\\u0433\\u043e, \\u0441\\u043a\\u043e\\u043b\\u044c\\u043a\\u043e \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439 \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u0443\\u044e\\u0442 \\u044d\\u0442\\u0438 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f.</p> <p></p> <ol> <li>\\u0418\\u043c\\u044f \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f</li> <li>\\u0423\\u0440\\u043e\\u0432\\u0435\\u043d\\u044c \\u0437\\u0430\\u0449\\u0438\\u0442\\u044b</li> <li>\\u041a\\u043e\\u043b\\u0438\\u0447\\u0435\\u0441\\u0442\\u0432\\u043e \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439</li> <li>\\u041a\\u043e\\u043b\\u0438\\u0447\\u0435\\u0441\\u0442\\u0432\\u043e \\u043f\\u0440\\u0435\\u0434\\u043e\\u0441\\u0442\\u0430\\u0432\\u043b\\u0435\\u043d\\u043d\\u044b\\u0445 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439 \\u0438\\u0437 \\u043e\\u0431\\u0449\\u0435\\u0433\\u043e \\u043a\\u043e\\u043b\\u0438\\u0447\\u0435\\u0441\\u0442\\u0432\\u0430 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439. \\u041f\\u043e\\u0441\\u043b\\u0435\\u0434\\u043d\\u0435\\u0435 \\u0447\\u0438\\u0441\\u043b\\u043e \\u043c\\u043e\\u0436\\u0435\\u0442 \\u0431\\u044b\\u0442\\u044c \\u0431\\u043e\\u043b\\u044c\\u0448\\u0435, \\u0447\\u0435\\u043c \\u043a\\u043e\\u043b\\u0438\\u0447\\u0435\\u0441\\u0442\\u0432\\u043e \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439, \\u043f\\u043e\\u0442\\u043e\\u043c\\u0443 \\u0447\\u0442\\u043e \\u043d\\u0435\\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f \\u043c\\u043e\\u0433\\u0443\\u0442 \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u044c \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435 AppOp \\u0434\\u0432\\u0430\\u0436\\u0434\\u044b (\\u0432 \\u0440\\u0435\\u0436\\u0438\\u043c\\u0435 UID).</li> </ol> <p>\\u041a\\u043e\\u0433\\u0434\\u0430 \\u0432\\u044b \\u0432\\u044b\\u0431\\u0438\\u0440\\u0430\\u0435\\u0442\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435, \\u043e\\u0442\\u043e\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442\\u0441\\u044f \\u0441\\u043f\\u0438\\u0441\\u043e\\u043a \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439, \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u0443\\u044e\\u0449\\u0438\\u0445 \\u044d\\u0442\\u043e \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435:</p> <p></p> <ol> <li>\\u0418\\u043c\\u044f \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f</li> <li>\\u041e\\u043f\\u0438\\u0441\\u0430\\u043d\\u0438\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f</li> <li>\\u0424\\u043b\\u0430\\u0433, \\u0443\\u043a\\u0430\\u0437\\u044b\\u0432\\u0430\\u044e\\u0449\\u0438\\u0439, \\u0447\\u0442\\u043e \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435 \\u043f\\u0440\\u0435\\u0434\\u043e\\u0441\\u0442\\u0430\\u0432\\u043b\\u0435\\u043d\\u043e</li> <li>\\u0418\\u043a\\u043e\\u043d\\u043a\\u0430 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f</li> <li>\\u041d\\u0430\\u0437\\u0432\\u0430\\u043d\\u0438\\u0435 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f</li> <li>\\u0418\\u043c\\u044f \\u043f\\u0430\\u043a\\u0435\\u0442\\u0430</li> <li>UID \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f</li> </ol> <p>\\u041a\\u043e\\u0433\\u0434\\u0430 \\u0432\\u044b \\u0432\\u044b\\u0431\\u0438\\u0440\\u0430\\u0435\\u0442\\u0435 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435, \\u043e\\u0442\\u043a\\u0440\\u044b\\u0432\\u0430\\u0435\\u0442\\u0441\\u044f \\u0441\\u043f\\u0438\\u0441\\u043e\\u043a \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439, \\u0433\\u0434\\u0435 \\u0432\\u044b \\u043c\\u043e\\u0436\\u0435\\u0442\\u0435 \\u0438\\u0437\\u043c\\u0435\\u043d\\u0438\\u0442\\u044c \\u0441\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u0438\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f.</p>\"},{\"location\":\"ru/permission-watcher/\",\"title\":\"\\u041d\\u0430\\u0431\\u043b\\u044e\\u0434\\u0430\\u0442\\u0435\\u043b\\u044c \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439\",\"text\":\"<p>\\u041d\\u0435\\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f \\u043d\\u0435 \\u0440\\u0430\\u0431\\u043e\\u0442\\u0430\\u044e\\u0442 \\u0431\\u0435\\u0437 \\u043f\\u0440\\u0435\\u0434\\u043e\\u0441\\u0442\\u0430\\u0432\\u043b\\u0435\\u043d\\u0438\\u044f \\u043e\\u043f\\u0440\\u0435\\u0434\\u0435\\u043b\\u0435\\u043d\\u043d\\u043e\\u0433\\u043e \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f. \\u041d\\u043e \\u0432\\u044b \\u0445\\u043e\\u0442\\u0438\\u0442\\u0435 \\u043f\\u0440\\u0435\\u0434\\u043e\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044c \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435 \\u0442\\u043e\\u043b\\u044c\\u043a\\u043e \\u043d\\u0430 \\u0432\\u0440\\u0435\\u043c\\u044f, \\u043a\\u043e\\u0433\\u0434\\u0430 \\u0432\\u044b \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u0443\\u0435\\u0442\\u0435 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435, \\u0438 \\u043e\\u0442\\u043a\\u043b\\u044e\\u0447\\u0438\\u0442\\u044c/\\u043e\\u0442\\u043e\\u0437\\u0432\\u0430\\u0442\\u044c \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435 \\u0441\\u0440\\u0430\\u0437\\u0443 \\u0436\\u0435, \\u043a\\u0430\\u043a \\u0432\\u044b \\u0432\\u044b\\u0439\\u0434\\u0435\\u0442\\u0435 \\u0438\\u0437 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f.</p> <p>\\u0418\\u043c\\u0435\\u043d\\u043d\\u043e \\u044d\\u0442\\u043e \\u0438 \\u0434\\u0435\\u043b\\u0430\\u0435\\u0442 \\u0441\\u043b\\u0443\\u0436\\u0431\\u0430 \\\"\\u041e\\u0442\\u0441\\u043b\\u0435\\u0436\\u0438\\u0432\\u0430\\u043d\\u0438\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439\\\". \\u041a\\u0430\\u043a \\u0442\\u043e\\u043b\\u044c\\u043a\\u043e \\u0432\\u044b \\u043f\\u043e\\u043a\\u0438\\u043d\\u0435\\u0442\\u0435 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435, \\u0438\\u043b\\u0438 \\u043f\\u043e\\u0441\\u043b\\u0435 \\u0438\\u0441\\u0442\\u0435\\u0447\\u0435\\u043d\\u0438\\u044f \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043b\\u0435\\u043d\\u043d\\u043e\\u0433\\u043e \\u0432\\u0440\\u0435\\u043c\\u0435\\u043d\\u0438, \\u043e\\u0442\\u043c\\u0435\\u043d\\u044f\\u0435\\u0442 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f (manifest \\u0438 AppOp) \\u0441\\u0430\\u043c\\u043e\\u0441\\u0442\\u043e\\u044f\\u0442\\u0435\\u043b\\u044c\\u043d\\u043e, \\u0438\\u043b\\u0438 \\u043f\\u0440\\u043e\\u0441\\u0438\\u0442 \\u0432\\u0430\\u0441 \\u0441\\u0434\\u0435\\u043b\\u0430\\u0442\\u044c \\u044d\\u0442\\u043e, \\u0432 \\u0437\\u0430\\u0432\\u0438\\u0441\\u0438\\u043c\\u043e\\u0441\\u0442\\u0438 \\u043e\\u0442 \\u043d\\u0430\\u0441\\u0442\\u0440\\u043e\\u0435\\u043a, \\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 \\u0432\\u044b \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u0438\\u043b\\u0438.</p> <p></p> <p>\\\"\\u041e\\u0442\\u0441\\u043b\\u0435\\u0436\\u0438\\u0432\\u0430\\u043d\\u0438\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439\\\" \\u0442\\u0430\\u043a\\u0436\\u0435 \\u0443\\u0432\\u0435\\u0434\\u043e\\u043c\\u043b\\u044f\\u0435\\u0442 \\u0432\\u0430\\u0441 \\u043e \\u043d\\u0435\\u043e\\u0431\\u0445\\u043e\\u0434\\u0438\\u043c\\u043e\\u0441\\u0442\\u0438 \\u043d\\u0430\\u0441\\u0442\\u0440\\u043e\\u0438\\u0442\\u044c \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u0434\\u043b\\u044f \\u0432\\u043d\\u043e\\u0432\\u044c \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043b\\u0435\\u043d\\u043d\\u044b\\u0445 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439 (\\u0442\\u043e\\u043b\\u044c\\u043a\\u043e \\u0432 \\u043f\\u0440\\u043e\\u0444\\u0438\\u043b\\u0435 \\u043e\\u0441\\u043d\\u043e\\u0432\\u043d\\u043e\\u0433\\u043e \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u044f / \\u0432\\u043b\\u0430\\u0434\\u0435\\u043b\\u044c\\u0446\\u0430).</p> <p></p> <p>\\u041f\\u0440\\u0438\\u043c\\u0435\\u0447\\u0430\\u043d\\u0438\\u0435:</p> <ul> <li>\\u041e\\u0442\\u043c\\u0435\\u043d\\u044f\\u044e\\u0442\\u0441\\u044f \\u0442\\u043e\\u043b\\u044c\\u043a\\u043e \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u0441 \\u0431\\u0430\\u0437\\u043e\\u0432\\u044b\\u043c \\u0441\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u0438\\u0435\\u043c RED , \\u0430 \\u043d\\u0435 \\u0441 \\u0441\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u0438\\u0435\\u043c ORANGE. \\u0422\\u0430\\u043a \\u0447\\u0442\\u043e \\u0441\\u043d\\u0430\\u0447\\u0430\\u043b\\u0430 \\u041e\\u0411\\u042f\\u0417\\u0410\\u0422\\u0415\\u041b\\u042c\\u041d\\u041e \\u043d\\u0430\\u0434\\u043e \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u0438\\u0442\\u044c \\u044d\\u0442\\u0430\\u043b\\u043e\\u043d\\u043d\\u044b\\u0435 \\u0441\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u0438\\u044f. \\u0421\\u043c. \\u0421\\u0441\\u044b\\u043b\\u043a\\u0438 \\u043d\\u0430 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f.</li> <li>\\u0420\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f Manifest \\u0442\\u043e\\u043b\\u044c\\u043a\\u043e \\u0441 \\u043e\\u043f\\u0430\\u0441\\u043d\\u044b\\u043c \\u0443\\u0440\\u043e\\u0432\\u043d\\u0435\\u043c \\u0437\\u0430\\u0449\\u0438\\u0442\\u044b \\u043f\\u0440\\u043e\\u0441\\u043c\\u043e\\u0442\\u0440\\u0435\\u043d\\u044b. \\u042d\\u0442\\u043e \\u0442\\u0435, \\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 \\u043e\\u0431\\u044b\\u0447\\u043d\\u043e \\u043c\\u0435\\u043d\\u044f\\u044e\\u0442. \\u0420\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u0441 \\u041f\\u043e\\u0434\\u043f\\u0438\\u0441\\u044c \\u0438\\u043b\\u0438 \\u0420\\u0430\\u0437\\u0440\\u0430\\u0431\\u043e\\u0442\\u043a\\u043e\\u0439 \\u0443\\u0440\\u043e\\u0432\\u043d\\u0435\\u043c \\u0437\\u0430\\u0449\\u0438\\u0442\\u044b \\u0438\\u043b\\u0438 \\u0441 \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043b\\u0435\\u043d\\u043d\\u044b\\u043c \\u0444\\u043b\\u0430\\u0433\\u043e\\u043c \\u0421\\u0438\\u0441\\u0442\\u0435\\u043c\\u043d\\u043e\\u0435 \\u043d\\u0435 \\u043e\\u0442\\u0441\\u043b\\u0435\\u0436\\u0438\\u0432\\u0430\\u044e\\u0442\\u0441\\u044f, \\u0445\\u043e\\u0442\\u044f \\u043e\\u043d\\u0438 \\u0438 \\u0438\\u0437\\u043c\\u0435\\u043d\\u044f\\u044e\\u0442\\u0441\\u044f.</li> <li>PMX \\u043f\\u0440\\u043e\\u0441\\u043c\\u0430\\u0442\\u0440\\u0438\\u0432\\u0430\\u0435\\u0442 \\u0442\\u043e\\u043b\\u044c\\u043a\\u043e \\u041f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u044c \\u0438\\u043b\\u0438 \\u043e\\u0431\\u044b\\u0447\\u043d\\u044b\\u0435 \\u0421\\u0438\\u0441\\u0442\\u0435\\u043c\\u043d\\u044b\\u0435 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f, \\u0430 \\u043d\\u0435 \\u0444\\u0440\\u0435\\u0439\\u043c\\u0432\\u043e\\u0440\\u043a\\u0438 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f. \\u0418\\u0445 \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u0438\\u0435 \\u043c\\u043e\\u0436\\u0435\\u0442 \\u043f\\u0440\\u0438\\u0432\\u0435\\u0441\\u0442\\u0438 \\u043a \\\"\\u043e\\u043a\\u0438\\u0440\\u043f\\u0438\\u0447\\u0438\\u0432\\u0430\\u043d\\u0438\\u044e\\\" \\u0443\\u0441\\u0442\\u0440\\u043e\\u0439\\u0441\\u0442\\u0432\\u0430.</li> <li>\\u041d\\u0430 \\u043d\\u0435\\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0445 \\u0443\\u0441\\u0442\\u0440\\u043e\\u0439\\u0441\\u0442\\u0432\\u0430\\u0445 \\\"\\u041e\\u0442\\u0441\\u043b\\u0435\\u0436\\u0438\\u0432\\u0430\\u043d\\u0438\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439\\\" \\u043c\\u043e\\u0436\\u0435\\u0442 \\u0440\\u0430\\u0431\\u043e\\u0442\\u0430\\u0442\\u044c \\u043d\\u0435\\u043d\\u0430\\u0434\\u0435\\u0436\\u043d\\u043e \\u0434\\u043b\\u044f \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0439 \\u0432\\u0442\\u043e\\u0440\\u043e\\u0433\\u043e \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u044f / \\u043f\\u0440\\u043e\\u0444\\u0438\\u043b\\u044f. \\u0420\\u0435\\u043a\\u043e\\u043c\\u0435\\u043d\\u0434\\u0443\\u0435\\u0442\\u0441\\u044f \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u044c \\u0435\\u0433\\u043e \\u0432 \\u0441\\u043e\\u0447\\u0435\\u0442\\u0430\\u043d\\u0438\\u0438 \\u0441 \\u0444\\u0443\\u043d\\u043a\\u0446\\u0438\\u0435\\u0439 \\\"\\u041f\\u0440\\u043e\\u0432\\u0435\\u0440\\u043a\\u0430 \\u043f\\u043e \\u0440\\u0430\\u0441\\u043f\\u0438\\u0441\\u0430\\u043d\\u0438\\u044e\\\".</li> </ul> <p>\\u041f\\u043e\\u0447\\u0435\\u043c\\u0443 \\u043d\\u0435 \\u0443\\u0434\\u0430\\u0435\\u0442\\u0441\\u044f \\u0437\\u0430\\u043f\\u0443\\u0441\\u0442\\u0438\\u0442\\u044c \\u043d\\u0430\\u0431\\u043b\\u044e\\u0434\\u0430\\u0442\\u0435\\u043b\\u044c \\u0434\\u043e\\u0441\\u0442\\u0443\\u043f\\u0430?</p> <p>\\u0412\\u044b \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u0443\\u0435\\u0442\\u0435 ADB? \\u041d\\u0435\\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 OEMs \\u0443\\u0434\\u0430\\u043b\\u044f\\u044e\\u0442 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f <code>OBSERVE_GRANT_REVOKE_PERMISSIONS</code> \\u0438\\u043b\\u0438 <code>SET_ACTIVITY_WATCHER</code> \\u0438\\u0437 \\u043f\\u0430\\u043a\\u0435\\u0442\\u0430 Shell. \\u0415\\u0441\\u043b\\u0438 \\u044d\\u0442\\u043e \\u0432\\u0430\\u0448 \\u0441\\u043b\\u0443\\u0447\\u0430\\u0439, \\u0442\\u043e \\u043c\\u044b \\u0441\\u043e\\u0436\\u0430\\u043b\\u0435\\u0435\\u043c. \\u042d\\u0442\\u043e \\u0442\\u043e, \\u0447\\u0442\\u043e \\u043c\\u044b \\u043d\\u0435 \\u043c\\u043e\\u0436\\u0435\\u043c \\u0443\\u0441\\u0442\\u0440\\u0430\\u043d\\u0438\\u0442\\u044c. \\u041d\\u0430 \\u0442\\u0430\\u043a\\u0438\\u0445 \\u0443\\u0441\\u0442\\u0440\\u043e\\u0439\\u0441\\u0442\\u0432\\u0430\\u0445 \\\"\\u041e\\u0442\\u0441\\u043b\\u0435\\u0436\\u0438\\u0432\\u0430\\u043d\\u0438\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439\\\" \\u043c\\u043e\\u0436\\u0435\\u0442 \\u0440\\u0430\\u0431\\u043e\\u0442\\u0430\\u0442\\u044c \\u0442\\u043e\\u043b\\u044c\\u043a\\u043e \\u0441 root. \\u0421\\u043c. \\u041e\\u0433\\u0440\\u0430\\u043d\\u0438\\u0447\\u0435\\u043d\\u0438\\u044f \\u0434\\u043b\\u044f ADB.</p>\"},{\"location\":\"ru/scheduled-check/\",\"title\":\"\\u041f\\u0440\\u043e\\u0432\\u0435\\u0440\\u043a\\u0430 \\u043f\\u043e \\u0440\\u0430\\u0441\\u043f\\u0438\\u0441\\u0430\\u043d\\u0438\\u044e\",\"text\":\"<p>\\u0412\\u044b \\u0445\\u043e\\u0442\\u0438\\u0442\\u0435 \\u043e\\u0442\\u0441\\u043b\\u0435\\u0436\\u0438\\u0432\\u0430\\u0442\\u044c \\u043b\\u044e\\u0431\\u044b\\u0435 \\u043d\\u0435\\u0436\\u0435\\u043b\\u0430\\u0442\\u0435\\u043b\\u044c\\u043d\\u044b\\u0435 \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u0438\\u044f \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439 \\u0432\\u043e \\u0432\\u0441\\u0435\\u0445 \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043b\\u0435\\u043d\\u043d\\u044b\\u0445 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f\\u0445? \\u041f\\u0440\\u043e\\u0432\\u0435\\u0440\\u043a\\u0430 \\u043f\\u043e \\u0440\\u0430\\u0441\\u043f\\u0438\\u0441\\u0430\\u043d\\u0438\\u044e \\u043c\\u043e\\u0436\\u0435\\u0442 \\u0434\\u0435\\u043b\\u0430\\u0442\\u044c \\u044d\\u0442\\u043e \\u0434\\u043b\\u044f \\u0432\\u0430\\u0441 \\u0447\\u0435\\u0440\\u0435\\u0437 \\u0440\\u0435\\u0433\\u0443\\u043b\\u044f\\u0440\\u043d\\u044b\\u0435 \\u0438\\u043d\\u0442\\u0435\\u0440\\u0432\\u0430\\u043b\\u044b (\\u0432 \\u043c\\u0438\\u043d\\u0443\\u0442\\u0430\\u0445, \\u0447\\u0430\\u0441\\u0430\\u0445 \\u0438\\u043b\\u0438 \\u0434\\u043d\\u044f\\u0445).</p> <p>\\u0423\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u0438\\u0442\\u0435 \\u0421\\u0441\\u044b\\u043b\\u043a\\u0438 \\u043d\\u0430 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u043d\\u0430 GREEN \\u0438 \\u043e\\u0441\\u0442\\u0430\\u0432\\u044c\\u0442\\u0435 \\u043e\\u0441\\u0442\\u0430\\u043b\\u044c\\u043d\\u044b\\u0435 \\u043d\\u0430 PMX. \\u0415\\u0441\\u043b\\u0438 \\u043e\\u0431\\u043d\\u0430\\u0440\\u0443\\u0436\\u0435\\u043d\\u043e \\u043a\\u0430\\u043a\\u043e\\u0435-\\u043b\\u0438\\u0431\\u043e \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0435 (\\u0441\\u043e \\u0441\\u0442\\u0430\\u0442\\u0443\\u0441\\u043e\\u043c RED ) \\u0438\\u043b\\u0438 \\u043a\\u043e\\u0433\\u0434\\u0430 \\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043b\\u0435\\u043d\\u043e \\u043d\\u043e\\u0432\\u043e\\u0435 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435 (\\u0441 \\u043f\\u0440\\u0430\\u0432\\u0430\\u043c\\u0438 \\u043d\\u0430 \\u0441\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u0438\\u0435 ORANGE ), PMX \\u043d\\u0430\\u043f\\u043e\\u043c\\u0438\\u043d\\u0430\\u0435\\u0442 \\u0432\\u0430\\u043c, \\u0447\\u0442\\u043e \\u0447\\u0442\\u043e-\\u0442\\u043e \\u043d\\u0443\\u0436\\u0434\\u0430\\u0435\\u0442\\u0441\\u044f \\u0432 \\u0432\\u0430\\u0448\\u0435\\u043c \\u0432\\u043d\\u0438\\u043c\\u0430\\u043d\\u0438\\u0438.</p> <p>\\u041a\\u0440\\u043e\\u043c\\u0435 \\u0442\\u043e\\u0433\\u043e, \\u0435\\u0441\\u043b\\u0438 \\u043d\\u0430\\u0441\\u0442\\u0440\\u043e\\u0439\\u043a\\u0430 \\u043d\\u0430\\u0441\\u0442\\u0440\\u043e\\u0435\\u043d\\u0430 \\u0432 \\u043d\\u0430\\u0441\\u0442\\u0440\\u043e\\u0439\\u043a\\u0430\\u0445, \\u0437\\u0430\\u043f\\u043b\\u0430\\u043d\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u043d\\u044b\\u0435 \\u043f\\u0440\\u043e\\u0432\\u0435\\u0440\\u043a\\u0438 \\u043c\\u043e\\u0433\\u0443\\u0442 \\u0430\\u0432\\u0442\\u043e\\u043c\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043a\\u0438 \\u043e\\u0442\\u043e\\u0437\\u0432\\u0430\\u0442\\u044c \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f, \\u0430 \\u0437\\u0430\\u0442\\u0435\\u043c \\u0438\\u043d\\u0444\\u043e\\u0440\\u043c\\u0430\\u0446\\u0438\\u043e\\u043d\\u0438\\u0440\\u043e\\u0432\\u0430\\u0442\\u044c \\u0443\\u0432\\u0435\\u0434\\u043e\\u043c\\u043b\\u0435\\u043d\\u0438\\u0435.</p>\"},{\"location\":\"ru/search/\",\"title\":\"\\u041f\\u043e\\u0438\\u0441\\u043a\",\"text\":\"<p>\\u041e\\u0431\\u044b\\u0447\\u043d\\u043e \\u043c\\u0435\\u0442\\u043a\\u0430 \\u043f\\u0430\\u043a\\u0435\\u0442\\u043e\\u0432, \\u0438\\u043c\\u044f \\u0438 UID \\u0438\\u0449\\u044e\\u0442\\u0441\\u044f \\u0438\\u0437 \\u0432\\u0438\\u0434\\u0438\\u043c\\u043e\\u0433\\u043e \\u0441\\u043f\\u0438\\u0441\\u043a\\u0430.</p> <p>\\u0421 Deep Search \\u0437\\u0430\\u043f\\u0440\\u043e\\u0448\\u0435\\u043d\\u044b \\u0438\\u043c\\u0435\\u043d\\u0430 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439 \\u0438 \\u0434\\u0440\\u0443\\u0433\\u0438\\u0435 \\u043f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440\\u044b.</p> <p>\\u041e\\u0431\\u0440\\u0430\\u0442\\u0438\\u0442\\u0435 \\u0432\\u043d\\u0438\\u043c\\u0430\\u043d\\u0438\\u0435, \\u0447\\u0442\\u043e \\u0418\\u0441\\u043a\\u043b\\u044e\\u0447\\u0438\\u0442\\u0435\\u043b\\u044c\\u043d\\u044b\\u0435 \\u0444\\u0438\\u043b\\u044c\\u0442\\u0440\\u044b \\u044d\\u0444\\u0444\\u0435\\u043a\\u0442\\u0438\\u0432\\u043d\\u044b \\u043f\\u0440\\u0438 \\u043f\\u043e\\u0438\\u0441\\u043a\\u0435.</p> <p>\\u0412\\u044b \\u043c\\u043e\\u0436\\u0435\\u0442\\u0435 \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u044c \\u0432 \\u043f\\u043e\\u0438\\u0441\\u043a\\u0435 \\u0441\\u043b\\u0435\\u0434\\u0443\\u044e\\u0449\\u0438\\u0435 \\u0441\\u043f\\u0435\\u0446\\u0438\\u0430\\u043b\\u044c\\u043d\\u044b\\u0435 \\u043a\\u043b\\u044e\\u0447\\u0435\\u0432\\u044b\\u0435 \\u0441\\u043b\\u043e\\u0432\\u0430:</p> <ul> <li> <p>\\u0421\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u0438\\u0435 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f:</p> <p><code>:Critical</code> <code>:Framework</code> <code>:System</code> <code>:User</code> <code>:Disabled</code></p> </li> <li> <p>\\u0421\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u0438\\u0435 \\u0441\\u0441\\u044b\\u043b\\u043a\\u0438:</p> <p><code>:ORANGE</code> <code>:GREEN</code> <code>:RED</code></p> </li> <li> <p>\\u0420\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u0443\\u0440\\u043e\\u0432\\u0435\\u043d\\u044c \\u0437\\u0430\\u0449\\u0438\\u0442\\u044b:</p> <p><code>:Normal</code> <code>:Dangerous</code> <code>:Signature</code> <code>:Internal</code> <code>:Development</code> <code>:Privileged</code> <code>:Fixed</code> <code>:AppOps</code> <code>:Unknown</code></p> </li> <li> <p>\\u041f\\u043e UID AppOps:</p> <p><code>:UID</code></p> </li> <li> <p>AppOps \\u0441 \\u043f\\u043e\\u0441\\u043b\\u0435\\u0434\\u043d\\u0438\\u043c \\u0434\\u043e\\u0441\\u0442\\u0443\\u043f\\u043e\\u043c \\u0438\\u043b\\u0438 \\u0432\\u0440\\u0435\\u043c\\u0435\\u043d\\u0435\\u043c \\u043e\\u0442\\u043a\\u043b\\u043e\\u043d\\u0435\\u043d\\u0438\\u044f:</p> <p><code>:TIME</code></p> </li> <li> <p>\\u0414\\u043e\\u043f\\u043e\\u043b\\u043d\\u0438\\u0442\\u0435\\u043b\\u044c\\u043d\\u044b\\u0439 AppOps (\\u043d\\u0438\\u043a\\u043e\\u0433\\u0434\\u0430 \\u043d\\u0435 \\u0438\\u0441\\u043a\\u043b\\u044e\\u0447\\u0430\\u0435\\u0442\\u0441\\u044f \\u0432 \\u043d\\u0430\\u0441\\u0442\\u0440\\u043e\\u0439\\u043a\\u0430\\u0445 \\u0444\\u0438\\u043b\\u044c\\u0442\\u0440\\u0430):</p> <p><code>:EXTRA</code></p> </li> <li> <p><code>&amp;</code> (AND), <code>|</code> (OR) \\u0438 <code>!</code> (NOT) \\u043e\\u043f\\u0435\\u0440\\u0430\\u0442\\u043e\\u0440\\u044b:</p> <p><code>Foo|Bar&amp;Baz</code></p> <p><code>Foo&amp;!Bar&amp;!Baz</code></p> </li> </ul> <p>\\u041f\\u043b\\u0430\\u0442\\u043d\\u0430\\u044f \\u0432\\u0435\\u0440\\u0441\\u0438\\u044f \\u0442\\u0430\\u043a\\u0436\\u0435 \\u043f\\u043e\\u043a\\u0430\\u0437\\u044b\\u0432\\u0430\\u0435\\u0442 \\u043f\\u043e\\u0434\\u0441\\u043a\\u0430\\u0437\\u043a\\u0438 \\u043f\\u043e\\u0438\\u0441\\u043a\\u0430 (\\u0435\\u0441\\u043b\\u0438 \\u0437\\u0430\\u0434\\u0430\\u043d\\u043e \\u0432 \\u043f\\u0440\\u0435\\u0434\\u043f\\u043e\\u0447\\u0442\\u0435\\u043d\\u0438\\u044f\\u0445) \\u0434\\u043b\\u044f \\u043e\\u0431\\u043b\\u0435\\u0433\\u0447\\u0435\\u043d\\u0438\\u044f \\u043f\\u0440\\u043e\\u0446\\u0435\\u0441\\u0441\\u0430 \\u043f\\u043e\\u0438\\u0441\\u043a\\u0430.</p>\"},{\"location\":\"ru/use-with-adb/\",\"title\":\"\\u0418\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u043d\\u0438\\u0435 PMX \\u0441 \\u043f\\u043e\\u043c\\u043e\\u0449\\u044c\\u044e ADB\",\"text\":\"\"},{\"location\":\"ru/use-with-adb/#limitations-of-adb\",\"title\":\"\\u041e\\u0433\\u0440\\u0430\\u043d\\u0438\\u0447\\u0435\\u043d\\u0438\\u044f ADB\",\"text\":\"<p>ADB \\u043d\\u0435 \\u0442\\u0430\\u043a\\u043e\\u0439 \\u043c\\u043e\\u0449\\u043d\\u044b\\u0439, \\u043a\\u0430\\u043a root. \\u0412\\u044b \\u043c\\u043e\\u0436\\u0435\\u0442\\u0435 \\u043f\\u0440\\u043e\\u0432\\u0435\\u0440\\u0438\\u0442\\u044c \\u0442\\u0435\\u043a\\u0443\\u0449\\u0438\\u0439 \\u0441\\u0442\\u0430\\u0442\\u0443\\u0441 \\u0442\\u043e\\u0433\\u043e, \\u0447\\u0442\\u043e ADB \\u043c\\u043e\\u0436\\u0435\\u0442 \\u0441\\u0434\\u0435\\u043b\\u0430\\u0442\\u044c \\u0432 \\u041e \\u2192 \\u041f\\u0440\\u0438\\u0432\\u0438\\u043b\\u0435\\u0433\\u0438\\u0438 (\\u043f\\u0443\\u043d\\u043a\\u0442 \\u043c\\u0435\\u043d\\u044e):</p> <p></p> <p>\\u041f\\u043e\\u0434\\u0440\\u043e\\u0431\\u043d\\u0435\\u0435 \\u0441\\u043c. \\u041e\\u0433\\u0440\\u0430\\u043d\\u0438\\u0447\\u0435\\u043d\\u0438\\u044f \\u0434\\u043b\\u044f ADB. \\u0422\\u0430\\u043a\\u0436\\u0435 \\u043f\\u043e\\u0441\\u043c\\u043e\\u0442\\u0440\\u0438\\u0442\\u0435 \\u041f\\u043e\\u0447\\u0435\\u043c\\u0443 PMX \\u043d\\u0435 \\u0440\\u0430\\u0431\\u043e\\u0442\\u0430\\u0435\\u0442 \\u043f\\u0440\\u0430\\u0432\\u0438\\u043b\\u044c\\u043d\\u043e \\u043d\\u0430 OEM \\u043e\\u043f\\u0435\\u0440\\u0430\\u0446\\u0438\\u043e\\u043d\\u043d\\u044b\\u0445 \\u0441\\u0438\\u0441\\u0442\\u0435\\u043c\\u0430\\u0445 \\u0438\\u043b\\u0438 \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u044c\\u0441\\u043a\\u0438\\u0445 ROMs?</p>\"},{\"location\":\"ru/use-with-adb/#adb-guide\",\"title\":\"ADB \\u0418\\u043d\\u0441\\u0442\\u0440\\u0443\\u043a\\u0446\\u0438\\u044f\",\"text\":\"<p>\\u0421\\u043c. ADB Pairing / Connection Guide.</p>\"},{\"location\":\"ru/versions/\",\"title\":\"\\u0412\\u0435\\u0440\\u0441\\u0438\\u0438 PMX\",\"text\":\"<p>PMX \\u0434\\u043e\\u0441\\u0442\\u0443\\u043f\\u0435\\u043d \\u0432 \\u0434\\u0432\\u0443\\u0445 \\u0432\\u0430\\u0440\\u0438\\u0430\\u043d\\u0442\\u0430\\u0445: \\u041e\\u043f\\u043b\\u0430\\u0447\\u0435\\u043d \\u0438 \\u0411\\u0435\\u0441\\u043f\\u043b\\u0430\\u0442\\u043d\\u043e. \\u041f\\u043b\\u0430\\u0442\\u043d\\u0430\\u044f \\u0432\\u0435\\u0440\\u0441\\u0438\\u044f \\u0434\\u043e\\u0441\\u0442\\u0443\\u043f\\u043d\\u0430 \\u0432 \\u0434\\u0432\\u0443\\u0445 \\u0432\\u0430\\u0440\\u0438\\u0430\\u043d\\u0442\\u0430\\u0445: Play Store \\u0438 Pro. \\u041f\\u043e\\u0441\\u043b\\u0435\\u0434\\u043d\\u0438\\u0435 APK \\u0432\\u044b\\u043f\\u0443\\u0449\\u0435\\u043d\\u044b \\u0432 Play Store, GitHub \\u0438 Telegram Channel.</p>\"},{\"location\":\"ru/versions/#paid-features\",\"title\":\"\\u041f\\u043b\\u0430\\u0442\\u043d\\u044b\\u0435 \\u0432\\u043e\\u0437\\u043c\\u043e\\u0436\\u043d\\u043e\\u0441\\u0442\\u0438\",\"text\":\"<p>\\u041f\\u043b\\u0430\\u0442\\u043d\\u0430\\u044f \\u0432\\u0435\\u0440\\u0441\\u0438\\u044f \\u0432\\u043a\\u043b\\u044e\\u0447\\u0430\\u0435\\u0442 \\u0432 \\u0441\\u0435\\u0431\\u044f \\u0432\\u0441\\u0435, \\u0447\\u0442\\u043e \\u0435\\u0441\\u0442\\u044c \\u0432 \\u0431\\u0435\\u0441\\u043f\\u043b\\u0430\\u0442\\u043d\\u043e\\u0439 \\u0432\\u0435\\u0440\\u0441\\u0438\\u0438, \\u0430 \\u0442\\u0430\\u043a\\u0436\\u0435 \\u0441\\u043b\\u0435\\u0434\\u0443\\u044e\\u0449\\u0438\\u0435 \\u0434\\u043e\\u043f\\u043e\\u043b\\u043d\\u0438\\u0442\\u0435\\u043b\\u044c\\u043d\\u044b\\u0435 \\u0444\\u0443\\u043d\\u043a\\u0446\\u0438\\u0438, \\u043a\\u043e\\u0442\\u043e\\u0440\\u044b\\u0435 \\u0442\\u0430\\u043a\\u0436\\u0435 \\u043f\\u0435\\u0440\\u0435\\u0447\\u0438\\u0441\\u043b\\u0435\\u043d\\u044b \\u0432 \\u043e\\u043f\\u0438\\u0441\\u0430\\u043d\\u0438\\u0438 Play Store:</p> <ul> <li>\\u041f\\u043b\\u0430\\u043d\\u043e\\u0432\\u0430\\u044f \\u043f\\u0440\\u043e\\u0432\\u0435\\u0440\\u043a\\u0430, \\u0447\\u0442\\u043e\\u0431\\u044b \\u0441\\u043a\\u0430\\u0437\\u0430\\u0442\\u044c \\u043e \\u043f\\u043b\\u043e\\u0445\\u0438\\u0445 \\u0441\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u0438\\u044f\\u0445 \\u0441\\u0441\\u044b\\u043b\\u043e\\u043a</li> <li>\\u0421\\u043b\\u0435\\u0434\\u0438 \\u0437\\u0430 \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u0438\\u044f\\u043c\\u0438 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439 \\u0438 \\u043e\\u0442\\u043c\\u0435\\u043d\\u044f\\u0439 \\u0438\\u0445</li> <li>\\u0410\\u0432\\u0442\\u043e\\u043c\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043a\\u0430\\u044f \\u043e\\u0442\\u043c\\u0435\\u043d\\u0430 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439 \\u0441 \\u041a\\u0420\\u0410\\u0421\\u041d\\u042b\\u041c\\u0418 \\u0441\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u0438\\u044f\\u043c\\u0438</li> <li>\\u0412\\u043d\\u0435\\u0441\\u0435\\u043d\\u0438\\u0435 \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u0438\\u0439 \\u0432 \\u043a\\u0440\\u0438\\u0442\\u0438\\u0447\\u0435\\u0441\\u043a\\u0438 \\u0432\\u0430\\u0436\\u043d\\u044b\\u0435 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f \\u0438 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f</li> <li>\\u041f\\u043e\\u0434\\u0434\\u0435\\u0440\\u0436\\u043a\\u0430 \\u043d\\u0435\\u0441\\u043a\\u043e\\u043b\\u044c\\u043a\\u0438\\u0445 \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u0435\\u0439/\\u0440\\u0430\\u0431\\u043e\\u0447\\u0435\\u0433\\u043e \\u043f\\u0440\\u043e\\u0444\\u0438\\u043b\\u044f</li> <li>\\u041f\\u0430\\u043a\\u0435\\u0442\\u043d\\u044b\\u0435 \\u043e\\u043f\\u0435\\u0440\\u0430\\u0446\\u0438\\u0438 (\\u043f\\u0440\\u043e\\u0444\\u0438\\u043b\\u0438)</li> <li>\\u041f\\u0440\\u043e\\u0441\\u043c\\u043e\\u0442\\u0440 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439</li> </ul>\"},{\"location\":\"ru/whatsrunning-integration/\",\"title\":\"\\u0418\\u043d\\u0442\\u0435\\u0433\\u0440\\u0430\\u0446\\u0438\\u044f \\u0441 WhatsRunning\",\"text\":\"<p>PMX \\u0438\\u043d\\u0442\\u0435\\u0433\\u0440\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d \\u0441 WhatsRunning, \\u0442\\u0430\\u043a \\u0447\\u0442\\u043e \\u0432\\u044b \\u043c\\u043e\\u0436\\u0435\\u0442\\u0435 \\u043e\\u0442\\u043a\\u0440\\u044b\\u0442\\u044c \\u0434\\u0440\\u0443\\u0433 \\u0441 \\u0434\\u0440\\u0443\\u0433\\u043e\\u043c.</p> <p> </p> <p>\\u0422\\u0430\\u043a\\u0438\\u043c \\u043e\\u0431\\u0440\\u0430\\u0437\\u043e\\u043c, \\u0441 PMX \\u0432\\u044b \\u043c\\u043e\\u0436\\u0435\\u0442\\u0435 \\u043f\\u0435\\u0440\\u0435\\u043a\\u043b\\u044e\\u0447\\u0438\\u0442\\u044c\\u0441\\u044f \\u043d\\u0430 WhatsRunning, \\u0447\\u0442\\u043e\\u0431\\u044b \\u0443\\u0437\\u043d\\u0430\\u0442\\u044c, \\u0432\\u0441\\u0435 \\u0435\\u0449\\u0435 \\u0437\\u0430\\u043f\\u0443\\u0449\\u0435\\u043d\\u043e \\u043b\\u0438 \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435 \\u0441 \\u043e\\u0433\\u0440\\u0430\\u043d\\u0438\\u0447\\u0435\\u043d\\u043d\\u044b\\u043c\\u0438 \\u043f\\u0440\\u0430\\u0432\\u0430\\u043c\\u0438. \\u0415\\u0441\\u043b\\u0438 \\u0434\\u0430, \\u0442\\u043e \\u0432 \\u043a\\u0430\\u043a\\u043e\\u043c \\u0441\\u043e\\u0441\\u0442\\u043e\\u044f\\u043d\\u0438\\u0438 \\u043e\\u043d \\u043d\\u0430\\u0445\\u043e\\u0434\\u0438\\u0442\\u0441\\u044f \\u0438 \\u0441\\u043a\\u043e\\u043b\\u044c\\u043a\\u043e \\u0440\\u0435\\u0441\\u0443\\u0440\\u0441\\u043e\\u0432 \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u0443\\u0435\\u0442.</p> <p>\\u0422\\u0430\\u043a \\u0436\\u0435, \\u0438\\u0437 WhatsRunning \\u043c\\u043e\\u0436\\u043d\\u043e \\u043f\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u0432 PMX , \\u0447\\u0442\\u043e\\u0431\\u044b \\u043f\\u043e\\u0441\\u043c\\u043e\\u0442\\u0440\\u0435\\u0442\\u044c, \\u043a\\u0430\\u043a\\u0438\\u0435 \\u043f\\u0440\\u0430\\u0432\\u0430 \\u0435\\u0441\\u0442\\u044c \\u0443 \\u0437\\u0430\\u043f\\u0443\\u0449\\u0435\\u043d\\u043d\\u043e\\u0433\\u043e (\\u0438\\u043b\\u0438 \\u0437\\u0430\\u043a\\u0440\\u044b\\u0442\\u043e\\u0433\\u043e) \\u043f\\u0440\\u0438\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f.</p> <p>\\u042d\\u0442\\u043e \\u043e\\u0441\\u043e\\u0431\\u0435\\u043d\\u043d\\u043e \\u043f\\u043e\\u043b\\u0435\\u0437\\u043d\\u043e \\u043f\\u0440\\u0438 \\u0430\\u043d\\u0430\\u043b\\u0438\\u0437\\u0435 \\u044d\\u0444\\u0444\\u0435\\u043a\\u0442\\u0430 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u0439 \\u0442\\u0438\\u043f\\u0430 <code>RUN_IN_BACKGROUND</code>.</p>\"},{\"location\":\"ar/\",\"title\":\"\\u0645\\u0627 \\u0647\\u0648 PMX\\u061f\",\"text\":\"<p>\\u0625\\u0646\\u0647 \\u062a\\u0637\\u0628\\u064a\\u0642 eXtended Manager \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0644\\u0644\\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f \\u0627\\u0644\\u0630\\u064a \\u064a\\u062c\\u0639\\u0644 \\u0645\\u0646 \\u0627\\u0644\\u0633\\u0647\\u0644 \\u062a\\u0639\\u064a\\u064a\\u0646 \\u0648\\u0627\\u0633\\u062a\\u0639\\u0631\\u0627\\u0636 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u0645\\u0637\\u0644\\u0648\\u0628\\u0629 \\u0641\\u064a \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0645\\u062b\\u0628\\u062a\\u0629\\u060c \\u062a\\u062a\\u0628\\u0639 \\u0623\\u064a \\u062a\\u063a\\u064a\\u064a\\u0631\\u0627\\u062a \\u063a\\u064a\\u0631 \\u0645\\u0631\\u063a\\u0648\\u0628 \\u0641\\u064a\\u0647\\u0627. \\u064a\\u0648\\u0641\\u0631 \\u0627\\u0644\\u0633\\u064a\\u0637\\u0631\\u0629 \\u0639\\u0644\\u0649 \\u062c\\u0647\\u0627\\u0632\\u0643\\u060c \\u064a\\u0645\\u0643\\u0646\\u0643 \\u0645\\u0646 \\u062d\\u0645\\u0627\\u064a\\u0629 \\u062e\\u0635\\u0648\\u0635\\u064a\\u062a\\u0643 \\u0648\\u062d\\u0641\\u0638 \\u0627\\u0644\\u0645\\u0648\\u0627\\u0631\\u062f \\u0645\\u062b\\u0644 \\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 \\u0627\\u0644\\u0628\\u0637\\u0627\\u0631\\u064a\\u0629.</p> <p>\\u064a\\u0648\\u0641\\u0631 PMX \\u062c\\u0645\\u064a\\u0639 \\u0627\\u0644\\u0645\\u0639\\u0644\\u0648\\u0645\\u0627\\u062a \\u0627\\u0644\\u0645\\u062a\\u0641\\u0631\\u0642\\u0629 (\\u0623\\u0648 \\u063a\\u064a\\u0631 \\u0627\\u0644\\u0645\\u062a\\u0627\\u062d\\u0629) \\u0627\\u0644\\u0645\\u062a\\u0639\\u0644\\u0642\\u0629 \\u0628\\u0627\\u0644\\u0633\\u0645\\u0627\\u062d \\u0648\\u0627\\u0644\\u062a\\u062d\\u0643\\u0645 \\u0628\\u0647\\u0627 \\u0639\\u0644\\u0649 \\u0634\\u0627\\u0634\\u0629 \\u0648\\u0627\\u062d\\u062f\\u0629 \\u0628\\u062d\\u064a\\u062b \\u064a\\u0645\\u0643\\u0646\\u0643 \\u0645\\u0634\\u0627\\u0647\\u062f\\u062a\\u0647\\u0627 \\u0648\\u0627\\u0644\\u062a\\u062d\\u0643\\u0645 \\u0628\\u0647\\u0627 \\u0628\\u0637\\u0631\\u064a\\u0642\\u0629 \\u0634\\u0627\\u0645\\u0644\\u0629 \\u0648\\u0645\\u0644\\u0627\\u0626\\u0645\\u0629.</p> <p>\\u064a\\u0645\\u0643\\u0646\\u0643 \\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 PMX:</p> <ul> <li>\\u0639\\u0631\\u0636 / \\u0645\\u0646\\u062d / \\u0625\\u0644\\u063a\\u0627\\u0621 \\u062c\\u0645\\u064a\\u0639 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a manifest \\u0627\\u0644\\u062a\\u064a \\u064a\\u0645\\u0643\\u0646 \\u0623\\u0648 \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646 \\u062a\\u0639\\u064a\\u064a\\u0646\\u0647\\u0627 \\u0628\\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 \\u0634\\u0627\\u0634\\u0629 \\u0625\\u0639\\u062f\\u0627\\u062f\\u0627\\u062a \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642. \\u0642\\u0627\\u0626\\u0645\\u0629 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u062a\\u064a \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646 \\u062a\\u0639\\u064a\\u064a\\u0646\\u0647\\u0627 \\u0645\\u0646 \\u0648\\u0627\\u062c\\u0647\\u0629 \\u0627\\u0644\\u0645\\u0633\\u062a\\u062e\\u062f\\u0645 \\u0647\\u064a \\u0637\\u0648\\u064a\\u0644\\u0629 \\u062c\\u062f\\u0627\\u064b.</li> <li>\\u0639\\u0631\\u0636 \\u062c\\u0645\\u064a\\u0639 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062aAppOp \\u0627\\u0644\\u062a\\u064a \\u0639\\u0627\\u062f\\u0629 \\u0645\\u0627 \\u0644\\u0627 \\u062a\\u062d\\u062a\\u0648\\u064a \\u0639\\u0644\\u0649 \\u0623\\u064a \\u0625\\u0639\\u062f\\u0627\\u062f\\u0627\\u062a \\u0648\\u0627\\u062c\\u0647\\u0629 \\u0627\\u0644\\u0645\\u0633\\u062a\\u062e\\u062f\\u0645. \\u0639\\u0644\\u0649 \\u0633\\u0628\\u064a\\u0644 \\u0627\\u0644\\u0645\\u062b\\u0627\\u0644. <code>VIBRATE</code> \\u0648 <code>READ_CLIPBOARD</code>. \\u064a\\u0645\\u0643\\u0646\\u0643 \\u062a\\u0639\\u064a\\u064a\\u0646 \\u0648\\u0636\\u0639 AppOps \\u0627\\u0644\\u0645\\u0631\\u063a\\u0648\\u0628 \\u0645\\u062b\\u0644\\u0627\\u064b: \\u062a\\u062c\\u0627\\u0647\\u0644 \\u0623\\u0648 Foreground.</li> <li>\\u0639\\u0631\\u0636 \\u062c\\u0645\\u064a\\u0639 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u0645\\u0637\\u0644\\u0648\\u0628\\u0629 \\u0645\\u0646 \\u0642\\u0628\\u0644 \\u062a\\u0637\\u0628\\u064a\\u0642 \\u063a\\u064a\\u0631 \\u0642\\u0627\\u0628\\u0644 \\u0644\\u0644\\u062a\\u063a\\u064a\\u064a\\u0631.</li> <li>\\u0639\\u0631\\u0636 \\u0622\\u062e\\u0631 \\u0648\\u0642\\u062a \\u0645\\u0633\\u062a\\u062e\\u062f\\u0645 \\u0644\\u0644\\u0639\\u062f\\u064a\\u062f \\u0645\\u0646 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a AppOp.</li> <li>\\u062a\\u063a\\u064a\\u064a\\u0631 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u0646\\u0638\\u0627\\u0645 \\u0627\\u0644\\u062b\\u0627\\u0628\\u062a\\u0629 \\u0627\\u0644\\u062a\\u064a \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646 \\u062a\\u063a\\u064a\\u064a\\u0631\\u0647\\u0627 \\u0628\\u0623\\u064a \\u0648\\u0633\\u064a\\u0644\\u0629 \\u0623\\u062e\\u0631\\u0649.</li> <li>\\u0634\\u0627\\u0647\\u062f \\u0641\\u064a \\u0627\\u0644\\u0648\\u0642\\u062a \\u0627\\u0644\\u062d\\u0642\\u064a\\u0642\\u064a \\u062a\\u063a\\u064a\\u064a\\u0631 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0623\\u0648 \\u0625\\u062c\\u0631\\u0627\\u0621 \\u0639\\u0645\\u0644\\u064a\\u0627\\u062a \\u0645\\u0633\\u062d \\u0645\\u062c\\u062f\\u0648\\u0644\\u0629.</li> <li>\\u0641\\u0631\\u0632 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0648\\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u062d\\u0633\\u0628 \\u0627\\u0644\\u0639\\u062f\\u064a\\u062f \\u0645\\u0646 \\u0627\\u0644\\u0645\\u0639\\u0644\\u0645\\u0627\\u062a\\u060c \\u0628\\u0645\\u0627 \\u0641\\u064a \\u0630\\u0644\\u0643 \\u062a\\u0627\\u0631\\u064a\\u062e \\u0627\\u0644\\u062a\\u062b\\u0628\\u064a\\u062a \\u0648\\u0639\\u062f\\u062f \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a.</li> <li>\\u0627\\u0635\\u0646\\u0639 \\u0627\\u0633\\u062a\\u0641\\u0633\\u0627\\u0631\\u0627\\u062a \\u0627\\u0644\\u0628\\u062d\\u062b \\u0627\\u0644\\u0645\\u062a\\u0642\\u062f\\u0645\\u0629 \\u0641\\u064a \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0648\\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u062e\\u0627\\u0635\\u0629 \\u0628\\u0647\\u0627.</li> <li>\\u0648\\u0623\\u0643\\u062b\\u0631 \\u0645\\u0646 \\u0630\\u0644\\u0643 \\u0628\\u0643\\u062b\\u064a\\u0631.</li> </ul> <p>\\u0627\\u0646\\u0638\\u0631 \\u0623\\u064a\\u0636\\u0627 Github README \\u0648 Play Store \\u0648\\u0635\\u0641. \\u0623\\u0648 \\u0641\\u0642\\u0637 \\u062c\\u0631\\u0628 \\u0630\\u0644\\u0643. \\u0646\\u062d\\u0646 \\u0646\\u0642\\u062f\\u0645 \\u0646\\u0633\\u062e\\u0629 \\u0645\\u062c\\u0627\\u0646\\u064a\\u0629 \\u0648\\u062a\\u062c\\u0631\\u0628\\u0629 \\u0645\\u062c\\u0627\\u0646\\u064a\\u0629 \\u0644\\u0645\\u062f\\u0629 \\u0634\\u0647\\u0631 \\u0648\\u0627\\u062d\\u062f.</p> <p>\\u0647\\u0644 \\u0647\\u0630\\u0627 \\u0645\\u062f\\u0647\\u0634\\u061f \\u062f\\u0639\\u0648\\u0646\\u0627 \\u0646\\u062f\\u062e\\u0644 \\u0641\\u064a \\u0627\\u0644\\u062a\\u0641\\u0627\\u0635\\u064a\\u0644.</p> <ul> <li>\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u0628\\u064a\\u0627\\u0646 \\u0648\\u0639\\u0645\\u0644\\u064a\\u0627\\u062a \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a</li> <li>\\u0645\\u0631\\u0627\\u062c\\u0639 \\u0627\\u0644\\u0625\\u0630\\u0646</li> <li>\\u062a\\u0645 \\u0634\\u0631\\u062d \\u0648\\u0627\\u062c\\u0647\\u0629 \\u0627\\u0644\\u0645\\u0633\\u062a\\u062e\\u062f\\u0645</li> <li>\\u0628\\u062d\\u062b</li> <li>\\u0627\\u0644\\u062a\\u062d\\u0642\\u0642 \\u0627\\u0644\\u0645\\u062c\\u062f\\u0648\\u0644</li> <li>\\u0645\\u0631\\u0627\\u0642\\u0628 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a</li> <li>\\u0639\\u0631\\u0636 \\u0627\\u0644\\u0635\\u0644\\u0627\\u062d\\u064a\\u0629</li> <li>\\u0639\\u0645\\u0644\\u064a\\u0627\\u062a \\u0627\\u0644\\u062f\\u0641\\u0639\\u0629</li> <li>\\u0627\\u0644\\u062a\\u0643\\u0627\\u0645\\u0644 \\u0645\\u0639 WhatsRunning</li> <li>\\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 PMX \\u0645\\u0639 ADB</li> <li>\\u0625\\u0635\\u062f\\u0627\\u0631\\u0627\\u062a PMX</li> <li>\\u0627\\u0644\\u0645\\u064a\\u0632\\u0627\\u062a \\u0627\\u0644\\u0645\\u062f\\u0641\\u0648\\u0639\\u0629</li> <li>\\u0627\\u0644\\u0623\\u0633\\u0626\\u0644\\u0629 \\u0627\\u0644\\u0634\\u0627\\u0626\\u0639\\u0629 \\u062d\\u0648\\u0644 PMX</li> <li>\\u0627\\u0644\\u062a\\u0646\\u0632\\u064a\\u0644\\u0627\\u062a</li> <li>\\u0644\\u0642\\u0637\\u0627\\u062a \\u0634\\u0627\\u0634\\u0629</li> <li>\\u0627\\u062a\\u0635\\u0644 \\u0628\\u0646\\u0627</li> </ul>\"},{\"location\":\"ar/#rate-review\",\"title\":\"\\u0627\\u0644\\u062a\\u0642\\u064a\\u064a\\u0645\\u0627\\u062a / \\u0627\\u0644\\u0645\\u0631\\u0627\\u062c\\u0639\\u0627\\u062a / \\u0627\\u0644\\u062a\\u0639\\u0644\\u064a\\u0642\\u0627\\u062a / \\u0627\\u0644\\u062a\\u0635\\u0648\\u064a\\u062a/ \\u0627\\u0644\\u0646\\u062c\\u0648\\u0645\",\"text\":\"<ul> <li>\\u0645\\u062a\\u062c\\u0631 \\u0627\\u0644\\u0644\\u0639\\u0628</li> <li>XDA</li> <li>GitHub</li> </ul>\"},{\"location\":\"ar/batch-operations/\",\"title\":\"\\u0639\\u0645\\u0644\\u064a\\u0627\\u062a \\u0627\\u0644\\u062f\\u0641\\u0639\\u0627\\u062a\",\"text\":\"\"},{\"location\":\"ar/batch-operations/#permission-profiles\",\"title\":\"\\u0645\\u0644\\u0641\\u0627\\u062a \\u062a\\u0639\\u0631\\u064a\\u0641 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a\",\"text\":\"<ul> <li>\\u0625\\u0646\\u0634\\u0627\\u0621 \\u0648\\u062a\\u0639\\u062f\\u064a\\u0644 \\u0645\\u0644\\u0641\\u0627\\u062a \\u0627\\u0644\\u062a\\u0639\\u0631\\u064a\\u0641 \\u0644\\u0644\\u0635\\u0644\\u0627\\u062d\\u064a\\u0627\\u062a (\\u0642\\u0648\\u0627\\u0644\\u0628).</li> <li>\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0645\\u0644\\u0641 \\u0634\\u062e\\u0635\\u064a \\u0639\\u0644\\u0649 \\u0642\\u0627\\u0626\\u0645\\u0629 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0645\\u062d\\u062f\\u062f\\u0629.</li> <li>\\u062d\\u062f\\u062f \\u0627\\u0644\\u0645\\u0644\\u0641 \\u0627\\u0644\\u0634\\u062e\\u0635\\u064a \\u0627\\u0644\\u0627\\u0641\\u062a\\u0631\\u0627\\u0636\\u064a \\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0647 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0645\\u062b\\u0628\\u062a\\u0629 \\u062d\\u062f\\u064a\\u062b\\u0627 (\\u0625\\u0630\\u0627 \\u062a\\u0645 \\u062a\\u0645\\u0643\\u064a\\u0646 \\u0645\\u0631\\u0627\\u0642\\u0628 \\u0627\\u0644\\u0625\\u0630\\u0646.</li> </ul> <p>Here \\u0647\\u0648 \\u0645\\u062b\\u0627\\u0644 \\u0644\\u062f\\u0644\\u064a\\u0644 \\u0641\\u064a\\u062f\\u064a\\u0648 \\u0643\\u064a\\u0641\\u064a\\u0629 \\u0625\\u0646\\u0634\\u0627\\u0621 \\u0648\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0645\\u0644\\u0641 \\u0634\\u062e\\u0635\\u064a.</p>\"},{\"location\":\"ar/batch-operations/#operations-with-references\",\"title\":\"\\u0627\\u0644\\u0639\\u0645\\u0644\\u064a\\u0627\\u062a \\u0630\\u0627\\u062a \\u0627\\u0644\\u0645\\u0631\\u0627\\u062c\\u0639\",\"text\":\"\"},{\"location\":\"ar/batch-operations/#set-permissions\",\"title\":\"\\u062a\\u0639\\u064a\\u064a\\u0646 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a\",\"text\":\"<p>\\u0627\\u0646\\u062a\\u0642\\u0644 \\u0625\\u0644\\u0649 \\u0642\\u0627\\u0626\\u0645\\u0629 \\u0645\\u0646 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0645\\u062d\\u062f\\u062f\\u0629 \\u0648\\u0642\\u0645 \\u0628\\u0625\\u0646\\u0634\\u0627\\u0621 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a RED GREEN \\u0639\\u0646 \\u0637\\u0631\\u064a\\u0642 \\u0625\\u0639\\u062f\\u0627\\u062f \\u062d\\u0627\\u0644\\u0627\\u062a\\u0647\\u0645 \\u0648\\u0641\\u0642\\u0627\\u064b \\u0644\\u0640 \\u0627\\u0644\\u0642\\u064a\\u0645 \\u0627\\u0644\\u0645\\u0631\\u062c\\u0639\\u064a\\u0629. \\u064a\\u062a\\u0645 \\u062a\\u062c\\u0627\\u0647\\u0644 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0645\\u0639 \\u0627\\u0644\\u062f\\u0648\\u0644 \\u0627\\u0644\\u062e\\u0636\\u0631\\u0627\\u0621 \\u0648\\u0627\\u0644\\u0628\\u0631\\u062a\\u0642\\u0627\\u0644\\u064a\\u0629.</p> <p>\\u0639\\u0627\\u062f\\u0629 \\u0645\\u0627 \\u064a\\u0643\\u0648\\u0646 \\u0647\\u0630\\u0627 \\u0627\\u0644\\u062e\\u064a\\u0627\\u0631 \\u0645\\u0641\\u064a\\u062f\\u0627\\u064b \\u0639\\u0646\\u062f\\u0645\\u0627 \\u062a\\u0633\\u062a\\u0639\\u064a\\u062f \\u0644\\u0644\\u062a\\u0648 \\u0646\\u0633\\u062e\\u0629 \\u0627\\u062d\\u062a\\u064a\\u0627\\u0637\\u064a\\u0629 \\u0648\\u0647\\u0646\\u0627\\u0643 \\u0627\\u0644\\u0639\\u062f\\u064a\\u062f \\u0645\\u0646 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0645\\u0639 \\u062d\\u0627\\u0644\\u0629 RED.</p>\"},{\"location\":\"ar/batch-operations/#set-references\",\"title\":\"\\u062a\\u0639\\u064a\\u064a\\u0646 \\u0627\\u0644\\u0645\\u0631\\u0627\\u062c\\u0639\",\"text\":\"<p>\\u0627\\u0646\\u062a\\u0642\\u0644 \\u0625\\u0644\\u0649 \\u0642\\u0627\\u0626\\u0645\\u0629 \\u0645\\u0646 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0645\\u062d\\u062f\\u062f\\u0629 \\u0648\\u0642\\u0645 \\u0628\\u062c\\u0639\\u0644 RED \\u0648 ORANGE \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a GREEN \\u0645\\u0646 \\u062e\\u0644\\u0627\\u0644 \\u062a\\u062d\\u062f\\u064a\\u062f \\u0627\\u0644\\u0642\\u064a\\u0645 \\u0627\\u0644\\u0645\\u0631\\u062c\\u0639\\u064a\\u0629 \\u0627\\u0644\\u062e\\u0627\\u0635\\u0629 \\u0628\\u0647\\u0645 \\u0648\\u0641\\u0642\\u064b\\u0627 \\u0644\\u062d\\u0627\\u0644\\u0629 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a.</p> <p>\\u0647\\u0630\\u0627 \\u0627\\u0644\\u062e\\u064a\\u0627\\u0631 \\u0639\\u0627\\u062f\\u0629 \\u0645\\u0627 \\u064a\\u0643\\u0648\\u0646 \\u0645\\u0641\\u064a\\u062f\\u0627\\u064b \\u0623\\u062b\\u0646\\u0627\\u0621 \\u0627\\u0644\\u0625\\u0639\\u062f\\u0627\\u062f \\u0627\\u0644\\u0623\\u0648\\u0644\\u064a. \\u0644\\u0642\\u062f \\u0642\\u0645\\u062a \\u0644\\u0644\\u062a\\u0648 \\u0628\\u062a\\u062b\\u0628\\u064a\\u062a \\u062a\\u0637\\u0628\\u064a\\u0642 PMX \\u0648\\u0642\\u0636\\u062a \\u0628\\u0636\\u0639 \\u0633\\u0627\\u0639\\u0627\\u062a \\u0641\\u064a \\u062a\\u0639\\u064a\\u064a\\u0646 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a. \\u0647\\u0630\\u0627 \\u0627\\u0644\\u062e\\u064a\\u0627\\u0631 \\u0633\\u064a\\u062c\\u0639\\u0644\\u0647\\u0627 \\u0643\\u0644\\u0647\\u0627 \\u062e\\u0636\\u0631\\u0627\\u0621 \\u0628\\u0646\\u0642\\u0631\\u0629 \\u0648\\u0627\\u062d\\u062f\\u0629.</p>\"},{\"location\":\"ar/batch-operations/#cleanup-references\",\"title\":\"\\u062a\\u0646\\u0638\\u064a\\u0641 \\u0627\\u0644\\u0645\\u0631\\u0627\\u062c\\u0639\",\"text\":\"<p>\\u062a\\u0646\\u0638\\u064a\\u0641 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0642\\u0627\\u0639\\u062f\\u0629 \\u0628\\u064a\\u0627\\u0646\\u0627\\u062a \\u0627\\u0644\\u0645\\u0631\\u0627\\u062c\\u0639 \\u0633\\u064a\\u062a\\u0645 \\u062d\\u0630\\u0641 \\u0627\\u0644\\u0645\\u0631\\u0627\\u062c\\u0639 \\u063a\\u064a\\u0631 \\u0627\\u0644\\u0645\\u0633\\u062a\\u062e\\u062f\\u0645\\u0629.</p> <p>\\u0625\\u0630\\u0627 \\u0643\\u0627\\u0646\\u062a \\u0647\\u0646\\u0627\\u0643 \\u0642\\u0627\\u0626\\u0645\\u0629 \\u0643\\u0628\\u064a\\u0631\\u0629 \\u0645\\u0646 \\u0627\\u0644\\u0645\\u0631\\u0627\\u062c\\u0639 \\u063a\\u064a\\u0631 \\u0627\\u0644\\u0645\\u0633\\u062a\\u062e\\u062f\\u0645\\u0629\\u060c \\u0641\\u0625\\u0646 \\u0627\\u0644\\u062a\\u0646\\u0638\\u064a\\u0641 \\u0642\\u062f \\u064a\\u062d\\u0633\\u0646 \\u062a\\u062d\\u0645\\u064a\\u0644 \\u0642\\u0627\\u0626\\u0645\\u0629 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a.</p>\"},{\"location\":\"ar/batch-operations/#reset-references\",\"title\":\"\\u0625\\u0639\\u0627\\u062f\\u0629 \\u062a\\u0639\\u064a\\u064a\\u0646 \\u0627\\u0644\\u0645\\u0631\\u0627\\u062c\\u0639\",\"text\":\"<p>\\u0625\\u0639\\u0627\\u062f\\u0629 \\u062a\\u0639\\u064a\\u064a\\u0646 \\u0642\\u0627\\u0639\\u062f\\u0629 \\u0628\\u064a\\u0627\\u0646\\u0627\\u062a \\u0645\\u0631\\u0627\\u062c\\u0639 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a. \\u0633\\u064a\\u062a\\u0645 \\u062d\\u0630\\u0641 \\u062c\\u0645\\u064a\\u0639 \\u0627\\u0644\\u0645\\u0631\\u0627\\u062c\\u0639.</p> <p>\\u0644\\u064a\\u0633 \\u0627\\u0644\\u0645\\u0642\\u0635\\u0648\\u062f \\u0623\\u0646 \\u062a\\u0633\\u062a\\u062e\\u062f\\u0645 \\u0628\\u0634\\u0643\\u0644 \\u0637\\u0628\\u064a\\u0639\\u064a. \\u0648\\u0644\\u0643\\u0646 \\u0641\\u064a \\u062d\\u0627\\u0644\\u0629 \\u0631\\u063a\\u0628\\u062a\\u0643 \\u0641\\u064a \\u0627\\u0644\\u0628\\u062f\\u0621 \\u0645\\u0646 \\u0627\\u0644\\u0635\\u0641\\u0631.</p> <p></p>\"},{\"location\":\"ar/details/\",\"title\":\"\\u062a\\u0645 \\u0634\\u0631\\u062d \\u0648\\u0627\\u062c\\u0647\\u0629 \\u0627\\u0644\\u0645\\u0633\\u062a\\u062e\\u062f\\u0645\",\"text\":\"\"},{\"location\":\"ar/details/#apps-list\",\"title\":\"\\u0642\\u0627\\u0626\\u0645\\u0629 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a\",\"text\":\"<ol> <li> <p>\\u0627\\u0644\\u0634\\u0631\\u064a\\u0637 \\u0627\\u0644\\u0645\\u0644\\u0648\\u0646 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u064a\\u0633\\u0627\\u0631 \\u064a\\u0634\\u064a\\u0631 \\u0625\\u0644\\u0649 \\u0627\\u0644\\u062d\\u0627\\u0644\\u0629 \\u0627\\u0644\\u0645\\u0631\\u062c\\u0639\\u064a\\u0629</p> </li> <li> <p>\\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0623\\u064a\\u0642\\u0648\\u0646\\u0629</p> </li> <li> <p>\\u0627\\u0644\\u0633\\u0637\\u0631 \\u0627\\u0644\\u0623\\u0648\\u0644 \\u064a\\u0638\\u0647\\u0631 \\u0627\\u0644\\u062d\\u0632\\u0645\\u0629 \\u062a\\u0633\\u0645\\u064a\\u0629</p> </li> <li> <p>\\u0627\\u0644\\u0633\\u0637\\u0631 \\u0627\\u0644\\u062b\\u0627\\u0646\\u064a \\u064a\\u0638\\u0647\\u0631 \\u0627\\u0644\\u062d\\u0632\\u0645\\u0629 \\u0627\\u0644\\u0627\\u0633\\u0645 \\u0648</p> </li> <li> <p>UID</p> </li> <li> <p>\\u0627\\u0644\\u0633\\u0637\\u0631 \\u0627\\u0644\\u062b\\u0627\\u0644\\u062b (\\u0627\\u062e\\u062a\\u064a\\u0627\\u0631\\u064a\\u0627) \\u064a\\u0638\\u0647\\u0631 \\u062d\\u0627\\u0644\\u0629 \\u0627\\u0644\\u062d\\u0632\\u0645\\u0629: \\u0627\\u0644\\u062d\\u0631\\u062c (\\u0625\\u0637\\u0627\\u0631)\\u060c \\u0625\\u0637\\u0627\\u0631 \\u0623\\u0648 \\u0646\\u0638\\u0627\\u0645 \\u062a\\u0637\\u0628\\u064a\\u0642. \\u0623\\u064a\\u0636\\u064b\\u0627 \\u0625\\u0630\\u0627 \\u0643\\u0627\\u0646 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0645\\u0639\\u0637\\u0644. \\u0644\\u0627 \\u064a\\u0638\\u0647\\u0631 \\u0623\\u064a \\u062d\\u0627\\u0644\\u0629 \\u0644\\u0640 \\u0645\\u0645\\u0643\\u0651\\u0646\\u060c \\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0645\\u0633\\u062a\\u062e\\u062f\\u0645.</p> </li> <li> <p>\\u0627\\u0644\\u0633\\u0637\\u0631 \\u0627\\u0644\\u0623\\u062e\\u064a\\u0631 \\u064a\\u0638\\u0647\\u0631 \\u0639\\u062f \\u0645\\u0631\\u0626\\u064a \\u0645\\u0646 \\u0645\\u062c\\u0645\\u0648\\u0639 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a manifest \\u0648</p> </li> <li> <p>\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a AppOps.</p> <p>\\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u063a\\u064a\\u0631 \\u0627\\u0644\\u0645\\u0631\\u0626\\u064a\\u0629 \\u0647\\u064a \\u062a\\u0644\\u0643 \\u0627\\u0644\\u0645\\u0633\\u062a\\u0628\\u0639\\u062f\\u0629 \\u0641\\u064a \\u0645\\u0631\\u0634\\u062d\\u0627\\u062a \\u0627\\u0644\\u0627\\u0633\\u062a\\u0628\\u0639\\u0627\\u062f.</p> </li> <li> <p>\\u0625\\u0630\\u0627 \\u0641\\u0631\\u0632 \\u062d\\u0633\\u0628 \\u0648\\u0642\\u062a \\u0627\\u0644\\u062a\\u062b\\u0628\\u064a\\u062a \\u0623\\u0648 \\u0627\\u0644\\u062a\\u062d\\u062f\\u064a\\u062b\\u060c \\u0641\\u0625\\u0646 \\u0627\\u0644\\u0633\\u0637\\u0631 \\u0627\\u0644\\u0623\\u062e\\u064a\\u0631 \\u064a\\u0638\\u0647\\u0631 \\u0623\\u064a\\u0636\\u0627 \\u0627\\u0644\\u062a\\u0627\\u0631\\u064a\\u062e \\u0623\\u0648 \\u0627\\u0644\\u0648\\u0642\\u062a \\u0639\\u0644\\u0649 \\u0627\\u0644\\u062c\\u0627\\u0646\\u0628 \\u0627\\u0644\\u0623\\u064a\\u0645\\u0646.</p> </li> </ol>\"},{\"location\":\"ar/details/#permissions-list\",\"title\":\"\\u0642\\u0627\\u0626\\u0645\\u0629 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a\",\"text\":\"<ol> <li>\\u0627\\u0644\\u0634\\u0631\\u064a\\u0637 \\u0627\\u0644\\u0645\\u0644\\u0648\\u0646 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u064a\\u0633\\u0627\\u0631 \\u064a\\u0634\\u064a\\u0631 \\u0625\\u0644\\u0649 \\u0627\\u0644\\u062d\\u0627\\u0644\\u0629 \\u0627\\u0644\\u0645\\u0631\\u062c\\u0639\\u064a\\u0629</li> <li>Manifest \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u062a\\u0638\\u0647\\u0631 \\u0627\\u0644\\u0639\\u0644\\u0645 \\u0641\\u064a \\u0627\\u0644\\u0632\\u0627\\u0648\\u064a\\u0629 \\u0627\\u0644\\u064a\\u0645\\u0646\\u0649 \\u0627\\u0644\\u0639\\u0644\\u064a\\u0627</li> <li>\\u0625\\u0630\\u0646 \\u0623\\u064a\\u0642\\u0648\\u0646\\u0629</li> <li>\\u0627\\u0644\\u0633\\u0637\\u0631 \\u0627\\u0644\\u0623\\u0648\\u0644 \\u064a\\u0638\\u0647\\u0631 \\u0627\\u0633\\u0645 \\u0627\\u0644\\u0625\\u0630\\u0646</li> <li>\\u0627\\u0644\\u0633\\u0637\\u0631 \\u0627\\u0644\\u062b\\u0627\\u0646\\u064a \\u064a\\u0639\\u0631\\u0636 \\u0625\\u0630\\u0646 \\u0645\\u0633\\u062a\\u0648\\u0649 \\u0627\\u0644\\u062d\\u0645\\u0627\\u064a\\u0629: \\u0637\\u0628\\u064a\\u0639\\u064a\\u0629\\u060c \\u062e\\u0637\\u0631\\u060c \\u062a\\u0648\\u0642\\u064a\\u0639\\u060c \\u062a\\u0637\\u0648\\u064a\\u0631\\u060c \\u0627\\u0645\\u062a\\u064a\\u0627\\u0632\\u060c \\u062b\\u0627\\u0628\\u062a\\u060c AppOps \\u0623\\u0648 \\u0645\\u062c\\u0647\\u0648\\u0644. \\u0623\\u064a\\u0636\\u064b\\u0627 \\u0625\\u0630\\u0627 \\u0643\\u0627\\u0646 AppOp \\u0644\\u0643\\u0644 \\u062d\\u0632\\u0645\\u0629 \\u0623\\u0648 \\u0644\\u0643\\u0644 UID. \\u0648\\u0625\\u0630\\u0627 \\u0643\\u0627\\u0646 Extra AppOp (\\u0644\\u0645 \\u064a\\u062a\\u0645 \\u0627\\u0633\\u062a\\u0628\\u0639\\u0627\\u062f\\u0647 \\u0623\\u0628\\u062f\\u0627 \\u0641\\u064a \\u0625\\u0639\\u062f\\u0627\\u062f\\u0627\\u062a \\u0627\\u0644\\u062a\\u0635\\u0641\\u064a\\u0629).</li> <li>\\u0627\\u0644\\u0633\\u0637\\u0631 \\u0627\\u0644\\u062b\\u0627\\u0644\\u062b (\\u0641\\u064a \\u062d\\u0627\\u0644\\u0629 AppOp) \\u064a\\u0638\\u0647\\u0631 \\u0622\\u062e\\u0631 \\u0648\\u0635\\u0648\\u0644 \\u0623\\u0648 \\u0631\\u0641\\u0636 \\u0627\\u0644\\u0648\\u0642\\u062a</li> <li>\\u0627\\u0644\\u0633\\u0637\\u0631 \\u0627\\u0644\\u0631\\u0627\\u0628\\u0639 (\\u0641\\u064a \\u062d\\u0627\\u0644\\u0629 AppOp) \\u064a\\u0638\\u0647\\u0631 \\u0627\\u0644\\u0642\\u064a\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0631\\u062c\\u0639\\u064a\\u0629 \\u0625\\u0630\\u0627 \\u0643\\u0627\\u0646\\u062a \\u0644\\u0627 \\u062a\\u062a\\u0637\\u0627\\u0628\\u0642 \\u0645\\u0639 \\u0642\\u064a\\u0645\\u0629 \\u0627\\u0644\\u0645\\u062c\\u0645\\u0648\\u0639\\u0629 \\u0627\\u0644\\u062d\\u0627\\u0644\\u064a\\u0629.</li> <li>\\u0627\\u0644\\u062a\\u0628\\u062f\\u064a\\u0644 \\u0644\\u062a\\u063a\\u064a\\u064a\\u0631 \\u062d\\u0627\\u0644\\u0629 \\u0627\\u0644\\u0625\\u0630\\u0646</li> <li>\\u0627\\u0644\\u062d\\u0627\\u0644\\u0629 \\u0627\\u0644\\u062d\\u0627\\u0644\\u064a\\u0629 (\\u0641\\u064a \\u062d\\u0627\\u0644\\u0629 AppOp)</li> <li>\\u0627\\u0644\\u0627\\u0641\\u062a\\u0631\\u0627\\u0636\\u064a \\u064a\\u0634\\u064a\\u0631 \\u0625\\u0644\\u0649 \\u0623\\u0646 \\u062d\\u0627\\u0644\\u0629 AppOp \\u0644\\u0645 \\u062a\\u062a\\u063a\\u064a\\u0631 \\u0623\\u0628\\u062f\\u0627</li> </ol>\"},{\"location\":\"ar/faqs/\",\"title\":\"\\u0623\\u0633\\u0626\\u0644\\u0629 PMX \\u0627\\u0644\\u0645\\u062a\\u0643\\u0631\\u0631\\u0629\",\"text\":\"\"},{\"location\":\"ar/faqs/#faq36\",\"title\":\"\\u0644\\u0645\\u0627\\u0630\\u0627 \\u0623\\u062d\\u062a\\u0627\\u062c \\u0625\\u0644\\u0649 \\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 PMX\\u061f\",\"text\":\"<p>\\u0644\\u0623\\u0646:</p> <ul> <li>\\u064a\\u0648\\u0641\\u0631 PMX \\u062c\\u0645\\u064a\\u0639 \\u0627\\u0644\\u0645\\u0639\\u0644\\u0648\\u0645\\u0627\\u062a \\u0627\\u0644\\u0645\\u062a\\u0641\\u0631\\u0642\\u0629 (\\u0623\\u0648 \\u063a\\u064a\\u0631 \\u0627\\u0644\\u0645\\u062a\\u0627\\u062d\\u0629) \\u0627\\u0644\\u0645\\u062a\\u0635\\u0644\\u0629 \\u0628\\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u0645\\u0639\\u0644\\u0648\\u0645\\u0627\\u062a \\u0648 \\u0627\\u0644\\u062a\\u062d\\u0643\\u0645 \\u0639\\u0644\\u0649 \\u0634\\u0627\\u0634\\u0629 \\u0648\\u0627\\u062d\\u062f\\u0629 \\u0628\\u062d\\u064a\\u062b \\u064a\\u0645\\u0643\\u0646\\u0643 \\u0645\\u0634\\u0627\\u0647\\u062f\\u062a\\u0647\\u0627 \\u0648\\u0627\\u0644\\u062a\\u062d\\u0643\\u0645 \\u0641\\u064a\\u0647\\u0627 \\u0628\\u0637\\u0631\\u064a\\u0642\\u0629 \\u0634\\u0627\\u0645\\u0644\\u0629 \\u0648\\u0645\\u0644\\u0627\\u0626\\u0645\\u0629.</li> <li>\\u0644\\u0627 \\u062a\\u0648\\u062c\\u062f \\u0623\\u062f\\u0627\\u0629 \\u0631\\u0633\\u0645\\u064a\\u0629 \\u0645\\u062a\\u0627\\u062d\\u0629 \\u0641\\u064a \\u0627\\u0644\\u0645\\u062e\\u0632\\u0646 \\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f \\u0644\\u062a\\u063a\\u064a\\u064a\\u0631 AppOps. \\u0641\\u0642\\u0637 \\u0645\\u062c\\u0645\\u0648\\u0639\\u0629 \\u0641\\u0631\\u0639\\u064a\\u0629 \\u0645\\u0646 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a manifest \\u0645\\u0639\\u0631\\u0636\\u0629 \\u0644\\u0644\\u0645\\u0633\\u062a\\u062e\\u062f\\u0645 \\u0641\\u064a \\u0625\\u0639\\u062f\\u0627\\u062f\\u0627\\u062a \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a. PMX \\u064a\\u0643\\u0634\\u0641 \\u062c\\u0645\\u064a\\u0639 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0641\\u064a \\u0634\\u0643\\u0644 \\u062e\\u0627\\u0645. \\u0630\\u0627\\u062a \\u0627\\u0644\\u0635\\u0644\\u0629: Manifest \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0648 AppOps.</li> <li>PMX \\u064a\\u062c\\u0639\\u0644 \\u0645\\u0646 \\u0627\\u0644\\u0633\\u0647\\u0644 \\u0639\\u0644\\u064a\\u0643 \\u062a\\u062a\\u0628\\u0639 \\u0623\\u064a \\u062a\\u063a\\u064a\\u064a\\u0631\\u0627\\u062a \\u063a\\u064a\\u0631 \\u0645\\u0631\\u063a\\u0648\\u0628 \\u0641\\u064a\\u0647\\u0627 \\u0625\\u0644\\u0649 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a.</li> <li>\\u064a\\u062a\\u064a\\u062d \\u0644\\u0643 PMX \\u0627\\u0644\\u062a\\u062d\\u0643\\u0645 \\u0639\\u0644\\u0649 \\u062c\\u0647\\u0627\\u0632\\u0643 \\u062d\\u0641\\u0638 \\u0645\\u0648\\u0627\\u0631\\u062f \\u0627\\u0644\\u062c\\u0647\\u0627\\u0632 \\u0645\\u062b\\u0644 \\u0627\\u0644\\u0628\\u0637\\u0627\\u0631\\u064a\\u0629 \\u0648\\u0639\\u0631\\u0636 \\u0627\\u0644\\u0646\\u0637\\u0627\\u0642 \\u0627\\u0644\\u062a\\u0631\\u062f\\u062f\\u064a \\u0644\\u0644\\u0634\\u0628\\u0643\\u0629\\u060c \\u0648 \\u062d\\u0645\\u0627\\u064a\\u0629 \\u062e\\u0635\\u0648\\u0635\\u064a\\u062a\\u0643. \\u0623\\u0646\\u062a \\u0644\\u0633\\u062a \\u0645\\u062a\\u0631\\u0648\\u0643 \\u0628\\u0627\\u0644\\u0643\\u0627\\u0645\\u0644 \\u0644\\u0631\\u062d\\u0645\\u0629 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0648\\u0627\\u0644\\u0645\\u0637\\u0648\\u0631\\u064a\\u0646 ROM. \\u0627\\u0642\\u0631\\u0623 \\u0647\\u0630\\u0627 article \\u0644\\u0644\\u062d\\u0635\\u0648\\u0644 \\u0639\\u0644\\u0649 \\u0641\\u0643\\u0631\\u0629.</li> <li>PMX \\u064a\\u0645\\u0643\\u0646\\u0647 \\u0645\\u0631\\u0627\\u0642\\u0628\\u0629 \\u062a\\u063a\\u064a\\u064a\\u0631\\u0627\\u062a \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0641\\u064a \\u0627\\u0644\\u0648\\u0642\\u062a \\u0627\\u0644\\u062d\\u0642\\u064a\\u0642\\u064a\\u060c \\u0648\\u0639\\u0648\\u062f\\u062a\\u0647\\u0627 \\u062a\\u0644\\u0642\\u0627\\u0626\\u064a\\u064b\\u0627 \\u0639\\u0646\\u062f \\u0627\\u0644\\u062a\\u0648\\u0642\\u0641 \\u0639\\u0646 \\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642. \\u0623\\u0648 \\u064a\\u0645\\u0643\\u0646\\u0647 \\u0625\\u062c\\u0631\\u0627\\u0621 \\u0645\\u0633\\u062d \\u0645\\u062c\\u062f\\u0648\\u0644 \\u0645\\u0646 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a. \\u0644\\u0630\\u0627 \\u0644\\u0627 \\u064a\\u062a\\u0648\\u062c\\u0628 \\u0639\\u0644\\u064a\\u0643 \\u0623\\u0646 \\u062a\\u062a\\u0630\\u0643\\u0631 \\u0627\\u0644\\u0623\\u0634\\u064a\\u0627\\u0621.</li> <li>PMX \\u064a\\u062c\\u0639\\u0644 \\u0645\\u0646 \\u0627\\u0644\\u0633\\u0647\\u0644 \\u0644\\u0643 \\u0627\\u0644\\u0646\\u0633\\u062e \\u0627\\u0644\\u0627\\u062d\\u062a\\u064a\\u0627\\u0637\\u064a \\u0648\\u0627\\u0633\\u062a\\u0639\\u0627\\u062f\\u0629 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u062d\\u0627\\u0644\\u0629 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0645\\u062b\\u0628\\u062a\\u0629 \\u062d\\u062a\\u0649 \\u0644\\u0627 \\u062a\\u0636\\u0637\\u0631 \\u0625\\u0644\\u0649 \\u062a\\u0639\\u062f\\u064a\\u0644 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0645\\u0631\\u0629 \\u062a\\u0644\\u0648 \\u0627\\u0644\\u0623\\u062e\\u0631\\u0649.</li> </ul> <p>\\u064a\\u0631\\u062c\\u0649 \\u0623\\u064a\\u0636\\u0627 \\u0627\\u0644\\u0627\\u0637\\u0644\\u0627\\u0639 \\u0639\\u0644\\u0649 \\u0645\\u0627 \\u0647\\u0648 PMX\\u061f</p>\"},{\"location\":\"ar/faqs/#faq1\",\"title\":\"\\u0644\\u0645\\u0627\\u0630\\u0627 \\u064a\\u062a\\u0637\\u0644\\u0628 PMX \\u0648\\u0635\\u0648\\u0644\\u0627\\u064b \\u0625\\u0644\\u0649 \\u0627\\u0644\\u062c\\u0630\\u0631 \\u0623\\u0648 ADB \\u061f\",\"text\":\"<p>\\u064a\\u0642\\u0648\\u0645 \\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f \\u0639\\u0646 \\u0639\\u0645\\u062f \\u0628\\u062a\\u0642\\u064a\\u064a\\u062f \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0645\\u0646 \\u062a\\u0639\\u062f\\u064a\\u0644 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0623\\u062e\\u0631\\u0649 manifest \\u0623\\u0648 AppOps (\\u0648\\u0641\\u064a \\u0643\\u062b\\u064a\\u0631 \\u0645\\u0646 \\u0627\\u0644\\u062d\\u0627\\u0644\\u0627\\u062a \\u0645\\u0646 \\u062a\\u063a\\u064a\\u064a\\u0631 \\u0628\\u0639\\u0636 \\u0645\\u0646\\u0647\\u0627 \\u0627\\u0644\\u062e\\u0627\\u0635). \\u0648\\u062a\\u062d\\u0645\\u064a \\u0636\\u0645\\u0627\\u0646\\u0627\\u062a \\u0627\\u0644\\u0645\\u0646\\u0635\\u0629 \\u0647\\u0630\\u0647 \\u062e\\u0635\\u0648\\u0635\\u064a\\u0629 \\u0627\\u0644\\u0645\\u0633\\u062a\\u0639\\u0645\\u0644\\u064a\\u0646 \\u0648\\u0633\\u0644\\u0627\\u0645\\u062a\\u0647\\u0645 \\u0644\\u0644\\u0646\\u0638\\u0627\\u0645.</p> <p>\\u0644\\u062a\\u0646\\u0641\\u064a\\u0630 \\u0627\\u0644\\u0625\\u062c\\u0631\\u0627\\u0621\\u0627\\u062a \\u0627\\u0644\\u062a\\u064a \\u062a\\u062a\\u0637\\u0644\\u0628 \\u0627\\u0645\\u062a\\u064a\\u0627\\u0632\\u0627\\u062a \\u0645\\u0631\\u062a\\u0641\\u0639\\u0629\\u060c \\u064a\\u0633\\u062a\\u062e\\u062f\\u0645 PMX \\u0645\\u0633\\u0627\\u0639\\u062f\\u0627\\u064b \\u0635\\u063a\\u064a\\u0631\\u0627\\u064b \\u0648\\u0645\\u062a\\u0645\\u064a\\u0632\\u0627\\u064b \\u0645\\u0646\\u0641\\u0635\\u0644\\u0627\\u064b \\u0628\\u062f\\u0644\\u0627\\u064b \\u0645\\u0646 \\u0645\\u062d\\u0627\\u0648\\u0644\\u0629 \\u0641\\u0639\\u0644 \\u0643\\u0644 \\u0634\\u064a\\u0621 \\u0645\\u0646 \\u0639\\u0645\\u0644\\u064a\\u0629 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0627\\u0644\\u0639\\u0627\\u062f\\u064a\\u0629. \\u0628\\u0634\\u0643\\u0644 \\u0627\\u0641\\u062a\\u0631\\u0627\\u0636\\u064a \\u0623\\u0646 \\u0627\\u0644\\u0645\\u0633\\u0627\\u0639\\u062f \\u064a\\u0639\\u0645\\u0644 \\u062a\\u062d\\u062a ADB UID (<code>2000</code>) \\u0639\\u0646\\u062f \\u0628\\u062f\\u0621 \\u062a\\u0634\\u063a\\u064a\\u0644\\u0647 \\u0639\\u0628\\u0631 ADB\\u060c \\u0623\\u0648 \\u062a\\u062d\\u062a \\u0627\\u0633\\u0645 UID \\u0627\\u0644\\u0646\\u0638\\u0627\\u0645 (<code>1000</code>) \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0623\\u062c\\u0647\\u0632\\u0629 \\u0630\\u0627\\u062a \\u0627\\u0644\\u062c\\u0630\\u0631. \\u0625\\u0630\\u0627 \\u0643\\u0627\\u0646 \\u0644\\u062f\\u064a\\u0643 \\u062c\\u0647\\u0627\\u0632 \\u062c\\u0630\\u0631 \\u060c \\u0641\\u064a\\u0645\\u0643\\u0646\\u0643 \\u062a\\u063a\\u064a\\u064a\\u0631 \\u0645\\u0639\\u0631\\u0641 \\u0627\\u0644\\u0645\\u0633\\u062a\\u062e\\u062f\\u0645 \\u0627\\u0644\\u062e\\u0627\\u0635 \\u0628\\u0627\\u0644\\u0645\\u0633\\u0627\\u0639\\u062f \\u0641\\u064a \\u0625\\u0639\\u062f\\u0627\\u062f\\u0627\\u062a \\u0645\\u062a\\u0642\\u062f\\u0645\\u0629.</p>\"},{\"location\":\"ar/faqs/#faq33\",\"title\":\"\\u062c\\u0647\\u0627\\u0632\\u064a \\u063a\\u064a\\u0631 \\u0645\\u062a\\u062c\\u0630\\u0631. \\u0643\\u064a\\u0641 \\u064a\\u0645\\u0643\\u0646\\u0646\\u064a \\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 PMX\\u061f\",\"text\":\"<p>\\u0627\\u0633\\u062a\\u062e\\u062f\\u0645 PMX \\u0645\\u0639 ADB. \\u064a\\u0631\\u062c\\u0649 \\u0642\\u0631\\u0627\\u0621\\u0629 \\u0627\\u0644\\u0645\\u0644\\u0627\\u062d\\u0638\\u0629 \\u0641\\u064a \\u0627\\u0644\\u0628\\u062f\\u0627\\u064a\\u0629. \\u0648\\u0642\\u062f \\u062a\\u0643\\u0648\\u0646 \\u0647\\u0646\\u0627\\u0643 \\u0628\\u0639\\u0636 \\u0627\\u0644\\u0642\\u064a\\u0648\\u062f \\u0639\\u0644\\u0649 \\u0628\\u0639\\u0636 \\u0627\\u0644\\u0623\\u062c\\u0647\\u0632\\u0629.</p>\"},{\"location\":\"ar/faqs/#faq42\",\"title\":\"\\u0644\\u0645\\u0627\\u0630\\u0627 \\u0644\\u0627 \\u064a\\u0639\\u0645\\u0644 PMX \\u0623\\u0648 \\u064a\\u0639\\u0645\\u0644 \\u0628\\u0634\\u0643\\u0644 \\u0635\\u062d\\u064a\\u062d \\u0639\\u0644\\u0649 \\u0623\\u062d\\u062f\\u062b \\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f\\u061f\",\"text\":\"<p>PMX \\u064a\\u0639\\u062a\\u0645\\u062f \\u0639\\u0644\\u0649 \\u0648\\u0627\\u062c\\u0647\\u0627\\u062a \\u0628\\u0631\\u0645\\u062c\\u0629 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0645\\u062e\\u0641\\u064a\\u0629 \\u0641\\u064a Android \\u0623\\u0648 \\u0648\\u0627\\u062c\\u0647\\u0627\\u062a \\u063a\\u064a\\u0631 SDK \\u063a\\u064a\\u0631 \\u0645\\u0648\\u062b\\u0642\\u0629 (\\u0639\\u0644\\u0649 Android Developers) \\u0639\\u0644\\u0649 \\u0639\\u0643\\u0633 \\u0648\\u0627\\u062c\\u0647\\u0627\\u062a \\u0628\\u0631\\u0645\\u062c\\u0629 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0642\\u064a\\u0627\\u0633\\u064a\\u0629. \\u0625\\u0630\\u0627\\u064b \\u0645\\u0639 \\u0643\\u0644 \\u0625\\u0635\\u062f\\u0627\\u0631 \\u062c\\u062f\\u064a\\u062f \\u0644\\u0644\\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f\\u060c \\u064a\\u062c\\u0628 \\u0623\\u0646 \\u0646\\u0645\\u0631 \\u0639\\u0628\\u0631 \\u0631\\u0645\\u0632 \\u0645\\u0635\\u062f\\u0631 Android \\u0644\\u0645\\u0639\\u0631\\u0641\\u0629 \\u0623\\u064a \\u0648\\u0627\\u062c\\u0647\\u0627\\u062a \\u0628\\u0631\\u0645\\u062c\\u0629 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u062a\\u064a \\u0643\\u0633\\u0631\\u062a (\\u062a\\u063a\\u064a\\u0631\\u062a \\u0623\\u0648 \\u0623\\u0632\\u064a\\u0644).</p> <p>\\u0643\\u0645\\u0627 \\u0623\\u0646 \\u0625\\u0635\\u0644\\u0627\\u062d \\u0648\\u0627\\u062c\\u0647\\u0627\\u062a \\u0628\\u0631\\u0645\\u062c\\u0629 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0645\\u0639\\u0637\\u0644\\u0629 \\u064a\\u0633\\u062a\\u063a\\u0631\\u0642 \\u0648\\u0642\\u062a\\u064b\\u0627 \\u0637\\u0648\\u064a\\u0644\\u0627\\u064b\\u061b \\u0623\\u062d\\u064a\\u0627\\u0646\\u064b\\u0627 \\u0623\\u0633\\u0627\\u0628\\u064a\\u0639\\u060c \\u0648\\u0623\\u062d\\u064a\\u0627\\u0646\\u064b\\u0627 \\u0634\\u0647\\u0648\\u0631\\u064b\\u0627. \\u0648\\u0644\\u064a\\u0633 \\u0645\\u0636\\u0645\\u0648\\u0646\\u0627 \\u0623\\u0646\\u0646\\u0627 \\u0633\\u0646\\u0643\\u0648\\u0646 \\u062f\\u0627\\u0626\\u0645\\u0627 \\u0642\\u0627\\u062f\\u0631\\u064a\\u0646 \\u0639\\u0644\\u0649 \\u0625\\u0635\\u0644\\u0627\\u062d API \\u0627\\u0644\\u0645\\u0643\\u0633\\u0648\\u0631\\u0629. \\u0641\\u064a \\u0628\\u0639\\u0636 \\u0627\\u0644\\u0623\\u062d\\u064a\\u0627\\u0646\\u060c \\u062a\\u0639\\u0645\\u062f Google \\u062c\\u0639\\u0644 \\u0627\\u0633\\u062a\\u0645\\u0631\\u0627\\u0631 \\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645\\u0646\\u0627 \\u0644\\u0644\\u0648\\u0627\\u062c\\u0647\\u0627\\u062a \\u0627\\u0644\\u0628\\u0631\\u0645\\u062c\\u064a\\u0629 \\u0644\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a (APIs) \\u0627\\u0644\\u0645\\u062e\\u0641\\u064a\\u0629 \\u0623\\u0645\\u0631\\u0627\\u064b \\u0635\\u0639\\u0628\\u0627\\u064b \\u0623\\u0648 \\u0645\\u0633\\u062a\\u062d\\u064a\\u0644\\u0627\\u064b.</p> <p>\\u0644\\u0630\\u0644\\u0643 \\u0644\\u064a\\u0633 \\u0645\\u0646 \\u0627\\u0644\\u0645\\u0645\\u0643\\u0646 \\u0644\\u0646\\u0627 \\u0623\\u0646 \\u0646\\u062c\\u0639\\u0644 PMX \\u064a\\u0639\\u0645\\u0644 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0641\\u0648\\u0631 \\u0639\\u0644\\u0649 \\u0643\\u0644 \\u0625\\u0635\\u062f\\u0627\\u0631 \\u062c\\u062f\\u064a\\u062f \\u0645\\u0646 \\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f (\\u062e\\u0627\\u0635\\u0629 \\u0641\\u064a \\u0645\\u0631\\u062d\\u0644\\u0629 \\u0628\\u064a\\u062a\\u0627) \\u0637\\u0627\\u0644\\u0645\\u0627 \\u0623\\u0646 \\u0631\\u0645\\u0632 \\u0627\\u0644\\u0645\\u0635\\u062f\\u0631 \\u0627\\u0644\\u0646\\u0647\\u0627\\u0626\\u064a AOSP \\u0644\\u0645 \\u064a\\u062a\\u0645 \\u0646\\u0634\\u0631\\u0647 \\u0639\\u0644\\u0646\\u0627 (\\u0639\\u0644\\u0649 \\u0627\\u0644\\u0628\\u062d\\u062b \\u0641\\u064a \\u0627\\u0644\\u062a\\u0639\\u0644\\u064a\\u0645\\u0627\\u062a \\u0627\\u0644\\u0628\\u0631\\u0645\\u062c\\u064a\\u0629 \\u0623\\u0648 \\u0645\\u0633\\u062a\\u0648\\u062f\\u0639 Git Reposy).</p> <p>\\u0646\\u0633\\u062e\\u0629 \\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f \\u0627\\u0644\\u0623\\u062e\\u064a\\u0631\\u0629 \\u0627\\u0644\\u0645\\u062f\\u0639\\u0648\\u0645\\u0629 \\u0645\\u0646 PMX\\u0645\\u0630\\u0643\\u0648\\u0631\\u0629 \\u0641\\u064a \\u0648\\u0635\\u0641 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0639\\u0644\\u0649 GitHub \\u0648 Play Store. \\u0639\\u0646\\u062f \\u062a\\u0634\\u063a\\u064a\\u0644 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0639\\u0644\\u0649 \\u0625\\u0635\\u062f\\u0627\\u0631 \\u063a\\u064a\\u0631 \\u0645\\u062f\\u0639\\u0648\\u0645 \\u0644\\u0623\\u0648\\u0644 \\u0645\\u0631\\u0629\\u060c \\u064a\\u0638\\u0647\\u0631 \\u062a\\u062d\\u0630\\u064a\\u0631\\u0627 \\u0643\\u0647\\u0630\\u0627:</p> <p></p>\"},{\"location\":\"ar/faqs/#faq43\",\"title\":\"\\u0644\\u0645\\u0627\\u0630\\u0627 \\u0644\\u0627 \\u064a\\u0639\\u0645\\u0644 PMX \\u0628\\u0634\\u0643\\u0644 \\u0635\\u062d\\u064a\\u062d \\u0639\\u0644\\u0649 \\u0623\\u0646\\u0638\\u0645\\u0629 \\u062a\\u0634\\u063a\\u064a\\u0644 OEM \\u0623\\u0648 ROMs \\u0627\\u0644\\u0645\\u062e\\u0635\\u0635\\u0629\\u061f\",\"text\":\"<p>PMX \\u064a\\u0639\\u062a\\u0645\\u062f \\u0639\\u0644\\u0649 \\u0648\\u0627\\u062c\\u0647\\u0627\\u062a \\u0628\\u0631\\u0645\\u062c\\u0629 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0645\\u062e\\u0641\\u064a\\u0629 \\u0641\\u064a Android \\u0623\\u0648 \\u0648\\u0627\\u062c\\u0647\\u0627\\u062a \\u063a\\u064a\\u0631 SDK \\u063a\\u064a\\u0631 \\u0645\\u0648\\u062b\\u0642\\u0629 (\\u0639\\u0644\\u0649 Android Developers) \\u0639\\u0644\\u0649 \\u0639\\u0643\\u0633 \\u0648\\u0627\\u062c\\u0647\\u0627\\u062a \\u0628\\u0631\\u0645\\u062c\\u0629 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0642\\u064a\\u0627\\u0633\\u064a\\u0629. \\u0644\\u0630\\u0627 \\u0646\\u062d\\u0646 \\u0628\\u062d\\u0627\\u062c\\u0629 \\u0625\\u0644\\u0649 \\u0627\\u0644\\u0648\\u0635\\u0648\\u0644 \\u0625\\u0644\\u0649 \\u0634\\u0641\\u0631\\u0629 \\u0627\\u0644\\u0645\\u0635\\u062f\\u0631 \\u0627\\u0644\\u062e\\u0627\\u0635\\u0629 \\u0628\\u0643 ROM \\u0644\\u0645\\u0639\\u0631\\u0641\\u0629 \\u0628\\u0627\\u0644\\u0636\\u0628\\u0637 \\u0643\\u064a\\u0641 \\u062a\\u0639\\u0645\\u0644 \\u0648\\u0627\\u062c\\u0647\\u0627\\u062a \\u0628\\u0631\\u0645\\u062c\\u0629 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0645\\u062e\\u0641\\u064a\\u0629.</p> <p>\\u062d\\u0633\\u0646\\u0627\\u064b\\u060c AOSP (\\u0627\\u0644\\u0630\\u064a \\u062a\\u0637\\u0648\\u0631\\u0647 \\u062c\\u0648\\u062c\\u0644) \\u0645\\u0641\\u062a\\u0648\\u062d \\u0627\\u0644\\u0645\\u0635\\u062f\\u0631. \\u0648\\u0644\\u0643\\u0646 \\u0625\\u0630\\u0627 \\u0642\\u0627\\u0645 \\u0645\\u0637\\u0648\\u0631\\u0643 OEM \\u0623\\u0648 ROM \\u0628\\u0625\\u062f\\u062e\\u0627\\u0644 \\u0628\\u0639\\u0636 \\u0627\\u0644\\u062a\\u063a\\u064a\\u064a\\u0631\\u0627\\u062a \\u0639\\u0644\\u0649 AOSP \\u0644\\u063a\\u0631\\u0636 \\u0627\\u0644\\u062a\\u062e\\u0635\\u064a\\u0635\\u060c \\u0644\\u064a\\u0633 \\u0644\\u062f\\u064a\\u0646\\u0627 \\u0637\\u0631\\u064a\\u0642\\u0629 \\u0644\\u0645\\u0639\\u0631\\u0641\\u0629 \\u0645\\u0627 \\u0647\\u064a \\u0627\\u0644\\u062a\\u063a\\u064a\\u064a\\u0631\\u0627\\u062a \\u0627\\u0644\\u062a\\u064a \\u0623\\u062f\\u062e\\u0644\\u0648\\u0647\\u0627 \\u0639\\u0644\\u0649 \\u0631\\u0645\\u0632 AOSP \\u0627\\u0644\\u0645\\u062e\\u0632\\u0646. \\u0646\\u062d\\u0646 \\u0639\\u0627\\u062c\\u0632\\u0648\\u0646 \\u0639\\u0646 \\u0627\\u0644\\u0639\\u0645\\u0644 \\u0647\\u0646\\u0627. \\u0648\\u0647\\u0630\\u0647 \\u0627\\u0644\\u062d\\u0642\\u064a\\u0642\\u0629 \\u0645\\u0630\\u0643\\u0648\\u0631\\u0629 \\u0641\\u064a \\u0648\\u0635\\u0641 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0639\\u0644\\u0649 GitHub \\u0648 Play Store. \\u0639\\u0630\\u0631\\u0627\\u064b.</p>\"},{\"location\":\"ar/faqs/#faq2\",\"title\":\"\\u0643\\u064a\\u0641 \\u064a\\u063a\\u064a\\u0631 PMX \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0623\\u062e\\u0631\\u0649\\u061f\",\"text\":\"<p>PMX \\u0646\\u0641\\u0633\\u0647 \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646 \\u0648\\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646 \\u0645\\u0646\\u062d \\u0623\\u0648 \\u0625\\u0644\\u063a\\u0627\\u0621 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0623\\u062e\\u0631\\u0649. \\u0641\\u064a \\u0627\\u0644\\u0648\\u0627\\u0642\\u0639 \\u0644\\u0627 \\u064a\\u0648\\u062c\\u062f \\u062a\\u0637\\u0628\\u064a\\u0642 \\u0637\\u0631\\u0641 \\u062b\\u0627\\u0644\\u062b \\u0645\\u0645\\u064a\\u0632 \\u0644\\u0644\\u0642\\u064a\\u0627\\u0645 \\u0628\\u0630\\u0644\\u0643. \\u0647\\u0648 \\u0646\\u0638\\u0627\\u0645 \\u062a\\u0634\\u063a\\u064a\\u0644 Android \\u0627\\u0644\\u0630\\u064a \\u064a\\u062a\\u062d\\u0643\\u0645 \\u0641\\u064a \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a. PMX \\u064a\\u0631\\u0633\\u0644 \\u0641\\u0642\\u0637 \\u0637\\u0644\\u0628\\u064b\\u0627 \\u0625\\u0644\\u0649 \\u0625\\u0637\\u0627\\u0631 \\u0639\\u0645\\u0644 Android \\u0644\\u062a\\u063a\\u064a\\u064a\\u0631 \\u062d\\u0627\\u0644\\u0629 \\u0627\\u0644\\u0625\\u0630\\u0646. \\u0627\\u0644\\u0622\\u0646 \\u064a\\u062a\\u0648\\u0642\\u0641 \\u0627\\u0644\\u0623\\u0645\\u0631 \\u0643\\u0644\\u064a\\u0627 \\u0639\\u0644\\u0649 \\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f \\u0625\\u0644\\u0649 \\u0623\\u064a \\u0645\\u062f\\u0649 \\u064a\\u0644\\u0628\\u064a \\u0637\\u0644\\u0628\\u0646\\u0627. \\u0644\\u064a\\u0633\\u062a \\u0643\\u0644 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0642\\u0627\\u0628\\u0644\\u0629 \\u0644\\u0644\\u062a\\u063a\\u064a\\u064a\\u0631. \\u0648\\u0625\\u0630\\u0627 \\u0644\\u0645 \\u062a\\u062a\\u0645\\u0643\\u0646 \\u0645\\u0646 \\u062a\\u063a\\u064a\\u064a\\u0631 \\u062d\\u0627\\u0644\\u0629 \\u0627\\u0644\\u0635\\u0644\\u0627\\u062d\\u064a\\u0629 \\u0628\\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 PMX\\u060c \\u0644\\u0646 \\u062a\\u062a\\u0645\\u0643\\u0646 \\u0645\\u0646 \\u062a\\u063a\\u064a\\u064a\\u0631\\u0647\\u0627 \\u0628\\u0623\\u064a \\u0637\\u0631\\u064a\\u0642\\u0629 \\u0623\\u062e\\u0631\\u0649 \\u0623\\u064a\\u0636\\u0627.</p>\"},{\"location\":\"ar/faqs/#faq34\",\"title\":\"\\u0647\\u0644 \\u062a\\u0628\\u0642\\u0649 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0645\\u062a\\u063a\\u064a\\u0631\\u0629 \\u0628\\u0639\\u062f \\u0625\\u064a\\u0642\\u0627\\u0641 \\u062a\\u0634\\u063a\\u064a\\u0644 ADB \\u060c \\u0623\\u0648 \\u062a\\u0645 \\u0631\\u0641\\u0636 \\u0627\\u0644\\u062c\\u0630\\u0631\\u060c \\u0623\\u0648 \\u062a\\u0645 \\u0625\\u0644\\u063a\\u0627\\u0621 \\u062a\\u062b\\u0628\\u064a\\u062a PMX\\u061f\",\"text\":\"<p>PMX \\u0646\\u0641\\u0633\\u0647 \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646 \\u0648\\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646 \\u0645\\u0646\\u062d \\u0623\\u0648 \\u0625\\u0644\\u063a\\u0627\\u0621 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0623\\u062e\\u0631\\u0649. \\u0641\\u064a \\u0627\\u0644\\u0648\\u0627\\u0642\\u0639 \\u0644\\u0627 \\u064a\\u0648\\u062c\\u062f \\u062a\\u0637\\u0628\\u064a\\u0642 \\u0637\\u0631\\u0641 \\u062b\\u0627\\u0644\\u062b \\u0645\\u0645\\u064a\\u0632 \\u0644\\u0644\\u0642\\u064a\\u0627\\u0645 \\u0628\\u0630\\u0644\\u0643. \\u0647\\u0648 \\u0646\\u0638\\u0627\\u0645 \\u062a\\u0634\\u063a\\u064a\\u0644 Android \\u0627\\u0644\\u0630\\u064a \\u064a\\u062a\\u062d\\u0643\\u0645 \\u0641\\u064a \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a. PMX \\u064a\\u0631\\u0633\\u0644 \\u0641\\u0642\\u0637 \\u0637\\u0644\\u0628\\u064b\\u0627 \\u0625\\u0644\\u0649 \\u0625\\u0637\\u0627\\u0631 \\u0639\\u0645\\u0644 Android \\u0644\\u062a\\u063a\\u064a\\u064a\\u0631 \\u062d\\u0627\\u0644\\u0629 \\u0627\\u0644\\u0625\\u0630\\u0646.</p> <p>\\u0644\\u0630\\u0644\\u0643 \\u0628\\u0645\\u062c\\u0631\\u062f \\u062a\\u063a\\u064a\\u064a\\u0631 \\u0627\\u0644\\u0625\\u0630\\u0646\\u060c \\u0644\\u0646 \\u064a\\u0643\\u0648\\u0646 \\u0647\\u0646\\u0627\\u0643 \\u0641\\u0631\\u0642 \\u0625\\u0630\\u0627 \\u0642\\u0645\\u062a \\u0628\\u0625\\u0644\\u063a\\u0627\\u0621 \\u062a\\u062b\\u0628\\u064a\\u062a PMX \\u0623\\u0648 \\u0625\\u0633\\u0642\\u0627\\u0637 \\u0627\\u0645\\u062a\\u064a\\u0627\\u0632\\u0627\\u062a\\u0647. \\u064a\\u0628\\u0642\\u0649 \\u0627\\u0644\\u0625\\u0630\\u0646 \\u0641\\u064a \\u0623\\u064a \\u062d\\u0627\\u0644\\u0629 \\u0643\\u0627\\u0646\\u062a\\u060c \\u0645\\u0627 \\u0644\\u0645 \\u064a\\u062a\\u0645 \\u062a\\u063a\\u064a\\u064a\\u0631\\u0647 \\u0645\\u0631\\u0629 \\u0623\\u062e\\u0631\\u0649 \\u0645\\u0646 \\u0642\\u0628\\u0644\\u0643 \\u0623\\u0648 \\u0645\\u0646 \\u0642\\u0628\\u0644 \\u0646\\u0638\\u0627\\u0645 \\u0627\\u0644\\u062a\\u0634\\u063a\\u064a\\u0644.</p>\"},{\"location\":\"ar/faqs/#faq15\",\"title\":\"\\u0644\\u0645\\u0627\\u0630\\u0627 \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646\\u0646\\u064a \\u062a\\u063a\\u064a\\u064a\\u0631 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a XYZ\\u061f\",\"text\":\"<p>\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u0628\\u064a\\u0627\\u0646 \\u0645\\u0639 \\u0645\\u0633\\u062a\\u0648\\u0649 \\u0627\\u0644\\u062d\\u0645\\u0627\\u064a\\u0629 \\u0627\\u0644\\u062e\\u0637\\u064a\\u0631 \\u0641\\u0642\\u0637 (\\u0648 \\u0628\\u0636\\u0639\\u0629 \\u0623\\u062e\\u0631\\u0649) \\u0642\\u0627\\u0628\\u0644\\u0629 \\u0644\\u0644\\u062a\\u063a\\u064a\\u064a\\u0631. AppOps \\u0644\\u0627 \\u062a\\u0639\\u062a\\u0645\\u062f \\u0639\\u0644\\u0649 \\u0628\\u0639\\u0636 \\u0627\\u0644\\u0639\\u0648\\u0627\\u0645\\u0644 \\u0627\\u0644\\u0623\\u062e\\u0631\\u0649 AppOp \\u0642\\u0627\\u0628\\u0644\\u0629 \\u0644\\u0644\\u062a\\u063a\\u064a\\u064a\\u0631. \\u0647\\u0643\\u0630\\u0627 \\u064a\\u0639\\u0645\\u0644 \\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f\\u060c \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646\\u0646\\u0627 \\u062a\\u063a\\u064a\\u064a\\u0631 \\u0627\\u0644\\u0633\\u0644\\u0648\\u0643. \\u0627\\u0646\\u0638\\u0631 Manifest \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0648 AppOps.</p> <p>\\u0628\\u0627\\u0644\\u0625\\u0636\\u0627\\u0641\\u0629 \\u0625\\u0644\\u0649 \\u0630\\u0644\\u0643\\u060c \\u064a\\u062d\\u0645\\u064a PMX \\u0628\\u0639\\u0636 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0648\\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u0625\\u0637\\u0627\\u0631\\u064a\\u0629 \\u0627\\u0644\\u062d\\u0631\\u062c\\u0629\\u061b \\u0648\\u0642\\u062f \\u064a\\u0624\\u062f\\u064a \\u062a\\u063a\\u064a\\u064a\\u0631\\u0647\\u0627 \\u0625\\u0644\\u0649 \\u0637\\u0648\\u0628 \\u0627\\u0644\\u062c\\u0647\\u0627\\u0632. \\u0627\\u0646\\u0638\\u0631 \\u0627\\u0644\\u0633\\u0624\\u0627\\u0644 \\u0630\\u064a \\u0627\\u0644\\u0635\\u0644\\u0629.</p> <p>\\u0627\\u0646\\u0638\\u0631 \\u0623\\u064a\\u0636\\u0627 \\u0644\\u0645\\u0627\\u0630\\u0627 \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646 \\u062a\\u063a\\u064a\\u064a\\u0631 \\u0628\\u0639\\u0636 AppOps \\u061f</p> <p>\\u0644\\u0627\\u062d\\u0638 \\u0623\\u0646\\u0647 \\u0628\\u062f\\u0621\\u064b\\u0627 \\u0645\\u0646 Android 15\\u060c \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646 \\u0625\\u0644\\u063a\\u0627\\u0621 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a manifest \\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0646\\u0638\\u0627\\u0645 \\u0630\\u0627\\u062a \\u0645\\u0633\\u062a\\u0648\\u0649 \\u0627\\u0644\\u062d\\u0645\\u0627\\u064a\\u0629 Development. \\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f \\u064a\\u062a\\u062c\\u0627\\u0647\\u0644 \\u0627\\u0644\\u0637\\u0644\\u0628 \\u0628\\u0635\\u0645\\u062a.</p>\"},{\"location\":\"ar/faqs/#faq37\",\"title\":\"\\u0644\\u0642\\u062f \\u063a\\u064a\\u0631\\u062a \\u0625\\u0630\\u0646\\u064b\\u0627 \\u0644\\u0643\\u0646 \\u0630\\u0644\\u0643 \\u0644\\u0627 \\u064a\\u0639\\u0645\\u0644. \\u0644\\u0645\\u0627\\u0630\\u0627\\u061f\",\"text\":\"<p>\\u0628\\u0639\\u062f \\u062a\\u063a\\u064a\\u064a\\u0631 \\u0627\\u0644\\u0625\\u0630\\u0646 \\u0628\\u0646\\u062c\\u0627\\u062d\\u060c \\u0625\\u0630\\u0627 \\u0644\\u0645 \\u062a\\u062d\\u0635\\u0644 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0646\\u062a\\u0627\\u0626\\u062c \\u0627\\u0644\\u0645\\u0637\\u0644\\u0648\\u0628\\u0629\\u060c \\u0623\\u064a \\u0625\\u0646\\u0647\\u0627 \\u062a\\u0639\\u0648\\u062f \\u0645\\u0628\\u0627\\u0634\\u0631\\u0629 \\u0623\\u0648 \\u0628\\u0639\\u062f \\u0628\\u0636\\u0639 \\u0633\\u0627\\u0639\\u0627\\u062a \\u0623\\u0648 \\u0623\\u064a\\u0627\\u0645\\u060c \\u0625\\u0646\\u0647 \\u0646\\u0638\\u0627\\u0645 \\u062a\\u0634\\u063a\\u064a\\u0644 \\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f \\u0644\\u064a\\u0644\\u0642\\u0649 \\u0639\\u0644\\u064a\\u0647 \\u0627\\u0644\\u0644\\u0648\\u0645. \\u0631\\u062c\\u0627\\u0621\\u064b \\u0623\\u0631\\u0627:</p> <ul> <li>\\u0643\\u064a\\u0641 \\u064a\\u063a\\u064a\\u0631 PMX \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0623\\u062e\\u0631\\u0649\\u061f</li> <li>\\u0644\\u0645\\u0627\\u0630\\u0627 \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646 \\u062a\\u063a\\u064a\\u064a\\u0631 \\u0628\\u0639\\u0636 AppOps \\u061f</li> </ul> <p>\\u0639\\u0646\\u062f \\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a\\u060c \\u0642\\u062f \\u064a\\u063a\\u064a\\u0631 \\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a\\u0647. \\u0648\\u0644\\u0633\\u0648\\u0621 \\u0627\\u0644\\u0637\\u0627\\u0644\\u0639\\u060c \\u0644\\u064a\\u0633 \\u0644\\u062f\\u064a\\u0646\\u0627 \\u0637\\u0631\\u064a\\u0642\\u0629 \\u0644\\u0645\\u0646\\u0639 \\u0647\\u0630\\u0627. \\u0645\\u0631\\u0627\\u0642\\u0628 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0648 \\u0627\\u0644\\u0645\\u062f\\u0642\\u0642 \\u0627\\u0644\\u0645\\u062c\\u062f\\u0648\\u0644 \\u0642\\u062f \\u064a\\u0633\\u0627\\u0639\\u062f \\u0641\\u064a \\u0647\\u0630\\u0627 \\u0627\\u0644\\u0635\\u062f\\u062f.</p>\"},{\"location\":\"ar/faqs/#faq3\",\"title\":\"\\u0644\\u0645\\u0627\\u0630\\u0627 \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646 \\u062a\\u063a\\u064a\\u064a\\u0631 \\u0628\\u0639\\u0636 AppOps\\u061f\",\"text\":\"<p>\\u0641\\u064a \\u0628\\u0639\\u0636 \\u0627\\u0644\\u0623\\u062d\\u064a\\u0627\\u0646 \\u062a\\u0638\\u0647\\u0631 \\u0639\\u0628\\u0627\\u0631\\u0629 \\\"AppOp mode not changed\\\" (\\u0644\\u0645 \\u064a\\u062a\\u0645 \\u062a\\u063a\\u064a\\u064a\\u0631 \\u0648\\u0636\\u0639 \\u0627\\u0644\\u062a\\u0631\\u062c\\u0645\\u0629). \\u0648\\u0647\\u0630\\u0627 \\u064a\\u0639\\u0646\\u064a \\u0623\\u0646 \\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f \\u0631\\u0641\\u0636 \\u0637\\u0644\\u0628 \\u062a\\u063a\\u064a\\u064a\\u0631 \\u0627\\u0644\\u0648\\u0636\\u0639 AppOp. \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646\\u0643 \\u062a\\u063a\\u064a\\u064a\\u0631\\u0647\\u0627 \\u0628\\u063a\\u0636 \\u0627\\u0644\\u0646\\u0638\\u0631 \\u0639\\u0646 \\u0627\\u0644\\u0637\\u0631\\u064a\\u0642\\u0629 \\u0623\\u0648 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0627\\u0644\\u0630\\u064a \\u062a\\u0633\\u062a\\u062e\\u062f\\u0645\\u0647. \\u0648\\u064a\\u0645\\u0643\\u0646 \\u0623\\u0646 \\u062a\\u0643\\u0648\\u0646 \\u0647\\u0646\\u0627\\u0643 \\u0623\\u0633\\u0628\\u0627\\u0628 \\u0645\\u062d\\u062a\\u0645\\u0644\\u0629 \\u0645\\u062a\\u0639\\u062f\\u062f\\u0629.</p> <ul> <li> <p>\\u064a\\u0639\\u062a\\u0645\\u062f \\u0628\\u0639\\u0636 AppOps \\u0639\\u0644\\u0649 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a manifest \\u0627\\u0644\\u0645\\u0642\\u0627\\u0628\\u0644\\u0629. \\u0644\\u0630\\u0644\\u0643 \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646 \\u062a\\u063a\\u064a\\u064a\\u0631\\u0647\\u0627 \\u0628\\u0634\\u0643\\u0644 \\u0645\\u0633\\u062a\\u0642\\u0644. \\u0639\\u0644\\u0649 \\u0633\\u0628\\u064a\\u0644 \\u0627\\u0644\\u0645\\u062b\\u0627\\u0644\\u060c \\u0642\\u062f \\u0644\\u0627 \\u062a\\u0643\\u0648\\u0646 \\u0642\\u0627\\u062f\\u0631\\u0627\\u064b \\u0639\\u0644\\u0649 \\u0631\\u0641\\u0636 <code>READ_CONTACTS</code> AppOp \\u0625\\u0630\\u0627 \\u062a\\u0645 \\u0645\\u0646\\u062d \\u0627\\u0644\\u0625\\u0630\\u0646 <code>android.permission.READ_CONTACTS</code> manifest.</p> <p>\\u0623\\u064a\\u0636\\u064b\\u0627 \\u0625\\u0630\\u0627 \\u0644\\u0645 \\u064a\\u0637\\u0644\\u0628 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0627\\u0644\\u0625\\u0630\\u0646 manifest \\u0641\\u064a \\u0645\\u0644\\u0641\\u0647 manifest \\u060c \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646 \\u0623\\u064a\\u0636\\u0627 \\u0645\\u0646\\u062d \\u0627\\u0644\\u0625\\u0630\\u0646 AppOp. \\u0648\\u0644\\u0643\\u0646 \\u0642\\u062f \\u062a\\u0638\\u0647\\u0631 \\u0641\\u064a \\u0642\\u0627\\u0626\\u0645\\u0629 \\u0625\\u0630\\u0646 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0625\\u0630\\u0627 \\u062d\\u0627\\u0648\\u0644 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645\\u0647\\u0627 (\\u0648\\u062a\\u0645 \\u0631\\u0641\\u0636\\u0647\\u0627). <code>SYSTEM_ALERT_WINDOW</code> \\u0647\\u0648 \\u0623\\u062d\\u062f \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0623\\u0645\\u062b\\u0644\\u0629.</p> </li> <li> <p>\\u0628\\u0639\\u0636 AppOps \\u064a\\u0633\\u062a\\u062e\\u062f\\u0645 \\u0641\\u0642\\u0637 \\u0645\\u0646 \\u0642\\u0628\\u0644 \\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f \\u0644\\u0644\\u062a\\u0648\\u0627\\u0641\\u0642 (\\u0639\\u0644\\u0649 \\u0633\\u0628\\u064a\\u0644 \\u0627\\u0644\\u0645\\u062b\\u0627\\u0644 <code>LEGACY_STORAGE</code>) \\u0648\\u0644\\u0627 \\u064a\\u062a\\u062d\\u0643\\u0645 \\u0641\\u064a \\u0623\\u064a \\u0634\\u064a\\u0621. \\u0625\\u0630\\u0627 \\u0627\\u0633\\u062a\\u0643\\u0634\\u0641\\u0646\\u0627 \\u0639\\u0645\\u0644\\u0647\\u0645 \\u0627\\u0644\\u0623\\u0633\\u0627\\u0633\\u064a \\u0641\\u0625\\u0646\\u0647 \\u064a\\u0643\\u0634\\u0641 \\u0623\\u0646 \\u0645\\u0646\\u062d/\\u0625\\u0644\\u063a\\u0627\\u0621 \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0644\\u0627 \\u0645\\u0639\\u0646\\u0649 \\u0644\\u0647\\u0627.</p> </li> <li> <p>\\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646 \\u062a\\u063a\\u064a\\u064a\\u0631 \\u0628\\u0639\\u0636 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0625\\u0630\\u0627 \\u0643\\u0627\\u0646 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0642\\u064a\\u062f \\u0627\\u0644\\u062a\\u0634\\u063a\\u064a\\u0644 \\u0623\\u0648 \\u064a\\u0633\\u062a\\u0647\\u062f\\u0641 \\u0625\\u0635\\u062f\\u0627\\u0631 \\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f \\u0642\\u062f\\u064a\\u0645 \\u0623\\u0648 \\u0623\\u062d\\u062f\\u062b.</p> </li> <li> <p>\\u0628\\u0639\\u0636 OEM ROMs \\u062a\\u0635\\u0631\\u0641 \\u063a\\u0631\\u064a\\u0628 \\u0639\\u0646\\u062f\\u0645\\u0627 \\u064a\\u062a\\u0639\\u0644\\u0642 \\u0627\\u0644\\u0623\\u0645\\u0631 \\u0628\\u0640 AppOps. \\u0627\\u0646\\u0638\\u0631 \\u0644\\u0645\\u0627\\u0630\\u0627 \\u0644\\u0627 \\u064a\\u0639\\u0645\\u0644 PMX \\u0628\\u0634\\u0643\\u0644 \\u0635\\u062d\\u064a\\u062d \\u0639\\u0644\\u0649 \\u0623\\u0646\\u0638\\u0645\\u0629 \\u062a\\u0634\\u063a\\u064a\\u0644 OEM \\u0623\\u0648 ROMs?</p> </li> <li> <p>\\u064a\\u0645\\u0643\\u0646 \\u0623\\u0646 \\u064a\\u062d\\u062a\\u0648\\u064a \\u0627\\u0644\\u0639\\u062f\\u064a\\u062f \\u0645\\u0646 AppOps \\u0639\\u0644\\u0649 \\u0648\\u0636\\u0648\\u0639\\u064a\\u0646: \\u0648\\u0636\\u0639 \\u0627\\u0644\\u062d\\u0632\\u0645\\u0629 \\u0648\\u0648\\u0636\\u0639 UID. \\u0645\\u0646 \\u0627\\u0644\\u0645\\u0645\\u0643\\u0646 \\u0623\\u0646 \\u064a\\u062a\\u063a\\u064a\\u0631 \\u0623\\u062d\\u062f\\u0647\\u0645\\u0627 \\u0628\\u064a\\u0646\\u0645\\u0627 \\u0627\\u0644\\u0622\\u062e\\u0631 \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646 \\u0623\\u0646 \\u064a\\u0643\\u0648\\u0646 \\u0643\\u0630\\u0644\\u0643.</p> <p>\\u0639\\u0627\\u062f\\u0629 \\u0645\\u0627 \\u064a\\u0643\\u0648\\u0646 UID AppOps \\u0644\\u0647 \\u0627\\u0644\\u0623\\u0633\\u0628\\u0642\\u064a\\u0629 \\u0639\\u0644\\u0649 \\u062d\\u0632\\u0645\\u0629 AppOp \\u0646\\u0638\\u0631\\u0627\\u0626\\u0647. \\u0641\\u064a \\u0647\\u0630\\u0647 \\u0627\\u0644\\u062d\\u0627\\u0644\\u0629\\u060c \\u0627\\u0644\\u0648\\u0636\\u0639 \\u0627\\u0644\\u0641\\u0639\\u0627\\u0644 \\u0644\\u0644\\u062d\\u0632\\u0645\\u0629 AppOp \\u0647\\u0648 \\u0646\\u0641\\u0633 \\u0627\\u0644\\u0648\\u0636\\u0639 \\u0627\\u0644\\u062e\\u0627\\u0635 \\u0628 UID AppOps \\u0627\\u0644\\u062e\\u0627\\u0635 \\u0628\\u0647\\u0627. \\u0644\\u0630\\u0644\\u0643 \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646\\u0643 \\u062a\\u063a\\u064a\\u064a\\u0631 \\u0627\\u0644\\u062d\\u0632\\u0645\\u0629 AppOp \\u0648\\u062d\\u062f\\u0647\\u0627.</p> <p>\\u0628\\u0639\\u0636 AppOps \\u064a\\u0641\\u0636\\u0644 \\u0623\\u0646 \\u064a\\u062a\\u0645 \\u062a\\u0639\\u064a\\u064a\\u0646\\u0647 \\u0641\\u064a \\u0648\\u0636\\u0639 \\u0627\\u0644\\u062d\\u0632\\u0645\\u0629\\u060c \\u0648\\u0644\\u064a\\u0633 \\u0648\\u0636\\u0639 UID. \\u0644\\u0643\\u0646 \\u0625\\u0630\\u0627 \\u062a\\u0645 \\u062a\\u0639\\u064a\\u064a\\u0646\\u0647 \\u062e\\u0637\\u0623 \\u0641\\u064a \\u0648\\u0636\\u0639 UID (\\u0645\\u0639 \\u0623\\u062f\\u0627\\u0629 \\u0627\\u0644\\u0623\\u0648\\u0627\\u0645\\u0631 \\u0623\\u0648 \\u0628\\u0648\\u0627\\u0633\\u0637\\u0629 \\u062a\\u0637\\u0628\\u064a\\u0642 \\u0622\\u062e\\u0631)\\u060c \\u0641\\u0625\\u0646\\u0647 \\u064a\\u0635\\u0628\\u062d \\u063a\\u064a\\u0631 \\u0645\\u0633\\u062a\\u062c\\u064a\\u0628 \\u0644\\u0623\\u064a \\u062a\\u063a\\u064a\\u064a\\u0631\\u0627\\u062a. \\u0642\\u0645 \\u0628\\u0625\\u0639\\u0627\\u062f\\u0629 \\u062a\\u0639\\u064a\\u064a\\u0646 AppOps\\u0645\\u0646 \\u0627\\u0644\\u0642\\u0627\\u0626\\u0645\\u0629 \\u0627\\u0644\\u064a\\u0645\\u0646\\u0649 \\u0627\\u0644\\u0639\\u0644\\u064a\\u0627 \\u0644\\u062c\\u0639\\u0644\\u0647\\u0627 \\u062a\\u0639\\u0645\\u0644 \\u0645\\u0631\\u0629 \\u0623\\u062e\\u0631\\u0649. \\u0647\\u0630\\u0647 \\u0647\\u064a \\u0627\\u0644\\u062d\\u0627\\u0644\\u0629 \\u0623\\u064a\\u0636\\u0627 \\u0645\\u0639 AppOps \\u0627\\u0644\\u0623\\u062e\\u0631\\u0649 \\u0627\\u0644\\u062a\\u064a \\u0644\\u062f\\u064a\\u0647\\u0627 \\u0625\\u0630\\u0646 \\u0645\\u0646\\u0627\\u0638\\u0631 \\u0645\\u0646 manifest \\u0645\\u0639 AppOp \\u0645\\u0633\\u062a\\u0648\\u0649 \\u0627\\u0644\\u062d\\u0645\\u0627\\u064a\\u0629.</p> </li> </ul> <p>\\u0641\\u064a \\u0627\\u0644\\u0648\\u0627\\u0642\\u0639 \\u0647\\u0646\\u0627\\u0643 \\u0627\\u0644\\u0645\\u0632\\u064a\\u062f \\u0645\\u0646 \\u0627\\u0644\\u062a\\u0641\\u0633\\u064a\\u0631\\u0627\\u062a \\u0625\\u0630\\u0627 \\u0642\\u0645\\u0646\\u0627 \\u0628\\u062d\\u0641\\u0631 \\u0643\\u0644 \\u062a\\u0637\\u0628\\u064a\\u0642 \\u0648\\u0625\\u0630\\u0646 \\u0641\\u0631\\u062f\\u064a (\\u0648\\u0627\\u0644\\u0630\\u064a \\u0644\\u0627 \\u064a\\u0628\\u062f\\u0648 \\u0639\\u0645\\u0644\\u064a\\u0627\\u064b). \\u0643\\u0645\\u0627 \\u0630\\u0643\\u0631 \\u0623\\u0639\\u0644\\u0627\\u0647\\u060c \\u0644\\u0627 \\u064a\\u063a\\u064a\\u0631 PMX \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0623\\u062e\\u0631\\u0649 \\u0628\\u0645\\u0641\\u0631\\u062f\\u0647. \\u062d\\u062a\\u0649 \\u0644\\u0648 \\u0643\\u0627\\u0646 \\u0644\\u0633\\u0628\\u0628 \\u063a\\u064a\\u0631 \\u0645\\u0639\\u0631\\u0648\\u0641 \\u0644\\u0627 \\u064a\\u063a\\u064a\\u0631 \\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f \\u0625\\u0630\\u0646, \\u0623\\u0648 \\u064a\\u0639\\u064a\\u062f\\u0647\\u0627 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0641\\u0648\\u0631\\u060c \\u0644\\u0627 \\u064a\\u0648\\u062c\\u062f \\u0634\\u064a\\u0621 \\u064a\\u0645\\u0643\\u0646\\u0646\\u0627 \\u0641\\u0639\\u0644\\u0647 \\u0644\\u0625\\u062c\\u0628\\u0627\\u0631\\u0647 \\u0644\\u0623\\u0646 \\u0647\\u0630\\u0647 \\u0647\\u064a \\u0627\\u0644\\u0642\\u064a\\u0648\\u062f \\u0641\\u064a \\u0646\\u0647\\u0627\\u064a\\u0629 \\u0627\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f. \\u0628\\u062f\\u0644\\u0627\\u064b \\u0645\\u0646 \\u0630\\u0644\\u0643\\u060c \\u064a\\u062c\\u0628 \\u0623\\u0646 \\u0623\\u0642\\u0648\\u0644 \\u0647\\u0630\\u0647 \\u0647\\u064a \\u0627\\u0644\\u0637\\u0631\\u064a\\u0642\\u0629 \\u0627\\u0644\\u062a\\u064a \\u064a\\u0639\\u0645\\u0644 \\u0628\\u0647\\u0627 \\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f.</p> <p>\\u0630\\u0627\\u062a \\u0627\\u0644\\u0635\\u0644\\u0629:</p> <ul> <li>\\u0645\\u0627 \\u0647\\u064a \\u0623\\u0646\\u0645\\u0627\\u0637 AppOp \\u0627\\u0644\\u0645\\u062e\\u062a\\u0644\\u0641\\u0629 \\u0648\\u0623\\u064a\\u0647\\u0627 \\u064a\\u062c\\u0628 \\u0639\\u0644\\u064a \\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645\\u0647\\u061f</li> <li>\\u0644\\u0645\\u0627\\u0630\\u0627 \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646\\u0646\\u064a \\u062a\\u0639\\u064a\\u064a\\u0646 \\u0648\\u0636\\u0639 AppOp \\u0625\\u0644\\u0649 \\u0627\\u0644\\u0645\\u0642\\u062f\\u0645\\u0629\\u061f</li> </ul>\"},{\"location\":\"ar/faqs/#faq6\",\"title\":\"\\u0644\\u0645\\u0627\\u0630\\u0627 \\u0644\\u0627 \\u0623\\u0631\\u0649 \\u062a\\u0637\\u0628\\u064a\\u0642 XYZ \\u0641\\u064a \\u0642\\u0627\\u0626\\u0645\\u0629 \\u0627\\u0644\\u062d\\u0632\\u0645\\u061f\",\"text\":\"<p>\\u0627\\u0644\\u0631\\u062c\\u0627\\u0621 \\u0627\\u0644\\u062a\\u062d\\u0642\\u0642 \\u0645\\u0646 \\u0645\\u0631\\u0634\\u062d\\u0627\\u062a \\u0627\\u0644\\u0627\\u0633\\u062a\\u0628\\u0639\\u0627\\u062f. \\u064a\\u062a\\u0645 \\u0627\\u0633\\u062a\\u0628\\u0639\\u0627\\u062f \\u062c\\u0645\\u064a\\u0639 \\u062d\\u0632\\u0645 Android \\u0627\\u0644\\u0642\\u064a\\u0627\\u0633\\u064a\\u0629 \\u062a\\u0642\\u0631\\u064a\\u0628\\u064b\\u0627 \\u0628\\u0634\\u0643\\u0644 \\u0627\\u0641\\u062a\\u0631\\u0627\\u0636\\u064a. \\u064a\\u0645\\u0643\\u0646\\u0643 \\u0627\\u0633\\u062a\\u0628\\u0639\\u0627\\u062f / \\u0625\\u062f\\u0631\\u0627\\u062c \\u0623\\u064a \\u062d\\u0632\\u0645\\u0629 \\u062a\\u0631\\u064a\\u062f\\u0647\\u0627 \\u0645\\u0646 / \\u0625\\u0644\\u0649 \\u0642\\u0627\\u0626\\u0645\\u0629 \\u0645\\u0631\\u0626\\u064a\\u0629.</p>\"},{\"location\":\"ar/faqs/#faq7\",\"title\":\"\\u0644\\u0645\\u0627\\u0630\\u0627 \\u0644\\u0627 \\u0623\\u0631\\u0649 \\u0625\\u0630\\u0646 XYZ \\u0641\\u064a \\u062d\\u0632\\u0645\\u0629 ABC \\u061f\",\"text\":\"<p>\\u0627\\u0644\\u0631\\u062c\\u0627\\u0621 \\u0627\\u0644\\u062a\\u062d\\u0642\\u0642 \\u0645\\u0646 \\u0645\\u0631\\u0634\\u062d\\u0627\\u062a \\u0627\\u0644\\u0627\\u0633\\u062a\\u0628\\u0639\\u0627\\u062f. \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u062a\\u064a \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646 \\u062a\\u063a\\u064a\\u064a\\u0631\\u0647\\u0627 \\u0645\\u0633\\u062a\\u0628\\u0639\\u062f\\u0629 \\u0645\\u0646 \\u0627\\u0644\\u0642\\u0627\\u0626\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0631\\u0626\\u064a\\u0629 \\u0627\\u0644\\u0627\\u0641\\u062a\\u0631\\u0627\\u0636\\u064a\\u0629.</p>\"},{\"location\":\"ar/faqs/#faq8\",\"title\":\"\\u0644\\u0645\\u0627\\u0630\\u0627 \\u0644\\u0627 \\u0623\\u0631\\u0649 XYZ AppOp \\u0641\\u064a \\u062d\\u0632\\u0645\\u0629 ABC \\u061f\",\"text\":\"<p>\\u0627\\u0644\\u0631\\u062c\\u0627\\u0621 \\u0627\\u0644\\u062a\\u062d\\u0642\\u0642 \\u0645\\u0646 \\u0645\\u0631\\u0634\\u062d\\u0627\\u062a \\u0627\\u0644\\u0627\\u0633\\u062a\\u0628\\u0639\\u0627\\u062f \\u0625\\u0630\\u0627 \\u0643\\u0627\\u0646 XYZ AppOp \\u0645\\u0633\\u062a\\u0628\\u0639\\u062f\\u0627\\u064b \\u0645\\u0646 \\u0627\\u0644\\u0642\\u0627\\u0626\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0631\\u0626\\u064a\\u0629. \\u0623\\u0648 \\u0642\\u062f \\u0644\\u0627 \\u062a\\u0633\\u062a\\u062e\\u062f\\u0645 \\u062d\\u0632\\u0645\\u0629 ABC \\u0639\\u0645\\u0644\\u064a\\u0629 XYZ. \\u0644\\u0633\\u062a \\u0628\\u062d\\u0627\\u062c\\u0629 \\u0625\\u0644\\u0649 \\u0623\\u0646 \\u062a\\u0643\\u0648\\u0646 \\u0642\\u0644\\u0642\\u0627 \\u062d\\u064a\\u0627\\u0644 \\u0647\\u0630\\u0627.</p> <p>\\u0648\\u0644\\u0643\\u0646 \\u0625\\u0630\\u0627 \\u0643\\u0646\\u062a \\u062a\\u0631\\u063a\\u0628 \\u0641\\u064a \\u0631\\u0624\\u064a\\u0629 XYZ AppOp \\u0644\\u062c\\u0645\\u064a\\u0639 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a\\u060c \\u0627\\u0646\\u062a\\u0642\\u0644 \\u0625\\u0644\\u0649 \\u0645\\u0631\\u0634\\u062d\\u0627\\u062a \\u0627\\u0644\\u0627\\u0633\\u062a\\u0628\\u0639\\u0627\\u062f \\u2192 Extra AppOps\\u060c \\u0644\\u0645 \\u062a\\u0633\\u062a\\u0628\\u0639\\u062f \\u0648 \\u062a\\u062d\\u0642\\u0642 \\u0645\\u0646 XYZ AppOp \\u0641\\u064a \\u0627\\u0644\\u0642\\u0627\\u0626\\u0645\\u0629.</p> <p>\\u0639\\u0644\\u0649 \\u0633\\u0628\\u064a\\u0644 \\u0627\\u0644\\u0645\\u062b\\u0627\\u0644\\u060c \\u0643\\u062a\\u0627\\u0628\\u0629 <code>_CLIPBOARD</code> \\u0641\\u064a \\u0645\\u0631\\u0628\\u0639 \\u0627\\u0644\\u0628\\u062d\\u062b (\\u0645\\u0639 \\u0627\\u0644\\u0628\\u062d\\u062b \\u0627\\u0644\\u0639\\u0645\\u064a\\u0642 \\u0627\\u0644\\u0645\\u0631\\u0628\\u0639) \\u0648\\u0633\\u062a\\u062d\\u0635\\u0644 \\u0639\\u0644\\u0649 \\u062c\\u0645\\u064a\\u0639 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u062a\\u064a \\u0627\\u0633\\u062a\\u062e\\u062f\\u0645\\u062a (\\u0623\\u0648 \\u062d\\u0627\\u0648\\u0644\\u062a \\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645) <code>READ_CLIPBOARD</code> \\u0623\\u0648 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a <code>WRITE_CLIPBOARD</code>. \\u0627\\u0644\\u0637\\u0648\\u0627\\u0628\\u0639 \\u0627\\u0644\\u0632\\u0645\\u0646\\u064a\\u0629 \\u0645\\u0639\\u0631\\u0648\\u0636\\u0629 \\u0623\\u064a\\u0636\\u0627 (\\u0648\\u0644\\u0643\\u0646 \\u0644\\u064a\\u0633 \\u0644\\u062c\\u0645\\u064a\\u0639 AppOps).</p> <p>\\u0644\\u0630\\u0627 \\u0625\\u0630\\u0627 \\u0643\\u0627\\u0646 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0627\\u0644\\u0630\\u064a \\u062a\\u0647\\u062a\\u0645 \\u0628\\u0647 \\u0644\\u064a\\u0633 \\u0641\\u064a \\u0646\\u062a\\u0627\\u0626\\u062c \\u0627\\u0644\\u0628\\u062d\\u062b\\u060c \\u062a\\u062d\\u0642\\u0642 \\u0645\\u0646 \\u0643\\u0644 \\u0645\\u0646 AppOps \\u0641\\u064a \\u0642\\u0627\\u0626\\u0645\\u0629 \\u0645\\u0631\\u0634\\u062d\\u0627\\u062a \\u0627\\u0644\\u0627\\u0633\\u062a\\u0628\\u0639\\u0627\\u062f \\u0627\\u0644\\u0645\\u0630\\u0643\\u0648\\u0631\\u0629 \\u0623\\u0639\\u0644\\u0627\\u0647.</p>\"},{\"location\":\"ar/faqs/#faq5\",\"title\":\"\\u0645\\u0627 \\u0627\\u0644\\u0630\\u064a \\u064a\\u062c\\u0628 \\u0623\\u0646 \\u0623\\u062e\\u062a\\u0631\\u0647 \\u0644\\u0645\\u0639\\u0631\\u0641 \\u062f\\u0627\\u064a\\u0645\\u0648\\u0646 \\u0627\\u0644\\u0645\\u0645\\u064a\\u0632 \\u0641\\u064a \\u0627\\u0644\\u0625\\u0639\\u062f\\u0627\\u062f\\u0627\\u062a \\u0627\\u0644\\u0645\\u062a\\u0642\\u062f\\u0645\\u0629\\u061f \\u0627\\u0644\\u0646\\u0638\\u0627\\u0645 \\u0623\\u0648 ADB\\u061f\",\"text\":\"<p>\\u0644\\u0627 \\u064a\\u0647\\u0645 \\u0625\\u0644\\u0627 \\u0625\\u0630\\u0627 \\u0643\\u0646\\u062a \\u062a\\u0633\\u062a\\u062e\\u062f\\u0645 \\u0627\\u0644\\u062c\\u0630\\u0631\\u060c \\u0623\\u0648 <code>adbd</code> \\u0639\\u0644\\u0649 \\u062c\\u0647\\u0627\\u0632\\u0643 \\u064a\\u0639\\u0645\\u0644 \\u0645\\u0639 \\u0627\\u0644\\u062c\\u0630\\u0631 (\\u0648\\u0647\\u0630\\u0627 \\u0644\\u064a\\u0633 \\u0647\\u0648 \\u0627\\u0644\\u062d\\u0627\\u0644 \\u0645\\u0639 \\u0623\\u062c\\u0647\\u0632\\u0629 \\u0627\\u0644\\u0645\\u0633\\u062a\\u062e\\u062f\\u0645 \\u0627\\u0644\\u0646\\u0647\\u0627\\u0626\\u064a\\u0629).</p> <p>\\u064a\\u0641\\u0636\\u0644 \\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 \\u0627\\u0644\\u0646\\u0638\\u0627\\u0645 (UID <code>1000</code>) \\u0644\\u0623\\u0646\\u0647 \\u064a\\u0633\\u0645\\u062d \\u0628\\u0627\\u0645\\u062a\\u064a\\u0627\\u0632\\u0627\\u062a \\u0623\\u0643\\u062b\\u0631 \\u0645\\u0646 ADB (UID <code>2000</code>). \\u0639\\u0644\\u0649 \\u0633\\u0628\\u064a\\u0644 \\u0627\\u0644\\u0645\\u062b\\u0627\\u0644. \\u062a\\u063a\\u064a\\u064a\\u0631 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\\"System-Fixed\\\" \\u0645\\u0645\\u0643\\u0646 \\u0641\\u0642\\u0637 \\u0639\\u0646\\u062f \\u062a\\u0634\\u063a\\u064a\\u0644 \\u0627\\u0644\\u0646\\u0638\\u0627\\u0645.</p>\"},{\"location\":\"ar/faqs/#faq9\",\"title\":\"\\u0645\\u0627 \\u0647\\u064a \\\"\\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u063a\\u064a\\u0631 \\u0635\\u0627\\u0644\\u062d\\u0629\\\" \\u0641\\u064a \\u0641\\u0644\\u0627\\u062a\\u0631 \\u0627\\u0644\\u0627\\u0633\\u062a\\u0628\\u0639\\u0627\\u062f\\u061f\",\"text\":\"<p>\\u0625\\u0630\\u0627 \\u0643\\u0627\\u0646 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u064a\\u0637\\u0644\\u0628 \\u0625\\u0630\\u0646 manifest \\u0648\\u0644\\u0643\\u0646\\u0647 \\u063a\\u064a\\u0631 \\u0645\\u0639\\u0644\\u0646 (\\u062a\\u0648\\u0641\\u0631) \\u0645\\u0646 \\u062e\\u0644\\u0627\\u0644 \\u0625\\u0637\\u0627\\u0631 \\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f \\u0623\\u0648 \\u0623\\u064a \\u0645\\u0646 \\u0627\\u0644\\u062d\\u0632\\u0645 \\u0627\\u0644\\u0645\\u062b\\u0628\\u062a\\u0629\\u060c \\u0625\\u0646\\u0647 \\u0625\\u0630\\u0646 \\u063a\\u064a\\u0631 \\u0635\\u0627\\u0644\\u062d. \\u0639\\u0644\\u0649 \\u0633\\u0628\\u064a\\u0644 \\u0627\\u0644\\u0645\\u062b\\u0627\\u0644\\u060c <code>com.android.vending.BILLING</code> \\u0647\\u0648 \\u0625\\u0630\\u0646 \\u063a\\u064a\\u0631 \\u0635\\u0627\\u0644\\u062d \\u0625\\u0630\\u0627 \\u0644\\u0645 \\u064a\\u062a\\u0645 \\u062a\\u062b\\u0628\\u064a\\u062a \\u062a\\u0637\\u0628\\u064a\\u0642 Play Store \\u0639\\u0644\\u0649 \\u062c\\u0647\\u0627\\u0632\\u0643.</p>\"},{\"location\":\"ar/faqs/#faq10\",\"title\":\"\\u0645\\u0627 \\u0647\\u064a \\\"\\u0625\\u0636\\u0627\\u0641\\u064a\\u0629\\\" AppOps\\u0641\\u064a \\u0641\\u0644\\u0627\\u062a\\u0631 \\u0627\\u0644\\u0627\\u0633\\u062a\\u0628\\u0639\\u0627\\u062f\\u061f\",\"text\":\"<p>\\u0644\\u064a\\u0633 \\u0643\\u0644 AppOps \\u064a\\u0633\\u062a\\u062e\\u062f\\u0645 \\u0644\\u062c\\u0645\\u064a\\u0639 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0645\\u062b\\u0628\\u062a\\u0629. \\u0648\\u0644\\u0643\\u0646 \\u064a\\u0645\\u0643\\u0646\\u0643 \\u0641\\u0631\\u0636 AppOp \\u0639\\u0644\\u0649 \\u0623\\u064a \\u062a\\u0637\\u0628\\u064a\\u0642. \\u062a\\u0638\\u0647\\u0631 \\u0625\\u0636\\u0627\\u0641\\u064a\\u0629 AppOps \\u0627\\u0644\\u0645\\u062d\\u062f\\u062f\\u0629 \\u0641\\u064a \\u0642\\u0648\\u0627\\u0626\\u0645 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u062c\\u0645\\u064a\\u0639 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u062d\\u062a\\u0649 \\u062a\\u062a\\u0645\\u0643\\u0646 \\u0645\\u0646 \\u062a\\u0639\\u064a\\u064a\\u0646\\u0647\\u0627.</p>\"},{\"location\":\"ar/faqs/#faq11\",\"title\":\"\\u0645\\u0627 \\u0647\\u064a \\u0623\\u0646\\u0645\\u0627\\u0637 AppOp \\u0627\\u0644\\u0645\\u062e\\u062a\\u0644\\u0641\\u0629 \\u0648\\u0623\\u064a\\u0647\\u0627 \\u064a\\u062c\\u0628 \\u0639\\u0644\\u064a \\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645\\u0647\\u061f\",\"text\":\"<p>\\u0639\\u0627\\u062f\\u0629 \\u064a\\u062c\\u0628 \\u0639\\u0644\\u064a\\u0643 \\u0627\\u0644\\u0633\\u0645\\u0627\\u062d \\u0623\\u0648 \\u062a\\u062c\\u0627\\u0647\\u0644\\u0647. \\u0623\\u0648 \\u0642\\u062f \\u062a\\u0631\\u063a\\u0628 \\u0641\\u064a \\u0627\\u0644\\u0633\\u0645\\u0627\\u062d \\u0628\\u0627\\u0644\\u0639\\u0645\\u0644\\u064a\\u0629 \\u0641\\u0642\\u0637 \\u0639\\u0646\\u062f\\u0645\\u0627 \\u064a\\u0643\\u0648\\u0646 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0641\\u064a Foreground (\\u0641\\u0642\\u0637 \\u0639\\u0644\\u0649 Android 9 \\u0648\\u0645\\u0627 \\u0641\\u0648\\u0642). \\u0631\\u0641\\u0636 \\u0647\\u0648 \\u0627\\u0644\\u0646\\u0633\\u062e\\u0629 \\u0627\\u0644\\u0645\\u0643\\u062b\\u0641\\u0629 \\u0645\\u0646 \\u062a\\u062c\\u0627\\u0647\\u0644 \\u0648\\u0627\\u0644\\u062a\\u064a \\u0642\\u062f \\u062a\\u0624\\u062f\\u064a \\u0625\\u0644\\u0649 \\u062a\\u0639\\u0637\\u0644 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0627\\u0644\\u0637\\u0627\\u0644\\u0628. \\u0627\\u0644\\u0627\\u0641\\u062a\\u0631\\u0627\\u0636\\u064a \\u0647\\u0648 \\u0627\\u0644\\u0633\\u0644\\u0648\\u0643 \\u0627\\u0644\\u0627\\u0641\\u062a\\u0631\\u0627\\u0636\\u064a \\u0644\\u0644\\u0646\\u0638\\u0627\\u0645 \\u0627\\u0644\\u0630\\u064a \\u064a\\u062e\\u062a\\u0644\\u0641 \\u0639\\u0646 AppOps \\u0627\\u0644\\u0645\\u062e\\u062a\\u0644\\u0641\\u0629.</p> <p>\\u064a\\u0631\\u062c\\u0649 \\u0645\\u0644\\u0627\\u062d\\u0638\\u0629 \\u0623\\u0646\\u0647 \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646 \\u062a\\u0639\\u064a\\u064a\\u0646 \\u0643\\u0644 \\u0648\\u0636\\u0639 AppOp \\u0639\\u0644\\u0649 \\u0643\\u0644 AppOp \\u0644\\u0643\\u0644 \\u062a\\u0637\\u0628\\u064a\\u0642. \\u0639\\u0644\\u0649 \\u0633\\u0628\\u064a\\u0644 \\u0627\\u0644\\u0645\\u062b\\u0627\\u0644 \\u0641\\u064a \\u0625\\u0635\\u062f\\u0627\\u0631\\u0627\\u062a \\u0627\\u0644\\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f \\u0627\\u0644\\u0623\\u062e\\u064a\\u0631\\u0629 \\u064a\\u0633\\u0645\\u062d \\u0644\\u0640 <code>CAMERA</code> \\u0648 <code>MICROPHONE</code> \\u0628\\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 \\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0645\\u0633\\u062a\\u062e\\u062f\\u0645 \\u0641\\u0642\\u0637 \\u0641\\u064a \\u0627\\u0644\\u0645\\u0642\\u062f\\u0645\\u0629 (\\u062d\\u062a\\u0649 \\u0625\\u0630\\u0627 \\u0643\\u0627\\u0646 \\u0648\\u0636\\u0639 \\u0627\\u0644\\u062a\\u0639\\u064a\\u064a\\u0646 \\u0645\\u0633\\u0645\\u0648\\u062d). \\u0648\\u0628\\u0627\\u0644\\u0645\\u062b\\u0644\\u060c \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646 \\u0623\\u0628\\u062f\\u064b\\u0627 \\u0636\\u0628\\u0637 \\u0628\\u0639\\u0636 AppOps \\u0639\\u0644\\u0649 \\u0648\\u0636\\u0639 Foreground.</p> <p>\\u0645\\u062a\\u0635\\u0644: \\u0644\\u0645\\u0627\\u0630\\u0627 \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646 \\u062a\\u063a\\u064a\\u064a\\u0631 \\u0628\\u0639\\u0636 AppOps \\u061f</p> <p>\\u0627\\u0644\\u0648\\u062b\\u0627\\u0626\\u0642 \\u0627\\u0644\\u0631\\u0633\\u0645\\u064a\\u0629: AppOpsManager.</p>\"},{\"location\":\"ar/faqs/#faq12\",\"title\":\"\\u0645\\u0627 \\u0627\\u0644\\u0641\\u0631\\u0642 \\u0628\\u064a\\u0646 \\u0648\\u0636\\u0639\\u064a \\\"\\u062a\\u062c\\u0627\\u0647\\u0644\\\" \\u0648\\\"\\u0631\\u0641\\u0636\\\" AppOp\\u061f\",\"text\":\"<p>Ignore \\u0641\\u0634\\u0644 \\u0635\\u0627\\u0645\\u062a\\u0627 \\u0628\\u064a\\u0646\\u0645\\u0627 Deny \\u064a\\u0639\\u064a\\u062f \\u062e\\u0637\\u0623 \\u0625\\u0644\\u0649 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0627\\u0644\\u0630\\u064a \\u0642\\u062f \\u0644\\u0627 \\u064a\\u062a\\u0648\\u0642\\u0639\\u0647 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0648\\u0642\\u062f \\u064a\\u062a\\u0639\\u0637\\u0644. \\u064a\\u062c\\u0628 \\u0623\\u0646 \\u062a\\u0633\\u062a\\u062e\\u062f\\u0645 \\u0639\\u0627\\u062f\\u0629 \\u0627\\u0644\\u062a\\u062c\\u0627\\u0647\\u0644.</p>\"},{\"location\":\"ar/faqs/#faq41\",\"title\":\"\\u0644\\u0645\\u0627\\u0630\\u0627 \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646\\u0646\\u064a \\u062a\\u0639\\u064a\\u064a\\u0646 \\u0648\\u0636\\u0639 AppOp \\u0625\\u0644\\u0649 \\u0627\\u0644\\u0645\\u0642\\u062f\\u0645\\u0629\\u061f\",\"text\":\"<p>\\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646 \\u0636\\u0628\\u0637 \\u0648\\u0636\\u0639 \\u0627\\u0644\\u0645\\u0642\\u062f\\u0645\\u0629 \\u0644\\u062c\\u0645\\u064a\\u0639 AppOps. \\u0648\\u062d\\u062a\\u0649 \\u0639\\u0646\\u062f\\u0645\\u0627 \\u064a\\u062a\\u0645 \\u062a\\u062d\\u062f\\u064a\\u062f\\u0647 \\u0641\\u0625\\u0646\\u0647 \\u0642\\u062f \\u0644\\u0627 \\u064a\\u0639\\u0637\\u064a \\u0646\\u062a\\u0627\\u0626\\u062c \\u0645\\u062a\\u0648\\u0642\\u0639\\u0629.</p> <p>\\u0630\\u0627\\u062a \\u0627\\u0644\\u0635\\u0644\\u0629:</p> <ul> <li>\\u0645\\u0627 \\u0647\\u064a \\u0623\\u0646\\u0645\\u0627\\u0637 AppOp \\u0627\\u0644\\u0645\\u062e\\u062a\\u0644\\u0641\\u0629 \\u0648\\u0623\\u064a\\u0647\\u0627 \\u064a\\u062c\\u0628 \\u0639\\u0644\\u064a \\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645\\u0647\\u061f</li> <li>\\u0644\\u0645\\u0627\\u0630\\u0627 \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646 \\u062a\\u063a\\u064a\\u064a\\u0631 \\u0628\\u0639\\u0636 AppOps \\u061f</li> </ul> <p>\\u064a\\u0631\\u062c\\u0649 \\u0645\\u0644\\u0627\\u062d\\u0638\\u0629 \\u0623\\u0646 \\u0648\\u0636\\u0639 \\u0627\\u0644\\u0625\\u0630\\u0646 \\\"\\u0627\\u0644\\u0633\\u0645\\u0627\\u062d \\u0641\\u0642\\u0637 \\u0623\\u062b\\u0646\\u0627\\u0621 \\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\\" \\u0644\\u0627 \\u064a\\u0642\\u0648\\u0645 \\u062f\\u0627\\u0626\\u0645\\u0627\\u064b \\u0628\\u062a\\u0639\\u064a\\u064a\\u0646 \\u0648\\u0636\\u0639 AppOp \\u0625\\u0644\\u0649 \\\"Foreground\\\":</p> <p></p> <p>\\u0639\\u0627\\u062f\\u0629 \\u0645\\u0627 \\u0646\\u0631\\u0649 \\u0648\\u0644\\u0627\\u064a\\u062a\\u064a\\u0646 \\u0641\\u0642\\u0637 \\u0644\\u0644\\u062d\\u0635\\u0648\\u0644 \\u0639\\u0644\\u0649 \\u0625\\u0630\\u0646 manifest : \\u062a\\u0645 \\u0645\\u0646\\u062d\\u0647 \\u0648\\u0625\\u0644\\u063a\\u0627\\u0626\\u0647. \\u0644\\u0643\\u0646 \\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f \\u064a\\u0633\\u062a\\u062e\\u062f\\u0645 flags \\u0644\\u062a\\u0642\\u0633\\u064a\\u0645 \\u0647\\u0627\\u062a\\u064a\\u0646 \\u0627\\u0644\\u0648\\u0644\\u0627\\u064a\\u062a\\u064a\\u0646 \\u0625\\u0644\\u0649 \\u0627\\u0644\\u0639\\u062f\\u064a\\u062f \\u0645\\u0646 \\u0627\\u0644\\u0648\\u0644\\u0627\\u064a\\u0627\\u062a \\u0627\\u0644\\u0641\\u0631\\u0639\\u064a\\u0629. \\u0644\\u0628\\u0639\\u0636 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u064a\\u062a\\u0645 \\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 \\u0646\\u0641\\u0633 \\u0627\\u0644\\u0638\\u0627\\u0647\\u0631\\u0629 \\u0644\\u062a\\u062d\\u0642\\u064a\\u0642 \\u0633\\u0644\\u0648\\u0643 \\\"\\u0645\\u0646\\u062d \\u0641\\u0642\\u0637 \\u0639\\u0646\\u062f\\u0645\\u0627 \\u064a\\u0643\\u0648\\u0646 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0645\\u0631\\u0626\\u064a\\\". \\u0644\\u0627 \\u064a\\u0633\\u062a\\u062e\\u062f\\u0645 \\u0627\\u0644\\u0625\\u0630\\u0646 AppOp \\u0641\\u064a \\u0647\\u0630\\u0647 \\u0627\\u0644\\u062d\\u0627\\u0644\\u0629.</p> <p>\\u0644\\u0645\\u0632\\u064a\\u062f \\u0645\\u0646 \\u0627\\u0644\\u062a\\u0641\\u0627\\u0635\\u064a\\u0644\\u060c \\u0631\\u0627\\u062c\\u0639 \\u0627\\u0644\\u0648\\u062b\\u0627\\u0626\\u0642 \\u0627\\u0644\\u0631\\u0633\\u0645\\u064a\\u0629 \\u0627\\u0644\\u062e\\u0627\\u0635\\u0629 \\u0628\\u0640 \\u0627\\u0644\\u0648\\u0635\\u0648\\u0644 \\u0641\\u064a \\u0627\\u0644\\u062e\\u0644\\u0641\\u064a\\u0629 \\u0648\\u0627\\u0644\\u0648\\u0635\\u0648\\u0644 \\u0641\\u064a \\u0627\\u0644\\u0645\\u0642\\u062f\\u0645\\u0629.</p> <p>\\u0645\\u0646 \\u0623\\u062c\\u0644 \\u0627\\u0644\\u0628\\u0633\\u0627\\u0637\\u0629\\u060c \\u0644\\u0627 \\u064a\\u0634\\u0627\\u0647\\u062f PMX \\u0623\\u0639\\u0644\\u0627\\u0645 \\u0627\\u0644\\u0625\\u0630\\u0646 \\u0641\\u064a \\u0627\\u0644\\u0648\\u0642\\u062a \\u0627\\u0644\\u0631\\u0627\\u0647\\u0646. \\u0648\\u0644\\u0643\\u0646 \\u0641\\u064a \\u0627\\u0644\\u0645\\u0633\\u062a\\u0642\\u0628\\u0644 \\u064a\\u0645\\u0643\\u0646 \\u0625\\u0636\\u0627\\u0641\\u0629 \\u062e\\u064a\\u0627\\u0631 \\u0644\\u062a\\u062a\\u0628\\u0639 \\u0627\\u0644\\u062a\\u063a\\u064a\\u064a\\u0631\\u0627\\u062a \\u0625\\u0644\\u0649 \\u0623\\u0639\\u0644\\u0627\\u0645 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u062d\\u062a\\u0649 \\u0644\\u0648 \\u0628\\u0642\\u064a \\u0627\\u0644\\u0648\\u0636\\u0639 \\u0627\\u0644\\u0645\\u0645\\u0646\\u0648\\u062d / \\u0627\\u0644\\u0645\\u0644\\u063a\\u0627\\u0629 \\u062f\\u0648\\u0646 \\u062a\\u063a\\u064a\\u064a\\u0631.</p>\"},{\"location\":\"ar/faqs/#faq14\",\"title\":\"\\u0645\\u0627 \\u0647\\u064a \\u0648\\u0638\\u064a\\u0641\\u0629 \\u0625\\u0630\\u0646 <code>WAKE_LOCK</code> \\u061f\",\"text\":\"<p>\\u062a\\u0642\\u0648\\u0645 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0628\\u062a\\u0634\\u063a\\u064a\\u0644 \\u0642\\u0641\\u0644 \\u0627\\u0644\\u0625\\u064a\\u0642\\u0627\\u0638 \\u0644\\u0644\\u062d\\u0641\\u0627\\u0638 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u062c\\u0647\\u0627\\u0632 \\u0645\\u0633\\u062a\\u064a\\u0642\\u0638\\u060c \\u0623\\u064a \\u0639\\u062f\\u0645 \\u0625\\u062f\\u062e\\u0627\\u0644 \\u0648\\u0636\\u0639 \\u0627\\u0644\\u0625\\u0632\\u0627\\u062d\\u0629.</p>\"},{\"location\":\"ar/faqs/#faq16\",\"title\":\"\\u0643\\u064a\\u0641 \\u064a\\u0645\\u0643\\u0646\\u0646\\u064a \\u062a\\u063a\\u064a\\u064a\\u0631 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a <code>INTERNET</code>\\u061f\",\"text\":\"<p>\\u0644\\u0627 \\u064a\\u0633\\u0645\\u062d \\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f \\u0628\\u062a\\u063a\\u064a\\u064a\\u0631 \\u062c\\u0645\\u064a\\u0639 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a\\u060c \\u0645\\u062b\\u0644 \\u062a\\u0644\\u0643 \\u0627\\u0644\\u062a\\u064a \\u062a\\u062d\\u062a\\u0648\\u064a \\u0639\\u0644\\u0649 \\u0639\\u0627\\u062f\\u064a\\u0629 \\u0645\\u0633\\u062a\\u0648\\u0649 \\u0627\\u0644\\u062d\\u0645\\u0627\\u064a\\u0629 (e. . <code>INTERNET</code>) \\u0623\\u0648 \\u0623\\u0648\\u0644\\u0626\\u0643 \\u0627\\u0644\\u0630\\u064a\\u0646 \\u0644\\u062f\\u064a\\u0647\\u0645 \\u0645\\u0633\\u062a\\u0648\\u0649 \\u062d\\u0645\\u0627\\u064a\\u0629 \\u062b\\u0627\\u0628\\u062a \\u0623\\u0648 \\u0627\\u0644\\u062a\\u0648\\u0642\\u064a\\u0639 (\\u0639\\u0627\\u062f\\u0629 \\u0627\\u0644\\u0646\\u0638\\u0627\\u0645 \\u0623\\u0648 \\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0625\\u0637\\u0627\\u0631). \\u0627\\u0646\\u0638\\u0631 Manifest \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0648 AppOps.</p> <p>\\u0648\\u0644\\u0643\\u0646 \\u0625\\u0630\\u0627 \\u0643\\u0627\\u0646 \\u0644\\u062f\\u064a\\u0643 \\u062c\\u0630\\u0631\\u060c Fyrypt \\u064a\\u0645\\u0646\\u062d\\u0643 \\u0633\\u064a\\u0637\\u0631\\u0629 \\u0642\\u0648\\u064a\\u0629 \\u062c\\u062f\\u0627 \\u0639\\u0644\\u0649 \\u0646\\u0634\\u0627\\u0637 \\u0627\\u0644\\u0634\\u0628\\u0643\\u0629 \\u0627\\u0644\\u0630\\u064a \\u064a\\u062d\\u062f\\u062b \\u0639\\u0644\\u0649 \\u062c\\u0647\\u0627\\u0632\\u0643.</p>\"},{\"location\":\"ar/faqs/#faq40\",\"title\":\"\\u0645\\u0627 \\u0647\\u064a \\u0627\\u0644\\u0635\\u0644\\u0627\\u062d\\u064a\\u0627\\u062a \\u0627\\u0644\\u062b\\u0627\\u0628\\u062a\\u0629\\u061f\",\"text\":\"<p>\\u064a\\u062a\\u0645 \\u0645\\u0646\\u062d \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u062b\\u0627\\u0628\\u062a \\u0627\\u0644\\u0646\\u0638\\u0627\\u0645 \\u0644\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0645\\u062b\\u0628\\u062a\\u0629 \\u0645\\u0633\\u0628\\u0642\\u0627\\u064b \\u0645\\u0646 \\u0642\\u0628\\u0644 \\u0645\\u0637\\u0648\\u0631\\u064a OEMS \\u0623\\u0648 ROM. \\u0648\\u0644\\u064a\\u0633 \\u0627\\u0644\\u0645\\u0642\\u0635\\u0648\\u062f \\u0645\\u0646\\u0647\\u0627 \\u0623\\u0646 \\u062a\\u062a\\u063a\\u064a\\u0631. \\u0648\\u0644\\u0643\\u0646 \\u0625\\u0630\\u0627 \\u0643\\u0627\\u0646 \\u062c\\u0647\\u0627\\u0632\\u0643 \\u0645\\u062a\\u062c\\u0630\\u0631\\u0627\\u060c \\u064a\\u0645\\u0643\\u0646 \\u0644\\u0640 PMX \\u062a\\u063a\\u064a\\u064a\\u0631 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u0646\\u0638\\u0627\\u0645 \\u0627\\u0644\\u062b\\u0627\\u0628\\u062a\\u0629.</p> <p>\\u064a\\u062a\\u0645 \\u0645\\u0646\\u062d (\\u0623\\u0648 \\u0631\\u0641\\u0636) \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u0633\\u064a\\u0627\\u0633\\u0629 \\u0627\\u0644\\u062b\\u0627\\u0628\\u062a\\u0629 \\u0645\\u0646 \\u0642\\u0628\\u0644 \\u0645\\u0634\\u0631\\u0641\\u064a \\u062a\\u0643\\u0646\\u0648\\u0644\\u0648\\u062c\\u064a\\u0627 \\u0627\\u0644\\u0645\\u0639\\u0644\\u0648\\u0645\\u0627\\u062a \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0623\\u062c\\u0647\\u0632\\u0629 \\u0627\\u0644\\u0645\\u062f\\u0627\\u0631\\u0629. \\u0648\\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646 \\u062a\\u063a\\u064a\\u064a\\u0631\\u0647\\u0627.</p> <p>\\u064a\\u062a\\u0645 \\u062a\\u062b\\u0628\\u064a\\u062a \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u0645\\u0633\\u062a\\u062e\\u062f\\u0645 \\u0627\\u0644\\u062b\\u0627\\u0628\\u062a\\u0629 \\u0645\\u0646 \\u0642\\u0628\\u0644 \\u0627\\u0644\\u0645\\u0633\\u062a\\u062e\\u062f\\u0645. \\u0625\\u0630\\u0627 \\u0631\\u0641\\u0636 \\u0627\\u0644\\u0645\\u0633\\u062a\\u062e\\u062f\\u0645 \\u0627\\u0644\\u0625\\u0630\\u0646 \\u0639\\u062f\\u0629 \\u0645\\u0631\\u0627\\u062a \\u0639\\u0646\\u062f\\u0645\\u0627 \\u064a\\u0637\\u0644\\u0628 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0630\\u0644\\u0643\\u060c \\u0646\\u0638\\u0627\\u0645 \\u0627\\u0644\\u062a\\u0634\\u063a\\u064a\\u0644 \\u064a\\u0634\\u064a\\u0631 \\u0625\\u0644\\u0649 \\u0627\\u0644\\u0625\\u0630\\u0646 \\u0643\\u0645\\u0633\\u062a\\u062e\\u062f\\u0645 \\u062b\\u0627\\u0628\\u062a \\u0648\\u0644\\u0627 \\u064a\\u0638\\u0647\\u0631 \\u0623\\u064a \\u0637\\u0644\\u0628\\u0627\\u062a \\u0623\\u062e\\u0631\\u0649 \\u0644\\u0644\\u0645\\u0633\\u062a\\u062e\\u062f\\u0645 \\u0644\\u0645\\u0646\\u062d \\u0627\\u0644\\u0625\\u0630\\u0646 \\u0625\\u0630\\u0627 \\u0637\\u0644\\u0628 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0646\\u0641\\u0633 \\u0627\\u0644\\u0625\\u0630\\u0646 \\u0645\\u0631\\u0629 \\u0623\\u062e\\u0631\\u0649. \\u064a\\u0645\\u0643\\u0646 \\u062a\\u063a\\u064a\\u064a\\u0631 \\u0647\\u0630\\u0627 \\u0627\\u0644\\u0646\\u0648\\u0639 \\u0645\\u0646 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u062b\\u0627\\u0628\\u062a\\u0629 \\u0628\\u0633\\u0647\\u0648\\u0644\\u0629 \\u0643\\u0644\\u0645\\u0627 \\u064a\\u0631\\u064a\\u062f \\u0627\\u0644\\u0645\\u0633\\u062a\\u062e\\u062f\\u0645.</p>\"},{\"location\":\"ar/faqs/#faq17\",\"title\":\"\\u0643\\u064a\\u0641 \\u064a\\u0645\\u0643\\u0646\\u0646\\u064a \\u062a\\u063a\\u064a\\u064a\\u0631 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u0646\\u0638\\u0627\\u0645 \\u0627\\u0644\\u062b\\u0627\\u0628\\u062a\\u0629 \\u0623\\u0648 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u062a\\u0648\\u0642\\u064a\\u0639/\\u0627\\u0644\\u0627\\u0645\\u062a\\u064a\\u0627\\u0632\\u0627\\u062a \\u0623\\u0648 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0625\\u0637\\u0627\\u0631 \\u0627\\u0644\\u0639\\u0645\\u0644\\u061f\",\"text\":\"<p>\\u0625\\u0630\\u0627 \\u0643\\u0627\\u0646 \\u062c\\u0647\\u0627\\u0632\\u0643 \\u0645\\u062a\\u062c\\u0631\\u062f\\u060c \\u0641\\u064a \\u0627\\u0644\\u0625\\u0635\\u062f\\u0627\\u0631 \\u0627\\u0644\\u0645\\u062f\\u0641\\u0648\\u0639 \\u064a\\u0645\\u0643\\u0646\\u0643 \\u0627\\u0644\\u0633\\u0645\\u0627\\u062d \\u0644\\u0644\\u062a\\u063a\\u064a\\u064a\\u0631\\u0627\\u062a \\u0627\\u0644\\u062d\\u0631\\u062c\\u0629 \\u0641\\u064a \\u0627\\u0644\\u0625\\u0639\\u062f\\u0627\\u062f\\u0627\\u062a \\u0627\\u0644\\u0645\\u062a\\u0642\\u062f\\u0645\\u0629 \\u0644\\u0625\\u062c\\u0631\\u0627\\u0621 \\u062a\\u063a\\u064a\\u064a\\u0631\\u0627\\u062a \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0645\\u0639 \\u0639\\u0644\\u0645 \\u0625\\u0635\\u0644\\u0627\\u062d \\u0627\\u0644\\u0646\\u0638\\u0627\\u0645\\u060c \\u0645\\u0633\\u062a\\u0648\\u0649 \\u0627\\u0644\\u062d\\u0645\\u0627\\u064a\\u0629 \\u0627\\u0644\\u062a\\u0648\\u0642\\u064a\\u0639 \\u0623\\u0648 \\u0627\\u0644\\u0627\\u0645\\u062a\\u064a\\u0627\\u0632\\u060c \\u0623\\u0648 \\u062a\\u0644\\u0643 \\u0627\\u0644\\u062e\\u0627\\u0635\\u0629 \\u0628\\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0627\\u0644\\u0625\\u0637\\u0627\\u0631\\u064a. \\u0644\\u0643\\u0646 \\u0644\\u064a\\u0633 \\u0645\\u0646 \\u0627\\u0644\\u0645\\u0633\\u062a\\u062d\\u0633\\u0646 \\u0623\\u0646 \\u062a\\u0644\\u0639\\u0628 \\u0645\\u0639 \\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0646\\u0638\\u0627\\u0645 \\u0648\\u0627\\u0644\\u0625\\u0637\\u0627\\u0631. \\u064a\\u0645\\u0643\\u0646\\u0643 \\u0637\\u0648\\u0628 \\u062c\\u0647\\u0627\\u0632\\u0643.</p>\"},{\"location\":\"ar/faqs/#faq18\",\"title\":\"\\u0645\\u0627 \\u0647\\u0648 \\\"\\u0648\\u0636\\u0639 UID\\\" \\u0641\\u064a \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a AppOp\\u061f\",\"text\":\"<p>\\u0625\\u0646\\u0647 \\u0648\\u0636\\u0639 \\u0644\\u0644\\u0625\\u0630\\u0646 AppOp \\u0627\\u0644\\u0630\\u064a \\u064a\\u0634\\u064a\\u0631 \\u0625\\u0644\\u0649 \\u0623\\u0646 \\u062a\\u063a\\u064a\\u064a\\u0631 \\u0647\\u0630\\u0627 AppOp \\u0633\\u064a\\u0624\\u062b\\u0631 \\u0623\\u064a\\u0636\\u064b\\u0627 \\u0639\\u0644\\u0649 \\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0623\\u062e\\u0631\\u0649 (\\u0645\\u0639 \\u0646\\u0641\\u0633 UID)\\u060c \\u0625\\u0630\\u0627 \\u062a\\u0645 \\u062a\\u062b\\u0628\\u064a\\u062a\\u0647. \\u0627\\u0646\\u0638\\u0631 <code>sharedUserId</code>.</p> <p>\\u0644\\u0627\\u062d\\u0638 \\u0623\\u0646 \\u0648\\u0636\\u0639 UID \\u0644\\u0647 \\u0627\\u0644\\u0623\\u0633\\u0628\\u0642\\u064a\\u0629 \\u0639\\u0644\\u0649 \\u0648\\u0636\\u0639 \\u0627\\u0644\\u062d\\u0632\\u0645\\u0629 \\u0644\\u0643\\u062b\\u064a\\u0631 \\u0645\\u0646 AppOps.</p>\"},{\"location\":\"ar/faqs/#faq39\",\"title\":\"\\u0647\\u0644 \\u064a\\u0645\\u0643\\u0646\\u0646\\u064a \\u0627\\u0644\\u062a\\u062d\\u0643\\u0645 \\u0641\\u064a \\u0645\\u064a\\u0632\\u0629 \\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f \\\"\\u0625\\u0632\\u0627\\u0644\\u0629 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0625\\u0630\\u0627 \\u0644\\u0645 \\u064a\\u0633\\u062a\\u062e\\u062f\\u0645 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\\" \\u0645\\u0646 PMX\\u061f\",\"text\":\"<p>\\u0646\\u0639\\u0645. \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0645\\u064a\\u0632\\u0629 \\u0645\\u062a\\u0648\\u0641\\u0631\\u0629 \\u0645\\u0646\\u0630 Android 11. \\u0643\\u0645\\u0627 \\u0623\\u0646\\u0647 \\u064a\\u064f\\u0633\\u0645\\u0649 \\\"\\u0625\\u064a\\u0642\\u0627\\u0641 \\u0646\\u0634\\u0627\\u0637 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0625\\u0630\\u0627 \\u0644\\u0645 \\u064a\\u062a\\u0645 \\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645\\u0647\\\" \\u0641\\u064a \\u0628\\u0639\\u0636 \\u0627\\u0644\\u0623\\u062c\\u0647\\u0632\\u0629.</p> <p></p> <p>\\u0644\\u062a\\u063a\\u064a\\u064a\\u0631 \\u0647\\u0630\\u0627 \\u0627\\u0644\\u062e\\u064a\\u0627\\u0631 \\u0645\\u0646 PMX:</p> <ol> <li>\\u0627\\u0646\\u062a\\u0642\\u0644 \\u0625\\u0644\\u0649 \\u0645\\u0631\\u0634\\u062d\\u0627\\u062a \\u0627\\u0644\\u0627\\u0633\\u062a\\u0628\\u0639\\u0627\\u062f \\u2192 \\u0642\\u0627\\u0626\\u0645\\u0629 \\u0625\\u0636\\u0627\\u0641\\u064a\\u0629 AppOps \\u0648 \\u062a\\u062d\\u0642\\u0642 \\u0645\\u0646 <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code>.</li> <li>\\u0627\\u0644\\u0639\\u0648\\u062f\\u0629 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0634\\u0627\\u0634\\u0629 \\u0627\\u0644\\u0631\\u0626\\u064a\\u0633\\u064a\\u0629\\u060c \\u0627\\u0643\\u062a\\u0628 <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code> \\u0641\\u064a \\u0634\\u0631\\u064a\\u0637 \\u0627\\u0644\\u0628\\u062d\\u062b \\u0627\\u0644\\u0639\\u0644\\u0648\\u064a. \\u062a\\u0623\\u0643\\u062f \\u0645\\u0646 \\u062a\\u0645\\u0643\\u064a\\u0646 \\u0627\\u0644\\u0628\\u062d\\u062b \\u0627\\u0644\\u0639\\u0645\\u064a\\u0642 \\u0641\\u064a \\u0625\\u0639\\u062f\\u0627\\u062f\\u0627\\u062a \\u0627\\u0644\\u0628\\u062d\\u062b.</li> <li>\\u0639\\u064a\\u0651\\u0646 \\u0627\\u0644\\u0648\\u0636\\u0639 \\u0627\\u0644\\u0633\\u0645\\u0627\\u062d \\u0623\\u0648 \\u0627\\u0644\\u062a\\u062c\\u0627\\u0647\\u0644 \\u0644\\u0623\\u064a \\u062a\\u0637\\u0628\\u064a\\u0642 \\u062a\\u0631\\u064a\\u062f\\u0647.</li> </ol> <p>\\u064a\\u0645\\u0643\\u0646\\u0643 \\u0623\\u064a\\u0636\\u0627 \\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 \\u0639\\u0631\\u0636 \\u0627\\u0644\\u0625\\u0630\\u0646 \\u0623\\u0648 \\u0639\\u0645\\u0644\\u064a\\u0627\\u062a \\u0627\\u0644\\u062f\\u0641\\u0639\\u0629 \\u0628\\u062f\\u0644\\u0627 \\u0645\\u0646 \\u0627\\u0644\\u062e\\u0637\\u0648\\u0629 2 \\u0648 3. \\u0625\\u0644\\u064a\\u0643 \\u062f\\u0644\\u064a\\u0644 \\u0643\\u064a\\u0641\\u064a\\u0629 \\u0627\\u0644\\u0642\\u064a\\u0627\\u0645 \\u0628\\u0630\\u0644\\u0643 \\u0628\\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 \\u0639\\u0645\\u0644\\u064a\\u0627\\u062a \\u0627\\u0644\\u062f\\u0641\\u0639\\u0627\\u062a:</p>      Remove permissions if app isn't used\"},{\"location\":\"ar/faqs/#faq31\",\"title\":\"\\u0644\\u0645\\u0627\\u0630\\u0627 \\u062a\\u0638\\u0647\\u0631 \\u0644\\u064a \\u0627\\u0644\\u0643\\u062b\\u064a\\u0631 \\u0645\\u0646 \\u0627\\u0644\\u0646\\u0648\\u0627\\u0641\\u0630 \\u0627\\u0644\\u0645\\u0646\\u0628\\u062b\\u0642\\u0629 \\\"Bad ROM\\\"\\u061f\",\"text\":\"<p>\\u064a\\u0642\\u0648\\u0645 OEMS \\u0628\\u062a\\u063a\\u064a\\u064a\\u0631\\u0627\\u062a \\u0636\\u062e\\u0645\\u0629 \\u0641\\u064a \\u0631\\u0645\\u0632 AOSP (\\u0648\\u0627\\u0644\\u0630\\u064a \\u062a\\u0642\\u0648\\u0645 \\u0628\\u062a\\u0637\\u0648\\u064a\\u0631\\u0647 \\u062c\\u0648\\u062c\\u0644). \\u0644\\u0630\\u0627 \\u0641\\u0625\\u0646 \\u0625\\u0637\\u0627\\u0631 \\u0627\\u0644\\u0639\\u0645\\u0644 AppOps \\u0639\\u0644\\u0649 \\u0628\\u0639\\u0636 \\u0627\\u0644\\u0645\\u062e\\u0635\\u0635\\u0627\\u062a / OEM ROMs \\u064a\\u0639\\u0648\\u062f \\u0628\\u0646\\u062a\\u0627\\u0626\\u062c \\u063a\\u064a\\u0631 \\u0645\\u062a\\u0648\\u0642\\u0639\\u0629 \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646 \\u0623\\u0646 \\u064a\\u0641\\u0647\\u0645\\u0647\\u0627 PMX. \\u064a\\u0645\\u0643\\u0646\\u0643 \\u062a\\u062c\\u0627\\u0647\\u0644 \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0646\\u0648\\u0627\\u0641\\u0630 \\u0627\\u0644\\u0645\\u0646\\u0628\\u062b\\u0642\\u0629\\u060c \\u0644\\u0643\\u0646\\u0647\\u0627 \\u062a\\u0639\\u0646\\u064a \\u0623\\u0646 \\u0627\\u0644\\u0648\\u0638\\u064a\\u0641\\u0629 \\u0645\\u062d\\u062f\\u0648\\u062f\\u0629 \\u0628\\u0639\\u0636 \\u0627\\u0644\\u0634\\u064a\\u0621.</p> <p>\\u064a\\u0645\\u0643\\u0646\\u0643 \\u0625\\u064a\\u0642\\u0627\\u0641 \\u062a\\u0634\\u063a\\u064a\\u0644 \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0646\\u0648\\u0627\\u0641\\u0630 \\u0627\\u0644\\u0645\\u0646\\u0628\\u062b\\u0642\\u0629 \\u0641\\u064a \\u0627\\u0644\\u0625\\u0639\\u062f\\u0627\\u062f\\u0627\\u062a \\u2192 \\u0627\\u0644\\u0625\\u0639\\u062f\\u0627\\u062f\\u0627\\u062a \\u0627\\u0644\\u0639\\u0627\\u0645\\u0629 \\u2192 \\u062a\\u0639\\u0637\\u064a\\u0644 \\u0627\\u0644\\u0646\\u0648\\u0627\\u0641\\u0630 \\u0627\\u0644\\u0633\\u064a\\u0626\\u0629 ROM.</p> <p>\\u0627\\u0646\\u0638\\u0631 \\u0644\\u0645\\u0627\\u0630\\u0627 \\u0644\\u0627 \\u064a\\u0639\\u0645\\u0644 PMX \\u0628\\u0634\\u0643\\u0644 \\u0635\\u062d\\u064a\\u062d \\u0639\\u0644\\u0649 \\u0623\\u0646\\u0638\\u0645\\u0629 \\u062a\\u0634\\u063a\\u064a\\u0644 OEM \\u0623\\u0648 ROMs?</p>\"},{\"location\":\"ar/faqs/#faq19\",\"title\":\"\\u0645\\u0627 \\u0627\\u0644\\u0630\\u064a \\u062a\\u0641\\u0639\\u0644\\u0647 \\u0623\\u0632\\u0631\\u0627\\u0631 \\\"\\u0625\\u062e\\u0641\\u0627\\u0621 \\u0645\\u0646 \\u0627\\u0644\\u0642\\u0627\\u0626\\u0645\\u0629\\\" (\\u0639\\u0646\\u062f \\u0627\\u0644\\u0636\\u063a\\u0637 \\u0644\\u0645\\u062f\\u0629 \\u0637\\u0648\\u064a\\u0644\\u0629)\\u061f\",\"text\":\"<p>\\u0643\\u0644 \\u0645\\u0646\\u0647\\u0645\\u0627 \\u064a\\u062e\\u0641\\u064a \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0623\\u0648 \\u0627\\u0644\\u0625\\u0630\\u0646 \\u0645\\u0646 \\u0627\\u0644\\u0642\\u0627\\u0626\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0631\\u0626\\u064a\\u0629. \\u0625\\u0630\\u0627 \\u0643\\u0646\\u062a \\u0644\\u0627 \\u062a\\u0631\\u064a\\u062f \\u062a\\u063a\\u064a\\u064a\\u0631 \\u0625\\u0630\\u0646 \\u0644\\u0623\\u064a \\u062a\\u0637\\u0628\\u064a\\u0642\\u060c \\u064a\\u0645\\u0643\\u0646\\u0643 \\u0625\\u062e\\u0641\\u0627\\u0626\\u0647. \\u0648\\u0644\\u0646 \\u064a\\u0638\\u0647\\u0631 \\u0644\\u0623\\u064a \\u062a\\u0637\\u0628\\u064a\\u0642. \\u0644\\u0641\\u0643 \\u0627\\u0644\\u0625\\u062e\\u0641\\u0627\\u0621\\u060c \\u0627\\u0646\\u062a\\u0642\\u0644 \\u0645\\u0631\\u0629 \\u0623\\u062e\\u0631\\u0649 \\u0625\\u0644\\u0649 \\u0625\\u0639\\u062f\\u0627\\u062f\\u0627\\u062a \\u0645\\u0631\\u0634\\u062d\\u0627\\u062a \\u0627\\u0644\\u0627\\u0633\\u062a\\u0628\\u0639\\u0627\\u062f.</p> <p>\\u0648\\u0628\\u0627\\u0644\\u0645\\u062b\\u0644\\u060c \\u064a\\u0645\\u0643\\u0646\\u0643 \\u0627\\u0633\\u062a\\u0628\\u0639\\u0627\\u062f \\u062a\\u0637\\u0628\\u064a\\u0642 \\u0645\\u0646 \\u0627\\u0644\\u0642\\u0627\\u0626\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0631\\u0626\\u064a\\u0629 \\u0625\\u0630\\u0627 \\u0643\\u0646\\u062a \\u0644\\u0627 \\u062a\\u0634\\u0639\\u0631 \\u0628\\u0627\\u0644\\u0642\\u0644\\u0642 \\u0625\\u0632\\u0627\\u0621 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a\\u0647.</p> <p> </p>\"},{\"location\":\"ar/faqs/#faq21\",\"title\":\"\\u0647\\u0644 \\u0647\\u0646\\u0627\\u0643 \\u0642\\u0627\\u0626\\u0645\\u0629 \\u0643\\u0627\\u0645\\u0644\\u0629 \\u0628\\u062c\\u0645\\u064a\\u0639 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0645\\u062a\\u0627\\u062d\\u0629 \\u0645\\u0639 \\u0627\\u0644\\u0634\\u0631\\u062d\\u061f\",\"text\":\"<p>\\u0644\\u0627 \\u062a\\u0648\\u062c\\u062f \\u0642\\u0627\\u0626\\u0645\\u0629 \\u0643\\u0627\\u0645\\u0644\\u0629 \\u0645\\u0646 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0645\\u0639 \\u0627\\u0644\\u0648\\u0635\\u0641\\u060c \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0623\\u0642\\u0644 \\u0641\\u064a \\u0645\\u0639\\u0631\\u0641\\u062a\\u064a. PMX \\u062a\\u064f\\u0638\\u0647\\u0631 \\u0627\\u0644\\u0646\\u0633\\u062e\\u0629 \\u0627\\u0644\\u0627\\u062d\\u062a\\u0631\\u0627\\u0641\\u064a\\u0629 \\u0648\\u0635\\u0641\\u064b\\u0627 \\u0645\\u0648\\u062c\\u0632\\u064b\\u0627 \\u0644\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u0634\\u0627\\u0626\\u0639\\u0629 manifest \\u0648 AppOp .</p> <p>\\u0647\\u0646\\u0627\\u0643 \\u0645\\u0635\\u0627\\u062f\\u0631 \\u0637\\u0631\\u0641 \\u062b\\u0627\\u0644\\u062b \\u0645\\u062b\\u0644 \\u0647\\u0630\\u0647 \\u0628\\u0648\\u0627\\u0633\\u0637\\u0629 Izzy. \\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f \\u0645\\u0648\\u0642\\u0639 \\u0627\\u0644\\u0645\\u0637\\u0648\\u0631 \\u0627\\u0644\\u0631\\u0633\\u0645\\u064a \\u0648 \\u0645\\u0635\\u062f\\u0631 \\u0627\\u0644\\u062a\\u0639\\u0644\\u064a\\u0645\\u0629 \\u0627\\u0644\\u0628\\u0631\\u0645\\u062c\\u064a\\u0629 \\u0647\\u064a \\u0623\\u064a\\u0636\\u0627 \\u0645\\u0635\\u0627\\u062f\\u0631 \\u062c\\u064a\\u062f\\u0629 \\u0644\\u0644\\u062a\\u0639\\u0644\\u0645.</p> <p>\\u0645\\u0639 \\u0643\\u0644 \\u0625\\u0635\\u062f\\u0627\\u0631 \\u062c\\u062f\\u064a\\u062f \\u0645\\u0646 \\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f \\u064a\\u062a\\u0645 \\u0625\\u0636\\u0627\\u0641\\u0629 \\u0628\\u0639\\u0636 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u062c\\u062f\\u064a\\u062f\\u0629\\u060c \\u0648\\u0628\\u0639\\u0636\\u0647\\u0627 \\u0623\\u064a\\u0636\\u0627 \\u064a\\u0635\\u0628\\u062d \\u0639\\u062a\\u064a\\u0642\\u0627. \\u0643\\u0645\\u0627 \\u0623\\u0646\\u0647 \\u0644\\u064a\\u0633 \\u0647\\u0646\\u0627\\u0643 \\u062d\\u0627\\u062c\\u0629 \\u0625\\u0644\\u0649 \\u0623\\u0646 \\u064a\\u0642\\u0648\\u0645 \\u0643\\u0644 \\u0645\\u0633\\u062a\\u062e\\u062f\\u0645 \\u0628\\u0631\\u0639\\u0627\\u064a\\u0629 \\u062c\\u0645\\u064a\\u0639 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a.</p>\"},{\"location\":\"ar/faqs/#faq22\",\"title\":\"\\u0643\\u064a\\u0641\\u064a\\u0629 \\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0641\\u064a \\u0627\\u0644\\u0645\\u0644\\u0641 \\u0627\\u0644\\u0634\\u062e\\u0635\\u064a \\u0644\\u0644\\u0639\\u0645\\u0644 / \\u0628\\u064a\\u0626\\u0629 \\u062a\\u0639\\u062f\\u062f \\u0627\\u0644\\u0645\\u0633\\u062a\\u062e\\u062f\\u0645\\u064a\\u0646\\u061f\",\"text\":\"<p>\\u0627\\u0644\\u0646\\u0633\\u062e\\u0629 \\u0627\\u0644\\u0627\\u062d\\u062a\\u0631\\u0627\\u0641\\u064a\\u0629 \\u062a\\u062f\\u0639\\u0645 \\u0645\\u0644\\u0641\\u0627\\u062a \\u062a\\u0639\\u0631\\u064a\\u0641 \\u0627\\u0644\\u0639\\u0645\\u0644 \\u0648\\u0645\\u0633\\u062a\\u062e\\u062f\\u0645\\u064a\\u0646 \\u0645\\u062a\\u0639\\u062f\\u062f\\u064a\\u0646. \\u062d\\u062f\\u062f \\u0645\\u0633\\u062a\\u062e\\u062f\\u0645 \\u0645\\u0646 \\u0627\\u0644\\u0642\\u0627\\u0626\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0646\\u0633\\u062f\\u0644\\u0629.</p> <p></p>\"},{\"location\":\"ar/faqs/#faq24\",\"title\":\"\\u0643\\u064a\\u0641 \\u064a\\u0642\\u0627\\u0631\\u0646 PMX \\u0628\\u0640 XPrivacyLua\\u061f \\u0647\\u0644 \\u064a\\u0645\\u0643\\u0646 \\u0623\\u0646 \\u064a\\u062d\\u0644 \\u0623\\u062d\\u062f\\u0647\\u0645\\u0627 \\u0645\\u062d\\u0644 \\u0627\\u0644\\u0622\\u062e\\u0631\\u061f\",\"text\":\"<p>PMX \\u0644\\u064a\\u0633 \\u0645\\u0635\\u0645\\u0645\\u0627\\u064b \\u0644\\u064a\\u062d\\u0644 \\u0645\\u062d\\u0644 \\u0628\\u0644 \\u0644\\u064a\\u0643\\u0645\\u0644 \\u0627\\u0644\\u0645\\u0634\\u0627\\u0631\\u064a\\u0639 \\u0645\\u062b\\u0644 XPrivacyLua. \\u0644\\u062f\\u064a\\u0647\\u0645 \\u0623\\u0647\\u062f\\u0627\\u0641 \\u062a\\u0635\\u0645\\u064a\\u0645 \\u0645\\u062e\\u062a\\u0644\\u0641\\u0629.</p> <p>XPrivacyLua \\u064a\\u062e\\u062a\\u0631\\u0642 \\u0627\\u0644\\u0648\\u0638\\u0627\\u0626\\u0641 \\u0627\\u0644\\u0642\\u064a\\u0627\\u0633\\u064a\\u0629 \\u0644\\u0646\\u0638\\u0627\\u0645 Android \\u0639\\u0646 \\u0637\\u0631\\u064a\\u0642 \\u0631\\u0628\\u0637\\u0647 \\u0628\\u0648\\u0627\\u062c\\u0647\\u0627\\u062a \\u0628\\u0631\\u0645\\u062c\\u0629 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u062f\\u0627\\u062e\\u0644\\u064a\\u0629\\u060c \\u0628\\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 Xposed \\u0627\\u0644\\u0630\\u064a \\u064a\\u0633\\u062a\\u0628\\u062f\\u0644 \\u0628\\u0639\\u0636 \\u0645\\u0643\\u062a\\u0628\\u0627\\u062a Android \\u0628\\u0645\\u0643\\u062a\\u0628\\u0627\\u062a \\u0645\\u062e\\u062a\\u0631\\u0642\\u0629. \\u0644\\u0630\\u0644\\u0643 \\u0646\\u062d\\u0635\\u0644 \\u0639\\u0644\\u0649 \\u0648\\u0638\\u064a\\u0641\\u0629 \\u0625\\u0636\\u0627\\u0641\\u064a\\u0629 \\u0645\\u062b\\u0644 \\u062a\\u063a\\u0630\\u064a\\u0629 \\u0627\\u0644\\u0628\\u064a\\u0627\\u0646\\u0627\\u062a \\u0627\\u0644\\u0645\\u0632\\u064a\\u0641\\u0629 \\u0644\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0648\\u0627\\u0644\\u062d\\u0635\\u0648\\u0644 \\u0639\\u0644\\u0649 \\u0625\\u0634\\u0639\\u0627\\u0631 \\u0628\\u0627\\u0644\\u0623\\u062d\\u062f\\u0627\\u062b \\u0630\\u0627\\u062a \\u0627\\u0644\\u0635\\u0644\\u0629 \\u0628\\u0627\\u0644\\u0625\\u0630\\u0646 \\u0627\\u0644\\u062a\\u064a \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646\\u0646\\u0627 \\u0623\\u0646 \\u0646\\u0639\\u0631\\u0641 \\u0639\\u0646\\u0647\\u0627 \\u0628\\u0623\\u064a \\u0648\\u0633\\u064a\\u0644\\u0629 \\u0639\\u0627\\u062f\\u064a\\u0629 \\u0623\\u062e\\u0631\\u0649.</p> <p>PMX \\u0645\\u0646 \\u0646\\u0627\\u062d\\u064a\\u0629 \\u0623\\u062e\\u0631\\u0649 \\u0644\\u064a\\u0633 \\u0645\\u0633\\u062a\\u0647\\u062f\\u0641\\u0627\\u064b \\u0623\\u0646 \\u064a\\u0643\\u0648\\u0646 \\u0648\\u062d\\u062f\\u0629 \\u0625\\u0637\\u0627\\u0631\\u064a\\u0629. \\u064a\\u0648\\u0641\\u0631 \\u0627\\u0644\\u0648\\u0635\\u0648\\u0644 \\u0627\\u0644\\u0645\\u0631\\u064a\\u062d \\u0625\\u0644\\u0649 \\u0628\\u0639\\u0636 \\u0648\\u0627\\u062c\\u0647\\u0627\\u062a \\u0628\\u0631\\u0645\\u062c\\u0629 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0645\\u062a\\u0645\\u064a\\u0632\\u0629 \\u0627\\u0644\\u062a\\u064a \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646 \\u0644\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0639\\u0627\\u062f\\u064a\\u0629 \\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645\\u0647\\u0627. \\u0625\\u0646\\u0647\\u0627 \\u0644\\u0627 \\u062a\\u062e\\u062a\\u0631\\u0642 \\u0648\\u0638\\u0627\\u0626\\u0641 \\u0627\\u0644\\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f \\u0627\\u0644\\u0642\\u064a\\u0627\\u0633\\u064a\\u0629 \\u0628\\u0623\\u064a \\u0648\\u0633\\u064a\\u0644\\u0629. \\u064a\\u0645\\u0643\\u0646 \\u0623\\u064a\\u0636\\u0627 \\u062a\\u0646\\u0641\\u064a\\u0630 \\u0645\\u0639\\u0638\\u0645 \\u0627\\u0644\\u0645\\u0647\\u0627\\u0645 PMX \\u0645\\u0646 \\u0627\\u0644\\u0642\\u064a\\u0627\\u062f\\u0629\\u060c \\u0628\\u0627\\u0633\\u062a\\u062b\\u0646\\u0627\\u0621 \\u0627\\u0644\\u0642\\u0644\\u064a\\u0644 \\u0645\\u0646\\u0647\\u0627 \\u0645\\u062b\\u0644 \\u062a\\u063a\\u064a\\u064a\\u0631 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u0646\\u0638\\u0627\\u0645 \\u0627\\u0644\\u062b\\u0627\\u0628\\u062a\\u0629.</p> <p>\\u0627\\u0644\\u062a\\u062c\\u0630\\u064a\\u0631 \\u0648 Xposed \\u0647\\u0645\\u0627 \\u0634\\u0631\\u0637\\u0627\\u0646 \\u0635\\u0627\\u0631\\u0645\\u0627\\u0646 \\u0644\\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 XPrivacyLua. PMX \\u0644\\u0627 \\u064a\\u062a\\u0637\\u0644\\u0628 \\u0623\\u064a\\u0627 \\u0645\\u0646 \\u0643\\u0644\\u064a\\u0647\\u0645\\u0627 \\u0644\\u0645\\u0639\\u0638\\u0645 \\u0627\\u0644\\u062c\\u0647\\u0627\\u062a. \\u0648\\u0643\\u0644\\u0627\\u0647\\u0645\\u0627 \\u063a\\u064a\\u0631 \\u0645\\u062a\\u0627\\u062d \\u0644\\u0644\\u0639\\u062f\\u064a\\u062f \\u0645\\u0646 \\u0627\\u0644\\u0623\\u062c\\u0647\\u0632\\u0629 \\u0623\\u0648 \\u0623\\u0646 \\u0627\\u0644\\u0639\\u062f\\u064a\\u062f \\u0645\\u0646 \\u0627\\u0644\\u0645\\u0633\\u062a\\u0639\\u0645\\u0644\\u064a\\u0646 \\u0644\\u0627 \\u064a\\u0639\\u062a\\u0628\\u0631\\u0648\\u0646\\u0647 \\u062e\\u064a\\u0627\\u0631\\u0627\\u064b \\u0628\\u0633\\u0628\\u0628 \\u0627\\u0644\\u0635\\u0639\\u0648\\u0628\\u0627\\u062a \\u0627\\u0644\\u062a\\u0642\\u0646\\u064a\\u0629 \\u0627\\u0644\\u062a\\u064a \\u064a\\u0646\\u0637\\u0648\\u064a \\u0639\\u0644\\u064a\\u0647\\u0627 \\u0627\\u0644\\u0623\\u0645\\u0631. \\u0636\\u0645\\u0627\\u0646 \\u0627\\u0644\\u0641\\u0631\\u0627\\u063a\\u060c \\u0648 SafetyNet \\u0641\\u0634\\u0644\\u062a \\u0648 \\u0645\\u0633\\u0627\\u0626\\u0644 \\u0623\\u062e\\u0631\\u0649.</p> <p>\\u0645\\u0632\\u064a\\u062f \\u0645\\u0646 \\u0627\\u0644\\u062a\\u0641\\u0633\\u064a\\u0631 here \\u0648 here.</p>\"},{\"location\":\"ar/faqs/#faq32\",\"title\":\"\\u0647\\u0644 \\u064a\\u0645\\u0643\\u0646 \\u0623\\u0646 \\u064a\\u0642\\u0648\\u0645 PMX \\u0628\\u0625\\u0632\\u0627\\u0644\\u0629 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u062a\\u0644\\u0642\\u0627\\u0626\\u064a\\u0627\\u064b \\u0639\\u0646\\u062f \\u0625\\u063a\\u0644\\u0627\\u0642 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u060c \\u0643\\u0645\\u0627 \\u062a\\u0641\\u0639\\u0644 Bouncer\\u061f\",\"text\":\"<p>\\u0646\\u0639\\u0645. \\u0627\\u0646\\u0638\\u0631 \\u0645\\u0631\\u0627\\u0642\\u0628 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0648 Scheduled Check. \\u0644\\u0643\\u0646\\u0647 \\u0644\\u0627 \\u064a\\u0633\\u062a\\u062e\\u062f\\u0645 \\u0645\\u064a\\u0632\\u0629 \\u0627\\u0644\\u0648\\u0635\\u0648\\u0644 \\u0625\\u0644\\u0649 \\u0627\\u0644\\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f \\u0644\\u0623\\u062f\\u0627\\u0621 \\u0627\\u0644\\u0646\\u0642\\u0631\\u0627\\u062a / \\u0627\\u0644\\u0646\\u0642\\u0631\\u0627\\u062a \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0634\\u0627\\u0634\\u0629 \\u0646\\u064a\\u0627\\u0628\\u0629 \\u0639\\u0646 \\u0627\\u0644\\u0645\\u0633\\u062a\\u062e\\u062f\\u0645 (\\u0631\\u063a\\u0645 \\u0623\\u0646\\u0647\\u0627 \\u0645\\u064a\\u0632\\u0629 \\u062c\\u064a\\u062f\\u0629 \\u062f\\u0648\\u0646 \\u0627\\u0644\\u062d\\u0627\\u062c\\u0629 \\u0625\\u0644\\u0649 \\u0623\\u064a \\u0625\\u0639\\u062f\\u0627\\u062f \\u0625\\u0636\\u0627\\u0641\\u064a). PMX \\u064a\\u0639\\u062a\\u0645\\u062f \\u0639\\u0644\\u0649 \\u0627\\u0645\\u062a\\u064a\\u0627\\u0632\\u0627\\u062a \\u0627\\u0644\\u062c\\u0630\\u0631 \\u0623\\u0648 ADB. \\u0644\\u0630\\u0627 \\u0641\\u0625\\u0646\\u0647 \\u064a\\u0645\\u0643\\u0646 \\u0623\\u0646 \\u064a\\u0641\\u0639\\u0644 \\u0623\\u0643\\u062b\\u0631 (\\u0627\\u0646\\u0638\\u0631 \\u0645\\u0627 \\u0647\\u0648 PMX?) \\u0645\\u0645\\u0627 \\u064a\\u0645\\u0643\\u0646 \\u0641\\u0639\\u0644\\u0647 \\u0628\\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 \\u0645\\u064a\\u0632\\u0627\\u062a \\u0625\\u0645\\u0643\\u0627\\u0646\\u064a\\u0629 \\u0627\\u0644\\u0648\\u0635\\u0648\\u0644.</p> <p>\\u0625\\u0630\\u0627 \\u0643\\u0646\\u062a \\u062a\\u0633\\u062a\\u062e\\u062f\\u0645 ADB\\u060c \\u0648\\u0644\\u064a\\u0633 \\u0627\\u0644\\u062c\\u0630\\u0631\\u060c \\u0641\\u0625\\u0646 \\u0645\\u0631\\u0627\\u0642\\u0628 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0642\\u062f \\u0644\\u0627 \\u064a\\u0639\\u0645\\u0644 \\u0639\\u0644\\u0649 \\u0628\\u0639\\u0636 \\u0627\\u0644\\u0623\\u062c\\u0647\\u0632\\u0629. \\u064a\\u0631\\u062c\\u0649 \\u0627\\u0644\\u0627\\u0637\\u0644\\u0627\\u0639 \\u0639\\u0644\\u0649 \\u062d\\u062f\\u0648\\u062f ADB.</p>\"},{\"location\":\"ar/faqs/#faq35\",\"title\":\"\\u0647\\u0644 \\u064a\\u0645\\u0643\\u0646\\u0646\\u064a \\u0627\\u0644\\u062d\\u0635\\u0648\\u0644 \\u0639\\u0644\\u0649 \\u0625\\u0634\\u0639\\u0627\\u0631 \\u0639\\u0646\\u062f\\u0645\\u0627 \\u064a\\u062a\\u0645 \\u062a\\u062b\\u0628\\u064a\\u062a \\u062a\\u0637\\u0628\\u064a\\u0642 \\u062c\\u062f\\u064a\\u062f\\u061f\",\"text\":\"<p>\\u0646\\u0639\\u0645. \\u0627\\u0646\\u0638\\u0631 \\u0645\\u0631\\u0627\\u0642\\u0628 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a.</p> <p>\\u0645\\u0646\\u0630 \\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f 8 \\u0645\\u0646 \\u063a\\u064a\\u0631 \\u0627\\u0644\\u0645\\u0645\\u0643\\u0646 \\u0644\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u062e\\u0644\\u0641\\u064a\\u0629 (\\u063a\\u064a\\u0631 \\u0627\\u0644\\u0639\\u0627\\u0645\\u0644\\u0629) \\u0627\\u0644\\u062d\\u0635\\u0648\\u0644 \\u0639\\u0644\\u0649 \\u0625\\u0634\\u0639\\u0627\\u0631 \\u0628\\u062d\\u062f\\u062b \\u062a\\u062b\\u0628\\u064a\\u062a \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0627\\u0644\\u062c\\u062f\\u064a\\u062f. \\u0644\\u0630\\u0627 \\u0641\\u0642\\u062f \\u0642\\u0645\\u0646\\u0627 \\u0628\\u062a\\u0634\\u063a\\u064a\\u0644 \\u062e\\u062f\\u0645\\u0629 \\u0623\\u0645\\u0627\\u0645\\u064a\\u0629 (\\u0645\\u0639 \\u0625\\u0634\\u0639\\u0627\\u0631 \\u0645\\u0633\\u062a\\u0645\\u0631) \\u0644\\u0627\\u0633\\u062a\\u0644\\u0627\\u0645 \\u0647\\u0630\\u0627 \\u0627\\u0644\\u062d\\u062f\\u062b. \\u0623\\u0648 \\u0642\\u062f \\u062a\\u0641\\u0643\\u0631 \\u0641\\u064a \\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 \\u0627\\u0644\\u062a\\u062d\\u0642\\u0642 \\u0627\\u0644\\u0645\\u062c\\u062f\\u0648\\u0644 \\u0644\\u0644\\u062d\\u0641\\u0627\\u0638 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0623\\u0645\\u0648\\u0631 \\u0641\\u064a \\u0645\\u0643\\u0627\\u0646\\u0647\\u0627.</p>\"},{\"location\":\"ar/faqs/#faq38\",\"title\":\"\\u0639\\u0646\\u062f \\u062a\\u062b\\u0628\\u064a\\u062a \\u062a\\u0637\\u0628\\u064a\\u0642 \\u062c\\u062f\\u064a\\u062f\\u060c \\u0647\\u0644 \\u064a\\u0645\\u0643\\u0646 \\u0644\\u0640 PMX \\u0625\\u0644\\u063a\\u0627\\u0621 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a\\u0647 \\u0628\\u0634\\u0643\\u0644 \\u0627\\u0641\\u062a\\u0631\\u0627\\u0636\\u064a\\u061f\",\"text\":\"<p>\\u0646\\u0639\\u0645. \\u0648\\u0644\\u0643\\u0646 \\u0644\\u0627 \\u062a\\u0648\\u062c\\u062f \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u064a\\u0645\\u0643\\u0646 \\u062d\\u0630\\u0641\\u0647\\u0627. \\u062a\\u0645 \\u0625\\u0644\\u063a\\u0627\\u0621 \\u062c\\u0645\\u064a\\u0639 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a manifest \\u0627\\u0644\\u0642\\u0627\\u0628\\u0644\\u0629 \\u0644\\u0644\\u0625\\u0644\\u063a\\u0627\\u0621 \\u0628\\u0627\\u0644\\u0641\\u0639\\u0644 \\u0648\\u0627\\u0644\\u0628\\u0642\\u0627\\u0621 \\u0645\\u0644\\u063a\\u0627\\u0629 \\u0645\\u0627 \\u0644\\u0645 \\u064a\\u0645\\u0646\\u062d\\u0647\\u0627 \\u0627\\u0644\\u0645\\u0633\\u062a\\u062e\\u062f\\u0645 \\u0635\\u0631\\u0627\\u062d\\u0629. \\u0641\\u064a\\u0645\\u0627 \\u064a\\u062a\\u0639\\u0644\\u0642 \\u0628\\u0640 AppOps \\u060c \\u0627\\u0644\\u0643\\u062b\\u064a\\u0631 \\u0645\\u0646\\u0647\\u0627 \\u0644\\u0627 \\u064a\\u0638\\u0647\\u0631 \\u062d\\u062a\\u0649 \\u0645\\u0631\\u0629 \\u0648\\u0627\\u062d\\u062f\\u0629 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0623\\u0642\\u0644 \\u0645\\u0646 \\u0642\\u0628\\u0644 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0645\\u062b\\u0644 <code>VIBRATE</code> \\u0648 <code>READ_CLIPBOARD</code>. \\u0627\\u0644\\u0639\\u062f\\u064a\\u062f \\u0645\\u0646 \\u0627\\u0644\\u0622\\u062e\\u0631\\u064a\\u0646 (\\u0639\\u0644\\u0649 \\u0633\\u0628\\u064a\\u0644 \\u0627\\u0644\\u0645\\u062b\\u0627\\u0644 <code>READ_CONTACTS</code>) \\u0644\\u062f\\u064a\\u0647\\u0645 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a manifest \\u0627\\u0644\\u0645\\u0642\\u0627\\u0628\\u0644\\u0629 \\u0627\\u0644\\u062a\\u064a \\u062a\\u0645 \\u0625\\u0633\\u0642\\u0627\\u0637\\u0647\\u0627 \\u0628\\u0627\\u0644\\u0641\\u0639\\u0644\\u060c \\u0643\\u0645\\u0627 \\u0623\\u0634\\u064a\\u0631 \\u0625\\u0644\\u0649 \\u0630\\u0644\\u0643. \\u0644\\u0630\\u0644\\u0643 \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646 \\u0627\\u0644\\u062a\\u0646\\u0628\\u0624 \\u0628\\u0647 \\u0648\\u0642\\u062a \\u062a\\u062b\\u0628\\u064a\\u062a \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0627\\u0644\\u0630\\u064a \\u064a\\u062c\\u0628 \\u0625\\u0632\\u0627\\u0644\\u062a\\u0647 AppOps.</p> <p>\\u0648\\u0644\\u0643\\u0646 \\u064a\\u062a\\u0645 \\u0639\\u0631\\u0636 \\u0625\\u0634\\u0639\\u0627\\u0631 \\u0639\\u0646\\u062f \\u062a\\u062b\\u0628\\u064a\\u062a \\u062a\\u0637\\u0628\\u064a\\u0642 \\u062c\\u062f\\u064a\\u062f (\\u0625\\u0630\\u0627 \\u0627\\u0633\\u062a\\u062e\\u062f\\u0645 \\u0645\\u0631\\u0627\\u0642\\u0628 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a) \\u062d\\u062a\\u0649 \\u064a\\u062a\\u0645\\u0643\\u0646 \\u0627\\u0644\\u0645\\u0633\\u062a\\u062e\\u062f\\u0645 \\u0645\\u0646 \\u062a\\u0639\\u064a\\u064a\\u0646 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0648\\u0627\\u062d\\u062f\\u0629 \\u062a\\u0644\\u0648 \\u0627\\u0644\\u0623\\u062e\\u0631\\u0649 \\u0623\\u0648 \\u062a\\u0637\\u0628\\u064a\\u0642 \\u0645\\u0644\\u0641 \\u062a\\u0639\\u0631\\u064a\\u0641.</p>\"},{\"location\":\"ar/faqs/#faq25\",\"title\":\"\\u0644\\u0645\\u0627\\u0630\\u0627 \\u064a\\u062d\\u062a\\u0627\\u062c \\u062a\\u0637\\u0628\\u064a\\u0642 PMX \\u0625\\u0644\\u0649 \\u0625\\u0630\\u0646 \\u0627\\u0644\\u0625\\u0646\\u062a\\u0631\\u0646\\u062a\\u061f\",\"text\":\"<p>\\u064a\\u062a\\u0637\\u0644\\u0628 \\u0625\\u0635\\u062f\\u0627\\u0631 \\u0628\\u0631\\u0648 \\u0627\\u0644\\u0645\\u0633\\u062a\\u0642\\u0644 \\u0627\\u0644\\u0627\\u062a\\u0635\\u0627\\u0644 \\u0628\\u0627\\u0644\\u0625\\u0646\\u062a\\u0631\\u0646\\u062a \\u0644\\u0644\\u062a\\u062d\\u0642\\u0642 \\u0645\\u0646 \\u0627\\u0644\\u062a\\u0631\\u062e\\u064a\\u0635. \\u0623\\u062e\\u0631\\u0649 versions \\u064a\\u0645\\u0643\\u0646 \\u0623\\u0646 \\u062a\\u0639\\u0645\\u0644 \\u062f\\u0648\\u0646 \\u0627\\u062a\\u0635\\u0627\\u0644 \\u062a\\u0645\\u0627\\u0645\\u064b\\u0627. \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0631\\u063a\\u0645 \\u0645\\u0646 \\u0623\\u0646 \\u062a\\u0637\\u0628\\u064a\\u0642 Play Store \\u064a\\u062d\\u062a\\u0627\\u062c \\u0625\\u0644\\u0649 \\u0627\\u062a\\u0635\\u0627\\u0644 \\u0628\\u0627\\u0644\\u0625\\u0646\\u062a\\u0631\\u0646\\u062a \\u0644\\u0644\\u062a\\u062d\\u0642\\u0642 \\u0645\\u0646 \\u0627\\u0644\\u062a\\u0631\\u062e\\u064a\\u0635.</p>\"},{\"location\":\"ar/faqs/#optional-use-of-internet-permission\",\"title\":\"\\u0627\\u0644\\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 \\u0627\\u0644\\u0627\\u062e\\u062a\\u064a\\u0627\\u0631\\u064a \\u0644\\u0644\\u0625\\u0630\\u0646 <code>android.permission.INTERNET</code>\",\"text\":\"<ul> <li>\\u0627\\u0644\\u062a\\u062d\\u0642\\u0642 \\u0645\\u0646 \\u0648\\u062c\\u0648\\u062f \\u062a\\u062d\\u062f\\u064a\\u062b\\u0627\\u062a \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642. \\u064a\\u0645\\u0643\\u0646\\u0643 \\u062a\\u0639\\u0637\\u064a\\u0644 \\u0647\\u0630\\u0627 \\u0641\\u064a \\u0625\\u0639\\u062f\\u0627\\u062f\\u0627\\u062a \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642.</li> </ul>\"},{\"location\":\"ar/faqs/#on-device-use-of-internet-permission\",\"title\":\"\\u0627\\u0644\\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 \\u0627\\u0644\\u0645\\u062d\\u0644\\u064a (\\u0639\\u0644\\u0649 \\u0627\\u0644\\u062c\\u0647\\u0627\\u0632) \\u0644\\u0644\\u0625\\u0630\\u0646 <code>android.permission.INTERNET</code>\",\"text\":\"<p>\\u0644\\u0627 \\u064a\\u0633\\u0645\\u062d \\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f \\u0644\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0628\\u0625\\u0646\\u0634\\u0627\\u0621 \\u0645\\u0642\\u0627\\u0628\\u0633 \\u0634\\u0628\\u0643\\u0629 \\u0628\\u062f\\u0648\\u0646 \\u0627\\u0644\\u062d\\u0635\\u0648\\u0644 \\u0639\\u0644\\u0649 \\u0625\\u0630\\u0646 <code>INTERNET</code> \\u062d\\u062a\\u0649 \\u0644\\u0648 \\u0643\\u0627\\u0646 \\u0627\\u0644\\u0645\\u0642\\u0635\\u0648\\u062f \\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645\\u0647\\u0627 \\u0641\\u0642\\u0637 \\u0645\\u062d\\u0644\\u064a\\u0627 \\u0648\\u0644\\u064a\\u0633 \\u0644\\u0644\\u0627\\u062a\\u0635\\u0627\\u0644 \\u0628\\u0627\\u0644\\u0625\\u0646\\u062a\\u0631\\u0646\\u062a. PMX \\u0644\\u062f\\u064a\\u0647 \\u0625\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645\\u0627\\u0646 \\u0644\\u0644\\u0627\\u062a\\u0635\\u0627\\u0644 \\u0627\\u0644\\u0645\\u062d\\u0644\\u064a (\\u0639\\u0644\\u0649 \\u0627\\u0644\\u062c\\u0647\\u0627\\u0632) (\\u0627\\u0644\\u0642\\u062f\\u0631\\u0629 \\u0639\\u0644\\u0649 \\u0625\\u0646\\u0634\\u0627\\u0621 \\u0645\\u0642\\u0627\\u0628\\u0633 <code>localhost</code> \\u0641\\u064a <code>127.0.0.1</code>) \\u0644\\u0644\\u0627\\u062a\\u0635\\u0627\\u0644 \\u0627\\u0644\\u062f\\u0627\\u062e\\u0644\\u064a (IPC):</p> <ul> <li>PMX \\u064a\\u0628\\u062f\\u0623 \\u0639\\u0645\\u0644\\u064a\\u0629 \\u0641\\u064a \\u0627\\u0644\\u062e\\u0644\\u0641\\u064a\\u0629 \\u0628\\u0627\\u0645\\u062a\\u064a\\u0627\\u0632\\u0627\\u062a \\u0627\\u0644\\u062c\\u0630\\u0631 / ADB \\u0648\\u064a\\u062a\\u0648\\u0627\\u0635\\u0644 \\u0645\\u0639 \\u062a\\u0644\\u0643 \\u0627\\u0644\\u0639\\u0645\\u0644\\u064a\\u0629 \\u0639\\u0628\\u0631 \\u0645\\u0642\\u0628\\u0633 \\u0627\\u0644\\u0634\\u0628\\u0643\\u0629. \\u0628\\u0639\\u062f \\u0627\\u0644\\u0645\\u0635\\u0627\\u0641\\u062d\\u0629 \\u0627\\u0644\\u064a\\u062f\\u0648\\u064a\\u0629 \\u0627\\u0644\\u0623\\u0648\\u0644\\u064a\\u0629\\u060c \\u062a\\u0628\\u062f\\u0623 \\u0643\\u0644\\u062a\\u0627 \\u0627\\u0644\\u0639\\u0645\\u0644\\u064a\\u062a\\u064a\\u0646 \\u0641\\u064a \\u0627\\u0644\\u062a\\u062d\\u062f\\u062b \\u0639\\u0628\\u0631 \\u0627\\u0644\\u0628\\u0627\\u0646\\u062f\\u0631. \\u0644\\u064a\\u0633 \\u0644\\u062f\\u064a\\u0646\\u0627 \\u0637\\u0631\\u064a\\u0642\\u0629 \\u0623\\u0641\\u0636\\u0644 \\u0644\\u0644\\u0642\\u064a\\u0627\\u0645 \\u0628\\u0630\\u0644\\u0643 \\u0644\\u0623\\u0646 \\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f \\u0644\\u0627 \\u064a\\u0633\\u0645\\u062d \\u0644\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0628\\u0627\\u0644\\u062a\\u062d\\u062f\\u062b \\u0639\\u0628\\u0631 \\u0645\\u0642\\u0627\\u0628\\u0633 \\u0646\\u0637\\u0627\\u0642\\u0627\\u062a UNIX \\u0623\\u064a\\u0636\\u0627.</li> <li>\\u0625\\u0630\\u0627 \\u0644\\u0645 \\u064a\\u0643\\u0646 \\u062c\\u0647\\u0627\\u0632\\u0643 \\u0645\\u062a\\u062c\\u0630\\u0631\\u0627\\u064b \\u0648 \\u0627\\u0633\\u062a\\u062e\\u062f\\u0645 PMX \\u0645\\u0639 ADB\\u060c \\u0641\\u0625\\u0646 \\u0627\\u0644\\u0627\\u062a\\u0635\\u0627\\u0644 \\u0628\\u0640 <code>adbd</code> \\u064a\\u062a\\u0637\\u0644\\u0628 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u0625\\u0646\\u062a\\u0631\\u0646\\u062a. \\u0627\\u0646\\u0638\\u0631 \\u0647\\u0644 \\u064a\\u0642\\u0648\\u0645 \\u0645\\u0648\\u0642\\u0639 PMX \\u0628\\u0627\\u0644\\u062a\\u062c\\u0633\\u0633 \\u0639\\u0644\\u064a\\u0651 \\u0628\\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 ADB \\u0639\\u0628\\u0631 \\u0627\\u0644\\u0634\\u0628\\u0643\\u0629\\u061f</li> </ul> <p>\\u0625\\u0630\\u0627 \\u0644\\u0645 \\u064a\\u062a\\u0645\\u0643\\u0646 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0645\\u0646 \\u0625\\u0646\\u0634\\u0627\\u0621 \\u0623\\u0648 \\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 \\u0645\\u0642\\u0627\\u0628\\u0633 \\u0627\\u0644\\u0634\\u0628\\u0643\\u0629 \\u0627\\u0644\\u0645\\u062d\\u0644\\u064a\\u0629\\u060c \\u0641\\u0633\\u064a\\u0641\\u0634\\u0644. \\u0648\\u0625\\u0630\\u0627 \\u0643\\u0646\\u062a \\u062a\\u0631\\u063a\\u0628 \\u0641\\u064a \\u0625\\u064a\\u0642\\u0627\\u0641 PMX \\u0645\\u0646 \\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 \\u0627\\u0644\\u0625\\u0646\\u062a\\u0631\\u0646\\u062a\\u060c \\u064a\\u062c\\u0628 \\u0623\\u0646 \\u0644\\u0627 \\u064a\\u0648\\u0642\\u0641 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0645\\u0646 \\u0627\\u0644\\u062a\\u062d\\u062f\\u062b \\u0625\\u0644\\u0649 \\u0627\\u0644\\u0639\\u0645\\u0644\\u064a\\u0627\\u062a \\u0639\\u0644\\u0649 \\u0627\\u0644\\u062c\\u0647\\u0627\\u0632 \\u0639\\u0628\\u0631 \\u0648\\u0627\\u062c\\u0647\\u0629 \\u0627\\u0644\\u062a\\u0631\\u0627\\u062c\\u0639 \\u0644\\u0640 IPC. \\u0647\\u0630\\u0647 \\u0647\\u064a \\u0627\\u0644\\u062d\\u0627\\u0644\\u0629 \\u0639\\u0627\\u062f\\u0629 \\u0645\\u0639 \\u062c\\u062f\\u0631\\u0627\\u0646 \\u0627\\u0644\\u062d\\u0645\\u0627\\u064a\\u0629 \\u0627\\u0644\\u0645\\u0633\\u062a\\u0646\\u062f\\u0629 \\u0625\\u0644\\u0649 <code>iptables</code>\\u0645\\u062b\\u0644 Fyrypt \\u0648\\u062c\\u062f\\u0631\\u0627\\u0646 \\u0627\\u0644\\u062d\\u0645\\u0627\\u064a\\u0629 \\u0627\\u0644\\u0645\\u0633\\u062a\\u0646\\u062f\\u0629 \\u0625\\u0644\\u0649 VPN \\u0645\\u062b\\u0644 NetGuard. \\u0644\\u0643\\u0646 \\u0628\\u0639\\u0636 ROMs \\u0644\\u062f\\u064a\\u0647 \\u0645\\u064a\\u0632\\u0629 \\u0645\\u062f\\u0645\\u062c\\u0629 \\u0644\\u0645\\u0646\\u0639 \\u0627\\u0644\\u0648\\u0635\\u0648\\u0644 \\u0625\\u0644\\u0649 \\u0627\\u0644\\u0634\\u0628\\u0643\\u0629:</p> <p></p> <p>\\u0648\\u0647\\u0630\\u0627 \\u0644\\u0627 \\u064a\\u0645\\u0646\\u0639 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0645\\u0646 \\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 \\u0627\\u0644\\u0625\\u0646\\u062a\\u0631\\u0646\\u062a \\u0641\\u062d\\u0633\\u0628\\u060c \\u0628\\u0644 \\u064a\\u0639\\u0637\\u0644 \\u0623\\u064a\\u0636\\u0627 \\u0642\\u062f\\u0631\\u062a\\u0647 \\u0639\\u0644\\u0649 \\u0625\\u0646\\u0634\\u0627\\u0621 \\u0645\\u0646\\u0627\\u0638\\u0631 \\u0644\\u062d\\u0644\\u0642\\u0629 \\u0627\\u0644\\u0627\\u0631\\u062a\\u062f\\u0627\\u062f \\u0644IPC. \\u0644\\u0630\\u0644\\u0643 PMX \\u0644\\u0646 \\u064a\\u062a\\u0645\\u0643\\u0646 \\u0645\\u0646 \\u0627\\u0644\\u062d\\u0635\\u0648\\u0644 \\u0639\\u0644\\u0649 \\u0627\\u0645\\u062a\\u064a\\u0627\\u0632\\u0627\\u062a \\u0627\\u0644\\u062c\\u0630\\u0631 / ADB \\u0625\\u0630\\u0627 \\u062a\\u0645 \\u0631\\u0641\\u0636 \\u0647\\u0630\\u0627 \\u0627\\u0644\\u0625\\u0630\\u0646.</p>\"},{\"location\":\"ar/faqs/#faq26\",\"title\":\"\\u0643\\u0645 \\u0647\\u0648 \\u0635\\u062f\\u064a\\u0642 \\u0644\\u0644\\u062e\\u0635\\u0648\\u0635\\u064a\\u0629 PMX\\u061f \\u0647\\u0644 \\u062a\\u062c\\u0645\\u0639 \\u0628\\u064a\\u0627\\u0646\\u0627\\u062a \\u0627\\u0644\\u0645\\u0633\\u062a\\u062e\\u062f\\u0645\\u064a\\u0646\\u061f\",\"text\":\"<p>\\u0644\\u0627. \\u0646\\u062d\\u0646 \\u0644\\u0627 \\u0646\\u062c\\u0645\\u0639 \\u0628\\u064a\\u0627\\u0646\\u0627\\u062a\\u0643. \\u0623\\u0628\\u062f\\u0627\\u064b. \\u062d\\u062a\\u0649 \\u0628\\u0627\\u064a\\u062a \\u0648\\u0627\\u062d\\u062f PMX \\u0644\\u062f\\u064a\\u0647 \\u0625\\u0635\\u062f\\u0627\\u0631 \\u0645\\u0641\\u062a\\u0648\\u062d \\u0627\\u0644\\u0645\\u0635\\u062f\\u0631. \\u0646\\u062d\\u0646 \\u0646\\u0624\\u0645\\u0646 \\u0628\\u0623\\u0646 \\u0645\\u0633\\u062a\\u062e\\u062f\\u0645\\u064a\\u0646\\u0627 \\u064a\\u062a\\u0645 \\u062a\\u0639\\u0644\\u064a\\u0645\\u0647\\u0645 \\u0648\\u0625\\u0637\\u0644\\u0627\\u0639\\u0647\\u0645 \\u062c\\u064a\\u062f\\u0627 \\u0639\\u0644\\u0649 \\u0633\\u0628\\u0628 \\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645\\u0647\\u0645 PMX. \\u0646\\u062d\\u0646 \\u0646\\u062d\\u062a\\u0631\\u0645 \\u062e\\u0635\\u0648\\u0635\\u064a\\u062a\\u0643\\u060c \\u0644\\u0630\\u0644\\u0643 \\u0644\\u0627 \\u064a\\u062a\\u0645 \\u062c\\u0645\\u0639 \\u0623\\u064a \\u0628\\u064a\\u0627\\u0646\\u0627\\u062a \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0625\\u0637\\u0644\\u0627\\u0642\\u060c \\u062d\\u062a\\u0649 \\u0633\\u062c\\u0644\\u0627\\u062a \\u0627\\u0644\\u0623\\u0639\\u0637\\u0627\\u0644. \\u0642\\u062f \\u062a\\u0631\\u063a\\u0628 \\u0623\\u064a\\u0636\\u0627 \\u0641\\u064a \\u0631\\u0624\\u064a\\u0629 \\u0633\\u064a\\u0627\\u0633\\u0629 \\u0627\\u0644\\u062e\\u0635\\u0648\\u0635\\u064a\\u0629.</p>\"},{\"location\":\"ar/faqs/#faq27\",\"title\":\"\\u0647\\u0644 \\u064a\\u0642\\u0648\\u0645 \\u0645\\u0648\\u0642\\u0639 PMX \\u0628\\u0627\\u0644\\u062a\\u062c\\u0633\\u0633 \\u0639\\u0644\\u064a\\u0651 \\u0628\\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 ADB \\u0639\\u0628\\u0631 \\u0627\\u0644\\u0634\\u0628\\u0643\\u0629\\u061f\",\"text\":\"<p>\\u0644\\u0627.</p> <p>PMX \\u064a\\u062a\\u062d\\u062f\\u062b \\u0625\\u0644\\u0649 \\u0639\\u0645\\u0644\\u064a\\u0629 <code>adbd</code> \\u0639\\u0628\\u0631 \\u0627\\u0644\\u0644\\u063a\\u0629 \\u0627\\u0644\\u0645\\u062d\\u0644\\u064a\\u0629 \\u0627\\u0644\\u0645\\u0636\\u064a\\u0641 (<code>127.0.0.1</code>). \\u0648\\u0644\\u0643\\u0646 \\u0644\\u0627 \\u062a\\u0648\\u062c\\u062f \\u0637\\u0631\\u064a\\u0642\\u0629 \\u0644\\u0628\\u062f\\u0621 \\u0627\\u0644\\u0627\\u0633\\u062a\\u0645\\u0627\\u0639 \\u0644 <code>adbd</code> \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0644\\u063a\\u0629 \\u0627\\u0644\\u0645\\u062d\\u0644\\u064a\\u0629 \\u0641\\u0642\\u0637\\u060c \\u0648\\u0644\\u064a\\u0633 \\u0639\\u0644\\u0649 \\u0648\\u0627\\u062c\\u0647\\u0627\\u062a \\u0627\\u0644\\u0634\\u0628\\u0643\\u0629 \\u0627\\u0644\\u0623\\u062e\\u0631\\u0649 (\\u0644\\u0623\\u0646 \\u0627\\u0644\\u0645\\u0642\\u0635\\u0648\\u062f \\u0623\\u0646 \\u064a\\u0633\\u062a\\u062e\\u062f\\u0645 ADB \\u062e\\u0627\\u0631\\u062c\\u064a\\u0627 \\u0645\\u0646 \\u062c\\u0647\\u0627\\u0632 \\u0643\\u0645\\u0628\\u064a\\u0648\\u062a\\u0631 \\u0634\\u062e\\u0635\\u064a). \\u064a\\u0645\\u0643\\u0646\\u0643 \\u0628\\u0627\\u0644\\u062a\\u0623\\u0643\\u064a\\u062f \\u0625\\u064a\\u0642\\u0627\\u0641 \\u0627\\u0644\\u0627\\u0633\\u062a\\u0645\\u0627\\u0639 <code>adbd</code> \\u0645\\u0646 \\u0639\\u0646\\u0627\\u0648\\u064a\\u0646 IP \\u0627\\u0644\\u062e\\u0627\\u0631\\u062c\\u064a\\u0629\\u060c \\u0625\\u0630\\u0627 \\u0627\\u0633\\u062a\\u0637\\u0639\\u062a. \\u0633\\u064a\\u0638\\u0644 PMX \\u064a\\u0639\\u0645\\u0644\\u060c \\u062f\\u0648\\u0646 \\u0627\\u0644\\u0643\\u0634\\u0641 \\u0639\\u0646 \\u0623\\u064a \\u0645\\u0646\\u0641\\u0630 \\u062e\\u0627\\u0631\\u062c\\u064a.</p> <p>\\u064a\\u0645\\u0643\\u0646\\u0643 \\u0623\\u064a\\u0636\\u0627 \\u062a\\u063a\\u064a\\u064a\\u0631 \\u0645\\u0646\\u0641\\u0630 <code>5555</code> \\u0625\\u0644\\u0649 \\u0623\\u064a \\u0631\\u0642\\u0645 \\u062a\\u0631\\u064a\\u062f\\u0647 \\u0641\\u064a \\u0625\\u0639\\u062f\\u0627\\u062f\\u0627\\u062a \\u0645\\u062a\\u0642\\u062f\\u0645\\u0629. \\u0625\\u0646\\u0647 \\u0644\\u064a\\u0633 \\u0645\\u0628\\u0631\\u0645\\u062c\\u064b\\u0627 \\u0628\\u0634\\u0643\\u0644 \\u062b\\u0627\\u0628\\u062a.</p> <p>\\u0623\\u064a\\u0636\\u064b\\u0627 ADB \\u0645\\u0646\\u0630 \\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f 4.2 \\u0645\\u0646 \\u0627\\u0644\\u0645\\u0641\\u062a\\u0631\\u0636 \\u0623\\u0646 \\u064a\\u0643\\u0648\\u0646 \\u0645\\u062d\\u0645\\u064a\\u064b\\u0627 \\u0628\\u0648\\u0627\\u0633\\u0637\\u0629 \\u0645\\u0635\\u0627\\u062f\\u0642\\u0629 \\u0645\\u0641\\u062a\\u0627\\u062d RSA (\\u0648\\u0627\\u062d\\u062f\\u0629 \\u0645\\u0646 \\u0623\\u0642\\u0648\\u0649 \\u0622\\u0644\\u064a\\u0629 \\u0627\\u0644\\u0645\\u0635\\u0627\\u062f\\u0642\\u0629). \\u0644\\u0630\\u0644\\u0643\\u060c \\u062d\\u062a\\u0649 \\u0644\\u0648 \\u0643\\u0627\\u0646 \\u0627\\u0644\\u062c\\u0647\\u0627\\u0632 \\u0645\\u062a\\u0627\\u062d\\u064b\\u0627 \\u0639\\u0628\\u0631 \\u0627\\u0644\\u0625\\u0646\\u062a\\u0631\\u0646\\u062a (\\u0648\\u0647\\u0648 \\u0623\\u0645\\u0631 \\u063a\\u064a\\u0631 \\u0645\\u062d\\u062a\\u0645\\u0644)\\u060c \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646 \\u0644\\u0623\\u062d\\u062f \\u0625\\u062c\\u0631\\u0627\\u0621 \\u0627\\u062a\\u0635\\u0627\\u0644 ADB \\u062f\\u0648\\u0646 \\u0645\\u0635\\u0627\\u062f\\u0642\\u0629.</p> <p>\\u064a\\u0645\\u0643\\u0646\\u0643 \\u0627\\u0644\\u062a\\u062d\\u0642\\u0642 \\u0645\\u0646 \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0627\\u062f\\u0639\\u0627\\u0621\\u0627\\u062a \\u0628\\u0623\\u064a \\u0637\\u0631\\u064a\\u0642\\u0629 \\u062a\\u0631\\u064a\\u062f\\u0647\\u0627. \\u0646\\u062d\\u0646 \\u0647\\u0646\\u0627 \\u0644\\u0645\\u0633\\u0627\\u0639\\u062f\\u062a\\u0643\\u0645 \\u062a\\u0642\\u0646\\u064a\\u0627.</p>\"},{\"location\":\"ar/faqs/#faq28\",\"title\":\"\\u0647\\u0644 \\u064a\\u0642\\u0648\\u0645 PMX \\u0628\\u0625\\u0633\\u0627\\u0621\\u0629 \\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 \\u0627\\u0645\\u062a\\u064a\\u0627\\u0632\\u0627\\u062a \\u0627\\u0644\\u062c\\u0630\\u0631 \\u0644\\u062c\\u0645\\u0639 \\u0628\\u064a\\u0627\\u0646\\u0627\\u062a\\u064a\\u061f\",\"text\":\"<p>\\u0648\\u0646\\u062d\\u0646 \\u0646\\u0624\\u0645\\u0646 \\u0628\\u0640 \\u0645\\u0628\\u062f\\u0623 \\u0623\\u0642\\u0644 \\u0627\\u0644\\u0627\\u0645\\u062a\\u064a\\u0627\\u0632. \\u0644\\u0643\\u0646 \\u0628\\u0633\\u0628\\u0628 \\u0627\\u0644\\u0637\\u0628\\u064a\\u0639\\u0629 \\u0627\\u0644\\u0645\\u0642\\u064a\\u062f\\u0629 \\u0644\\u0646\\u0638\\u0627\\u0645 \\u062a\\u0634\\u063a\\u064a\\u0644 \\u0623\\u0646\\u062f\\u0631\\u0648\\u064a\\u062f\\u060c \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646 \\u0644\\u0640 PMX \\u0623\\u0646 \\u064a\\u0639\\u0645\\u0644 \\u062f\\u0648\\u0646 \\u0623\\u0646 \\u064a\\u0643\\u0648\\u0646 \\u0644\\u062f\\u064a\\u0647 \\u0627\\u0645\\u062a\\u064a\\u0627\\u0632\\u0627\\u062a \\u0639\\u0627\\u0644\\u064a\\u0629. \\u0645\\u0627 \\u064a\\u0645\\u0643\\u0646\\u0646\\u0627 \\u0623\\u0646 \\u0646\\u0642\\u062f\\u0645\\u0647 \\u0647\\u0648\\u060c \\u0625\\u0630\\u0627 \\u0643\\u0646\\u062a \\u0634\\u062e\\u0635\\u0627 \\u0645\\u062d\\u062a\\u0631\\u0641\\u0627 \\u0641\\u064a \\u0627\\u0644\\u062a\\u0643\\u0646\\u0648\\u0644\\u0648\\u062c\\u064a\\u0627 \\u064a\\u0645\\u0643\\u0646\\u0646\\u0627 \\u0623\\u0646 \\u0646\\u0639\\u0644\\u0645\\u0643\\u0645 \\u0643\\u064a\\u0641 \\u0646\\u062c\\u0639\\u0644 \\u0645\\u0646 \\u0627\\u0644\\u0635\\u0639\\u0628 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0625\\u062c\\u0631\\u0627\\u0621 \\u0627\\u062a\\u0635\\u0627\\u0644\\u0627\\u062a \\u0628\\u0627\\u0644\\u0625\\u0646\\u062a\\u0631\\u0646\\u062a\\u060c \\u062d\\u062a\\u0649 \\u0645\\u0639 \\u0627\\u0645\\u062a\\u064a\\u0627\\u0632\\u0627\\u062a \\u0627\\u0644\\u062c\\u0630\\u0631.</p>\"},{\"location\":\"ar/faqs/#faq29\",\"title\":\"\\u0623\\u0639\\u062a\\u0642\\u062f \\u0623\\u0646 PMX \\u0639\\u062f\\u064a\\u0645 \\u0627\\u0644\\u0641\\u0627\\u0626\\u062f\\u0629. \\u0644\\u0645\\u0627\\u0630\\u0627 \\u062a\\u0645 \\u0625\\u0646\\u0634\\u0627\\u0624\\u0647\\u0627\\u061f\",\"text\":\"<p>\\u0648\\u0646\\u062d\\u0646 \\u0646\\u062d\\u062a\\u0631\\u0645 \\u0631\\u0623\\u064a\\u0643\\u0645. PMX \\u0644\\u064a\\u0633 \\u0644\\u0644\\u062c\\u0645\\u064a\\u0639 (\\u0648\\u0644\\u0647\\u0630\\u0627 \\u0627\\u0644\\u0633\\u0628\\u0628 \\u0644\\u0645 \\u064a\\u062a\\u0645 \\u0635\\u0642\\u0644\\u0647 \\u0648\\u0625\\u0635\\u062f\\u0627\\u0631\\u0647 \\u0644\\u0644\\u062c\\u0645\\u0647\\u0648\\u0631 \\u0644\\u0633\\u0646\\u0648\\u0627\\u062a \\u0644\\u0623\\u0646\\u0646\\u0627 \\u0643\\u0646\\u0627 \\u0646\\u0639\\u0644\\u0645 \\u0623\\u0646 \\u062c\\u0645\\u0647\\u0648\\u0631\\u0646\\u0627 \\u0635\\u063a\\u064a\\u0631 \\u062c\\u062f\\u064b\\u0627). \\u0627\\u0646\\u0647 \\u0641\\u0642\\u0637 \\u0644\\u0628\\u0639\\u0636 \\u0627\\u0644\\u0646\\u0627\\u0633 \\u0630\\u0648\\u064a \\u0627\\u0644\\u062e\\u0628\\u0631\\u0629 \\u0627\\u0644\\u062a\\u0642\\u0646\\u064a\\u0629 \\u0648\\u0627\\u0644\\u0630\\u064a\\u0646 \\u064a\\u0647\\u062a\\u0645\\u0648\\u0646 \\u0628\\u0627\\u0644\\u062e\\u0635\\u0648\\u0635\\u064a\\u0629 \\u0648 \\u0627\\u0644\\u062a\\u062d\\u0643\\u0645 \\u0641\\u064a \\u0623\\u062c\\u0647\\u0632\\u062a\\u0647\\u0645. \\u063a\\u0627\\u0644\\u0628\\u064a\\u0629 \\u0645\\u0633\\u062a\\u062e\\u062f\\u0645\\u064a \\u0627\\u0644\\u0647\\u0627\\u062a\\u0641 \\u0647\\u0645 \\u0641\\u0642\\u0637 \\u0641\\u064a \\u0623\\u064a\\u062f\\u064a \\u0645\\u0633\\u062a\\u062e\\u062f\\u0645\\u064a \\u0628\\u0631\\u0645\\u062c\\u064a\\u0627\\u062a \\u0627\\u0644\\u062a\\u0634\\u063a\\u064a\\u0644 \\u0648\\u0645\\u0637\\u0648\\u0631\\u064a \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a. \\u0625\\u0646\\u0647\\u0645 \\u0644\\u064a\\u0633\\u0648\\u0627 \\u0639\\u0644\\u0649 \\u0639\\u0644\\u0645 \\u0628\\u0645\\u0627 \\u064a\\u062a\\u0645 \\u0627\\u0644\\u0642\\u064a\\u0627\\u0645 \\u0628\\u0647 \\u0644\\u0647\\u0645 \\u0648 \\u0628\\u064a\\u0627\\u0646\\u0627\\u062a\\u0647\\u0645. \\u0648\\u062a\\u0641\\u0636\\u0644 \\u0627\\u0644\\u0623\\u063a\\u0644\\u0628\\u064a\\u0629 \\u0627\\u0644\\u0631\\u0627\\u062d\\u0629 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u062e\\u0635\\u0648\\u0635\\u064a\\u0629. \\u0648 \\u0647\\u0630\\u0627 \\u062c\\u064a\\u062f.</p>\"},{\"location\":\"ar/permission-references/\",\"title\":\"\\u0645\\u0631\\u0627\\u062c\\u0639 \\u0627\\u0644\\u0635\\u0644\\u0627\\u062d\\u064a\\u0627\\u062a\",\"text\":\"<p>\\u0644\\u0646\\u0641\\u062a\\u0631\\u0636 \\u0623\\u0646\\u0643 \\u0642\\u0636\\u062a \\u0643\\u0627\\u0645\\u0644 \\u0648\\u0642\\u062a \\u0625\\u0639\\u062f\\u0627\\u062f \\u064a\\u0648\\u0645 \\u0627\\u0644\\u0623\\u062d\\u062f \\u0627\\u0644\\u0645\\u0637\\u0644\\u0648\\u0628 \\u0639\\u0644\\u0649 \\u0623\\u0643\\u062b\\u0631 \\u0645\\u0646 200 \\u062a\\u0637\\u0628\\u064a\\u0642 \\u0645\\u062b\\u0628\\u062a. \\u0648:</p> <ul> <li>\\u0641\\u064a \\u0627\\u0644\\u0634\\u0647\\u0631 \\u0627\\u0644\\u062a\\u0627\\u0644\\u064a \\u0642\\u0645\\u062a \\u0628\\u062a\\u0631\\u0642\\u064a\\u0629 \\u062c\\u0647\\u0627\\u0632\\u0643\\u060c \\u0623\\u0648 \\u062a\\u062b\\u0628\\u064a\\u062a ROM \\u062c\\u062f\\u064a\\u062f.</li> <li>\\u0623\\u0648 \\u0642\\u0645\\u062a \\u0628\\u0625\\u0644\\u063a\\u0627\\u0621 \\u062a\\u062b\\u0628\\u064a\\u062a \\u0648\\u0625\\u0639\\u0627\\u062f\\u0629 \\u062a\\u062b\\u0628\\u064a\\u062a \\u0628\\u0639\\u0636 \\u0645\\u0646 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0644\\u0633\\u0628\\u0628 \\u0645\\u0627.</li> <li>\\u0623\\u0648 \\u0645\\u0646\\u062d\\u062a \\u0628\\u0639\\u0636 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a\\u060c \\u0643\\u0645\\u0627 \\u0637\\u0644\\u0628\\u062a\\u0647 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a.</li> </ul> <p>\\u0647\\u0644 \\u0633\\u062a\\u062e\\u0648\\u0636 \\u0643\\u0644 \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0645\\u062a\\u0627\\u0639\\u0628 \\u0645\\u0631\\u0629 \\u0623\\u062e\\u0631\\u0649\\u061f</p> <p>\\u0644\\u0627 \\u062a\\u062d\\u062a\\u0627\\u062c \\u0625\\u0644\\u0649 \\u0630\\u0644\\u0643. \\u064a\\u0645\\u0643\\u0646\\u0643 \\u062c\\u0639\\u0644 PMX \\u064a\\u062a\\u0630\\u0643\\u0631 \\u062d\\u0627\\u0644\\u0629 \\u0627\\u0644\\u0635\\u0644\\u0627\\u062d\\u064a\\u0629 \\u0627\\u0644\\u0645\\u0637\\u0644\\u0648\\u0628\\u0629 \\u0644\\u062f\\u064a\\u0643. \\u0642\\u0645 \\u0628\\u062a\\u0639\\u064a\\u064a\\u0646 \\u0625\\u0630\\u0646\\u060c \\u0648\\u0627\\u062c\\u0639\\u0644\\u0647 \\u0623\\u062e\\u0636\\u0631\\u060c \\u0648\\u0627\\u0646\\u062a\\u0647\\u0649 \\u0627\\u0644\\u0623\\u0645\\u0631. \\u0633\\u0648\\u0641 \\u064a\\u0633\\u062a\\u063a\\u0631\\u0642 \\u0627\\u0644\\u0623\\u0645\\u0631 \\u0628\\u0636\\u0639 \\u0644\\u062d\\u0638\\u0627\\u062a \\u0644\\u0644\\u0646\\u0638\\u0631 \\u0641\\u064a \\u062c\\u0645\\u064a\\u0639 \\u0627\\u0644\\u062d\\u0632\\u0645 \\u0627\\u0644\\u0645\\u062b\\u0628\\u062a\\u0629 \\u0648\\u0627\\u0643\\u062a\\u0634\\u0641 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u062a\\u064a \\u0644\\u0645 \\u064a\\u062a\\u0645 \\u062a\\u0639\\u064a\\u064a\\u0646\\u0647\\u0627 \\u0628\\u0634\\u0643\\u0644 \\u0635\\u062d\\u064a\\u062d. . \\u0628\\u0625\\u062c\\u0631\\u0627\\u0621 \\u0628\\u062d\\u062b \\u0633\\u0631\\u064a\\u0639: <code>:RED|:ORANGE</code> \\u0623\\u0648 <code>!:GREEN</code>. \\u0631\\u0627\\u062c\\u0639 Search \\u0644\\u0645\\u0632\\u064a\\u062f \\u0645\\u0646 \\u0627\\u0644\\u062a\\u0641\\u0627\\u0635\\u064a\\u0644.</p> <p>\\u0627\\u0644\\u062d\\u0627\\u0644\\u0627\\u062a \\u0627\\u0644\\u0645\\u0631\\u062c\\u0639\\u064a\\u0629 \\u0627\\u0644\\u062b\\u0644\\u0627\\u062b \\u0647\\u064a:</p> <ul> <li>\\u062a\\u0634\\u064a\\u0631 \\u0627\\u0644\\u062d\\u0627\\u0644\\u0629 \\u0627\\u0644\\u0628\\u0631\\u062a\\u0642\\u0627\\u0644\\u064a\\u0629 \\u0625\\u0644\\u0649 \\u0639\\u062f\\u0645 \\u062a\\u0639\\u064a\\u064a\\u0646 \\u0623\\u064a \\u0642\\u064a\\u0645\\u0629 \\u0645\\u0631\\u062c\\u0639\\u064a\\u0629.</li> <li>\\u064a\\u0634\\u064a\\u0631 \\u0627\\u0644\\u0644\\u0648\\u0646 \\u0627\\u0644\\u0623\\u062e\\u0636\\u0631 \\u0625\\u0644\\u0649 \\u0623\\u0646 \\u0627\\u0644\\u0642\\u064a\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0631\\u062c\\u0639\\u064a\\u0629 \\u062a\\u062a\\u0637\\u0627\\u0628\\u0642 \\u0645\\u0639 \\u0627\\u0644\\u0642\\u064a\\u0645\\u0629 \\u0627\\u0644\\u0645\\u062d\\u062f\\u062f\\u0629 \\u062d\\u0627\\u0644\\u064a\\u064b\\u0627.</li> <li>\\u064a\\u0634\\u064a\\u0631 \\u0627\\u0644\\u0644\\u0648\\u0646 \\u0627\\u0644\\u0623\\u062d\\u0645\\u0631 \\u0625\\u0644\\u0649 \\u0627\\u062e\\u062a\\u0644\\u0627\\u0641 \\u0627\\u0644\\u0642\\u064a\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0631\\u062c\\u0639\\u064a\\u0629 \\u0648\\u0627\\u0644\\u0642\\u064a\\u0645\\u0629 \\u0627\\u0644\\u0645\\u062d\\u062f\\u062f\\u0629.</li> </ul> <p>\\u064a\\u0645\\u0643\\u0646 \\u0627\\u0644\\u0646\\u0633\\u062e \\u0627\\u0644\\u0627\\u062d\\u062a\\u064a\\u0627\\u0637\\u064a \\u0648\\u0627\\u0644\\u0627\\u0633\\u062a\\u0639\\u0627\\u062f\\u0629 \\u0644\\u062d\\u0627\\u0644\\u0627\\u062a \\u0627\\u0644\\u0645\\u0631\\u062c\\u0639 \\u0628\\u0633\\u0647\\u0648\\u0644\\u0629. \\u0628\\u0639\\u062f \\u0627\\u0644\\u0627\\u0633\\u062a\\u0639\\u0627\\u062f\\u0629\\u060c \\u0647\\u0646\\u0627\\u0643 \\u0637\\u0631\\u064a\\u0642\\u0629 \\u0645\\u0646\\u0627\\u0633\\u0628\\u0629 \\u0644\\u062a\\u0639\\u064a\\u064a\\u0646 \\u062c\\u0645\\u064a\\u0639 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0648\\u0641\\u0642\\u0627 \\u0644\\u0644\\u0645\\u0631\\u0627\\u062c\\u0639 \\u0627\\u0644\\u0645\\u0633\\u062a\\u0639\\u0627\\u062f\\u0629. \\u0627\\u0646\\u0638\\u0631 \\u0639\\u0645\\u0644\\u064a\\u0627\\u062a \\u0627\\u0644\\u062f\\u0641\\u0639\\u0629.</p> <p>\\u0647\\u0646\\u0627\\u0643 \\u0637\\u0631\\u0642 \\u0645\\u062a\\u0639\\u062f\\u062f\\u0629 \\u064a\\u0645\\u0643\\u0646\\u0643 \\u062a\\u0639\\u064a\\u064a\\u0646 \\u0645\\u0631\\u062c\\u0639:</p> <ul> <li>\\u0627\\u0636\\u063a\\u0637 \\u0645\\u0637\\u0648\\u0644\\u0627\\u064b \\u0639\\u0644\\u0649 \\u0625\\u0630\\u0646 \\u0648\\u0627\\u0636\\u063a\\u0637 \\u0639\\u0644\\u0649 \\u0632\\u0631 \\\"\\u062a\\u0639\\u064a\\u064a\\u0646 \\u0627\\u0644\\u0645\\u0631\\u062c\\u0639\\\" / \\\"\\u0645\\u0633\\u062d \\u0627\\u0644\\u0645\\u0631\\u062c\\u0639\\\".</li> <li>\\u0647\\u0646\\u0627\\u0643 \\u062e\\u064a\\u0627\\u0631 \\u0627\\u0644\\u0642\\u0627\\u0626\\u0645\\u0629 \\u0627\\u0644\\u0639\\u0644\\u064a\\u0627 \\u0641\\u064a \\u0643\\u0644 \\u0634\\u0627\\u0634\\u0629 \\u0642\\u0627\\u0626\\u0645\\u0629 \\u0625\\u0630\\u0646 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0644\\u062a\\u0639\\u064a\\u064a\\u0646 \\u0623\\u0648 \\u0645\\u0633\\u062d \\u062c\\u0645\\u064a\\u0639 \\u0627\\u0644\\u0645\\u0631\\u0627\\u062c\\u0639.</li> <li>\\u062a\\u0639\\u064a\\u064a\\u0646 \\u0627\\u0644\\u0645\\u0631\\u0627\\u062c\\u0639 \\u0628\\u0627\\u0644\\u062c\\u0645\\u0644\\u0629 \\u0645\\u0639 \\u0639\\u0645\\u0644\\u064a\\u0627\\u062a \\u0627\\u0644\\u062f\\u0641\\u0639\\u0629.</li> <li>\\u062a\\u0645\\u0643\\u064a\\u0646 \\u062a\\u0641\\u0636\\u064a\\u0644 \\\"\\u062a\\u0639\\u064a\\u064a\\u0646 \\u0627\\u0644\\u0645\\u0631\\u062c\\u0639 \\u0627\\u0644\\u062a\\u0644\\u0642\\u0627\\u0626\\u064a\\\" \\u062a\\u062d\\u062a \\u0627\\u0644\\u0625\\u0639\\u062f\\u0627\\u062f\\u0627\\u062a \\u2192 \\u0627\\u0644\\u0625\\u0639\\u062f\\u0627\\u062f\\u0627\\u062a \\u0627\\u0644\\u0639\\u0627\\u0645\\u0629. \\u0644\\u0630\\u0627 \\u0643\\u0644\\u0645\\u0627 \\u0642\\u0645\\u062a \\u0628\\u062a\\u063a\\u064a\\u064a\\u0631 \\u062d\\u0627\\u0644\\u0629 \\u0627\\u0644\\u0625\\u0630\\u0646\\u060c \\u064a\\u062a\\u0645 \\u062a\\u0639\\u064a\\u064a\\u0646\\u0647\\u0627 \\u0643\\u0645\\u0631\\u062c\\u0639.</li> </ul>\"},{\"location\":\"ar/permission-view/\",\"title\":\"\\u0639\\u0631\\u0636 \\u0627\\u0644\\u0625\\u0630\\u0646\",\"text\":\"<p>\\u064a\\u0639\\u0631\\u0636 \\u0639\\u0631\\u0636 \\u0627\\u0644\\u0625\\u0630\\u0646 \\u0642\\u0627\\u0626\\u0645\\u0629 \\u0628\\u062c\\u0645\\u064a\\u0639 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0645\\u0639 \\u0639\\u062f\\u062f \\u0645\\u0646 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u062a\\u064a \\u062a\\u0633\\u062a\\u062e\\u062f\\u0645 \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a.</p> <p></p> <ol> <li>\\u0627\\u0633\\u0645 \\u0627\\u0644\\u0635\\u0644\\u0627\\u062d\\u064a\\u0651\\u0629</li> <li>\\u0645\\u0633\\u062a\\u0648\\u0649 \\u0627\\u0644\\u062d\\u0645\\u0627\\u064a\\u0629</li> <li>\\u0639\\u062f\\u062f \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a</li> <li>\\u062a\\u0645 \\u0645\\u0646\\u062d \\u0639\\u062f\\u062f \\u0627\\u0644\\u0635\\u0644\\u0627\\u062d\\u064a\\u0627\\u062a \\u0645\\u0646 \\u0625\\u062c\\u0645\\u0627\\u0644\\u064a \\u0639\\u062f\\u062f \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a. \\u064a\\u0645\\u0643\\u0646 \\u0623\\u0646 \\u064a\\u0643\\u0648\\u0646 \\u0627\\u0644\\u0623\\u062e\\u064a\\u0631 \\u0623\\u0643\\u0628\\u0631 \\u0645\\u0646 \\u0639\\u062f\\u062f \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0644\\u0623\\u0646 \\u0628\\u0639\\u0636 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0642\\u062f \\u062a\\u0633\\u062a\\u062e\\u062f\\u0645 \\u0625\\u0630\\u0646 AppOp \\u0645\\u0631\\u062a\\u064a\\u0646 (\\u0641\\u064a \\u0648\\u0636\\u0639 UID.</li> </ol> <p>\\u0639\\u0646\\u062f \\u062a\\u062d\\u062f\\u064a\\u062f \\u0627\\u0644\\u0625\\u0630\\u0646\\u060c \\u062a\\u0638\\u0647\\u0631 \\u0642\\u0627\\u0626\\u0645\\u0629 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u062a\\u064a \\u062a\\u0633\\u062a\\u062e\\u062f\\u0645 \\u0647\\u0630\\u0627 \\u0627\\u0644\\u0625\\u0630\\u0646:</p> <p></p> <ol> <li>\\u0627\\u0633\\u0645 \\u0627\\u0644\\u0635\\u0644\\u0627\\u062d\\u064a\\u0651\\u0629</li> <li>\\u0648\\u0635\\u0641 \\u0627\\u0644\\u0635\\u0644\\u0627\\u062d\\u064a\\u0629</li> <li>\\u0627\\u0644\\u0639\\u0644\\u0645 \\u0627\\u0644\\u0630\\u064a \\u064a\\u0634\\u064a\\u0631 \\u0625\\u0644\\u0649 \\u0623\\u0646 \\u0627\\u0644\\u0625\\u0630\\u0646 \\u0645\\u0645\\u0646\\u0648\\u062d</li> <li>\\u0623\\u064a\\u0642\\u0648\\u0646\\u0629 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642</li> <li>\\u062a\\u0633\\u0645\\u064a\\u0629 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642</li> <li>\\u0627\\u0633\\u0645 \\u0627\\u0644\\u062d\\u0632\\u0645\\u0629</li> <li>\\u0645\\u0639\\u0631\\u0641 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642</li> </ol> <p>\\u0639\\u0646\\u062f \\u062a\\u062d\\u062f\\u064a\\u062f \\u062a\\u0637\\u0628\\u064a\\u0642\\u060c \\u062a\\u0641\\u062a\\u062d \\u0642\\u0627\\u0626\\u0645\\u0629 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u062d\\u064a\\u062b \\u064a\\u0645\\u0643\\u0646\\u0643 \\u062a\\u063a\\u064a\\u064a\\u0631 \\u062d\\u0627\\u0644\\u0629 \\u0627\\u0644\\u0625\\u0630\\u0646.</p>\"},{\"location\":\"ar/permission-watcher/\",\"title\":\"\\u0645\\u0631\\u0627\\u0642\\u0628 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a\",\"text\":\"<p>\\u0628\\u0639\\u0636 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0644\\u0627 \\u062a\\u0639\\u0645\\u0644 \\u0628\\u062f\\u0648\\u0646 \\u0627\\u0644\\u062d\\u0635\\u0648\\u0644 \\u0639\\u0644\\u0649 \\u0625\\u0630\\u0646 \\u0645\\u0639\\u064a\\u0646. \\u0644\\u0643\\u0646\\u0643 \\u062a\\u0631\\u064a\\u062f \\u0645\\u0646\\u062d \\u0627\\u0644\\u0625\\u0630\\u0646 \\u0644\\u0647\\u0630\\u0627 \\u0627\\u0644\\u0648\\u0642\\u062a \\u0641\\u0642\\u0637 \\u0639\\u0646\\u062f\\u0645\\u0627 \\u062a\\u0633\\u062a\\u062e\\u062f\\u0645 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u060c \\u0648\\u0623\\u0644\\u063a\\u064a \\u0627\\u0644\\u0625\\u0630\\u0646 \\u062d\\u0627\\u0644\\u0645\\u0627 \\u062a\\u063a\\u0627\\u062f\\u0631 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642.</p> <p>\\u0645\\u0631\\u0627\\u0642\\u0628 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u064a\\u0641\\u0639\\u0644 \\u0630\\u0644\\u0643 \\u0628\\u0627\\u0644\\u0636\\u0628\\u0637. \\u0628\\u0645\\u062c\\u0631\\u062f \\u0645\\u063a\\u0627\\u062f\\u0631\\u0629 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u060c \\u0623\\u0648 \\u0628\\u0639\\u062f \\u0627\\u0646\\u0642\\u0636\\u0627\\u0621 \\u0627\\u0644\\u0648\\u0642\\u062a \\u0627\\u0644\\u0645\\u062d\\u062f\\u062f\\u060c \\u064a\\u0644\\u063a\\u064a \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 (manifest \\u0648 AppOp) \\u0645\\u0646 \\u062a\\u0644\\u0642\\u0627\\u0621 \\u0646\\u0641\\u0633\\u0647\\u060c \\u0623\\u0648 \\u064a\\u0637\\u0644\\u0628 \\u0645\\u0646\\u0643 \\u0627\\u0644\\u0642\\u064a\\u0627\\u0645 \\u0628\\u0630\\u0644\\u0643\\u060c \\u0627\\u0639\\u062a\\u0645\\u0627\\u062f\\u0627\\u064b \\u0639\\u0644\\u0649 \\u0627\\u0644\\u062a\\u0641\\u0636\\u064a\\u0644\\u0627\\u062a \\u0627\\u0644\\u062a\\u064a \\u0642\\u0645\\u062a \\u0628\\u062a\\u0639\\u064a\\u064a\\u0646\\u0647\\u0627.</p> <p></p> <p>\\u064a\\u0642\\u0648\\u0645 \\u0645\\u0631\\u0627\\u0642\\u0628 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0623\\u064a\\u0636\\u0627 \\u0628\\u0625\\u0639\\u0644\\u0627\\u0645\\u0643 \\u0628\\u062a\\u0639\\u064a\\u064a\\u0646 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0639\\u0644\\u0649 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0645\\u062b\\u0628\\u062a\\u0629 \\u062d\\u062f\\u064a\\u062b\\u0627 (\\u0641\\u064a \\u0627\\u0644\\u0645\\u0644\\u0641 \\u0627\\u0644\\u0634\\u062e\\u0635\\u064a \\u0644\\u0644\\u0645\\u0633\\u062a\\u062e\\u062f\\u0645 \\u0627\\u0644\\u0631\\u0626\\u064a\\u0633\\u064a / \\u0627\\u0644\\u0645\\u0627\\u0644\\u0643 \\u0641\\u0642\\u0637).</p> <p></p> <p>\\u0645\\u0644\\u0627\\u062d\\u0638\\u0629:</p> <ul> <li>\\u064a\\u062a\\u0645 \\u0625\\u0644\\u063a\\u0627\\u0621 \\u0641\\u0642\\u0637 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0645\\u0639 \\u062d\\u0627\\u0644\\u0629 \\u0627\\u0644\\u0645\\u0631\\u062c\\u0639 RED \\u060c \\u0648\\u0644\\u064a\\u0633 \\u062a\\u0644\\u0643 \\u0645\\u0639 \\u0627\\u0644\\u062d\\u0627\\u0644\\u0629 ORANGE. \\u0644\\u0630\\u0627 \\u0641\\u0623\\u0646\\u062a MUST \\u0623\\u0648\\u0644\\u0627\\u064b \\u062a\\u0642\\u0648\\u0645 \\u0628\\u062a\\u0639\\u064a\\u064a\\u0646 \\u0627\\u0644\\u0628\\u064a\\u0627\\u0646\\u0627\\u062a \\u0627\\u0644\\u0645\\u0631\\u062c\\u0639\\u064a\\u0629. \\u0627\\u0646\\u0638\\u0631 \\u0645\\u0631\\u0627\\u062c\\u0639 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a.</li> <li>Manifest \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0641\\u0642\\u0637 \\u0645\\u0639 \\u062e\\u0637\\u0631 \\u0645\\u0633\\u062a\\u0648\\u0649 \\u0627\\u0644\\u062d\\u0645\\u0627\\u064a\\u0629 \\u064a\\u062a\\u0645 \\u0645\\u0631\\u0627\\u0642\\u0628\\u062a\\u0647\\u0627. \\u0647\\u0630\\u0647 \\u0647\\u064a \\u0627\\u0644\\u062a\\u064a \\u062a\\u062a\\u063a\\u064a\\u0631 \\u0639\\u0627\\u062f\\u0629. \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u062a\\u064a \\u062a\\u062d\\u062a\\u0648\\u064a \\u0639\\u0644\\u0649 \\u062a\\u0648\\u0642\\u064a\\u0639 \\u0623\\u0648 \\u062a\\u0637\\u0648\\u064a\\u0631 \\u0645\\u0633\\u062a\\u0648\\u0649 \\u062d\\u0645\\u0627\\u064a\\u0629 \\u0623\\u0648 \\u062a\\u0644\\u0643 \\u0627\\u0644\\u062a\\u064a \\u062a\\u062d\\u0645\\u0644 \\u0646\\u0638\\u0627\\u0645 \\u0645\\u062d\\u062f\\u062f \\u0627\\u0644\\u0639\\u0644\\u0645 \\u0644\\u0627 \\u062a\\u062e\\u0636\\u0639 \\u0644\\u0644\\u0645\\u0631\\u0627\\u0642\\u0628\\u0629\\u060c \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0631\\u063a\\u0645 \\u0645\\u0646 \\u0623\\u0646\\u0647\\u0627 \\u0642\\u0627\\u0628\\u0644\\u0629 \\u0644\\u0644\\u062a\\u063a\\u064a\\u064a\\u0631.</li> <li>PMX \\u064a\\u0634\\u0627\\u0647\\u062f \\u0641\\u0642\\u0637 \\u0627\\u0644\\u0645\\u0633\\u062a\\u062e\\u062f\\u0645-\\u0627\\u0644\\u0645\\u062b\\u0628\\u062a \\u0623\\u0648 \\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0646\\u0638\\u0627\\u0645 \\u0627\\u0644\\u0639\\u0627\\u062f\\u064a\\u0629\\u060c \\u0648\\u0644\\u064a\\u0633 \\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0625\\u0637\\u0627\\u0631. \\u0642\\u062f \\u064a\\u0624\\u062f\\u064a \\u062a\\u063a\\u064a\\u064a\\u0631\\u0647\\u0627 \\u0625\\u0644\\u0649 \\u0637\\u0648\\u0628 \\u0627\\u0644\\u062c\\u0647\\u0627\\u0632.</li> <li>\\u0641\\u064a \\u0628\\u0639\\u0636 \\u0627\\u0644\\u0623\\u062c\\u0647\\u0632\\u0629 \\u0642\\u062f \\u0644\\u0627 \\u064a\\u0639\\u0645\\u0644 \\u0645\\u0631\\u0627\\u0642\\u0628 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0628\\u0634\\u0643\\u0644 \\u0645\\u0648\\u062b\\u0648\\u0642 \\u0644\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0641\\u064a \\u0627\\u0644\\u0645\\u0633\\u062a\\u062e\\u062f\\u0645 \\u0627\\u0644\\u062b\\u0627\\u0646\\u0648\\u064a/\\u0627\\u0644\\u0645\\u0644\\u0641 \\u0627\\u0644\\u0634\\u062e\\u0635\\u064a. \\u064a\\u0648\\u0635\\u0649 \\u0628\\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645\\u0647 \\u0645\\u0639 \\u0627\\u0644\\u0645\\u062f\\u0642\\u0642 \\u0627\\u0644\\u0645\\u062c\\u062f\\u0648\\u0644.</li> </ul> <p>\\u0644\\u0645\\u0627\\u0630\\u0627 \\u0641\\u0634\\u0644 \\u0628\\u062f\\u0621 \\u0645\\u0631\\u0627\\u0642\\u0628\\u0629 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a\\u061f</p> <p>\\u0647\\u0644 \\u062a\\u0633\\u062a\\u062e\\u062f\\u0645 ADB\\u061f \\u0628\\u0639\\u0636 \\u0645\\u0635\\u0646\\u0639\\u064a \\u0627\\u0644\\u0645\\u0639\\u062f\\u0627\\u062a \\u0627\\u0644\\u0623\\u0635\\u0644\\u064a\\u0629 \\u064a\\u0632\\u064a\\u0644\\u0648\\u0646 \\u0627\\u0644\\u0625\\u0630\\u0646 <code>OBSERVE_GRANT_REVOKE_PERMISSIONS</code> \\u0623\\u0648 <code>SET_ACTIVITY_WATCHER</code> \\u0645\\u0646 \\u062d\\u0632\\u0645\\u0629 Shell. \\u0648\\u0625\\u0630\\u0627 \\u0643\\u0627\\u0646\\u062a \\u0647\\u0630\\u0647 \\u0647\\u064a \\u0627\\u0644\\u062d\\u0627\\u0644\\u0629 \\u0645\\u0639\\u0643\\u0645\\u060c \\u0641\\u0625\\u0646\\u0646\\u0627 \\u0646\\u0623\\u0633\\u0641 \\u0644\\u0630\\u0644\\u0643. \\u0648\\u0647\\u0630\\u0627 \\u0634\\u064a\\u0621 \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646\\u0646\\u0627 \\u0625\\u0635\\u0644\\u0627\\u062d\\u0647. \\u0639\\u0644\\u0649 \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0623\\u062c\\u0647\\u0632\\u0629 \\u0644\\u0627 \\u064a\\u0645\\u0643\\u0646 \\u0645\\u0631\\u0627\\u0642\\u0628\\u0629 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u0639\\u0645\\u0644 \\u0625\\u0644\\u0627 \\u0645\\u0639 \\u0627\\u0644\\u062c\\u0630\\u0631. \\u0627\\u0646\\u0638\\u0631 \\u062d\\u062f\\u0648\\u062f ADB.</p>\"},{\"location\":\"ar/scheduled-check/\",\"title\":\"\\u0627\\u0644\\u0641\\u062d\\u0635 \\u0627\\u0644\\u0645\\u062c\\u062f\\u0648\\u0644\",\"text\":\"<p>\\u0647\\u0644 \\u062a\\u0631\\u064a\\u062f \\u062a\\u062a\\u0628\\u0639 \\u0623\\u064a \\u062a\\u063a\\u064a\\u064a\\u0631\\u0627\\u062a \\u063a\\u064a\\u0631 \\u0645\\u0631\\u063a\\u0648\\u0628 \\u0641\\u064a\\u0647\\u0627 \\u0639\\u0644\\u0649 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u062c\\u0645\\u064a\\u0639 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u0645\\u062b\\u0628\\u062a\\u0629\\u061f \\u064a\\u0645\\u0643\\u0646 \\u0644\\u0644\\u0641\\u062d\\u0635 \\u0627\\u0644\\u0645\\u062c\\u062f\\u0648\\u0644 \\u0627\\u0644\\u0642\\u064a\\u0627\\u0645 \\u0628\\u0630\\u0644\\u0643 \\u0645\\u0646 \\u0623\\u062c\\u0644\\u0643 \\u0639\\u0644\\u0649 \\u0641\\u062a\\u0631\\u0627\\u062a \\u0645\\u0646\\u062a\\u0638\\u0645\\u0629 (\\u0628\\u0627\\u0644\\u062f\\u0642\\u0627\\u0626\\u0642 \\u0623\\u0648 \\u0627\\u0644\\u0633\\u0627\\u0639\\u0627\\u062a \\u0623\\u0648 \\u0627\\u0644\\u0623\\u064a\\u0627\\u0645).</p> <p>\\u062a\\u0639\\u064a\\u064a\\u0646 \\u0645\\u0631\\u0627\\u062c\\u0639 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0625\\u0644\\u0649 GREEN \\u0648\\u062a\\u0631\\u0643 \\u0627\\u0644\\u0628\\u0627\\u0642\\u064a \\u0625\\u0644\\u0649 PMX. \\u0625\\u0630\\u0627 \\u062a\\u0645 \\u0627\\u0644\\u0639\\u062b\\u0648\\u0631 \\u0639\\u0644\\u0649 \\u0623\\u064a \\u0625\\u0630\\u0646 \\u062a\\u0645 \\u062a\\u063a\\u064a\\u064a\\u0631\\u0647 (\\u0628\\u062d\\u0627\\u0644\\u0629 \\u062d\\u0645\\u0631\\u0627\\u0621 ) \\u0623\\u0648 \\u0639\\u0646\\u062f \\u0627\\u0644\\u0639\\u062b\\u0648\\u0631 \\u0639\\u0644\\u0649 \\u062a\\u0637\\u0628\\u064a\\u0642 \\u062c\\u062f\\u064a\\u062f \\u062a\\u0645 \\u062a\\u062b\\u0628\\u064a\\u062a\\u0647 (\\u0628\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0628\\u062d\\u0627\\u0644\\u0629 \\u0628\\u0631\\u062a\\u0642\\u0627\\u0644\\u064a\\u0629 )\\u060c PMX \\u064a\\u0630\\u0643\\u0631\\u0643 \\u0628\\u0623\\u0646 \\u0647\\u0646\\u0627\\u0643 \\u0634\\u064a\\u0626\\u064b\\u0627 \\u0645\\u0627 \\u064a\\u062d\\u062a\\u0627\\u062c \\u0625\\u0644\\u0649 \\u0627\\u0647\\u062a\\u0645\\u0627\\u0645\\u0643.</p> <p>\\u0628\\u0627\\u0644\\u0625\\u0636\\u0627\\u0641\\u0629 \\u0625\\u0644\\u0649 \\u0630\\u0644\\u0643\\u060c \\u0625\\u0630\\u0627 \\u062a\\u0645 \\u062a\\u0643\\u0648\\u064a\\u0646\\u0647 \\u0641\\u064a \\u0627\\u0644\\u062a\\u0641\\u0636\\u064a\\u0644\\u0627\\u062a\\u060c \\u064a\\u0645\\u0643\\u0646 \\u0644\\u0644\\u0641\\u062d\\u0635 \\u0627\\u0644\\u0645\\u062c\\u062f\\u0648\\u0644 \\u0623\\u0646 \\u064a\\u0644\\u063a\\u064a \\u062a\\u0644\\u0642\\u0627\\u0626\\u064a\\u0627\\u064b \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u0645\\u0645\\u0646\\u0648\\u062d\\u0629 \\u064a\\u0639\\u0642\\u0628\\u0647\\u0627 \\u0625\\u0634\\u0639\\u0627\\u0631 \\u0645\\u0639\\u0644\\u0648\\u0645\\u0627\\u062a\\u064a.</p>\"},{\"location\":\"ar/search/\",\"title\":\"\\u0628\\u062d\\u062b\",\"text\":\"<p>\\u0639\\u0627\\u062f\\u0629 \\u064a\\u062a\\u0645 \\u0627\\u0644\\u0628\\u062d\\u062b \\u0639\\u0646 \\u062a\\u0633\\u0645\\u064a\\u0629 \\u0627\\u0644\\u062d\\u0632\\u0645\\u0629 \\u0648\\u0627\\u0644\\u0627\\u0633\\u0645 \\u0648 UID \\u0645\\u0646 \\u0642\\u0627\\u0626\\u0645\\u0629 \\u0645\\u0631\\u0626\\u064a\\u0629.</p> <p>\\u0645\\u0639 \\u0627\\u0644\\u0628\\u062d\\u062b \\u0627\\u0644\\u0639\\u0645\\u064a\\u0642\\u060c \\u064a\\u062a\\u0645 \\u0627\\u0644\\u0627\\u0633\\u062a\\u0639\\u0644\\u0627\\u0645 \\u0639\\u0646 \\u0627\\u0633\\u0645 \\u0627\\u0644\\u0625\\u0630\\u0646 \\u0648\\u0627\\u0644\\u0645\\u0639\\u0644\\u0645\\u0627\\u062a \\u0627\\u0644\\u0623\\u062e\\u0631\\u0649.</p> <p>\\u0644\\u0627\\u062d\\u0638 \\u0623\\u0646 \\u0645\\u0631\\u0634\\u062d\\u0627\\u062a \\u0627\\u0644\\u0627\\u0633\\u062a\\u0628\\u0639\\u0627\\u062f \\u0641\\u0639\\u0627\\u0644\\u0629 \\u0639\\u0646\\u062f \\u0625\\u062c\\u0631\\u0627\\u0621 \\u0627\\u0644\\u0628\\u062d\\u062b.</p> <p>\\u064a\\u0645\\u0643\\u0646\\u0643 \\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 \\u0627\\u0644\\u0643\\u0644\\u0645\\u0627\\u062a \\u0627\\u0644\\u0631\\u0626\\u064a\\u0633\\u064a\\u0629 \\u0627\\u0644\\u062e\\u0627\\u0635\\u0629 \\u0627\\u0644\\u062a\\u0627\\u0644\\u064a\\u0629 \\u0641\\u064a \\u0627\\u0644\\u0628\\u062d\\u062b:</p> <ul> <li> <p>\\u062d\\u0627\\u0644\\u0629 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642:</p> <p><code>:Critical</code> <code>:Framework</code> <code>:System</code> <code>:User</code> <code>:Disabled</code></p> </li> <li> <p>\\u0627\\u0644\\u062d\\u0627\\u0644\\u0629 \\u0627\\u0644\\u0645\\u0631\\u062c\\u0639\\u064a\\u0629:</p> <p><code>:ORANGE</code> <code>:GREEN</code> <code>:RED</code></p> </li> <li> <p>\\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0645\\u0633\\u062a\\u0648\\u0649 \\u0627\\u0644\\u062d\\u0645\\u0627\\u064a\\u0629:</p> <p><code>:Normal</code> <code>:Dangerous</code> <code>:Signature</code> <code>:Internal</code> <code>:Development</code> <code>:Privileged</code> <code>:Fixed</code> <code>:AppOps</code> <code>:Unknown</code></p> </li> <li> <p>\\u0644\\u0643\\u0644 UID AppOps:</p> <p><code>:UID</code></p> </li> <li> <p>AppOps \\u0645\\u0639 \\u0622\\u062e\\u0631 \\u0648\\u0642\\u062a \\u0644\\u0644\\u0648\\u0635\\u0648\\u0644 \\u0623\\u0648 \\u0627\\u0644\\u0631\\u0641\\u0636:</p> <p><code>:TIME</code></p> </li> <li> <p>\\u0627\\u0636\\u0627\\u0641\\u064a\\u0629 AppOps (\\u0644\\u0645 \\u064a\\u062a\\u0645 \\u0627\\u0633\\u062a\\u0628\\u0639\\u0627\\u062f\\u0647\\u0627 \\u0623\\u0628\\u062f\\u0627 \\u0641\\u064a \\u0625\\u0639\\u062f\\u0627\\u062f\\u0627\\u062a \\u0627\\u0644\\u062a\\u0635\\u0641\\u064a\\u0629):</p> <p><code>:EXTRA</code></p> </li> <li> <p><code>&amp;</code> (AND) \\u0648 <code>|</code> (OR) \\u0648 <code>!</code> (NOT) \\u0627\\u0644\\u0645\\u0634\\u063a\\u0644\\u0627\\u062a:</p> <p><code>Foo|Bar&amp;Baz</code></p> <p><code>Foo&amp;!Bar&amp;!Baz</code></p> </li> </ul> <p>\\u0648\\u062a\\u0638\\u0647\\u0631 \\u0627\\u0644\\u0646\\u0633\\u062e\\u0629 \\u0627\\u0644\\u0645\\u062f\\u0641\\u0648\\u0639\\u0629 \\u0623\\u064a\\u0636\\u0627 \\u0627\\u0642\\u062a\\u0631\\u0627\\u062d\\u0627\\u062a \\u0627\\u0644\\u0628\\u062d\\u062b (\\u0625\\u0630\\u0627 \\u062a\\u0645 \\u062a\\u0639\\u064a\\u064a\\u0646\\u0647\\u0627 \\u0641\\u064a \\u062a\\u0641\\u0636\\u064a\\u0644\\u0627\\u062a) \\u0644\\u062a\\u0633\\u0647\\u064a\\u0644 \\u0639\\u0645\\u0644\\u064a\\u0629 \\u0627\\u0644\\u0628\\u062d\\u062b.</p>\"},{\"location\":\"ar/use-with-adb/\",\"title\":\"\\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 PMX \\u0645\\u0639 ADB\",\"text\":\"\"},{\"location\":\"ar/use-with-adb/#limitations-of-adb\",\"title\":\"\\u0642\\u064a\\u0648\\u062f ADB\",\"text\":\"<p>ADB \\u0644\\u064a\\u0633 \\u0642\\u0648\\u064a \\u0645\\u062b\\u0644 \\u0627\\u0644\\u062c\\u0630\\u0631 \\u064a\\u0645\\u0643\\u0646\\u0643 \\u0627\\u0644\\u062a\\u062d\\u0642\\u0642 \\u0645\\u0646 \\u0627\\u0644\\u062d\\u0627\\u0644\\u0629 \\u0627\\u0644\\u062d\\u0627\\u0644\\u064a\\u0629 \\u0644\\u0645\\u0627 \\u064a\\u0645\\u0643\\u0646 \\u0623\\u0646 \\u064a\\u0642\\u0648\\u0645 \\u0628\\u0647 ADB \\u0641\\u064a \\u062d\\u0648\\u0644 \\u2192 \\u0627\\u0644\\u0627\\u0645\\u062a\\u064a\\u0627\\u0632\\u0627\\u062a (\\u0639\\u0646\\u0635\\u0631 \\u0627\\u0644\\u0642\\u0627\\u0626\\u0645\\u0629):</p> <p></p> <p>\\u0644\\u0645\\u0632\\u064a\\u062f \\u0645\\u0646 \\u0627\\u0644\\u062a\\u0641\\u0627\\u0635\\u064a\\u0644\\u060c \\u0627\\u0646\\u0638\\u0631 \\u062d\\u062f\\u0648\\u062f ADB. \\u0627\\u0646\\u0638\\u0631 \\u0623\\u064a\\u0636\\u0627 \\u0644\\u0645\\u0627\\u0630\\u0627 \\u0644\\u0627 \\u064a\\u0639\\u0645\\u0644 PMX \\u0628\\u0634\\u0643\\u0644 \\u0635\\u062d\\u064a\\u062d \\u0639\\u0644\\u0649 \\u0623\\u0646\\u0638\\u0645\\u0629 \\u062a\\u0634\\u063a\\u064a\\u0644 OEM \\u0623\\u0648 \\u0645\\u062e\\u0635\\u0635 ROMs?</p>\"},{\"location\":\"ar/use-with-adb/#adb-guide\",\"title\":\"\\u062f\\u0644\\u064a\\u0644 ADB\",\"text\":\"<p>\\u064a\\u0631\\u062c\\u0649 \\u0627\\u0644\\u0627\\u0637\\u0644\\u0627\\u0639 \\u0639\\u0644\\u0649 ADB \\u0627\\u0644\\u0627\\u0642\\u062a\\u0631\\u0627\\u0646 / \\u062f\\u0644\\u064a\\u0644 \\u0627\\u0644\\u0627\\u062a\\u0635\\u0627\\u0644.</p>\"},{\"location\":\"ar/versions/\",\"title\":\"\\u0625\\u0635\\u062f\\u0627\\u0631\\u0627\\u062a PMX\",\"text\":\"<p>PMX \\u0645\\u062a\\u0648\\u0641\\u0631 \\u0641\\u064a \\u0645\\u062a\\u063a\\u064a\\u0631\\u064a\\u0646: \\u0645\\u062f\\u0641\\u0648\\u0639 \\u0648 \\u0645\\u062c\\u0627\\u0646\\u064a. \\u0627\\u0644\\u0625\\u0635\\u062f\\u0627\\u0631 \\u0627\\u0644\\u0645\\u062f\\u0641\\u0648\\u0639 \\u0645\\u062a\\u0627\\u062d \\u0641\\u064a \\u0627\\u062b\\u0646\\u064a\\u0646 \\u0645\\u0646 \\u0627\\u0644\\u0645\\u062a\\u063a\\u064a\\u0631\\u0627\\u062a: Play Store \\u0648 Pro. \\u064a\\u062a\\u0645 \\u0627\\u0637\\u0644\\u0627\\u0642 \\u0623\\u062d\\u062f\\u062b APKs \\u0641\\u064a \\u0645\\u062a\\u062c\\u0631 Play \\u0648 GitHub \\u0648\\u0642\\u0646\\u0627\\u0629 Telegram</p>\"},{\"location\":\"ar/versions/#paid-features\",\"title\":\"\\u0627\\u0644\\u0645\\u064a\\u0632\\u0627\\u062a \\u0627\\u0644\\u0645\\u062f\\u0641\\u0648\\u0639\\u0629\",\"text\":\"<p>\\u0627\\u0644\\u0625\\u0635\\u062f\\u0627\\u0631 \\u0627\\u0644\\u0645\\u062f\\u0641\\u0648\\u0639 \\u064a\\u062a\\u0636\\u0645\\u0646 \\u0643\\u0644 \\u0634\\u064a\\u0621 \\u0641\\u064a \\u0627\\u0644\\u0625\\u0635\\u062f\\u0627\\u0631 \\u0627\\u0644\\u0645\\u062c\\u0627\\u0646\\u064a\\u060c \\u0628\\u0627\\u0644\\u0625\\u0636\\u0627\\u0641\\u0629 \\u0625\\u0644\\u0649 \\u0627\\u0644\\u0645\\u064a\\u0632\\u0627\\u062a \\u0627\\u0644\\u0625\\u0636\\u0627\\u0641\\u064a\\u0629 \\u0627\\u0644\\u062a\\u0627\\u0644\\u064a\\u0629 \\u0627\\u0644\\u062a\\u064a \\u062a\\u0631\\u062f \\u0623\\u064a\\u0636\\u064b\\u0627 \\u0641\\u064a \\u0648\\u0635\\u0641 \\u0645\\u062a\\u062c\\u0631 \\u0628\\u0644\\u0627\\u064a:</p> <ul> <li>\\u0627\\u0644\\u062a\\u062d\\u0642\\u0642 \\u0627\\u0644\\u0645\\u062c\\u062f\\u0648\\u0644 \\u0644\\u0625\\u0634\\u0639\\u0627\\u0631 \\u0627\\u0644\\u062d\\u0627\\u0644\\u0627\\u062a \\u0627\\u0644\\u0645\\u0631\\u062c\\u0639\\u064a\\u0629 \\u0627\\u0644\\u0633\\u064a\\u0626\\u0629</li> <li>\\u0631\\u0627\\u0642\\u0628 \\u0627\\u0644\\u062a\\u063a\\u064a\\u064a\\u0631\\u0627\\u062a \\u0641\\u064a \\u0627\\u0644\\u0635\\u0644\\u0627\\u062d\\u064a\\u0627\\u062a \\u0648 \\u0627\\u0644\\u062a\\u0631\\u0627\\u062c\\u0639 \\u0639\\u0646\\u0647\\u0627</li> <li>\\u0627\\u0644\\u0625\\u0644\\u063a\\u0627\\u0621 \\u0627\\u0644\\u062a\\u0644\\u0642\\u0627\\u0626\\u064a \\u0644\\u0644\\u0635\\u0644\\u0627\\u062d\\u064a\\u0627\\u062a \\u0627\\u0644\\u0645\\u0645\\u0646\\u0648\\u062d\\u0629 \\u0645\\u0639 \\u062d\\u0627\\u0644\\u0627\\u062a RED</li> <li>\\u0625\\u062c\\u0631\\u0627\\u0621 \\u062a\\u063a\\u064a\\u064a\\u0631\\u0627\\u062a \\u0639\\u0644\\u0649 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642\\u0627\\u062a \\u0648\\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u062d\\u0631\\u062c\\u0629</li> <li>\\u0645\\u0633\\u062a\\u062e\\u062f\\u0645\\u064a\\u0646 \\u0645\\u062a\\u0639\\u062f\\u062f\\u064a\\u0646 / \\u062f\\u0639\\u0645 \\u0627\\u0644\\u0645\\u0644\\u0641 \\u0627\\u0644\\u0634\\u062e\\u0635\\u064a \\u0644\\u0644\\u0639\\u0645\\u0644</li> <li>\\u0639\\u0645\\u0644\\u064a\\u0627\\u062a \\u0627\\u0644\\u062f\\u064f\\u0641\\u0639\\u0627\\u062a (\\u0627\\u0644\\u0645\\u0644\\u0641\\u0627\\u062a \\u0627\\u0644\\u0634\\u062e\\u0635\\u064a\\u0629)</li> <li>\\u0639\\u0631\\u0636 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a</li> </ul>\"},{\"location\":\"ar/whatsrunning-integration/\",\"title\":\"\\u0627\\u0644\\u062a\\u0643\\u0627\\u0645\\u0644 \\u0645\\u0639 WhatsRunning\",\"text\":\"<p>\\u062a\\u0645 \\u062f\\u0645\\u062c PMX \\u0645\\u0639 WhatsRunning \\u062d\\u062a\\u0649 \\u062a\\u062a\\u0645\\u0643\\u0646 \\u0645\\u0646 \\u0641\\u062a\\u062d \\u0648\\u0627\\u062d\\u062f \\u0645\\u0646 \\u0627\\u0644\\u0622\\u062e\\u0631.</p> <p> </p> <p>\\u0644\\u0630\\u0627 \\u0645\\u0646 PMX \\u064a\\u0645\\u0643\\u0646\\u0643 \\u0627\\u0644\\u062a\\u0628\\u062f\\u064a\\u0644 \\u0625\\u0644\\u0649 WhatsRunning \\u0644\\u0645\\u0639\\u0631\\u0641\\u0629 \\u0645\\u0627 \\u0625\\u0630\\u0627 \\u0643\\u0627\\u0646 \\u0627\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0630\\u0648 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u0645\\u0642\\u064a\\u062f\\u0629 \\u0644\\u0627 \\u064a\\u0632\\u0627\\u0644 \\u0642\\u064a\\u062f \\u0627\\u0644\\u062a\\u0634\\u063a\\u064a\\u0644. \\u0625\\u0630\\u0627 \\u0643\\u0627\\u0646 \\u0627\\u0644\\u062c\\u0648\\u0627\\u0628 \\u0628\\u0627\\u0644\\u0625\\u064a\\u062c\\u0627\\u0628\\u060c \\u0641\\u0645\\u0627 \\u0647\\u064a \\u0647\\u0630\\u0647 \\u0627\\u0644\\u062d\\u0627\\u0644\\u0629 \\u0648\\u0645\\u0627 \\u0647\\u064a \\u0627\\u0644\\u0645\\u0648\\u0627\\u0631\\u062f \\u0627\\u0644\\u062a\\u064a \\u062a\\u0633\\u062a\\u062e\\u062f\\u0645\\u0647\\u0627.</p> <p>\\u0648\\u0628\\u0627\\u0644\\u0645\\u062b\\u0644\\u060c \\u0645\\u0646 WhatsRunning \\u064a\\u0645\\u0643\\u0646\\u0643 \\u0627\\u0644\\u062a\\u0628\\u062f\\u064a\\u0644 \\u0625\\u0644\\u0649 PMX \\u0644\\u0645\\u0639\\u0631\\u0641\\u0629 \\u0645\\u0627 \\u0647\\u064a \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0627\\u0644\\u0645\\u0645\\u0646\\u0648\\u062d\\u0629 \\u0644\\u0644\\u062a\\u0637\\u0628\\u064a\\u0642 \\u0642\\u064a\\u062f \\u0627\\u0644\\u062a\\u0634\\u063a\\u064a\\u0644 (\\u0623\\u0648 \\u0627\\u0644\\u0645\\u064a\\u062a).</p> <p>\\u0647\\u0630\\u0627 \\u0645\\u0641\\u064a\\u062f \\u0628\\u0634\\u0643\\u0644 \\u062e\\u0627\\u0635 \\u0639\\u0646\\u062f \\u062a\\u062d\\u0644\\u064a\\u0644 \\u062a\\u0623\\u062b\\u064a\\u0631 \\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062a \\u0645\\u062b\\u0644 <code>RUN_IN_BACKGROUND</code>.</p>\"},{\"location\":\"zh/\",\"title\":\"\\u4ec0\\u4e48\\u662f\\u6743\\u9650\\u7ba1\\u7406X\\uff1f\",\"text\":\"<p>\\u8fd9\\u662f\\u9002\\u7528\\u4e8e\\u5b89\\u5353\\u7cfb\\u7edf\\u7684\\u6269\\u5c55\\u6743\\u9650\\u7ba1\\u7406\\u5668\\u5e94\\u7528\\uff0c\\u5b83\\u80fd\\u8f7b\\u677e\\u8bbe\\u7f6e\\u5e76\\u67e5\\u770b\\u5df2\\u5b89\\u88c5\\u5e94\\u7528\\u6240\\u9700\\u7684\\u6743\\u9650\\uff0c\\u540c\\u65f6\\u8ffd\\u8e2a\\u4efb\\u4f55\\u4e0d\\u53d7\\u6b22\\u8fce\\u7684\\u6743\\u9650\\u53d8\\u66f4\\u3002 \\u5e2e\\u52a9\\u60a8\\u66f4\\u597d\\u7684\\u63a7\\u5236\\u60a8\\u7684\\u8bbe\\u5907\\uff0c\\u4fdd\\u62a4\\u60a8\\u7684\\u9690\\u79c1\\u5e76\\u8282\\u7701\\u7535\\u91cf\\u7b49\\u3002</p> <p>PMX \\u5c06\\u6240\\u6709\\u5206\\u6563\\uff08\\u6216\\u65e0\\u6cd5\\u83b7\\u53d6\\uff09\\u7684\\u6743\\u9650\\u76f8\\u5173\\u4fe1\\u606f\\u548c\\u63a7\\u5236\\u9879\\u6574\\u5408\\u5230\\u5355\\u4e00\\u754c\\u9762\\uff0c\\u8ba9\\u60a8\\u80fd\\u591f\\u4ee5\\u5168\\u9762\\u4fbf\\u6377\\u7684\\u65b9\\u5f0f\\u67e5\\u770b\\u548c\\u7ba1\\u7406\\u5b83\\u4eec\\u3002</p> <p>\\u4f7f\\u7528 PMX \\uff0c\\u60a8\\u53ef\\u4ee5\\uff1a</p> <ul> <li>\\u67e5\\u770b/\\u6388\\u4e88/\\u64a4\\u9500\\u6240\\u6709\\u53ef\\u901a\\u8fc7\\u5e94\\u7528\\u8bbe\\u7f6e\\u754c\\u9762\\u8bbe\\u7f6e\\u6216\\u65e0\\u6cd5\\u8bbe\\u7f6e\\u7684manifest \\u6743\\u9650\\u3002 \\u65e0\\u6cd5\\u4ece\\u7cfb\\u7edf\\u8bbe\\u7f6e\\u4e2d\\u4fee\\u6539\\u7684\\u6743\\u9650\\u7531\\u5f88\\u591a</li> <li>\\u67e5\\u770b\\u6240\\u6709\\u901a\\u5e38\\u6ca1\\u6709\\u56fe\\u5f62\\u754c\\u9762\\u8bbe\\u7f6e\\u7684AppOp \\u6743\\u9650\\u3002 \\u4f8b\\u5982\\uff0c <code>VIBRATE</code> \\u4ee5\\u53ca <code>READ_CLIPBOARD</code>\\u3002 \\u60a8\\u53ef\\u4ee5\\u8bbe\\u7f6e\\u6240\\u9700\\u7684 AppOps \\u6a21\\u5f0f\\uff0c\\u4f8b\\u5982 \\u5ffd\\u7565 \\u6216 \\u524d\\u666f\\u3002</li> <li>\\u67e5\\u770b\\u5e94\\u7528\\u7a0b\\u5e8f\\u8bf7\\u6c42\\u7684\\u6240\\u6709\\u6743\\u9650\\uff0c\\u8fd9\\u4e9b\\u6743\\u9650\\u662f \\u4e0d\\u53ef\\u66f4\\u6539 \\u3002</li> <li>\\u67e5\\u770b\\u591a\\u4e2a AppOp \\u6743\\u9650\\u7684\\u6700\\u540e\\u4f7f\\u7528\\u65f6\\u95f4\\u3002</li> <li>\\u66f4\\u6539 System-fied \\u6743\\u9650\\uff0c\\u4e0d\\u80fd\\u901a\\u8fc7\\u4efb\\u4f55\\u5176\\u4ed6\\u65b9\\u5f0f\\u66f4\\u6539\\u3002</li> <li>\\u5b9e\\u65f6\\u76d1\\u89c6\\u6743\\u9650\\u53d8\\u5316\\u6216\\u6267\\u884c\\u8ba1\\u5212\\u626b\\u63cf</li> <li>\\u6309\\u8bb8\\u591a\\u53c2\\u6570\\u6392\\u5217\\u5e94\\u7528\\u548c\\u6743\\u9650\\uff0c\\u5305\\u62ec\\u5b89\\u88c5\\u65e5\\u671f\\u548c\\u6743\\u9650\\u6570\\u91cf</li> <li>\\u5728\\u5e94\\u7528\\u53ca\\u5176\\u6743\\u9650\\u4e2d\\u8fdb\\u884c\\u9ad8\\u7ea7\\u641c\\u7d22\\u67e5\\u8be2\\u3002</li> <li>\\u8fd8\\u6709\\u66f4\\u591a\\u7684\\u4e1c\\u897f\\u3002</li> </ul> <p>\\u53e6\\u89c1Github README \\u548c Play Store \\u63cf\\u8ff0\\u3002 \\u6216\\u53ea\\u662f\\u8bd5\\u8bd5\\u4e00\\u4e0b\\u3002 \\u6211\\u4eec\\u63d0\\u4f9b\\u514d\\u8d39\\u7248\\u672c\\u548c\\u4e00\\u4e2a\\u6708\\u7684\\u514d\\u8d39\\u5ba1\\u5224\\u3002</p> <p>\\u4ee4\\u4eba\\u60ca\\u5947\\u7684\\u662f\\uff1f \\u8ba9\\u6211\\u4eec\\u6765\\u4e86\\u89e3\\u7ec6\\u8282\\u3002</p> <ul> <li>\\u663e\\u5f0f\\u6743\\u9650\\u4e0e\\u5e94\\u7528\\u64cd\\u4f5c</li> <li>\\u8bb8\\u53ef\\u53c2\\u8003</li> <li>\\u7528\\u6237\\u63a5\\u53e3\\u5df2\\u89e3\\u91ca</li> <li>\\u641c\\u7d22</li> <li>\\u8ba1\\u5212\\u7684\\u68c0\\u67e5</li> <li>\\u6743\\u9650\\u76d1\\u89c6\\u5668</li> <li>\\u6743\\u9650\\u89c6\\u56fe</li> <li>\\u6279\\u91cf\\u64cd\\u4f5c</li> <li>\\u96c6\\u6210\\u4e0e WhatsRunning</li> <li>\\u4f7f\\u7528 PMX \\u4e0e ADB</li> <li>PMX \\u7248\\u672c</li> <li>\\u63f4\\u52a9\\u529f\\u80fd</li> <li>PMX \\u5e38\\u89c1\\u95ee\\u9898</li> <li>\\u4e0b\\u8f7d</li> <li>\\u622a\\u56fe</li> <li>\\u8054\\u7cfb\\u6211\\u4eec</li> </ul>\"},{\"location\":\"zh/#rate-review\",\"title\":\"\\u8bc4\\u5206/\\u8bc4\\u8bba/\\u8bc4\\u8bba/\\u66f4\\u65b0/\\u6052\\u661f\",\"text\":\"<ul> <li>Play \\u5546\\u5e97</li> <li>XDA</li> <li>GitHub</li> </ul>\"},{\"location\":\"zh/batch-operations/\",\"title\":\"\\u6279\\u91cf\\u64cd\\u4f5c\",\"text\":\"\"},{\"location\":\"zh/batch-operations/#permission-profiles\",\"title\":\"\\u6743\\u9650\\u914d\\u7f6e\\u6587\\u4ef6\",\"text\":\"<ul> <li>\\u521b\\u5efa\\u548c\\u7f16\\u8f91\\u6743\\u9650\\u914d\\u7f6e\\u6587\\u4ef6(\\u6a21\\u677f)\\u3002</li> <li>\\u5c06\\u914d\\u7f6e\\u6587\\u4ef6\\u5e94\\u7528\\u4e8e\\u6240\\u9009\\u5e94\\u7528\\u7a0b\\u5e8f\\u5217\\u8868\\u3002</li> <li>\\u9009\\u62e9\\u4e00\\u4e2a\\u9ed8\\u8ba4\\u914d\\u7f6e\\u6587\\u4ef6\\uff0c\\u7528\\u4e8e\\u5e94\\u7528\\u4e8e\\u65b0\\u5b89\\u88c5\\u7684\\u5e94\\u7528\\u7a0b\\u5e8f\\uff08\\u5982\\u679c\\u542f\\u7528\\u4e86\\u6743\\u9650\\u76d1\\u89c6\\u5668\\uff09\\u3002</li> </ul> <p>Here \\u662f\\u4e00\\u4e2a\\u5982\\u4f55\\u521b\\u5efa\\u548c\\u5e94\\u7528\\u4e2a\\u4eba\\u8d44\\u6599\\u7684\\u793a\\u4f8b\\u89c6\\u9891\\u6307\\u5357\\u3002</p>\"},{\"location\":\"zh/batch-operations/#operations-with-references\",\"title\":\"\\u5f15\\u7528\\u64cd\\u4f5c\",\"text\":\"\"},{\"location\":\"zh/batch-operations/#set-permissions\",\"title\":\"\\u8bbe\\u7f6e\\u6743\\u9650\",\"text\":\"<p>\\u904d\\u5386\\u9009\\u5b9a\\u5e94\\u7528\\u5217\\u8868\\uff0c\\u6839\\u636e\\u53c2\\u8003\\u503c\\u8bbe\\u7f6e\\u6743\\u9650\\u72b6\\u6001\\uff0c\\u5c06\\u7ea2\\u8272\\u6743\\u9650 \\u8f6c\\u4e3a\\u7eff\\u8272\\u3002 \\u7eff\\u8272\\u548c\\u6a59\\u8272\\u72b6\\u6001\\u7684\\u6743\\u9650\\u88ab\\u5ffd\\u7565\\u3002</p> <p>\\u5f53\\u60a8\\u521a\\u521a\\u6062\\u590d\\u5907\\u4efd\\u4e14\\u6709\\u5f88\\u591a\\u6743\\u9650\\u7684 RED \\u72b6\\u6001\\u65f6\\uff0c\\u6b64\\u9009\\u9879\\u901a\\u5e38\\u662f\\u6709\\u7528\\u7684\\u3002</p>\"},{\"location\":\"zh/batch-operations/#set-references\",\"title\":\"\\u8bbe\\u7f6e\\u5f15\\u7528\",\"text\":\"<p>\\u904d\\u5386\\u9009\\u5b9a\\u5e94\\u7528\\u5217\\u8868\\uff0c\\u6839\\u636e\\u6743\\u9650\\u72b6\\u6001\\u5c06\\u7ea2\\u8272\\u548c\\u6a59\\u8272\\u6743\\u9650\\u8bbe\\u7f6e\\u4e3a\\u7eff\\u8272\\uff0c\\u5177\\u4f53\\u64cd\\u4f5c\\u662f\\u4e3a\\u5176\\u53c2\\u8003\\u503c\\u8d4b\\u503c\\u3002</p> <p>\\u8fd9\\u4e2a\\u9009\\u9879\\u901a\\u5e38\\u5728\\u521d\\u59cb\\u8bbe\\u7f6e\\u4e2d\\u6709\\u7528\\u3002 \\u60a8\\u521a\\u521a\\u5b89\\u88c5\\u4e86 PMX \\u5e94\\u7528\\uff0c\\u5e76\\u82b1\\u4e86\\u51e0\\u4e2a\\u5c0f\\u65f6\\u8bbe\\u7f6e\\u6743\\u9650\\u3002 \\u6b64\\u9009\\u9879\\u5c06\\u4f7f\\u4ed6\\u4eec\\u5728\\u4e00\\u6b21\\u5355\\u51fb\\u4e2d\\u6240\\u6709\\u7684 GREEN\\u3002</p>\"},{\"location\":\"zh/batch-operations/#cleanup-references\",\"title\":\"\\u6e05\\u7406\\u53c2\\u8003\",\"text\":\"<p>\\u6e05\\u7406\\u6743\\u9650\\u53c2\\u8003\\u6570\\u636e\\u5e93 \\u672a\\u4f7f\\u7528\\u7684\\u5f15\\u7528\\u5c06\\u88ab\\u5220\\u9664\\u3002</p> <p>\\u5982\\u679c\\u6709\\u5927\\u91cf\\u672a\\u4f7f\\u7528\\u5f15\\u7528\\u7684\\u5217\\u8868\\uff0c\\u6e05\\u7406\\u53ef\\u80fd\\u4f1a\\u6539\\u8fdb\\u5e94\\u7528\\u5217\\u8868\\u7684\\u52a0\\u8f7d\\u3002</p>\"},{\"location\":\"zh/batch-operations/#reset-references\",\"title\":\"\\u91cd\\u7f6e\\u5f15\\u7528\",\"text\":\"<p>\\u91cd\\u7f6e\\u6743\\u9650\\u53c2\\u8003\\u6570\\u636e\\u5e93 \\u6240\\u6709\\u5f15\\u7528\\u5c06\\u88ab\\u5220\\u9664\\u3002</p> <p>\\u4e0d\\u6253\\u7b97\\u6b63\\u5e38\\u4f7f\\u7528\\u3002 \\u4f46\\u5982\\u679c\\u4f60\\u60f3\\u4ece\\u96f6\\u5f00\\u59cb\\u3002</p> <p></p>\"},{\"location\":\"zh/details/\",\"title\":\"\\u7528\\u6237\\u754c\\u9762\\u5df2\\u88ab\\u89e3\\u91ca\",\"text\":\"\"},{\"location\":\"zh/details/#apps-list\",\"title\":\"\\u5e94\\u7528\\u5217\\u8868\",\"text\":\"<ol> <li> <p>\\u5de6\\u4fa7\\u5f69\\u8272\\u6761\\u7eb9\\u8868\\u793a\\u53c2\\u8003\\u72b6\\u6001</p> </li> <li> <p>\\u5e94\\u7528\\u7a0b\\u5e8f \\u56fe\\u6807</p> </li> <li> <p>\\u7b2c\\u4e00\\u884c\\u663e\\u793a\\u5305 \\u6807\\u7b7e</p> </li> <li> <p>\\u7b2c\\u4e8c\\u884c\\u663e\\u793a\\u8f6f\\u4ef6\\u5305 name \\u548c</p> </li> <li> <p>\\u7528\\u6237ID</p> </li> <li> <p>\\u7b2c\\u4e09\\u884c(\\u53ef\\u9009) \\u663e\\u793a\\u5305\\u7684\\u72b6\\u6001\\uff1a\\u4e25\\u683c (\\u6846\\u67b6)\\u3001\\u6846\\u67b6 \\u6216 \\u7cfb\\u7edf \\u5e94\\u7528\\u3002 \\u540c\\u65f6\\u5982\\u679c\\u5e94\\u7528\\u7a0b\\u5e8f\\u88ab\\u7981\\u7528\\u3002 \\u542f\\u7528\\u3001\\u7528\\u6237\\u5e94\\u7528\\u7a0b\\u5e8f\\u6ca1\\u6709\\u663e\\u793a\\u72b6\\u6001\\u3002</p> </li> <li> <p>Last line shows count of visible out of total manifest permissions and</p> </li> <li> <p>AppOps \\u6743\\u9650.</p> <p>\\u4e0d\\u53ef\\u89c1\\u7684\\u6743\\u9650\\u662f \\u6392\\u9664\\u8fc7\\u6ee4\\u5668\\u4e2d\\u6392\\u9664\\u7684\\u6743\\u9650\\u3002</p> </li> <li> <p>\\u5982\\u679c\\u6309\\u5b89\\u88c5\\u6216\\u66f4\\u65b0\\u65f6\\u95f4\\u6392\\u5e8f\\uff0c\\u6700\\u540e\\u4e00\\u884c\\u4e5f\\u4f1a\\u5728\\u53f3\\u4fa7\\u663e\\u793a\\u65e5\\u671f\\u6216\\u65f6\\u95f4\\u3002</p> </li> </ol>\"},{\"location\":\"zh/details/#permissions-list\",\"title\":\"\\u6743\\u9650\\u5217\\u8868\",\"text\":\"<ol> <li>\\u5de6\\u4fa7\\u5f69\\u8272\\u6761\\u7eb9\\u8868\\u793a\\u53c2\\u8003\\u72b6\\u6001</li> <li>Manifest \\u6743\\u9650\\u5728\\u53f3\\u4e0a\\u89d2\\u663e\\u793a\\u4e00\\u4e2a\\u6807\\u8bb0</li> <li>\\u6743\\u9650 \\u56fe\\u6807</li> <li>\\u7b2c\\u4e00\\u884c\\u663e\\u793a \\u6743\\u9650\\u540d\\u79f0</li> <li>\\u7b2c\\u4e8c\\u884c\\u663e\\u793a\\u6743\\u9650\\u7684\\u4fdd\\u62a4\\u7ea7\\u522b\\uff1a\\u666e\\u901a\\u3001\\u5371\\u9669\\u3001\\u7b7e\\u540d\\u3001\\u5f00\\u53d1\\u3001\\u7279\\u6743\\u3001\\u56fa\\u5b9a\\u3001AppOps\\u6216\\u672a\\u77e5\\u3002 Also if AppOp is per Package or per UID. \\u5982\\u679c\\u5b83\\u662f\\u989d\\u5916\\u7684 AppOp \\uff08\\u5728\\u8fc7\\u6ee4\\u8bbe\\u7f6e\\u4e2d\\u6c38\\u4e0d\\u6392\\u9664\\uff09\\u3002</li> <li>\\u7b2c\\u4e09\\u884c\\uff08\\u5728 AppOp\\u7684\\u60c5\\u51b5\\u4e0b\\uff09\\u663e\\u793a \\u6700\\u540e\\u8bbf\\u95ee\\u6216\\u62d2\\u7edd\\u65f6\\u95f4</li> <li>\\u7b2c\\u56db\\u884c\\uff08\\u5f53 AppOp\\u65f6\\uff09\\u663e\\u793a\\u88ab\\u5f15\\u7528\\u7684\\u503c\\uff0c\\u5982\\u679c\\u8be5\\u503c\\u4e0e\\u5f53\\u524d\\u8bbe\\u7f6e\\u503c\\u4e0d\\u5339\\u914d\\u3002</li> <li>\\u5207\\u6362\\u5230\\u66f4\\u6539\\u6743\\u9650\\u72b6\\u6001</li> <li>\\u5f53\\u524d\\u72b6\\u6001\\uff08\\u9488\\u5bf9 AppOp\\u7684\\u60c5\\u51b5\\uff09</li> <li>\\u9ed8\\u8ba4\\u8868\\u793a AppOp \\u72b6\\u6001\\u4ece\\u672a\\u88ab\\u66f4\\u6539</li> </ol>\"},{\"location\":\"zh/faqs/\",\"title\":\"PMX \\u5e38\\u89c1\\u95ee\\u9898\",\"text\":\"\"},{\"location\":\"zh/faqs/#faq36\",\"title\":\"\\u4e3a\\u4ec0\\u4e48\\u6211\\u9700\\u8981\\u4f7f\\u7528 PMX\\uff1f\",\"text\":\"<p>\\u56e0\\u4e3a\\uff1a</p> <ul> <li>PMX \\u5c06\\u6240\\u6709\\u5206\\u6563\\uff08\\u6216\\u65e0\\u6cd5\\u83b7\\u53d6\\uff09\\u7684\\u6743\\u9650\\u76f8\\u5173\\u4fe1\\u606f\\u548c\\u63a7\\u5236\\u9879\\u6574\\u5408\\u5230\\u5355\\u4e00\\u754c\\u9762\\uff0c\\u8ba9\\u60a8\\u80fd\\u591f\\u4ee5\\u5168\\u9762\\u4fbf\\u6377\\u7684\\u65b9\\u5f0f\\u67e5\\u770b\\u5e76\\u7ba1\\u7406\\u5b83\\u4eec\\u3002</li> <li>\\u539f\\u751fAndroid\\u7cfb\\u7edf\\u4e2d\\u6ca1\\u6709\\u5b98\\u65b9\\u5de5\\u5177\\u53ef\\u7528\\u4e8e\\u66f4\\u6539 AppOps\\u3002 \\u4ec5\\u90e8\\u5206 manifest \\u6743\\u9650 \\u4f1a\\u5728\\u6743\\u9650\\u8bbe\\u7f6e\\u4e2d\\u5411\\u7528\\u6237\\u5c55\\u793a\\u3002 PMX \\u4ee5\\u539f\\u59cb\\u5f62\\u5f0f\\u66b4\\u9732\\u6240\\u6709\\u6743\\u9650\\u3002 \\u76f8\\u5173\\uff1aManifest \\u6743\\u9650\\u548c AppOps\\u3002</li> <li>PMX \\u8ba9\\u60a8\\u8f7b\\u677e\\u8ffd\\u8e2a\\u6743\\u9650\\u7684\\u4efb\\u4f55\\u4e0d\\u5fc5\\u8981\\u7684\\u66f4\\u6539\\u3002</li> <li>\\u901a\\u8fc7\\u63a7\\u5236\\u60a8\\u7684\\u8bbe\\u5907\\uff0c PMX \\u80fd\\u591f\\u5e2e\\u52a9\\u60a8\\u8282\\u7701\\u8bbe\\u5907\\u8d44\\u6e90\\uff08\\u5982\\u7535\\u6c60\\u7535\\u91cf\\u548c\\u7f51\\u7edc\\u5e26\\u5bbd\\uff09\\uff0c\\u5e76\\u4fdd\\u62a4\\u60a8\\u7684\\u9690\\u79c1\\u3002 \\u60a8\\u5e76\\u975e\\u5b8c\\u5168\\u53d7\\u5236\\u4e8e\\u5e94\\u7528\\u7a0b\\u5e8f\\u548c ROM \\u5f00\\u53d1\\u8005\\u7684\\u6446\\u5e03\\u3002 \\u9605\\u8bfb\\u8fd9\\u4e2a article \\u6765\\u83b7\\u5f97\\u4e00\\u4e2a\\u60f3\\u6cd5\\u3002</li> <li>PMX \\u80fd\\u591f\\u5b9e\\u65f6\\u76d1\\u63a7\\u6743\\u9650\\u53d8\\u66f4\\uff0c\\u5e76\\u5728\\u60a8\\u505c\\u6b62\\u4f7f\\u7528\\u5e94\\u7528\\u65f6\\u81ea\\u52a8\\u64a4\\u9500\\u8fd9\\u4e9b\\u6743\\u9650\\u3002 \\u6216\\u8005\\u5b83\\u53ef\\u4ee5\\u6267\\u884c \\u9884\\u5b9a\\u626b\\u63cf \\u7684\\u6743\\u9650\\u3002 \\u6240\\u4ee5\\u4f60\\u4e0d\\u5fc5\\u8bb0\\u4f4f\\u4e00\\u5207\\u3002</li> <li>PMX \\u8ba9\\u60a8\\u8f7b\\u677e\\u5907\\u4efd\\u548c\\u6062\\u590d\\u5df2\\u5b89\\u88c5\\u5e94\\u7528\\u7684\\u6743\\u9650\\u72b6\\u6001\\uff0c\\u4ece\\u800c\\u65e0\\u9700\\u53cd\\u590d\\u8c03\\u6574\\u5e94\\u7528\\u6743\\u9650\\u3002</li> </ul> <p>\\u53e6\\u8bf7\\u53c2\\u9605\\u4ec0\\u4e48\\u662f PMX\\uff1f</p>\"},{\"location\":\"zh/faqs/#faq1\",\"title\":\"\\u4e3a\\u4ec0\\u4e48 PMX \\u9700\\u8981 root \\u6743\\u9650\\u6216 ADB \\u8bbf\\u95ee\\u6743\\u9650\\uff1f\",\"text\":\"<p>Android \\u7cfb\\u7edf\\u6709\\u610f\\u9650\\u5236\\u5e94\\u7528\\u4fee\\u6539\\u5176\\u4ed6\\u5e94\\u7528\\u7684 manifest \\u6216 AppOps \\u6743\\u9650\\uff08\\u5728\\u8bb8\\u591a\\u60c5\\u51b5\\u4e0b\\u4e5f\\u9650\\u5236\\u4fee\\u6539\\u81ea\\u8eab\\u90e8\\u5206\\u6743\\u9650\\uff09\\u3002 \\u8fd9\\u4e9b\\u5e73\\u53f0\\u4fdd\\u62a4\\u7528\\u6237\\u9690\\u79c1\\u548c\\u7cfb\\u7edf\\u5b8c\\u6574\\u6027\\u3002</p> <p>\\u4e3a\\u6267\\u884c\\u9700\\u8981\\u63d0\\u5347\\u6743\\u9650\\u7684\\u64cd\\u4f5c\\uff0c PMX \\u91c7\\u7528\\u72ec\\u7acb\\u7684\\u5c0f\\u578b\\u7279\\u6743\\u8f85\\u52a9\\u7a0b\\u5e8f\\uff0c\\u800c\\u975e\\u5c1d\\u8bd5\\u901a\\u8fc7\\u5e38\\u89c4\\u5e94\\u7528\\u8fdb\\u7a0b\\u5b8c\\u6210\\u6240\\u6709\\u64cd\\u4f5c\\u3002 \\u9ed8\\u8ba4\\u60c5\\u51b5\\u4e0b\\uff0c\\u8be5\\u8f85\\u52a9\\u7a0b\\u5e8f\\u5728\\u901a\\u8fc7 ADB \\u542f\\u52a8\\u65f6\\u4ee5 ADB \\u7528\\u6237\\u6807\\u8bc6\\uff08<code>2000</code>\\uff09\\u8fd0\\u884c\\uff0c\\u800c\\u5728\\u5df2\\u83b7\\u53d6root\\u6743\\u9650\\u7684\\u8bbe\\u5907\\u4e0a\\u5219\\u4ee5\\u7cfb\\u7edf\\u7528\\u6237\\u6807\\u8bc6\\uff08<code>1000</code>\\uff09\\u8fd0\\u884c\\u3002 \\u5982\\u679c\\u4f60\\u6709\\u4e00\\u4e2aRoot\\u8bbe\\u5907\\uff0c\\u4f60\\u53ef\\u4ee5\\u5728 Advanced Settings\\u4e2d\\u66f4\\u6539\\u52a9\\u624b\\u7684 UID\\u3002</p>\"},{\"location\":\"zh/faqs/#faq33\",\"title\":\"\\u8bbe\\u5907\\u5c1a\\u672aRoot\\uff0c \\u5982\\u4f55\\u4f7f\\u7528 PMX\\uff1f\",\"text\":\"<p>\\u4f7f\\u7528 PMX \\u4e0e ADB\\u3002 \\u8bf7\\u9605\\u8bfb\\u6700\\u5f00\\u59cb\\u7684\\u63d0\\u793a\\uff0c \\u67d0\\u4e9b\\u8bbe\\u5907\\u53ef\\u80fd\\u6709\\u4e00\\u4e9b\\u9650\\u5236\\u3002</p>\"},{\"location\":\"zh/faqs/#faq42\",\"title\":\"\\u4e3a\\u4ec0\\u4e48 PMX \\u5728\\u6700\\u65b0\\u5b89\\u5353\\u7cfb\\u7edf\\u4e0a\\u65e0\\u6cd5\\u8fd0\\u884c\\u6216\\u65e0\\u6cd5\\u6b63\\u5e38\\u5de5\\u4f5c\\uff1f\",\"text\":\"<p>PMX \\u4f9d\\u8d56\\u4e8eAndroid\\u7684\\u9690\\u85cfAPI\\u6216\\u975eSDK\\u63a5\\u53e3\\uff0c\\u8fd9\\u4e9b\\u63a5\\u53e3\\u4e0e\\u6807\\u51c6API\\u4e0d\\u540c\\uff0c\\u672a\\u5728Android\\u5f00\\u53d1\\u8005\\u4e0a\\u8fdb\\u884c\\u6587\\u6863\\u8bb0\\u5f55\\u3002 \\u6240\\u4ee5\\uff0c\\u5728\\u6bcf\\u6b21\\u65b0\\u7684 Android \\u7248\\u672c\\u53d1\\u5e03\\u540e\\uff0c\\u6211\\u4eec\\u5fc5\\u987b\\u901a\\u8fc7 Android \\u6e90\\u4ee3\\u7801\\u6765\\u4e86\\u89e3\\u54ea\\u4e9bAPI\\u5df2\\u7ecf\\u635f\\u574f(\\u66f4\\u6539\\u6216\\u5220\\u9664)\\u3002</p> <p>\\u6b64\\u5916\\uff0c\\u4fee\\u590d\\u7834\\u635f\\u7684APIs\\u9700\\u8981\\u65f6\\u95f4\\uff1b\\u6709\\u65f6\\u9700\\u8981\\u51e0\\u4e2a\\u661f\\u671f\\uff0c\\u6709\\u65f6\\u9700\\u8981\\u51e0\\u4e2a\\u6708\\u3002 \\u800c\\u4e14\\u5b83\\u4e0d\\u80fd\\u4fdd\\u8bc1\\u6211\\u4eec\\u603b\\u662f\\u80fd\\u591f\\u4fee\\u590d\\u635f\\u574f\\u7684 API\\u3002 \\u6709\\u65f6\\uff0c\\u8c37\\u6b4c\\u76ee\\u7684\\u4f7f\\u6211\\u4eec\\u96be\\u4ee5\\u6216\\u4e0d\\u53ef\\u80fd\\u7ee7\\u7eed\\u4f7f\\u7528\\u9690\\u85cf\\u7684 API\\u3002</p> <p>\\u56e0\\u6b64\\uff0c\\u53ea\\u8981\\u6700\\u7ec8\\u7684AOSP\\u6e90\\u4ee3\\u7801\\u5c1a\\u672a\\u516c\\u5f00\\u53d1\\u5e03\\uff08\\u5728\\u4ee3\\u7801\\u641c\\u7d22\\u6216Git\\u4ed3\\u5e93\\u4e0a\\uff09\\uff0c\\u6211\\u4eec\\u5c31\\u65e0\\u6cd5\\u8ba9 PMX \\u7acb\\u5373\\u5728\\u6bcf\\u4e2a\\u65b0\\u7684Android\\u7248\\u672c\\uff08\\u7279\\u522b\\u662f\\u6d4b\\u8bd5\\u9636\\u6bb5\\uff09\\u4e0a\\u8fd0\\u884c\\u3002</p> <p>PMX\\u8be5\\u5e94\\u7528\\u7a0b\\u5e8f\\u5728GitHub\\u548cGoogle Play\\u5546\\u5e97\\u7684\\u5e94\\u7528\\u63cf\\u8ff0\\u4e2d\\u6ce8\\u660e\\u4e86\\u5176\\u6700\\u7ec8\\u652f\\u6301\\u7684Android\\u7248\\u672c\\u3002 \\u5f53\\u60a8\\u7b2c\\u4e00\\u6b21\\u5728\\u4e0d\\u652f\\u6301\\u7684\\u7248\\u672c\\u4e0a\\u8fd0\\u884c\\u5e94\\u7528\\u7a0b\\u5e8f\\u65f6\\uff0c\\u5b83\\u4f1a\\u663e\\u793a\\u7c7b\\u4f3c\\u4e8e\\u4ee5\\u4e0b\\u7684\\u8b66\\u544a\\uff1a</p> <p></p>\"},{\"location\":\"zh/faqs/#faq43\",\"title\":\"\\u4e3a\\u4ec0\\u4e48 PMX \\u5728 OEM \\u64cd\\u4f5c\\u7cfb\\u7edf\\u6216\\u81ea\\u5b9a\\u4e49 ROMs\\u4e0a\\u65e0\\u6cd5\\u6b63\\u5e38\\u5de5\\u4f5c\\uff1f\",\"text\":\"<p>PMX \\u4f9d\\u8d56\\u4e8eAndroid\\u7684\\u9690\\u85cfAPI\\u6216\\u975eSDK\\u63a5\\u53e3\\uff0c\\u8fd9\\u4e9b\\u63a5\\u53e3\\u4e0e\\u6807\\u51c6API\\u4e0d\\u540c\\uff0c\\u672a\\u5728Android\\u5f00\\u53d1\\u8005\\u4e0a\\u8fdb\\u884c\\u6587\\u6863\\u8bb0\\u5f55\\u3002 \\u56e0\\u6b64\\u6211\\u4eec\\u9700\\u8981\\u8bbf\\u95ee\\u60a8 ROM \\u7684\\u6e90\\u4ee3\\u7801\\uff0c\\u624d\\u80fd\\u51c6\\u786e\\u4e86\\u89e3\\u8fd9\\u4e9b\\u9690\\u85cfAPI\\u7684\\u5de5\\u4f5c\\u539f\\u7406\\u3002</p> <p>\\u592a\\u597d\\u4e86\\uff0cAOSP (\\u7531Google\\u5f00\\u53d1)\\u662f\\u5f00\\u6e90\\u7684\\u3002 \\u4f46\\u5982\\u679c\\u60a8\\u7684\\u539f\\u59cb\\u8bbe\\u5907\\u5236\\u9020\\u5546\\uff08OEM\\uff09\\u6216 ROM \\u5f00\\u53d1\\u8005\\u4e3a\\u5b9a\\u5236\\u76ee\\u7684\\u5bf9AOSP\\u8fdb\\u884c\\u4e86\\u4fee\\u6539\\uff0c\\u6211\\u4eec\\u65e0\\u6cd5\\u786e\\u5207\\u77e5\\u6653\\u4ed6\\u4eec\\u5bf9\\u539f\\u751fAOSP\\u4ee3\\u7801\\u505a\\u4e86\\u54ea\\u4e9b\\u6539\\u52a8\\u3002 \\u6211\\u4eec\\u5728\\u8fd9\\u91cc\\u975e\\u5e38\\u65e0\\u80fd\\u4e3a\\u529b\\u3002 \\u8fd9\\u4e2a\\u4e8b\\u5b9e\\u5728 GitHub \\u548c Play Store \\u4e0a\\u7684\\u5e94\\u7528\\u7a0b\\u5e8f\\u63cf\\u8ff0\\u4e2d\\u88ab\\u8bf4\\u660e\\u3002 \\u62b1\\u6b49\\u3002</p>\"},{\"location\":\"zh/faqs/#faq2\",\"title\":\"PMX \\u5982\\u4f55\\u66f4\\u6539\\u5176\\u4ed6\\u5e94\\u7528\\u7684\\u6743\\u9650\\uff1f\",\"text\":\"<p>PMX \\u5b83\\u672c\\u8eab\\u65e2\\u4e0d\\u80fd\\u4e5f\\u65e0\\u6cd5\\u6388\\u4e88\\u6216\\u64a4\\u9500\\u5176\\u4ed6\\u5e94\\u7528\\u7684\\u6743\\u9650\\u3002 \\u4e8b\\u5b9e\\u4e0a\\uff0c\\u6ca1\\u6709\\u7b2c\\u4e09\\u65b9\\u5e94\\u7528\\u7a0b\\u5e8f\\u6709\\u6743\\u8fd9\\u6837\\u505a\\u3002 \\u5b83\\u662f\\u63a7\\u5236\\u5e94\\u7528\\u6743\\u9650\\u7684 Android \\u64cd\\u4f5c\\u7cfb\\u7edf\\u3002 PMX \\u4ec5\\u5411Android\\u6846\\u67b6\\u53d1\\u9001\\u8bf7\\u6c42\\u4ee5\\u66f4\\u6539\\u6743\\u9650\\u72b6\\u6001\\u3002 \\u73b0\\u5728\\u5b8c\\u5168\\u53d6\\u51b3\\u4e8e\\u5b89\\u5353\\u7cfb\\u7edf\\u5bf9\\u6211\\u4eec\\u8bf7\\u6c42\\u7684\\u5c0a\\u91cd\\u3002 \\u5e76\\u975e\\u6240\\u6709\\u6743\\u9650\\u90fd\\u53ef\\u4ee5\\u66f4\\u6539\\u3002 \\u82e5\\u60a8\\u65e0\\u6cd5\\u901a\\u8fc7 PMX \\u4fee\\u6539\\u6743\\u9650\\u72b6\\u6001\\uff0c\\u5219\\u5176\\u4ed6\\u65b9\\u5f0f\\u4e5f\\u65e0\\u6cd5\\u5b9e\\u73b0\\u6b64\\u64cd\\u4f5c\\u3002</p>\"},{\"location\":\"zh/faqs/#faq34\",\"title\":\"\\u5728\\u5173\\u95ed ADB \\u3001\\u62d2\\u7eddroot\\u6743\\u9650\\u6216\\u5378\\u8f7d PMX \\u540e\\uff0c\\u6743\\u9650\\u8bbe\\u7f6e\\u662f\\u5426\\u4ecd\\u4fdd\\u6301\\u53d8\\u66f4\\u72b6\\u6001\\uff1f\",\"text\":\"<p>PMX \\u5b83\\u672c\\u8eab\\u65e2\\u4e0d\\u80fd\\u4e5f\\u65e0\\u6cd5\\u6388\\u4e88\\u6216\\u64a4\\u9500\\u5176\\u4ed6\\u5e94\\u7528\\u7684\\u6743\\u9650\\u3002 \\u4e8b\\u5b9e\\u4e0a\\uff0c\\u6ca1\\u6709\\u7b2c\\u4e09\\u65b9\\u5e94\\u7528\\u7a0b\\u5e8f\\u6709\\u6743\\u8fd9\\u6837\\u505a\\u3002 \\u5b83\\u662f\\u63a7\\u5236\\u5e94\\u7528\\u6743\\u9650\\u7684 Android \\u64cd\\u4f5c\\u7cfb\\u7edf\\u3002 PMX \\u4ec5\\u5411Android\\u6846\\u67b6\\u53d1\\u9001\\u8bf7\\u6c42\\u4ee5\\u66f4\\u6539\\u6743\\u9650\\u72b6\\u6001\\u3002</p> <p>\\u56e0\\u6b64\\uff0c\\u4e00\\u65e6\\u6743\\u9650\\u88ab\\u66f4\\u6539\\uff0c\\u65e0\\u8bba\\u60a8\\u5378\\u8f7d PMX \\u8fd8\\u662f\\u64a4\\u9500\\u5176\\u7279\\u6743\\uff0c\\u90fd\\u4e0d\\u4f1a\\u4ea7\\u751f\\u4efb\\u4f55\\u5f71\\u54cd\\u3002 \\u9664\\u975e\\u60a8\\u6216Android\\u7cfb\\u7edf\\u518d\\u6b21\\u4fee\\u6539\\uff0c\\u5426\\u5219\\u8be5\\u6743\\u9650\\u5c06\\u4fdd\\u6301\\u5728\\u60a8\\u6240\\u4fee\\u6539\\u7684\\u72b6\\u6001\\u3002</p>\"},{\"location\":\"zh/faqs/#faq15\",\"title\":\"\\u4e3a\\u4ec0\\u4e48\\u4e0d\\u80fd\\u66f4\\u6539\\u67d0\\u4e9b\\u6743\\u9650\\uff1f\",\"text\":\"<p>\\u4ec5\\u5177\\u5907\\u5371\\u9669\\u7684\\u4fdd\\u62a4\\u7ea7\\u522b (\\u548c\\u5176\\u4ed6\\u5c11\\u6570) \\u7684\\u6e05\\u5355\\u6743\\u9650\\u662f\\u53ef\\u4ee5\\u66f4\\u6539\\u7684\\u3002 AppOps \\u4e0d\\u4f9d\\u8d56\\u4e8e\\u5176\\u4ed6\\u67d0\\u4e9b AppOp \\u53ef\\u53d8\\u3002 \\u8fd9\\u5c31\\u662fAndroid\\u7684\\u5de5\\u4f5c\\u65b9\\u5f0f\\uff0c\\u6211\\u4eec\\u4e0d\\u80fd\\u6539\\u53d8\\u5176\\u884c\\u4e3a\\u3002 \\u53c2\\u89c1 Manifest \\u6743\\u9650\\u8bf4\\u660e \\u548c AppOps\\u3002</p> <p>\\u6b64\\u5916\\uff0c PMX \\u6587\\u4ef6\\u4fdd\\u62a4\\u7740\\u82e5\\u5e72\\u5173\\u952e\\u6846\\u67b6\\u5e94\\u7528\\u548c\\u6743\\u9650\\uff1b\\u4fee\\u6539\\u8fd9\\u4e9b\\u5185\\u5bb9\\u53ef\\u80fd\\u5bfc\\u81f4\\u8bbe\\u5907\\u53d8\\u7816\\u3002 \\u67e5\\u770b\\u76f8\\u5173\\u95ee\\u9898\\u3002</p> <p>\\u53e6\\u8bf7\\u53c2\\u9605\\u4e3a\\u4ec0\\u4e48\\u67d0\\u4e9b AppOps \\u65e0\\u6cd5\\u66f4\\u6539\\uff1f</p> <p>\\u8bf7\\u6ce8\\u610f\\uff0c\\u4ece Android 15 \\u5f00\\u59cb\\uff0c\\u5177\\u6709 \\u5f00\\u53d1 \\u4fdd\\u62a4\\u7ea7\\u522b\\u7684\\u7cfb\\u7edf\\u5e94\\u7528\\u7684 manifest \\u6743\\u9650\\u5c06\\u65e0\\u6cd5\\u64a4\\u9500\\u3002 \\u5b89\\u5353\\u9759\\u9ed8\\u5ffd\\u7565\\u8bf7\\u6c42\\u3002</p>\"},{\"location\":\"zh/faqs/#faq37\",\"title\":\"\\u6211\\u5df2\\u7ecf\\u66f4\\u6539\\u4e86\\u6743\\u9650\\uff0c\\u4f46\\u5b83\\u65e0\\u6cd5\\u5de5\\u4f5c\\u3002 \\u4e3a\\u4ec0\\u4e48\\uff1f\",\"text\":\"<p>\\u6210\\u529f\\u66f4\\u6539\\u6743\\u9650\\u540e\\uff0c\\u5982\\u679c\\u60a8\\u6ca1\\u6709\\u83b7\\u5f97\\u6240\\u9700\\u7684\\u7ed3\\u679c\\uff0c\\u5373\\uff1a \\u5b83\\u7acb\\u5373\\u8fd8\\u539f\\u6216\\u5728\\u51e0\\u4e2a\\u5c0f\\u65f6\\u6216\\u51e0\\u5929\\u540e\\u6062\\u590d\\uff0c\\u5b89\\u5353\\u64cd\\u4f5c\\u7cfb\\u7edf\\u5c06\\u88ab\\u8d23\\u5907\\u3002 \\u8bf7\\u67e5\\u770b\\uff1a</p> <ul> <li> PMX \\u5982\\u4f55\\u66f4\\u6539\\u5176\\u4ed6\\u5e94\\u7528\\u7684\\u6743\\u9650\\uff1f</li> <li>\\u4e3a\\u4ec0\\u4e48\\u67d0\\u4e9b AppOps \\u65e0\\u6cd5\\u66f4\\u6539\\uff1f</li> </ul> <p>\\u5f53\\u60a8\\u4f7f\\u7528\\u5e94\\u7528\\u7a0b\\u5e8f\\u65f6\\uff0c\\u5b89\\u5353\\u7cfb\\u7edf\\u53ef\\u80fd\\u4f1a\\u66f4\\u6539\\u4ed6\\u4eec\\u7684\\u6743\\u9650\\u3002 \\u4e0d\\u5e78\\u7684\\u662f\\uff0c\\u6211\\u4eec\\u5bf9\\u6b64\\u65e0\\u80fd\\u4e3a\\u529b\\u3002 \\u6743\\u9650\\u76d1\\u89c6\\u548c\\u8ba1\\u5212\\u7684\\u68c0\\u67e5\\u8005\\u5728\\u8fd9\\u65b9\\u9762\\u53ef\\u80fd\\u6709\\u5e2e\\u52a9\\u3002</p>\"},{\"location\":\"zh/faqs/#faq3\",\"title\":\"\\u4e3a\\u4ec0\\u4e48\\u67d0\\u4e9b AppOps \\u65e0\\u6cd5\\u66f4\\u6539\\uff1f\",\"text\":\"<p>\\u6709\\u65f6\\u4f60\\u4f1a\\u770b\\u5230\\u201cAppOp \\u6a21\\u5f0f\\u672a\\u66f4\\u6539\\u201d\\u3002 \\u8fd9\\u610f\\u5473\\u7740Android\\u62d2\\u7edd\\u4e86\\u66f4\\u6539 AppOp \\u6a21\\u5f0f\\u7684\\u8bf7\\u6c42\\u3002 \\u65e0\\u8bba\\u60a8\\u4f7f\\u7528\\u4f55\\u79cd\\u65b9\\u6cd5\\u6216\\u5e94\\u7528\\uff0c\\u60a8\\u90fd\\u4e0d\\u80fd\\u66f4\\u6539\\u5b83\\u3002 \\u53ef\\u80fd\\u6709\\u591a\\u79cd\\u539f\\u56e0\\u3002</p> <ul> <li> <p>\\u67d0\\u4e9b AppOps \\u4f9d\\u8d56\\u4e8e\\u5176\\u5bf9\\u5e94\\u7684 manifest \\u6743\\u9650\\u3002 \\u56e0\\u6b64\\u5b83\\u4eec\\u65e0\\u6cd5\\u72ec\\u7acb\\u6539\\u53d8\\u3002 \\u4f8b\\u5982\\uff0c\\u82e5\\u6388\\u4e88 <code>android.permission.READ_CONTACTS</code> manifest \\u6743\\u9650\\uff0c\\u5219\\u65e0\\u6cd5\\u62d2\\u7edd <code>READ_CONTACTS</code> AppOp\\u3002</p> <p>\\u6b64\\u5916\\uff0c\\u5982\\u679c\\u5e94\\u7528\\u7a0b\\u5e8f\\u5728\\u5176 manifest \\u6587\\u4ef6\\u4e2d\\u672a\\u8bf7\\u6c42 manifest \\u6743\\u9650\\uff0c\\u5219\\u5176 AppOp \\u6743\\u9650\\u4e5f\\u65e0\\u6cd5\\u88ab\\u6388\\u4e88\\u3002 \\u4f46\\u5982\\u679c\\u5e94\\u7528\\u7a0b\\u5e8f\\u8bd5\\u56fe\\u4f7f\\u7528\\u5b83\\uff08\\u5e76\\u88ab\\u62d2\\u7edd\\uff09\\uff0c\\u5b83\\u4ecd\\u53ef\\u80fd\\u4f1a\\u51fa\\u73b0\\u5728\\u5e94\\u7528\\u7a0b\\u5e8f\\u7684\\u6743\\u9650\\u5217\\u8868\\u4e2d\\u3002 <code>SYSTEM_ALERT_WINDOW</code> \\u5c31\\u662f\\u8fd9\\u6837\\u4e00\\u4e2a\\u4f8b\\u5b50\\u3002</p> </li> <li> <p>\\u67d0\\u4e9b AppOps \\u4ec5\\u7528\\u4e8e\\u517c\\u5bb9\\u6027\\uff08\\u4f8b\\u5982 <code>LEGACY_STORAGE</code>\\uff09\\uff0c\\u5b9e\\u9645\\u4e0a\\u5e76\\u4e0d\\u63a7\\u5236\\u4efb\\u4f55\\u529f\\u80fd\\u3002 \\u5982\\u679c\\u6211\\u4eec\\u4e86\\u89e3\\u5de5\\u4f5c\\u539f\\u7406\\uff0c\\u5c31\\u4f1a\\u53d1\\u73b0\\u6388\\u4e88/\\u64a4\\u9500\\u8fd9\\u79cd\\u6743\\u9650\\u662f\\u6ca1\\u6709\\u5fc5\\u8981\\u7684\\u3002</p> </li> <li> <p>\\u67d0\\u4e9b\\u6743\\u9650\\u65e0\\u6cd5\\u66f4\\u6539\\uff0c\\u5982\\u679c\\u5e94\\u7528\\u7a0b\\u5e8f\\u6b63\\u5728\\u8fd0\\u884c\\u6216\\u9488\\u5bf9\\u65e7\\u7248\\u672c\\u6216\\u66f4\\u65b0\\u7248\\u672c\\u7684 Android \\u3002</p> </li> <li> <p>\\u67d0\\u4e9b\\u539f\\u59cb\\u8bbe\\u5907\\u5236\\u9020\\u5546\\uff08OEM\\uff09\\u7684 ROMs \\u5728\\u5904\\u7406 AppOps\\u65f6\\u4f1a\\u8868\\u73b0\\u5f02\\u5e38\\u3002 \\u53c2\\u89c1\\u4e3a\\u4f55 PMX \\u5728 OEM \\u64cd\\u4f5c\\u7cfb\\u7edf\\u6216\\u81ea\\u5b9a\\u4e49 ROMs\\u4e0a\\u65e0\\u6cd5\\u6b63\\u5e38\\u5de5\\u4f5c\\uff1f</p> </li> <li> <p>\\u8bb8\\u591a AppOps \\u8bbe\\u5907\\u53ef\\u652f\\u6301\\u4e24\\u79cd\\u6a21\\u5f0f\\uff1a\\u5305\\u6a21\\u5f0f\\u548cUID\\u6a21\\u5f0f\\u3002 \\u4e00\\u4e2a\\u53ef\\u4ee5\\u88ab\\u66f4\\u6539\\uff0c\\u800c\\u53e6\\u4e00\\u4e2a\\u5219\\u4e0d\\u80fd\\u88ab\\u66f4\\u6539\\u3002</p> <p>\\u901a\\u5e38\\uff0cUID AppOps \\u4f18\\u5148\\u4e8e\\u5176\\u5bf9\\u5e94\\u7684\\u5305 AppOp \\u3002 \\u5728\\u6b64\\u60c5\\u51b5\\u4e0b\\uff0c\\u5305 AppOp \\u7684\\u6709\\u6548\\u6a21\\u5f0f\\u4e0e\\u5176 UID AppOps\\u7684\\u6a21\\u5f0f\\u76f8\\u540c\\u3002 \\u56e0\\u6b64\\uff0c\\u60a8\\u65e0\\u6cd5\\u5355\\u72ec\\u4fee\\u6539\\u5305 AppOp\\u3002</p> <p>\\u67d0\\u4e9b AppOps \\u66f4\\u503e\\u5411\\u4e8e\\u8bbe\\u7f6e\\u4e3a\\u5305\\u6a21\\u5f0f\\uff0c\\u800c\\u975eUID\\u6a21\\u5f0f\\u3002 \\u4f46\\u5982\\u679c\\u5b83\\u5728 UID \\u6a21\\u5f0f\\u4e2d\\u8bbe\\u7f6e\\u9519\\u8bef(\\u6709\\u547d\\u4ee4\\u884c\\u5de5\\u5177\\u6216\\u5176\\u4ed6\\u5e94\\u7528\\u7a0b\\u5e8f)\\uff0c\\u5b83\\u5c31\\u53d8\\u5f97\\u65e0\\u6cd5\\u54cd\\u5e94\\u4efb\\u4f55\\u66f4\\u6539\\u3002 \\u8bf7\\u4ece\\u53f3\\u4e0a\\u89d2\\u83dc\\u5355\\u6267\\u884c\\\"\\u91cd\\u7f6e AppOps\\\"\\u64cd\\u4f5c\\uff0c\\u4f7f\\u5176\\u6062\\u590d\\u6b63\\u5e38\\u3002 \\u5176\\u4ed6 AppOps \\u540c\\u6837\\u5982\\u6b64\\uff0c\\u5b83\\u4eec\\u5177\\u6709\\u5bf9\\u5e94\\u7684 manifest \\u6743\\u9650\\uff0c\\u8be5\\u6743\\u9650\\u5305\\u542b AppOp \\u4fdd\\u62a4\\u7ea7\\u522b\\u3002</p> </li> </ul> <p>\\u4e8b\\u5b9e\\u4e0a\\uff0c\\u5982\\u679c\\u6211\\u4eec\\u4e2a\\u522b\\u6316\\u6398\\u6bcf\\u4e2a\\u5e94\\u7528\\u548c\\u6743\\u9650\\uff08\\u8fd9\\u79cd\\u60c5\\u51b5\\u4e0d\\u5b9e\\u9645\\uff09\\uff0c\\u5c31\\u4f1a\\u6709\\u66f4\\u591a\\u7684\\u89e3\\u91ca\\u3002 \\u5982\\u4e0a\\u6240\\u8ff0\\uff0c PMX \\u672c\\u8eab\\u4e0d\\u4f1a\\u66f4\\u6539\\u5176\\u4ed6\\u5e94\\u7528\\u7684\\u6743\\u9650\\u3002 \\u6240\\u4ee5\\uff0c\\u5373\\u4f7f\\u7531\\u4e8e\\u4e00\\u4e9b\\u672a\\u77e5\\u539f\\u56e0\\uff0c\\u5b89\\u5353\\u7cfb\\u7edf\\u4e0d\\u4f1a\\u66f4\\u6539\\u6743\\u9650\\uff0c\\u6216\\u7acb\\u5373\\u8fd8\\u539f\\u3002 \\u6211\\u4eec\\u6ca1\\u6709\\u4ec0\\u4e48\\u80fd\\u591f\\u5f3a\\u8feb\\u5b83\\uff0c\\u56e0\\u4e3a\\u8fd9\\u4e9b\\u90fd\\u662fAndroid \\u672b\\u7aef\\u7684\\u9650\\u5236\\u3002 \\u76f8\\u53cd\\uff0c\\u6211\\u5e94\\u8be5\\u8bf4\\u8fd9\\u662fAndroid\\u7cfb\\u7edf\\u7684\\u5de5\\u4f5c\\u65b9\\u5f0f\\u3002</p> <p>\\u5173\\u8054\\uff1a</p> <ul> <li> AppOp \\u7684\\u4e0d\\u540c\\u6a21\\u5f0f\\u6709\\u54ea\\u4e9b\\uff1f\\u6211\\u8be5\\u4f7f\\u7528\\u54ea\\u79cd\\u6a21\\u5f0f\\uff1f</li> <li>\\u4e3a\\u4ec0\\u4e48\\u6211\\u65e0\\u6cd5\\u5c06 AppOp \\u6a21\\u5f0f\\u8bbe\\u7f6e\\u4e3a\\u524d\\u53f0\\uff1f</li> </ul>\"},{\"location\":\"zh/faqs/#faq6\",\"title\":\"\\u4e3a\\u4ec0\\u4e48\\u6211\\u5728\\u5e94\\u7528\\u5217\\u8868\\u4e2d\\u770b\\u4e0d\\u5230\\u67d0\\u4e9b\\u5e94\\u7528\\uff1f\",\"text\":\"<p>\\u8bf7\\u68c0\\u67e5 Exclusion \\u8fc7\\u6ee4\\u5668 \\u3002 \\u51e0\\u4e4e\\u6240\\u6709\\u7cfb\\u7edf\\u5e94\\u7528\\u9ed8\\u8ba4\\u90fd\\u88ab\\u6392\\u9664\\u5728\\u5916\\u3002 \\u60a8\\u53ef\\u4ee5\\u6392\\u9664/\\u5305\\u542b\\u60a8\\u60f3\\u8981\\u4ece / \\u5230\\u53ef\\u89c1\\u5217\\u8868\\u7684\\u4efb\\u4f55\\u5305\\u3002</p>\"},{\"location\":\"zh/faqs/#faq7\",\"title\":\"\\u4e3a\\u4ec0\\u4e48\\u5728\\u67d0\\u4e9b\\u5e94\\u7528\\u4e2d\\u770b\\u4e0d\\u5230\\u90e8\\u5206\\u6743\\u9650\\uff1f\",\"text\":\"<p>\\u8bf7\\u68c0\\u67e5 Exclusion \\u8fc7\\u6ee4\\u5668 \\u3002 \\u4e0d\\u53ef\\u66f4\\u6539\\u7684\\u6743\\u9650\\u88ab\\u6392\\u9664\\u5728\\u53ef\\u89c1\\u5217\\u8868\\u7684\\u9ed8\\u8ba4\\u503c\\u4e4b\\u5916\\u3002</p>\"},{\"location\":\"zh/faqs/#faq8\",\"title\":\"\\u4e3a\\u4ec0\\u4e48\\u6211\\u5728ABC\\u8f6f\\u4ef6\\u5305\\u4e2d\\u770b\\u4e0d\\u5230XYZ\\uff08 AppOp\\uff09\\uff1f\",\"text\":\"<p>\\u8bf7\\u68c0\\u67e5\\u6392\\u9664\\u8fc7\\u6ee4\\u5668\\uff0c\\u5982\\u679c XYZ AppOp \\u88ab\\u6392\\u9664\\u5728\\u53ef\\u89c1\\u5217\\u8868\\u4e4b\\u5916\\u3002 \\u6216\\u8005ABC \\u8f6f\\u4ef6\\u5305\\u53ef\\u80fd\\u6ca1\\u6709\\u4f7f\\u7528 XYZ \\u64cd\\u4f5c\\u3002 \\u60a8\\u65e0\\u9700\\u8003\\u8651\\u8fd9\\u4e9b\\u3002</p> <p>\\u4f46\\u82e5\\u9700\\u67e5\\u770b\\u6240\\u6709\\u5e94\\u7528\\u7684XYZ\\uff08 AppOp \\uff09\\u8bbe\\u7f6e\\uff0c\\u8bf7\\u524d\\u5f80\\u6392\\u9664\\u8fc7\\u6ee4\\u5668 \\u2192 \\u9644\\u52a0 AppOps\\uff0c\\u6c38\\u4e0d\\u6392\\u9664\\uff0c\\u5e76\\u5728\\u5217\\u8868\\u4e2d\\u52fe\\u9009XYZ\\uff08 AppOp\\uff09\\u3002</p> <p>\\u4f8b\\u5982\\uff0c\\u5728\\u641c\\u7d22\\u6846\\u4e2d\\u8f93\\u5165 <code>_CLIPBOARD</code> \\uff08\\u540c\\u65f6\\u52fe\\u9009\\u6df1\\u5ea6\\u641c\\u7d22\\u6846\\uff09\\uff0c\\u5373\\u53ef\\u83b7\\u53d6\\u6240\\u6709\\u66fe\\u4f7f\\u7528\\uff08\\u6216\\u5c1d\\u8bd5\\u4f7f\\u7528\\uff09 <code>READ_CLIPBOARD</code> \\u6216 <code>WRITE_CLIPBOARD</code> \\u6743\\u9650\\u7684\\u5e94\\u7528\\u3002 \\u65f6\\u95f4\\u6233\\u4e5f\\u4f1a\\u663e\\u793a\\uff08\\u4f46\\u5e76\\u975e\\u6240\\u6709 AppOps\\u90fd\\u4f1a\\u663e\\u793a\\uff09\\u3002</p> <p>\\u56e0\\u6b64\\uff0c\\u82e5\\u60a8\\u5173\\u6ce8\\u7684\\u5e94\\u7528\\u672a\\u51fa\\u73b0\\u5728\\u641c\\u7d22\\u7ed3\\u679c\\u4e2d\\uff0c\\u8bf7\\u5728\\u4e0a\\u8ff0\\u6392\\u9664\\u8fc7\\u6ee4\\u5668\\u5217\\u8868\\u4e2d\\u540c\\u65f6\\u52fe\\u9009 AppOps\\u3002</p>\"},{\"location\":\"zh/faqs/#faq5\",\"title\":\"\\u6211\\u5e94\\u8be5\\u5728\\u9ad8\\u7ea7\\u8bbe\\u7f6e\\u4e2d\\u9009\\u62e9\\u54ea\\u4e2a\\u7279\\u6743\\u5b88\\u62a4\\u8fdb\\u7a0b UID \\uff1f \\u7cfb\\u7edf\\u8fd8\\u662f ADB\\uff1f\",\"text\":\"<p>\\u8fd9\\u4ec5\\u5728\\u60a8\\u4f7f\\u7528root\\u6743\\u9650\\u65f6\\u624d\\u91cd\\u8981\\uff0c\\u6216\\u8005\\u60a8\\u7684\\u8bbe\\u5907\\u4e0a\\u8fd0\\u884c\\u7684 <code>adbd</code> \\u7a0b\\u5e8f\\u5177\\u6709root\\u6743\\u9650\\uff08\\u6700\\u7ec8\\u7528\\u6237\\u8bbe\\u5907\\u5e76\\u975e\\u5982\\u6b64\\uff09\\u3002</p> <p>\\u5efa\\u8bae\\u4f7f\\u7528System\\uff08UID <code>1000</code>\\uff09\\uff0c\\u56e0\\u4e3a\\u5b83\\u6bd4 ADB\\uff08UID <code>2000</code>\\uff09\\u5177\\u6709\\u66f4\\u9ad8\\u7684\\u6743\\u9650\\u3002 \\u4f8b\\u5982\\uff0c \\u53ea\\u6709\\u5f53\\u7cfb\\u7edf\\u8fd0\\u884c\\u65f6\\u624d\\u80fd\\u66f4\\u6539\\\"\\u7cfb\\u7edf\\u56fa\\u5b9a\\\"\\u7684\\u6743\\u9650\\u3002</p>\"},{\"location\":\"zh/faqs/#faq9\",\"title\":\"\\u5728\\u6392\\u9664\\u8fc7\\u6ee4\\u5668\\u4e2d\\u4ec0\\u4e48\\u662f\\u201c\\u65e0\\u6548\\u7684\\u6743\\u9650\\u201d\\uff1f\",\"text\":\"<p>\\u5982\\u679c\\u67d0\\u4e2a\\u5e94\\u7528\\u8bf7\\u6c42\\u4e86 manifest \\u6743\\u9650\\uff0c\\u4f46\\u8be5\\u6743\\u9650\\u65e2\\u672a\\u5728 Android \\u6846\\u67b6\\u4e2d\\u58f0\\u660e\\uff08\\u63d0\\u4f9b\\uff09\\uff0c\\u4e5f\\u672a\\u5728\\u4efb\\u4f55\\u5df2\\u5b89\\u88c5\\u7684\\u8f6f\\u4ef6\\u5305\\u4e2d\\u58f0\\u660e\\uff08\\u63d0\\u4f9b\\uff09\\uff0c\\u5219\\u8be5\\u6743\\u9650\\u5c5e\\u4e8e\\u65e0\\u6548\\u6743\\u9650\\u3002 \\u4f8b\\u5982\\uff0c\\u5982\\u679c\\u60a8\\u7684\\u8bbe\\u5907\\u4e0a\\u672a\\u5b89\\u88c5Play\\u5546\\u5e97\\u5e94\\u7528\\uff0c <code>com.android.vending.BILLING</code> \\u5c06\\u662f\\u4e00\\u4e2a\\u65e0\\u6548\\u7684\\u6743\\u9650\\u3002</p>\"},{\"location\":\"zh/faqs/#faq10\",\"title\":\"\\u5728\\u6392\\u9664\\u8fc7\\u6ee4\\u5668\\u4e2d\\uff0c\\u201c\\u989d\\u5916\\u7684 AppOps\\u201d\\u6307\\u7684\\u662f\\u4ec0\\u4e48\\uff1f\",\"text\":\"<p>\\u5e76\\u975e\\u6240\\u6709 AppOps \\u90fd\\u7528\\u4e8e\\u6240\\u6709\\u5df2\\u5b89\\u88c5\\u7684\\u5e94\\u7528\\u7a0b\\u5e8f\\u3002 \\u4f46\\u4f60\\u53ef\\u4ee5\\u5f3a\\u5236\\u8981\\u6c42\\u4efb\\u4f55\\u5e94\\u7528\\u4f7f\\u7528 AppOp\\u3002 \\u9009\\u5b9a\\u9644\\u52a0\\u529f\\u80fd AppOps \\u51fa\\u73b0\\u5728\\u6240\\u6709\\u5e94\\u7528\\u7684\\u6743\\u9650\\u5217\\u8868\\u4e2d\\uff0c\\u4ee5\\u4fbf\\u60a8\\u8fdb\\u884c\\u8bbe\\u7f6e\\u3002</p>\"},{\"location\":\"zh/faqs/#faq11\",\"title\":\"AppOp \\u5177\\u6709\\u54ea\\u4e9b\\u4e0d\\u540c\\u7684\\u6a21\\u5f0f\\uff1f\\u6211\\u5e94\\u8be5\\u4f7f\\u7528\\u54ea\\u4e00\\u79cd\\uff1f\",\"text\":\"<p>\\u901a\\u5e38\\u4f60\\u5e94\\u8be5\\u5141\\u8bb8\\u6216\\u5ffd\\u7565\\u3002 \\u6216\\u8005\\u60a8\\u53ef\\u80fd\\u53ea\\u60f3\\u5728\\u5e94\\u7528\\u7a0b\\u5e8f\\u5728 Foreground (\\u4ec5\\u5728 Android 9 \\u53ca\\u4ee5\\u4e0a\\u7248\\u672c\\u4e0a)\\u65f6\\u5141\\u8bb8\\u64cd\\u4f5c\\u3002 Deny \\u662f\\u5f3a\\u70c8\\u7248\\u672c\\u7684 Ignore \\u53ef\\u80fd\\u5bfc\\u81f4\\u8bf7\\u6c42\\u5e94\\u7528\\u5d29\\u6e83\\u3002 \\u9ed8\\u8ba4\\u503c\\u662f\\u7cfb\\u7edf\\u7684\\u9ed8\\u8ba4\\u884c\\u4e3a\\uff0c\\u5176\\u5177\\u4f53\\u8868\\u73b0\\u56e0\\u4e0d\\u540c\\u7684 AppOps\\u800c\\u5f02\\u3002</p> <p>\\u8bf7\\u6ce8\\u610f\\uff0c\\u5e76\\u975e\\u6240\\u6709 AppOp \\u6a21\\u5f0f\\u90fd\\u80fd\\u5728\\u6bcf\\u4e2a AppOp \\u4e0a\\u4e3a\\u6bcf\\u4e2a\\u5e94\\u7528\\u7a0b\\u5e8f\\u8bbe\\u7f6e\\u3002 \\u4f8b\\u5982\\u5728\\u8fd1\\u671f\\u53d1\\u5e03\\u7684Android\\u7248\\u672c\\u4e2d\\uff0c <code>CAMERA</code> \\u548c <code>MICROPHONE</code> \\u4ec5\\u5141\\u8bb8\\u7528\\u6237\\u5e94\\u7528\\u5728\\u524d\\u53f0\\u4f7f\\u7528\\uff08\\u5373\\u4f7f\\u8bbe\\u7f6e\\u6a21\\u5f0f\\u4e3a\\u5141\\u8bb8\\uff09\\u3002 \\u540c\\u6837\\u5730\\uff0c\\u67d0\\u4e9b AppOps \\u6c38\\u8fdc\\u65e0\\u6cd5\\u8bbe\\u7f6e\\u4e3a \\u524d\\u666f \\u6a21\\u5f0f\\u3002</p> <p>\\u76f8\\u5173\\u9605\\u8bfb\\uff1a\\u4e3a\\u4ec0\\u4e48\\u67d0\\u4e9b AppOps \\u65e0\\u6cd5\\u66f4\\u6539\\uff1f</p> <p>\\u5b98\\u65b9\\u6587\\u6863\\uff1aAppOpsManager\\u3002</p>\"},{\"location\":\"zh/faqs/#faq12\",\"title\":\"\\u201c\\u5ffd\\u7565\\u201d\\u548c\\u201c\\u62d2\\u7edd\\u201d\\u6a21\\u5f0f\\u6709\\u4f55\\u533a\\u522b\\uff1f AppOp\",\"text\":\"<p>Ignore \\u9ed8\\u9ed8\\u5931\\u8d25\\u3002\\u5f53 Deny \\u5411\\u5e94\\u7528\\u7a0b\\u5e8f\\u4e22\\u5931\\u9519\\u8bef\\uff0c\\u5e94\\u7528\\u7a0b\\u5e8f\\u53ef\\u80fd\\u4e0d\\u4f1a\\u9884\\u6599\\u5230\\u5e76\\u4e14\\u53ef\\u80fd\\u5d29\\u6e83\\u3002 \\u60a8\\u901a\\u5e38\\u5e94\\u8be5\\u4f7f\\u7528 Ignore\\u3002</p>\"},{\"location\":\"zh/faqs/#faq41\",\"title\":\"\\u4e3a\\u4ec0\\u4e48\\u6211\\u65e0\\u6cd5\\u5c06 AppOp \\u6a21\\u5f0f\\u8bbe\\u7f6e\\u4e3a\\u524d\\u666f\\uff1f\",\"text\":\"<p>\\u65e0\\u6cd5\\u4e3a\\u6240\\u6709 AppOps\\u8bbe\\u7f6e\\u524d\\u666f\\u6a21\\u5f0f\\u3002 \\u5373\\u4f7f\\u8bbe\\u7f6e\\u5b8c\\u6bd5\\uff0c\\u4e5f\\u53ef\\u80fd\\u65e0\\u6cd5\\u63d0\\u4f9b\\u9884\\u671f\\u7ed3\\u679c\\u3002</p> <p>\\u5173\\u8054\\uff1a</p> <ul> <li> AppOp \\u7684\\u4e0d\\u540c\\u6a21\\u5f0f\\u6709\\u54ea\\u4e9b\\uff1f\\u6211\\u8be5\\u4f7f\\u7528\\u54ea\\u79cd\\u6a21\\u5f0f\\uff1f</li> <li>\\u4e3a\\u4ec0\\u4e48\\u67d0\\u4e9b AppOps \\u65e0\\u6cd5\\u66f4\\u6539\\uff1f</li> </ul> <p>\\u8bf7\\u6ce8\\u610f\\uff0c\\u6743\\u9650\\u6a21\\u5f0f\\\"\\u4ec5\\u5728\\u4f7f\\u7528\\u5e94\\u7528\\u65f6\\u5141\\u8bb8\\\"\\u5e76\\u4e0d\\u603b\\u662f\\u5c06 AppOp \\u6a21\\u5f0f\\u8bbe\\u7f6e\\u4e3a\\\"\\u524d\\u53f0\\\"\\uff1a</p> <p></p> <p>\\u901a\\u5e38\\u6211\\u4eec\\u53ea\\u770b\\u5230 manifest \\u6743\\u9650\\u7684\\u4e24\\u79cd\\u72b6\\u6001\\uff1a\\u5df2\\u6388\\u4e88\\u548c\\u5df2\\u64a4\\u9500\\u3002 \\u4f46\\u5b89\\u5353\\u4f7f\\u7528 flags \\u5c06\\u8fd9\\u4e24\\u4e2a\\u72b6\\u6001\\u5206\\u5272\\u6210\\u591a\\u4e2a\\u5b50\\u5dde\\u3002 \\u5bf9\\u4e8e\\u67d0\\u4e9b\\u6743\\u9650\\uff0c\\u76f8\\u540c\\u7684\\u73b0\\u8c61\\u88ab\\u7528\\u6765\\u5b9e\\u73b0\\\"\\u53ea\\u6709\\u5f53\\u5e94\\u7528\\u7a0b\\u5e8f\\u53ef\\u89c1\\u65f6\\u624d\\u6388\\u4e88\\\"\\u884c\\u4e3a\\u3002 AppOp \\u5728\\u6b64\\u60c5\\u51b5\\u4e0b\\uff0c\\u6743\\u9650\\u672a\\u88ab\\u4f7f\\u7528\\u3002</p> <p>\\u66f4\\u591a\\u8be6\\u60c5\\u8bf7\\u53c2\\u9605\\u5b98\\u65b9\\u6587\\u6863\\u4e2d\\u7684\\u540e\\u53f0\\u8bbf\\u95ee\\u548c\\u524d\\u53f0\\u8bbf\\u95ee\\u3002</p> <p>\\u4e3a\\u7b80\\u5316\\u8d77\\u89c1\\uff0c PMX \\u76ee\\u524d\\u4e0d\\u76d1\\u63a7\\u6743\\u9650\\u6807\\u5fd7\\u3002 \\u4f46\\u5c06\\u6765\\u53ef\\u80fd\\u4f1a\\u6dfb\\u52a0\\u4e00\\u4e2a\\u9009\\u9879\\u6765\\u8ddf\\u8e2a\\u5bf9\\u6743\\u9650\\u6807\\u5fd7\\u7684\\u66f4\\u6539\\uff0c\\u5373\\u4f7f\\u6388\\u4e88/\\u64a4\\u9500\\u6a21\\u5f0f\\u4fdd\\u6301\\u4e0d\\u53d8\\u3002</p>\"},{\"location\":\"zh/faqs/#faq14\",\"title\":\"<code>WAKE_LOCK</code> \\u6743\\u9650\\u7684\\u4f5c\\u7528\\u662f\\u4ec0\\u4e48\\uff1f\",\"text\":\"<p>\\u5e94\\u7528\\u7a0b\\u5e8f\\u6309\\u4f4f\\u5524\\u9192\\u5c4f\\u5e55\\u4ee5\\u4fdd\\u6301\\u8bbe\\u5907\\u5524\\u9192\\uff0c\\u5373\\u4e0d\\u8fdb\\u5165Doze\\u6a21\\u5f0f\\u3002</p>\"},{\"location\":\"zh/faqs/#faq16\",\"title\":\"\\u5982\\u4f55\\u4fee\\u6539 <code>INTERNET</code> \\u7684\\u6743\\u9650\\uff1f\",\"text\":\"<p>Android \\u5e76\\u4e0d\\u5141\\u8bb8\\u4fee\\u6539\\u6240\\u6709\\u6743\\u9650\\uff0c\\u4f8b\\u5982\\u5177\\u6709 \\u666e\\u901a \\u4fdd\\u62a4\\u7ea7\\u522b \\u7684\\u6743\\u9650\\uff08\\u4f8b\\u5982 <code>INTERNET</code>\\uff09\\uff0c\\u6216\\u5177\\u6709 \\u56fa\\u5b9a \\u6807\\u8bb0\\u6216 \\u7b7e\\u540d \\u4fdd\\u62a4\\u7ea7\\u522b\\u7684\\u6743\\u9650\\uff08\\u901a\\u5e38\\u662f\\u7cfb\\u7edf\\u6216\\u6846\\u67b6\\u5e94\\u7528\\uff09\\u3002 \\u53c2\\u89c1 Manifest \\u6743\\u9650\\u8bf4\\u660e \\u548c AppOps\\u3002</p> <p>\\u4f46\\u662f\\u5982\\u679c\\u60a8\\u5df2\\u7ecf\\u6839\\u76ee\\u5f55\\uff0c Fyrypt\\u53ef\\u4ee5\\u8ba9\\u60a8\\u975e\\u5e38\\u5f3a\\u5927\\u5730\\u63a7\\u5236\\u60a8\\u8bbe\\u5907\\u4e0a\\u53d1\\u751f\\u7684\\u7f51\\u7edc\\u6d3b\\u52a8\\u3002</p>\"},{\"location\":\"zh/faqs/#faq40\",\"title\":\"\\u56fa\\u5b9a \\u6743\\u9650\\u662f\\u4ec0\\u4e48\\uff1f\",\"text\":\"<p>\\u7cfb\\u7edf\\u56fa\\u5b9a\\u6743\\u9650\\u7531\\u539f\\u59cb\\u8bbe\\u5907\\u5236\\u9020\\u5546\\uff08OEM\\uff09\\u6216 ROM \\u5f00\\u53d1\\u8005\\u6388\\u4e88\\u9884\\u88c5\\u5e94\\u7528\\u3002 \\u5b83\\u4eec\\u4e0d\\u662f\\u8981\\u6539\\u53d8\\u7684\\u3002 \\u4f46\\u5982\\u679c\\u60a8\\u7684\\u8bbe\\u5907\\u5df2\\u83b7\\u53d6root\\u6743\\u9650\\uff0c PMX \\u53ef\\u4fee\\u6539\\u7cfb\\u7edf\\u56fa\\u5b9a\\u6743\\u9650\\u3002</p> <p>\\u653f\\u7b56\\u89e3\\u51b3 \\u6743\\u9650\\u88ab\\u7ba1\\u7406\\u8bbe\\u5907\\u7684 IT \\u7ba1\\u7406\\u5458\\u6388\\u4e88(\\u6216\\u62d2\\u7edd)\\u3002 \\u5b83\\u4eec\\u662f\\u4e0d\\u80fd\\u6539\\u53d8\\u7684\\u3002</p> <p>\\u7528\\u6237\\u4fee\\u590d \\u6743\\u9650\\u7531\\u7528\\u6237\\u56fa\\u5b9a\\u4e0b\\u6765\\u3002 \\u5982\\u679c\\u7528\\u6237\\u591a\\u6b21\\u62d2\\u7edd\\u4e86\\u4e00\\u4e2a\\u5e94\\u7528\\u8bf7\\u6c42\\u7684\\u67d0\\u4e2a\\u6743\\u9650\\uff0c\\u7cfb\\u7edf\\u4f1a\\u5c06\\u8be5\\u6743\\u9650\\u6807\\u8bb0\\u4e3a\\u7528\\u6237\\u56fa\\u5b9a\\uff0c\\u5e94\\u7528\\u518d\\u6b21\\u8bf7\\u6c42\\u65f6\\u4e0d\\u4f1a\\u8be2\\u95ee\\u7528\\u6237\\u662f\\u5426\\u6388\\u4e88\\u8be5\\u6743\\u9650\\u3002 \\u7528\\u6237\\u53ef\\u4ee5\\u968f\\u610f\\u66f4\\u6539\\u8fd9\\u79cd\\u56fa\\u5b9a\\u7684\\u6743\\u9650\\u3002</p>\"},{\"location\":\"zh/faqs/#faq17\",\"title\":\"\\u6211\\u5982\\u4f55\\u66f4\\u6539\\u7cfb\\u7edf\\u56fa\\u5b9a\\u6743\\u9650\\u3001\\u7b7e\\u540d/\\u7279\\u6743\\u6743\\u9650\\u6216\\u6846\\u67b6\\u5e94\\u7528\\u7684\\u6743\\u9650\\uff1f\",\"text\":\"<p>\\u82e5\\u60a8\\u7684\\u8bbe\\u5907\\u5df2\\u83b7\\u53d6root\\u6743\\u9650\\uff0c\\u5728\\u4ed8\\u8d39\\u7248\\u672c\\u4e2d\\u53ef\\u901a\\u8fc7\\u9ad8\\u7ea7\\u8bbe\\u7f6e\\u4e2d\\u7684\\u5141\\u8bb8\\u5173\\u952e\\u66f4\\u6539\\u9009\\u9879\\uff0c\\u5bf9\\u5e26\\u6709\\u7cfb\\u7edf\\u56fa\\u5b9a\\u6807\\u8bb0\\u3001\\u4fdd\\u62a4\\u7ea7\\u522b\\u4e3a\\u7b7e\\u540d\\u6216\\u7279\\u6743\\u7684\\u6743\\u9650\\uff0c\\u4ee5\\u53ca\\u6846\\u67b6\\u5e94\\u7528\\u7684\\u6743\\u9650\\u8fdb\\u884c\\u4fee\\u6539\\u3002 \\u4f46\\u5b83\\u4e0d\\u5efa\\u8bae\\u4e0e\\u7cfb\\u7edf\\u548c\\u6846\\u67b6\\u5e94\\u7528\\u4e00\\u8d77\\u73a9\\u3002 \\u4f60\\u53ef\\u80fd\\u4f1a\\u8ba9\\u8bbe\\u5907\\u53d8\\u7816\\u3002</p>\"},{\"location\":\"zh/faqs/#faq18\",\"title\":\"\\u5728 AppOp \\u6743\\u9650\\u4e2d\\uff0c\\\"UID\\u6a21\\u5f0f\\\"\\u6307\\u7684\\u662f\\u4ec0\\u4e48\\uff1f\",\"text\":\"<p>\\u8fd9\\u662f AppOp \\u6743\\u9650\\u7684\\u4e00\\u79cd\\u6a21\\u5f0f\\uff0c\\u8868\\u793a\\u4fee\\u6539\\u6b64 AppOp \\u65f6\\uff0c\\u4e5f\\u4f1a\\u5f71\\u54cd\\u5176\\u4ed6\\u5df2\\u5b89\\u88c5\\u7684\\u5e94\\u7528\\uff08\\u5177\\u6709\\u76f8\\u540cUID\\u7684\\u5e94\\u7528\\uff09\\u3002 \\u53c2\\u89c1 <code>sharedUserId</code>\\u3002</p> <p>\\u8bf7\\u6ce8\\u610f\\uff0c\\u5bf9\\u4e8e\\u8bb8\\u591a AppOps\\uff0cUID \\u6a21\\u5f0f\\u4f18\\u5148\\u4e8e\\u5305\\u6a21\\u5f0f\\u3002</p>\"},{\"location\":\"zh/faqs/#faq39\",\"title\":\"\\u6211\\u80fd\\u5426\\u901a\\u8fc7 PMX\\u63a7\\u5236 Android \\u7684\\u201c\\u82e5\\u5e94\\u7528\\u672a\\u88ab\\u4f7f\\u7528\\u5219\\u79fb\\u9664\\u6743\\u9650\\u201d\\u529f\\u80fd\\uff1f\",\"text\":\"<p>\\u786e\\u5b9a. \\u6b64\\u529f\\u80fd\\u81eaAndroid 11\\u8d77\\u53ef\\u7528\\u3002 \\u5728\\u67d0\\u4e9b\\u8bbe\\u5907\\u4e0a\\uff0c\\u8be5\\u529f\\u80fd\\u4e5f\\u88ab\\u6807\\u8bb0\\u4e3a \\\"\\u6682\\u505c\\u672a\\u4f7f\\u7528\\u7684\\u5e94\\u7528\\u7a0b\\u5e8f\\u6d3b\\u52a8\\\"\\u3002</p> <p></p> <p>\\u8981\\u5c06\\u6b64\\u9009\\u9879\\u4ece PMX\\uff1a</p> <ol> <li>\\u524d\\u5f80\\u6392\\u9664\\u8fc7\\u6ee4\\u5668 \\u2192 \\u9644\\u52a0 AppOps \\u5217\\u8868\\uff0c\\u5e76\\u52fe\\u9009 <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code>\\u3002</li> <li>\\u8fd4\\u56de\\u4e3b\\u5c4f\\u5e55\\u540e\\uff0c\\u5728\\u9876\\u90e8\\u7684\\u641c\\u7d22\\u680f\\u4e2d\\u8f93\\u5165 <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code>\\u3002 \\u8bf7\\u786e\\u4fdd\\u5728\\u641c\\u7d22\\u8bbe\\u7f6e\\u4e2d\\u542f\\u7528\\u6df1\\u5ea6\\u641c\\u7d22\\u3002</li> <li>\\u8bbe\\u7f6e\\u6a21\\u5f0f\\u5141\\u8bb8 \\u6216 \\u5ffd\\u7565 \\u4e3a\\u60a8\\u60f3\\u8981\\u7684\\u5e94\\u7528\\u3002</li> </ol> <p>\\u60a8\\u4e5f\\u53ef\\u4ee5\\u4f7f\\u7528 \\u6743\\u9650\\u89c6\\u56fe \\u6216 \\u6279\\u5904\\u7406\\u64cd\\u4f5c \\u6765\\u4ee3\\u66ff\\u6b65\\u9aa4 2 \\u548c 3 \\u3002 \\u4e0b\\u9762\\u662f\\u4f7f\\u7528\\u6279\\u5904\\u7406\\u64cd\\u4f5c\\u7684\\u6307\\u5357\\uff1a</p>      Remove permissions if app isn't used\"},{\"location\":\"zh/faqs/#faq31\",\"title\":\"\\u4e3a\\u4ec0\\u4e48\\u6211\\u603b\\u6536\\u5230\\u5927\\u91cf\\\"Bad ROM\\\"\\u7684\\u5f39\\u7a97\\uff1f\",\"text\":\"<p>\\u8bbe\\u5907\\u5236\\u9020\\u5546\\u4f1a\\u5bf9AOSP \\u4ee3\\u7801 (\\u7531Google\\u5f00\\u53d1) \\u505a\\u51fa\\u5927\\u91cf\\u66f4\\u6539\\u3002 ROMs \\u56e0\\u6b64\\uff0c\\u5728\\u67d0\\u4e9b\\u5b9a\\u5236/OEM\\u8bbe\\u5907\\u4e0a\\uff0c AppOps \\u6846\\u67b6\\u4f1a\\u8fd4\\u56de\\u51fa\\u4e4e\\u610f\\u6599\\u7684\\u7ed3\\u679c\\uff0c\\u800c PMX \\u65e0\\u6cd5\\u7406\\u89e3\\u8fd9\\u4e9b\\u7ed3\\u679c\\u3002 \\u60a8\\u53ef\\u4ee5\\u5ffd\\u7565\\u8fd9\\u4e9b\\u8b66\\u544a\\uff0c\\u4f46\\u90e8\\u5206\\u529f\\u80fd\\u53ef\\u80fd\\u5931\\u6548\\u3002</p> <p>\\u60a8\\u53ef\\u4ee5\\u5728\\u8bbe\\u7f6e \\u2192 \\u5e38\\u89c4\\u8bbe\\u7f6e \\u2192 \\u7981\\u7528\\u4e0d\\u826f ROM \\u901a\\u77e5\\u4e2d\\u5173\\u95ed\\u8fd9\\u4e9b\\u5f39\\u7a97\\u3002</p> <p>\\u53c2\\u89c1\\u4e3a\\u4f55 PMX \\u5728 OEM \\u64cd\\u4f5c\\u7cfb\\u7edf\\u6216\\u81ea\\u5b9a\\u4e49 ROMs\\u4e0a\\u65e0\\u6cd5\\u6b63\\u5e38\\u5de5\\u4f5c\\uff1f</p>\"},{\"location\":\"zh/faqs/#faq19\",\"title\":\"\\u201d\\u4ece\\u5217\\u8868\\u4e2d\\u9690\\u85cf\\u201c\\uff08\\u957f\\u6309\\u5f39\\u51fa\\uff09\\u529f\\u80fd\\u6709\\u4f55\\u4f5c\\u7528\\uff1f\",\"text\":\"<p>\\u4ed6\\u4eec\\u90fd\\u662f\\u5728\\u53ef\\u89c1\\u5217\\u8868\\u4e2d\\u9690\\u85cf\\u5e94\\u7528\\u7a0b\\u5e8f\\u6216\\u6743\\u9650\\u3002 \\u5982\\u679c\\u60a8\\u4e0d\\u60f3\\u66f4\\u6539\\u4efb\\u4f55\\u5e94\\u7528\\u7684\\u6743\\u9650\\uff0c\\u60a8\\u53ef\\u4ee5\\u9690\\u85cf\\u5b83\\u3002 \\u5b83\\u5c06\\u4e0d\\u4f1a\\u51fa\\u73b0\\u5728\\u4efb\\u4f55\\u5e94\\u7528\\u4e2d\\u3002 \\u82e5\\u8981\\u53d6\\u6d88\\u9690\\u85cf\\uff0c\\u8bf7\\u518d\\u6b21\\u5230 \\u6392\\u9664\\u8fc7\\u6ee4\\u5668 \\u8bbe\\u7f6e\\u3002</p> <p>\\u540c\\u6837\\uff0c\\u5982\\u679c\\u60a8\\u4e0d\\u5173\\u5fc3\\u67d0\\u4e2a\\u5e94\\u7528\\u7684\\u6743\\u9650\\uff0c\\u60a8\\u53ef\\u4ee5\\u5c06\\u5176\\u6392\\u9664\\u5728\\u53ef\\u89c1\\u5217\\u8868\\u4e4b\\u5916\\u3002</p> <p> </p>\"},{\"location\":\"zh/faqs/#faq21\",\"title\":\"\\u662f\\u5426\\u6709\\u5305\\u542b\\u6240\\u6709\\u6743\\u9650\\u53ca\\u5176\\u8bf4\\u660e\\u7684\\u5b8c\\u6574\\u5217\\u8868\\uff1f\",\"text\":\"<p>\\u6ca1\\u6709\\u5b8c\\u6574\\u7684\\u6743\\u9650\\u5217\\u8868\\u63cf\\u8ff0\\uff0c\\u81f3\\u5c11\\u636e\\u6211\\u6240\\u77e5\\u662f\\u8fd9\\u6837\\u3002 PMX \\u4e13\\u4e1a\\u7248\\u4f1a\\u663e\\u793a\\u5e38\\u89c1\\u6743\\u9650 manifest \\u548c AppOp \\u7684\\u7b80\\u8981\\u8bf4\\u660e\\u3002</p> <p>\\u6709\\u7b2c\\u4e09\\u65b9\\u8d44\\u6e90\\uff0c\\u6bd4\\u5982Izzy\\u7684\\u8fd9\\u4e2a\\u3002 Android\\u7684\\u5b98\\u65b9\\u5f00\\u53d1\\u8005\\u7f51\\u7ad9\\u548c\\u6e90\\u4ee3\\u7801\\u4e5f\\u662f\\u5f88\\u597d\\u7684\\u5b66\\u4e60\\u6765\\u6e90\\u3002</p> <p>\\u6bcf\\u6b21\\u65b0\\u7684 Android \\u7248\\u672c\\u90fd\\u4f1a\\u6dfb\\u52a0\\u4e00\\u4e9b\\u65b0\\u7684\\u6743\\u9650\\uff0c\\u6709\\u4e9b\\u6743\\u9650\\u4f1a\\u8fc7\\u65f6\\u3002 \\u6b64\\u5916\\uff0c\\u5e76\\u975e\\u6240\\u6709\\u6743\\u9650\\u90fd\\u9700\\u8981\\u7531\\u6bcf\\u4e2a\\u7528\\u6237\\u5904\\u7406\\u3002</p>\"},{\"location\":\"zh/faqs/#faq22\",\"title\":\"\\u5982\\u4f55\\u5728\\u5de5\\u4f5c\\u8d44\\u6599/\\u591a\\u7528\\u6237\\u73af\\u5883\\u4e2d\\u4f7f\\u7528\\u672c\\u5e94\\u7528\\uff1f\",\"text\":\"<p>\\u4e13\\u4e1a\\u7248\\u652f\\u6301\\u5de5\\u4f5c\\u914d\\u7f6e\\u6587\\u4ef6\\u548c\\u591a\\u7528\\u6237\\u529f\\u80fd\\u3002 \\u4ece\\u4e0b\\u62c9\\u83dc\\u5355\\u4e2d\\u9009\\u62e9\\u4e00\\u4e2a\\u7528\\u6237\\u3002</p> <p></p>\"},{\"location\":\"zh/faqs/#faq24\",\"title\":\"PMX \\u4e0e XPrivacyLua\\u76f8\\u6bd4\\u5982\\u4f55\\uff1f \\u53ef\\u4ee5\\u76f8\\u4e92\\u66ff\\u4ee3\\u5417\\uff1f\",\"text\":\"<p>PMX \\u5e76\\u975e\\u65e8\\u5728\\u53d6\\u4ee3\\uff0c\\u800c\\u662f\\u65e8\\u5728\\u8865\\u5145\\u8bf8\\u5982 XPrivacyLua\\u4e4b\\u7c7b\\u7684\\u9879\\u76ee\\u3002 \\u5b83\\u4eec\\u7684\\u8bbe\\u8ba1\\u76ee\\u6807\\u4e0d\\u540c\\u3002</p> <p>XPrivacyLua \\u901a\\u8fc7\\u94a9\\u5165\\u5185\\u90e8API\\u6765\\u7834\\u89e3Android\\u7684\\u6807\\u51c6\\u529f\\u80fd\\uff0c\\u4f7f\\u7528 Xposed \\u5c06\\u90e8\\u5206Android\\u5e93\\u66ff\\u6362\\u4e3a\\u7834\\u89e3\\u7248\\u672c\\u3002 \\u56e0\\u6b64\\uff0c\\u6211\\u4eec\\u5f97\\u5230\\u4e86\\u989d\\u5916\\u7684\\u529f\\u80fd\\uff0c\\u5982\\u5411\\u5e94\\u7528\\u7a0b\\u5e8f\\u63d0\\u4f9b\\u865a\\u5047\\u6570\\u636e\\uff0c\\u5e76\\u5f97\\u5230\\u4e0e\\u6743\\u9650\\u6709\\u5173\\u7684\\u4e8b\\u4ef6\\u7684\\u901a\\u77e5\\uff0c\\u800c\\u8fd9\\u662f\\u6211\\u4eec\\u65e0\\u6cd5\\u901a\\u8fc7\\u4efb\\u4f55\\u5176\\u4ed6\\u6b63\\u5e38\\u624b\\u6bb5\\u77e5\\u9053\\u7684\\u3002</p> <p>PMX \\u53e6\\u4e00\\u65b9\\u9762\\uff0c\\u5b83\\u5e76\\u975e\\u4f5c\\u4e3a\\u6846\\u67b6\\u6a21\\u5757\\u800c\\u8bbe\\u8ba1\\u3002 \\u5b83\\u53ef\\u4ee5\\u65b9\\u4fbf\\u5730\\u8bbf\\u95ee\\u67d0\\u4e9b\\u6b63\\u5e38\\u5e94\\u7528\\u65e0\\u6cd5\\u4f7f\\u7528\\u7684\\u7279\\u6743API\\u3002 \\u5b83\\u4e0d\\u4f1a\\u4ee5\\u4efb\\u4f55\\u65b9\\u5f0f\\u4fee\\u6539Android\\u7cfb\\u7edf\\u7684\\u6807\\u51c6\\u529f\\u80fd\\u3002 PMX \\u6267\\u884c\\u7684\\u591a\\u6570\\u4efb\\u52a1\\u4e5f\\u53ef\\u901a\\u8fc7\\u547d\\u4ee4\\u884c\\u5b8c\\u6210\\uff0c\\u4f46\\u90e8\\u5206\\u64cd\\u4f5c\\u9664\\u5916\\uff0c\\u4f8b\\u5982\\u4fee\\u6539\\u7cfb\\u7edf\\u56fa\\u5b9a\\u6743\\u9650\\u3002</p> <p>\\u83b7\\u53d6root\\u6743\\u9650\\u548c Xposed \\u662f\\u4f7f\\u7528 XPrivacyLua\\u7684\\u4e24\\u4e2a\\u4e25\\u683c\\u8981\\u6c42\\u3002 PMX \\u4e0d\\u9700\\u8981\\u8fd9\\u4e24\\u8005\\u4e2d\\u7684\\u4efb\\u4f55\\u4e00\\u4e2a\\u3002 \\u8fd9\\u4e24\\u6837\\u4e1c\\u897f\\u5bf9\\u8bb8\\u591a\\u8bbe\\u5907\\u6765\\u8bf4\\u90fd\\u662f\\u4e0d\\u53ef\\u7528\\u7684\\uff0c\\u6216\\u8005\\u7531\\u4e8e\\u6240\\u6d89\\u53ca\\u7684\\u6280\\u672f\\u56f0\\u96be\\u3001\\u4fdd\\u4fee\\u5931\\u6548\\u3001SafetyNet\\u5931\\u6548\\u548c\\u5176\\u4ed6\\u95ee\\u9898\\uff0c\\u8bb8\\u591a\\u7528\\u6237\\u4e0d\\u8003\\u8651\\u5c06\\u5176\\u4f5c\\u4e3a\\u4e00\\u79cd\\u9009\\u62e9\\u3002</p> <p>\\u66f4\\u591a\\u8bf4\\u660e here \\u548c here.</p>\"},{\"location\":\"zh/faqs/#faq32\",\"title\":\"PMX \\u80fd\\u5426\\u50cfBouncer\\u90a3\\u6837\\u5728\\u5e94\\u7528\\u5173\\u95ed\\u65f6\\u81ea\\u52a8\\u64a4\\u9500\\u6743\\u9650\\uff1f\",\"text\":\"<p>\\u786e\\u5b9a. \\u53c2\\u89c1\\u6743\\u9650\\u76d1\\u89c6\\u5668\\u548c\\u5b9a\\u65f6\\u68c0\\u67e5\\u3002 \\u4f46\\u5b83\\u4e0d\\u4f7f\\u7528 Android \\u7684 Accessibility \\u529f\\u80fd\\u6765\\u4ee3\\u8868\\u7528\\u6237\\u5728\\u5c4f\\u5e55\\u4e0a\\u8fdb\\u884ctaps / \\u70b9\\u51fb(\\u5c3d\\u7ba1\\u8fd9\\u662f\\u4e00\\u4e2a\\u597d\\u7684\\u529f\\u80fd\\uff0c\\u65e0\\u9700\\u989d\\u5916\\u8bbe\\u7f6e)\\u3002 PMX \\u4f9d\\u8d56\\u4e8eroot\\u6216 ADB \\u6743\\u9650\\u3002 \\u56e0\\u6b64\\u5b83\\u80fd\\u5b9e\\u73b0\\u7684\\u529f\\u80fd\\u8fdc\\u8d85\\u8f85\\u52a9\\u529f\\u80fd\\u6240\\u80fd\\u63d0\\u4f9b\\u7684\\uff08\\u8be6\\u89c1\\u4ec0\\u4e48\\u662f PMX\\uff1f\\uff09\\u3002</p> <p>\\u82e5\\u60a8\\u4f7f\\u7528\\u7684\\u662f ADB\\u4e14\\u975e root \\u7528\\u6237\\uff0c\\u6743\\u9650\\u76d1\\u89c6\\u5668 \\u5728\\u67d0\\u4e9b\\u8bbe\\u5907\\u4e0a\\u53ef\\u80fd\\u65e0\\u6cd5\\u6b63\\u5e38\\u5de5\\u4f5c\\u3002 \\u8bf7\\u53c2\\u9605 ADB\\u7684\\u9650\\u5236\\u3002</p>\"},{\"location\":\"zh/faqs/#faq35\",\"title\":\"\\u5b89\\u88c5\\u65b0\\u5e94\\u7528\\u65f6\\u662f\\u5426\\u6709\\u901a\\u77e5\\u63d0\\u793a\\uff1f\",\"text\":\"<p>\\u786e\\u5b9a. \\u8bf7\\u53c2\\u9605\\u6743\\u9650Watcher\\u3002</p> <p>\\u56e0\\u4e3aAndroid 8\\u65e0\\u6cd5\\u8ba9\\u540e\\u53f0(\\u65e0\\u6cd5\\u8fd0\\u884c) \\u5e94\\u7528\\u83b7\\u5f97\\u65b0\\u5b89\\u88c5\\u5e94\\u7528\\u7684\\u901a\\u77e5\\u3002 \\u6240\\u4ee5\\u6211\\u4eec\\u5fc5\\u987b\\u8fd0\\u884c\\u4e00\\u4e2a\\u524d\\u53f0\\u670d\\u52a1(\\u6301\\u7eed\\u901a\\u77e5) \\u624d\\u80fd\\u63a5\\u6536\\u6b64\\u4e8b\\u4ef6\\u3002 \\u6216\\u8005\\uff0c\\u60a8\\u53ef\\u4ee5\\u8003\\u8651\\u4f7f\\u7528 \\u8ba1\\u5212\\u7684\\u68c0\\u67e5 \\u6765\\u4fdd\\u7559\\u7269\\u54c1\\u3002</p>\"},{\"location\":\"zh/faqs/#faq38\",\"title\":\"\\u5f53\\u5b89\\u88c5\\u65b0\\u5e94\\u7528\\u65f6\\uff0c PMX \\u80fd\\u5426\\u9ed8\\u8ba4\\u53d6\\u6d88\\u5176\\u6743\\u9650\\uff1f\",\"text\":\"<p>\\u786e\\u5b9a. \\u4f46\\u662f\\u6ca1\\u6709\\u6743\\u9650\\u5220\\u9664\\u3002 \\u6240\\u6709\\u53ef\\u64a4\\u9500\\u7684 manifest \\u6743\\u9650\\u5747\\u5df2\\u64a4\\u9500\\uff0c\\u5e76\\u5c06\\u4fdd\\u6301\\u64a4\\u9500\\u72b6\\u6001\\uff0c\\u9664\\u975e\\u7528\\u6237\\u660e\\u786e\\u6388\\u4e88\\u8fd9\\u4e9b\\u6743\\u9650\\u3002 \\u5c31 AppOps \\u800c\\u8a00\\uff0c\\u5176\\u4e2d\\u8bb8\\u591a\\u6587\\u4ef6\\u81f3\\u5c11\\u5728\\u5e94\\u7528\\u7a0b\\u5e8f\\u4f7f\\u7528\\u4e00\\u6b21\\u540e\\u624d\\u4f1a\\u51fa\\u73b0\\uff0c\\u4f8b\\u5982 <code>VIBRATE</code> \\u548c <code>READ_CLIPBOARD</code>\\u3002 \\u6b63\\u5982\\u6240\\u6307\\u51fa\\u7684\\uff0c\\u8bb8\\u591a\\u5176\\u4ed6\\u7528\\u6237\\uff08\\u4f8b\\u5982 <code>READ_CONTACTS</code>\\uff09\\u7684 manifest \\u6743\\u9650\\u5df2\\u88ab\\u964d\\u7ea7\\u3002 \\u56e0\\u6b64\\u5728\\u5e94\\u7528\\u5b89\\u88c5\\u65f6\\u65e0\\u6cd5\\u9884\\u77e5\\u5e94\\u79fb\\u9664\\u54ea\\u4e2a AppOps\\u3002</p> <p>\\u4f46\\u5f53\\u5b89\\u88c5\\u65b0\\u5e94\\u7528\\u65f6\\u4f1a\\u663e\\u793a\\u901a\\u77e5\\uff08\\u82e5\\u4f7f\\u7528\\u6743\\u9650\\u76d1\\u89c6\\u5668)\\uff0c\\u7528\\u6237\\u53ef\\u9010\\u9879\\u8bbe\\u7f6e\\u6743\\u9650\\u6216\\u5e94\\u7528\\u914d\\u7f6e\\u6587\\u4ef6\\u3002</p>\"},{\"location\":\"zh/faqs/#faq25\",\"title\":\"\\u4e3a\\u4ec0\\u4e48 PMX \\u9700\\u8981\\u4e92\\u8054\\u7f51\\u6743\\u9650\\uff1f\",\"text\":\"<p>\\u72ec\\u7acb\\u7684\\u4e13\\u4e1a\\u7248 \\u9700\\u8981\\u4e92\\u8054\\u7f51\\u8fde\\u63a5\\u4ee5\\u9a8c\\u8bc1\\u8bb8\\u53ef\\u8bc1\\u3002 \\u5176\\u4ed6 versions\\u53ef\\u4ee5\\u5b8c\\u5168\\u79bb\\u7ebf\\u5de5\\u4f5c\\u3002 \\u867d\\u7136Play Store\\u5e94\\u7528\\u7a0b\\u5e8f\\u9700\\u8981\\u4e92\\u8054\\u7f51\\u8fde\\u63a5\\u624d\\u80fd\\u9a8c\\u8bc1\\u8bb8\\u53ef\\u8bc1\\u3002</p>\"},{\"location\":\"zh/faqs/#optional-use-of-internet-permission\",\"title\":\"\\u53ef\\u9009\\u4f7f\\u7528 <code>android.permission.INTERNET</code> \\u6743\\u9650\",\"text\":\"<ul> <li>\\u68c0\\u67e5\\u66f4\\u65b0. \\u60a8\\u53ef\\u4ee5\\u5728\\u5e94\\u7528\\u8bbe\\u7f6e\\u4e2d\\u7981\\u7528\\u6b64\\u529f\\u80fd\\u3002</li> </ul>\"},{\"location\":\"zh/faqs/#on-device-use-of-internet-permission\",\"title\":\"\\u672c\\u5730\\uff08\\u8bbe\\u5907\\u4e0a\\uff09\\u4f7f\\u7528 <code>android.permission.INTERNET</code> \\u6743\\u9650\",\"text\":\"<p>Android \\u7cfb\\u7edf\\u4e0d\\u5141\\u8bb8\\u5e94\\u7528\\u5728\\u672a\\u83b7\\u5f97 <code>INTERNET</code> \\u6743\\u9650\\u7684\\u60c5\\u51b5\\u4e0b\\u521b\\u5efa\\u7f51\\u7edc\\u5957\\u63a5\\u5b57\\uff0c\\u5373\\u4f7f\\u8fd9\\u4e9b\\u5957\\u63a5\\u5b57\\u4ec5\\u7528\\u4e8e\\u672c\\u5730\\u64cd\\u4f5c\\u800c\\u975e\\u4e92\\u8054\\u7f51\\u8fde\\u63a5\\u3002 PMX \\u672c\\u5730\\uff08\\u8bbe\\u5907\\u5185\\uff09\\u8fde\\u63a5\\uff08\\u5373\\u5728 <code>127.0.0.1</code>\\u521b\\u5efa <code>localhost</code> \\u5957\\u63a5\\u5b57\\u7684\\u80fd\\u529b\\uff09\\u6709\\u4e24\\u79cd\\u7528\\u9014\\uff0c\\u7528\\u4e8e\\u8fdb\\u7a0b\\u95f4\\u901a\\u4fe1\\uff08IPC\\uff09\\uff1a</p> <ul> <li>PMX \\u542f\\u52a8\\u4e00\\u4e2a\\u5177\\u6709 root / ADB \\u7279\\u6743\\u7684\\u540e\\u53f0\\u8fdb\\u7a0b\\uff0c\\u5e76\\u901a\\u8fc7\\u7f51\\u7edc\\u5957\\u63a5\\u5b57\\u4e0e\\u8be5\\u8fdb\\u7a0b\\u901a\\u4fe1\\u3002 \\u5728\\u6700\\u521d\\u63e1\\u624b\\u540e\\uff0c\\u8fd9\\u4e24\\u4e2a\\u8fdb\\u7a0b\\u5f00\\u59cb\\u5728\\u7ed1\\u5b9a\\u5668\\u4e0a\\u4ea4\\u8c08\\u3002 \\u6211\\u4eec\\u505a\\u8fd9\\u4ef6\\u4e8b\\u6ca1\\u6709\\u66f4\\u597d\\u7684\\u65b9\\u6cd5\\uff0c\\u56e0\\u4e3a\\u5b89\\u5353\\u7cfb\\u7edf\\u4e5f\\u4e0d\\u5141\\u8bb8\\u5e94\\u7528\\u7a0b\\u5e8f\\u901a\\u8fc7 UNIX \\u57df\\u5957\\u63a5\\u5b57\\u3002</li> <li>\\u5982\\u679c\\u60a8\\u7684\\u8bbe\\u5907\\u672a\\u83b7\\u53d6root\\u6743\\u9650\\uff0c\\u4e14\\u60a8\\u4f7f\\u7528 PMX \\u914d\\u5408 ADB\\uff0c\\u5219\\u8fde\\u63a5 <code>adbd</code> \\u9700\\u8981\\u4e92\\u8054\\u7f51\\u6743\\u9650\\u3002 PMX \\u662f\\u5426\\u901a\\u8fc7 ADB \\u5728\\u7f51\\u7edc\\u4e0a\\u76d1\\u89c6\\u6211\\uff1f</li> </ul> <p>\\u56e0\\u6b64\\uff0c\\u5982\\u679c\\u5e94\\u7528\\u65e0\\u6cd5\\u521b\\u5efa\\u6216\\u4f7f\\u7528\\u672c\\u5730\\u7f51\\u7edc\\u5957\\u63a5\\u5b57\\uff0c\\u5b83\\u5c06\\u5931\\u8d25\\u3002 \\u82e5\\u9700\\u963b\\u6b62 PMX \\u8bbf\\u95ee\\u4e92\\u8054\\u7f51\\uff0c\\u5fc5\\u987b\\u786e\\u4fdd\\u8be5\\u5e94\\u7528\\u4ecd\\u80fd\\u901a\\u8fc7 \\u7528\\u4e8e\\u8fdb\\u7a0b\\u95f4\\u901a\\u4fe1\\u7684\\u56de\\u73af\\u63a5\\u53e3 \\u4e0e\\u8bbe\\u5907\\u4e0a\\u7684\\u8fdb\\u7a0b\\u8fdb\\u884c\\u901a\\u4fe1\\u3002 \\u8fd9\\u79cd\\u60c5\\u51b5\\u901a\\u5e38\\u51fa\\u73b0\\u5728\\u57fa\\u4e8e <code>iptables</code>\\u7684\\u9632\\u706b\\u5899\\uff08\\u5982Fyrypt\\uff09\\u4ee5\\u53ca\\u57fa\\u4e8eVPN\\u7684\\u9632\\u706b\\u5899\\uff08\\u5982NetGuard\\uff09\\u4e2d\\u3002 \\u4f46\\u67d0\\u4e9b ROMs \\u5185\\u7f6e\\u4e86\\u7981\\u6b62\\u7f51\\u7edc\\u8bbf\\u95ee\\u7684\\u529f\\u80fd\\uff1a</p> <p></p> <p>\\u8fd9\\u4e0d\\u4ec5\\u4f1a\\u963b\\u6b62\\u5e94\\u7528\\u4f7f\\u7528\\u4e92\\u8054\\u7f51\\uff0c\\u800c\\u4e14\\u4e5f\\u4f1a\\u7981\\u7528\\u5176\\u4e3a IPC \\u521b\\u5efa\\u5faa\\u73af\\u5957\\u63a5\\u53e3\\u7684\\u80fd\\u529b\\u3002 \\u56e0\\u6b64\\uff0c\\u5982\\u679c\\u62d2\\u7edd\\u6b64\\u6743\\u9650\\uff0cPMX \\u5c06\\u65e0\\u6cd5\\u83b7\\u5f97root/ ADB \\u6743\\u9650\\u3002</p>\"},{\"location\":\"zh/faqs/#faq26\",\"title\":\"PMX \\u5bf9\\u9690\\u79c1\\u7684\\u53cb\\u597d\\u7a0b\\u5ea6\\u5982\\u4f55\\uff1f \\u60a8\\u662f\\u5426\\u6536\\u96c6\\u7528\\u6237\\u6570\\u636e\\uff1f\",\"text\":\"<p>\\u5426. \\u6211\\u4eec\\u4e0d\\u6536\\u96c6\\u60a8\\u7684\\u6570\\u636e\\u3002 \\u6c38\\u8fdc\\u6ca1\\u6709\\u3002 \\u8fde\\u4e00\\u4e2a\\u5b57\\u8282\\u90fd\\u6ca1\\u6709\\u3002 PMX \\u62e5\\u6709\\u5f00\\u6e90\\u7248\\u672c\\u3002 \\u6211\\u4eec\\u575a\\u4fe1\\u7528\\u6237\\u5e94\\u5f53\\u5145\\u5206\\u4e86\\u89e3\\u5e76\\u77e5\\u6653\\u4e3a\\u4f55\\u4f7f\\u7528 PMX\\u3002 \\u6211\\u4eec\\u5c0a\\u91cd\\u4f60\\u7684\\u9690\\u79c1\\uff0c\\u6240\\u4ee5\\u4ece\\u672a\\u6536\\u96c6\\u8fc7\\u4efb\\u4f55\\u6570\\u636e\\uff0c\\u751a\\u81f3\\u662f\\u5d29\\u6e83\\u65e5\\u5fd7\\u3002 \\u60a8\\u53ef\\u80fd\\u8fd8\\u60f3\\u67e5\\u770b\\u6211\\u4eec\\u7684\\u9690\\u79c1\\u653f\\u7b56\\u3002</p>\"},{\"location\":\"zh/faqs/#faq27\",\"title\":\"PMX \\u662f\\u5426\\u901a\\u8fc7 ADB \\u5728\\u7f51\\u7edc\\u4e0a\\u76d1\\u89c6\\u6211\\uff1f\",\"text\":\"<p>\\u5426.</p> <p>PMX \\u901a\\u8fc7\\u672c\\u5730\\u4e3b\\u673a\\uff08<code>127.0.0.1</code>\\uff09\\u4e0e <code>adbd</code> \\u8fdb\\u7a0b\\u8fdb\\u884c\\u901a\\u4fe1\\u3002 \\u4f46\\u65e0\\u6cd5\\u4ec5\\u5728\\u672c\\u5730\\u4e3b\\u673a\\u76d1\\u542c <code>adbd</code> \\uff0c\\u800c\\u4e0d\\u76d1\\u542c\\u5176\\u4ed6\\u7f51\\u7edc\\u63a5\\u53e3\\uff08\\u56e0\\u4e3a ADB \\u672c\\u5e94\\u5728\\u5916\\u90e8PC\\u4e0a\\u4f7f\\u7528\\uff09\\u3002 \\u60a8\\u5b8c\\u5168\\u53ef\\u4ee5\\u963b\\u6b62 <code>adbd</code> \\u76d1\\u542c\\u5916\\u90e8IP\\u5730\\u5740\\uff0c\\u5982\\u679c\\u53ef\\u4ee5\\u7684\\u8bdd\\u3002 PMX \\u4ecd\\u53ef\\u6b63\\u5e38\\u8fd0\\u884c\\uff0c\\u4e14\\u65e0\\u9700\\u5411\\u5916\\u90e8\\u66b4\\u9732\\u4efb\\u4f55\\u7aef\\u53e3\\u3002</p> <p>\\u6b64\\u5916\\uff0c\\u60a8\\u8fd8\\u53ef\\u4ee5\\u5728\\u9ad8\\u7ea7\\u8bbe\\u7f6e\\u4e2d\\u5c06 <code>5555</code> \\u7aef\\u53e3\\u66f4\\u6539\\u4e3a\\u4efb\\u610f\\u6570\\u5b57\\u3002 \\u5b83\\u4e0d\\u662f\\u786c\\u7f16\\u7801\\u7684\\u3002</p> <p>\\u6b64\\u5916\\uff0c ADB \\u7531\\u4e8e Android 4.2 \\u65e8\\u5728\\u901a\\u8fc7 RSA \\u5bc6\\u94a5\\u8ba4\\u8bc1\\uff08\\u6700\\u5f3a\\u5927\\u7684\\u8ba4\\u8bc1\\u673a\\u5236\\u4e4b\\u4e00\\uff09\\u8fdb\\u884c\\u4fdd\\u62a4\\u3002 \\u56e0\\u6b64\\uff0c\\u5373\\u4f7f\\u8be5\\u8bbe\\u5907\\u53ef\\u901a\\u8fc7\\u4e92\\u8054\\u7f51\\u8bbf\\u95ee\\uff08\\u8fd9\\u79cd\\u60c5\\u51b5\\u6781\\u4e0d\\u53ef\\u80fd\\u53d1\\u751f\\uff09\\uff0c\\u5728\\u672a\\u7ecf\\u8eab\\u4efd\\u9a8c\\u8bc1\\u7684\\u60c5\\u51b5\\u4e0b\\uff0c\\u4efb\\u4f55\\u4eba\\u90fd\\u65e0\\u6cd5\\u5efa\\u7acb ADB \\u8fde\\u63a5\\u3002</p> <p>\\u65e0\\u8bba\\u4f60\\u60f3\\u4ee5\\u4f55\\u79cd\\u65b9\\u5f0f\\u9a8c\\u8bc1\\u8fd9\\u4e9b\\u8bf4\\u6cd5\\u3002 \\u6211\\u4eec\\u6765\\u8fd9\\u91cc\\u662f\\u4e3a\\u4e86\\u5411\\u4f60\\u63d0\\u4f9b\\u6280\\u672f\\u63f4\\u52a9\\u3002</p>\"},{\"location\":\"zh/faqs/#faq28\",\"title\":\"PMX \\u662f\\u5426\\u6ee5\\u7528 root \\u6743\\u9650\\u6765\\u6536\\u96c6\\u6211\\u7684\\u6570\\u636e\\uff1f\",\"text\":\"<p>\\u6211\\u4eec\\u575a\\u4fe1\\u6700\\u5c0f\\u6743\\u9650\\u539f\\u5219\\u3002 \\u4f46\\u7531\\u4e8eAndroid\\u64cd\\u4f5c\\u7cfb\\u7edf\\u7684\\u9650\\u5236\\u6027\\uff0c PMX \\u5728\\u6ca1\\u6709\\u9ad8\\u6743\\u9650\\u7684\\u60c5\\u51b5\\u4e0b\\u65e0\\u6cd5\\u8fd0\\u884c\\u3002 \\u6211\\u4eec\\u80fd\\u63d0\\u4f9b\\u7684\\u662f\\uff0c\\u5982\\u679c\\u4f60\\u662f\\u4e00\\u4e2a\\u6280\\u672f\\u719f\\u7ec3\\u7684\\u4eba\\uff0c\\u6211\\u4eec\\u53ef\\u4ee5\\u6559\\u4f60\\u5982\\u4f55\\u4f7f\\u5e94\\u7528\\u7a0b\\u5e8f\\u96be\\u4ee5\\u8fde\\u63a5\\u5230\\u7f51\\u7edc\\uff0c\\u5373\\u4f7f\\u6709root\\u6743\\u9650\\u3002</p>\"},{\"location\":\"zh/faqs/#faq29\",\"title\":\"\\u6211\\u8ba4\\u4e3a PMX \\u6beb\\u65e0\\u7528\\u5904\\u3002 \\u4f60\\u4e3a\\u4ec0\\u4e48\\u8981\\u5f00\\u53d1\\u8fd9\\u4e2a\\u8f6f\\u4ef6\\uff1f\",\"text\":\"<p>\\u6211\\u4eec\\u5c0a\\u91cd\\u4f60\\u7684\\u610f\\u89c1\\u3002 PMX \\u5e76\\u975e\\u9002\\u5408\\u6240\\u6709\\u4eba\\uff08\\u6b63\\u56e0\\u5982\\u6b64\\uff0c\\u5b83\\u591a\\u5e74\\u672a\\u6253\\u78e8\\u53d1\\u5e03\\uff0c\\u56e0\\u4e3a\\u6211\\u4eec\\u6df1\\u77e5\\u53d7\\u4f17\\u6781\\u5176\\u6709\\u9650\\uff09\\u3002 \\u5b83\\u53ea\\u9002\\u7528\\u4e8e\\u4e00\\u4e9b\\u5bf9\\u81ea\\u5df1\\u7684\\u9690\\u79c1\\u548c\\u8bbe\\u5907\\u63a7\\u5236\\u683c\\u5916\\u5173\\u6ce8\\u7684\\u719f\\u8c19\\u79d1\\u6280\\u7684\\u7075\\u9b42\\u3002 \\u5927\\u591a\\u6570\\u7684\\u624b\\u673a\\u7528\\u6237\\u53ea\\u662f\\u4efb\\u4ed6\\u4eec\\u7684\\u8bbe\\u5907\\u5236\\u9020\\u5546\\u548c\\u5e94\\u7528\\u7a0b\\u5e8f\\u5f00\\u53d1\\u4eba\\u5458\\u6240\\u628a\\u6301\\u3002 \\u4ed6\\u4eec\\u4e0d\\u77e5\\u9053\\u4ed6\\u4eec\\u505a\\u4e86\\u4e9b\\u4ec0\\u4e48\\u548c\\u4ed6\\u4eec\\u7684\\u6570\\u636e\\u3002 \\u591a\\u6570\\u4eba\\u66f4\\u770b\\u91cd\\u4fbf\\u5229\\u800c\\u975e\\u9690\\u79c1\\u3002 \\u8fd9\\u5f88\\u597d\\u3002</p>\"},{\"location\":\"zh/permission-references/\",\"title\":\"\\u6743\\u9650\\u5f15\\u7528\",\"text\":\"<p>\\u5047\\u5b9a\\u60a8\\u5728 200 + \\u5df2\\u5b89\\u88c5\\u7684\\u5e94\\u7528\\u4e0a\\u82b1\\u8d39\\u4e86\\u4e00\\u6574\\u5468\\u65e5\\u8bbe\\u7f6e\\u9700\\u8981\\u7684\\u6743\\u9650\\u3002 \\u7136\\u540e\\uff1a</p> <ul> <li>\\u4e0b\\u4e2a\\u6708\\u60a8\\u5347\\u7ea7\\u4e86\\u8bbe\\u5907\\uff0c\\u6216\\u5b89\\u88c5\\u4e86\\u65b0\\u7684 ROM\\u3002</li> <li>\\u6216\\u8005\\u60a8\\u7531\\u4e8e\\u67d0\\u79cd\\u539f\\u56e0\\u5378\\u8f7d\\u5e76\\u91cd\\u65b0\\u5b89\\u88c5\\u4e86\\u4e00\\u4e9b\\u5e94\\u7528</li> <li>\\u6216\\u8005\\u60a8\\u6309\\u7167\\u5e94\\u7528\\u8bf7\\u6c42\\u6388\\u4e88\\u4e86\\u51e0\\u4e2a\\u6743\\u9650</li> </ul> <p>\\u60a8\\u8fd8\\u60f3\\u518d\\u8bbe\\u7f6e\\u4e00\\u904d\\u5417\\uff1f</p> <p>\\u4f60\\u4e0d\\u9700\\u8981. \\u60a8\\u53ef\\u4ee5\\u8ba9 PMX \\u8bb0\\u4f4f\\u60a8\\u671f\\u671b\\u7684\\u6743\\u9650\\u72b6\\u6001\\u3002 \\u8bbe\\u7f6e\\u6743\\u9650\\uff0c\\u8ba9 GREEN\\u5e76\\u5b8c\\u6210\\u3002 \\u53ea\\u9700\\u7247\\u523b\\u65f6\\u95f4\\u5373\\u53ef\\u67e5\\u770b\\u6240\\u6709\\u5df2\\u5b89\\u88c5\\u7684\\u8f6f\\u4ef6\\u5305\\uff0c\\u5e76\\u627e\\u51fa\\u6743\\u9650\\u8bbe\\u7f6e\\u4e0d\\u6b63\\u786e\\u7684\\u60c5\\u51b5\\uff0c\\u4f8b\\u5982\\u901a\\u8fc7\\u5feb\\u901f\\u641c\\u7d22\\uff1a <code>:RED|:ORANGE</code> \\u6216 <code>!:GREEN</code>\\u3002 \\u66f4\\u591a\\u8be6\\u7ec6\\u4fe1\\u606f\\u8bf7\\u89c1 Search\\u3002</p> <p>\\u4e09\\u4e2a\\u53c2\\u8003\\u72b6\\u6001:</p> <ul> <li>ORANGE \\u72b6\\u6001\\u8868\\u793a\\u6ca1\\u6709\\u8bbe\\u7f6e\\u53c2\\u8003\\u503c\\u3002</li> <li>GREEN \\u8868\\u793a\\u53c2\\u7167\\u503c\\u7b26\\u5408\\u5f53\\u524d\\u8bbe\\u7f6e\\u7684\\u503c\\u3002</li> <li>RED \\u8868\\u793a\\u8be5\\u53c2\\u8003\\u503c\\u5e76\\u8bbe\\u7f6e\\u4e0d\\u540c\\u7684\\u503c\\u3002</li> </ul> <p>\\u53c2\\u8003\\u72b6\\u6001\\u53ef\\u4ee5\\u5907\\u4efd \\u548c \\u6062\\u590d \\u65b9\\u4fbf\\u3002 \\u6062\\u590d\\u540e\\uff0c\\u53ef\\u4ee5\\u65b9\\u4fbf\\u5730\\u6839\\u636e\\u6062\\u590d\\u7684\\u5f15\\u7528\\u8bbe\\u7f6e\\u6240\\u6709\\u6743\\u9650\\u3002 \\u67e5\\u770b\\u6279\\u91cf\\u64cd\\u4f5c\\u3002</p> <p>\\u60a8\\u53ef\\u4ee5\\u8bbe\\u7f6e\\u4e00\\u4e2a\\u5f15\\u7528\\u7684\\u591a\\u79cd\\u65b9\\u5f0f\\uff1a</p> <ul> <li>\\u957f\\u6309\\u4e00\\u4e2a\\u6743\\u9650\\u5e76\\u70b9\\u51fb\\\"\\u8bbe\\u7f6e\\u53c2\\u8003\\\" / \\\"\\u6e05\\u9664\\u5f15\\u7528\\\"\\u6309\\u94ae\\u3002</li> <li>\\u5728\\u6bcf\\u4e2a\\u5e94\\u7528\\u7684\\u6743\\u9650\\u5217\\u8868\\u5c4f\\u5e55\\u4e0a\\u6709\\u4e00\\u4e2a\\u9876\\u90e8\\u83dc\\u5355\\u9009\\u9879\\u6765\\u8bbe\\u7f6e\\u6216\\u6e05\\u9664\\u6240\\u6709\\u5f15\\u7528.</li> <li>\\u4f7f\\u7528 \\u6279\\u91cf\\u64cd\\u4f5c\\u6279\\u91cf\\u8bbe\\u7f6e\\u5f15\\u7528\\u3002</li> <li>\\u5728\\u8bbe\\u7f6e \\u2192 \\u5e38\\u89c4\\u8bbe\\u7f6e\\u4e0b\\u542f\\u7528\\\"\\u81ea\\u52a8\\u8bbe\\u7f6e\\u5f15\\u7528\\\"\\u9996\\u9009\\u9879\\u3002 \\u6240\\u4ee5\\u5f53\\u4f60\\u66f4\\u6539\\u4e00\\u4e2a\\u6743\\u9650\\u72b6\\u6001\\u65f6\\uff0c\\u5b83\\u4e5f\\u8bbe\\u7f6e\\u4e3a\\u53c2\\u8003\\u3002</li> </ul>\"},{\"location\":\"zh/permission-view/\",\"title\":\"\\u6743\\u9650\\u89c6\\u56fe\",\"text\":\"<p>\\u6743\\u9650\\u89c6\\u56fe\\u663e\\u793a\\u6240\\u6709\\u6743\\u9650\\u5217\\u8868\\uff0c\\u5e76\\u8ba1\\u53ca\\u4f7f\\u7528\\u8fd9\\u4e9b\\u6743\\u9650\\u7684\\u5e94\\u7528\\u6570\\u91cf\\u3002</p> <p></p> <ol> <li>\\u6743\\u9650\\u540d\\u79f0</li> <li>\\u4fdd\\u62a4\\u7ea7\\u522b</li> <li>\\u5e94\\u7528\\u6570\\u91cf</li> <li>\\u6388\\u4e88\\u7684\\u6743\\u9650\\u8ba1\\u6570\\u8d85\\u51fa\\u603b\\u6743\\u9650\\u6570\\u3002 \\u540e\\u8005\\u53ef\\u80fd\\u5927\\u4e8e\\u5e94\\u7528\\u6570\\u91cf\\uff0c\\u56e0\\u4e3a\\u67d0\\u4e9b\\u5e94\\u7528\\u53ef\\u80fd\\u5728UID\\u6a21\\u5f0f\\u4e0b\\u4e24\\u6b21\\u4f7f\\u7528 AppOp \\u6743\\u9650\\u3002</li> </ol> <p>\\u5f53\\u60a8\\u9009\\u62e9\\u4e00\\u4e2a\\u6743\\u9650\\u65f6\\uff0c\\u4f7f\\u7528\\u6b64\\u6743\\u9650\\u7684\\u5e94\\u7528\\u5217\\u8868\\u663e\\u793a\\uff1a</p> <p></p> <ol> <li>\\u6743\\u9650\\u540d\\u79f0</li> <li>\\u6743\\u9650\\u63cf\\u8ff0</li> <li>\\u6807\\u8bb0\\u4e3a\\u6388\\u4e88\\u6743\\u9650</li> <li>\\u5e94\\u7528\\u56fe\\u6807</li> <li>\\u5e94\\u7528\\u540d\\u79f0</li> <li>\\u5305\\u540d</li> <li>\\u5e94\\u7528 UID</li> </ol> <p>\\u5f53\\u60a8\\u9009\\u62e9\\u4e00\\u4e2a\\u5e94\\u7528\\u65f6\\uff0c\\u6743\\u9650\\u5217\\u8868\\u6253\\u5f00\\u60a8\\u53ef\\u4ee5\\u66f4\\u6539\\u6743\\u9650\\u72b6\\u6001\\u7684\\u5730\\u65b9\\u3002</p>\"},{\"location\":\"zh/permission-watcher/\",\"title\":\"\\u6743\\u9650\\u76d1\\u63a7\",\"text\":\"<p>\\u67d0\\u4e9b\\u5e94\\u7528\\u672a\\u7ecf\\u67d0\\u79cd\\u8bb8\\u53ef\\u5c31\\u65e0\\u6cd5\\u6b63\\u5e38\\u5de5\\u4f5c\\u3002 \\u800c\\u60a8\\u5e0c\\u671b\\u4ec5\\u5728\\u8be5\\u5e94\\u7528\\u8fd0\\u884c\\u65f6\\u6388\\u4e88\\u76f8\\u5173\\u6743\\u9650\\uff0c\\u5173\\u95ed\\u8be5\\u5e94\\u7528\\u540e\\u79fb\\u9664\\u76f8\\u5173\\u6743\\u9650</p> <p>\\u6743\\u9650\\u76d1\\u63a7\\u53ef\\u4ee5\\u6ee1\\u8db3\\u8fd9\\u4e2a\\u9700\\u6c42\\u3002 \\u5f53\\u60a8\\u9000\\u51fa\\u5e94\\u7528\\u7a0b\\u5e8f\\uff0c\\u6216\\u8bbe\\u5b9a\\u65f6\\u95f4\\u7ed3\\u675f\\u540e\\uff0c\\u7cfb\\u7edf\\u4f1a\\u6839\\u636e\\u60a8\\u8bbe\\u7f6e\\u7684\\u504f\\u597d\\uff0c\\u81ea\\u52a8\\u64a4\\u9500\\u5e94\\u7528\\u7a0b\\u5e8f\\u7684\\u6743\\u9650\\uff08manifest \\u548c AppOp\\uff09\\uff0c\\u6216\\u63d0\\u793a\\u60a8\\u6267\\u884c\\u6b64\\u64cd\\u4f5c\\u3002</p> <p></p> <p>\\u6743\\u9650\\u76d1\\u89c6\\u5668\\u8fd8\\u4f1a\\u901a\\u77e5\\u60a8\\u8bbe\\u7f6e\\u65b0\\u5b89\\u88c5\\u5e94\\u7528\\u7684\\u6743\\u9650(\\u4ec5\\u5728\\u4e3b\\u7528\\u6237/\\u4e2a\\u4eba\\u8d44\\u6599\\u4e2d)</p> <p></p> <p>\\u6ce8\\u610f\\uff1a</p> <ul> <li>\\u53ea\\u6709\\u5e26\\u6709A RED \\u53c2\\u8003\\u72b6\\u6001\\u7684\\u6743\\u9650\\u88ab\\u64a4\\u9500\\uff0c\\u800c\\u4e0d\\u662f\\u5e26\\u6709 ORANGE \\u72b6\\u6001\\u7684\\u6743\\u9650\\u3002 \\u6240\\u4ee5\\u60a8MUST \\u9996\\u5148\\u8bbe\\u7f6e\\u53c2\\u8003\\u72b6\\u6001\\u3002 \\u53c2\\u89c1 \\u6743\\u9650\\u5f15\\u7528\\u3002</li> <li>Manifest \\u4ec5\\u76d1\\u89c6\\u5177\\u6709\\u5371\\u9669\\u4fdd\\u62a4\\u7ea7\\u522b\\u7684\\u6743\\u9650\\u3002 \\u8fd9\\u4e9b\\u662f\\u7ecf\\u5e38\\u4f1a\\u53d8\\u5316\\u7684\\u5185\\u5bb9\\u3002 \\u5e26\\u6709\\u7b7e\\u540d\\u6216\\u5f00\\u53d1\\u4fdd\\u62a4\\u7ea7\\u522b\\u7684\\u6743\\u9650\\u6216\\u5e26\\u6709\\u7cfb\\u7edf-\\u56fa\\u5b9a\\u65d7\\u5e1c\\u7684\\u6743\\u9650\\u4e0d\\u53d7\\u76d1\\u89c6\\uff0c\\u5c3d\\u7ba1\\u5b83\\u4eec\\u662f\\u53ef\\u4ee5\\u66f4\\u6539\\u7684\\u3002</li> <li>PMX \\u4ec5\\u76d1\\u63a7\\u7528\\u6237\\u5b89\\u88c5\\u7684\\u5e94\\u7528\\u6216\\u5e38\\u89c4\\u7cfb\\u7edf\\u5e94\\u7528\\uff0c\\u4e0d\\u76d1\\u63a7\\u6846\\u67b6\\u5e94\\u7528\\u3002 \\u4fee\\u6539\\u8fd9\\u4e9b\\u5185\\u5bb9\\u53ef\\u80fd\\u5bfc\\u81f4\\u8bbe\\u5907\\u53d8\\u7816</li> <li>\\u5728\\u67d0\\u4e9b\\u8bbe\\u5907\\u4e0a\\uff0c\\u6743\\u9650\\u76d1\\u63a7\\u53ef\\u80fd\\u65e0\\u6cd5\\u53ef\\u9760\\u5730\\u5de5\\u4f5c\\u4e8e\\u7b2c\\u4e8c\\u7528\\u6237/\\u4e2a\\u4eba\\u8d44\\u6599\\u4e2d\\u7684\\u5e94\\u7528\\u3002 \\u5efa\\u8bae\\u5c06\\u5b83\\u4e0e\\u8ba1\\u5212\\u68c0\\u67e5\\u5668\\u7ed3\\u5408\\u4f7f\\u7528\\u3002</li> </ul> <p>\\u4e3a\\u4ec0\\u4e48\\u542f\\u52a8\\u6743\\u9650\\u76d1\\u89c6\\u5668\\u5931\\u8d25\\uff1f</p> <p>\\u60a8\\u662f\\u5426\\u4f7f\\u7528 ADB\\uff1f \\u67d0\\u4e9b\\u539f\\u59cb\\u8bbe\\u5907\\u5236\\u9020\\u5546\\uff08OEM\\uff09\\u4f1a\\u4eceShell\\u8f6f\\u4ef6\\u5305\\u4e2d\\u79fb\\u9664\\u6743\\u9650 <code>OBSERVE_GRANT_REVOKE_PERMISSIONS</code> \\u6216 <code>SET_ACTIVITY_WATCHER</code>\\u3002 \\u5982\\u679c\\u4f60\\u7684\\u60c5\\u51b5\\u5982\\u6b64\\uff0c\\u6211\\u4eec\\u5f88\\u62b1\\u6b49\\u3002 \\u6211\\u4eec\\u65e0\\u6cd5\\u4fee\\u590d\\u8be5\\u95ee\\u9898\\u3002 \\u5728\\u8fd9\\u4e9b\\u8bbe\\u5907\\u4e0a\\uff0c\\u6743\\u9650\\u76d1\\u63a7\\u53ea\\u80fd\\u4f7f\\u7528 root \\u529f\\u80fd\\u3002 \\u53c2\\u89c1 ADB\\u7684\\u9650\\u5236\\u3002</p>\"},{\"location\":\"zh/scheduled-check/\",\"title\":\"\\u5b9a\\u671f\\u68c0\\u67e5\",\"text\":\"<p>\\u60a8\\u60f3\\u8ddf\\u8e2a\\u6240\\u6709\\u5df2\\u5b89\\u88c5\\u5e94\\u7528\\u6743\\u9650\\u6240\\u53d1\\u751f\\u7684\\u4efb\\u4f55\\u4e0d\\u5fc5\\u8981\\u7684\\u66f4\\u6539\\u5417\\uff1f \\u8ba1\\u5212\\u68c0\\u67e5 \\u53ef\\u4ee5\\u4e3a\\u60a8\\u5b9a\\u671f\\u68c0\\u67e5(\\u5206\\u949f\\u3001\\u5c0f\\u65f6\\u6216\\u5929)\\u3002</p> <p>\\u5c06 \\u6743\\u9650\\u5f15\\u7528 \\u8bbe\\u7f6e\\u4e3a\\u7eff\\u8272\\uff0c\\u5176\\u4f59\\u90e8\\u5206\\u4ea4\\u7531 PMX\\u5904\\u7406\\u3002 \\u82e5\\u53d1\\u73b0\\u4efb\\u4f55\\u6743\\u9650\\u88ab\\u66f4\\u6539\\uff08\\u663e\\u793a\\u7ea2\\u8272\\u72b6\\u6001\\uff09\\u6216\\u68c0\\u6d4b\\u5230\\u65b0\\u5e94\\u7528\\u5b89\\u88c5\\uff08\\u663e\\u793a\\u6a59\\u8272\\u72b6\\u6001\\u6743\\u9650\\uff09\\uff0c PMX \\u5c06\\u63d0\\u9192\\u60a8\\u5b58\\u5728\\u9700\\u8981\\u5173\\u6ce8\\u7684\\u60c5\\u51b5\\u3002</p> <p>\\u6b64\\u5916\\uff0c\\u5982\\u679c\\u5728\\u9996\\u9009\\u9879\\u4e2d\\u914d\\u7f6e\\uff0c\\u9884\\u5b9a\\u7684\\u68c0\\u67e5\\u53ef\\u4ee5\\u81ea\\u52a8\\u64a4\\u9500\\u6388\\u4e88\\u7684\\u6743\\u9650\\uff0c\\u7136\\u540e\\u662f\\u4fe1\\u606f\\u901a\\u77e5\\u3002</p>\"},{\"location\":\"zh/search/\",\"title\":\"\\u641c\\u7d22\",\"text\":\"<p>\\u4e00\\u822c\\u5728\\u53ef\\u89c1\\u5217\\u8868\\u4e2d\\u641c\\u7d22\\u5305\\u6807\\u7b7e\\u3001\\u540d\\u79f0\\u548c UID</p> <p>\\u901a\\u8fc7 \\u6df1\\u5ea6\\u641c\\u7d22\\uff0c\\u67e5\\u8be2\\u6743\\u9650\\u540d\\u79f0\\u548c\\u5176\\u4ed6\\u53c2\\u6570\\u3002</p> <p>\\u8bf7\\u6ce8\\u610f\\u6392\\u9664\\u8fc7\\u6ee4\\u5668 \\u5728\\u8fdb\\u884c\\u641c\\u7d22\\u65f6\\u6709\\u6548\\u3002</p> <p>\\u60a8\\u53ef\\u4ee5\\u5728\\u641c\\u7d22\\u4e2d\\u4f7f\\u7528\\u4ee5\\u4e0b\\u7279\\u6b8a\\u5173\\u952e\\u5b57\\uff1a</p> <ul> <li> <p>\\u5e94\\u7528\\u72b6\\u6001\\uff1a</p> <p><code>:Critical</code> <code>:Framework</code> <code>:System</code> <code>:User</code> <code>:Disabled</code></p> </li> <li> <p>\\u53c2\\u8003\\u72b6\\u6001\\uff1a</p> <p><code>:ORANGE</code> <code>:GREEN</code> <code>:RED</code></p> </li> <li> <p>\\u6743\\u9650\\u4fdd\\u62a4\\u7ea7\\u522b\\uff1a</p> <p><code>:Normal</code> <code>:Dangerous</code> <code>:Signature</code> <code>:Internal</code> <code>:Development</code> <code>:Privileged</code> <code>:Fixed</code> <code>:AppOps</code> <code>:Unknown</code></p> </li> <li> <p>\\u6839\\u636eUID AppOps\\uff1a</p> <p><code>:UID</code></p> </li> <li> <p>AppOps \\u6700\\u540e\\u8bbf\\u95ee\\u6216\\u62d2\\u7edd\\u65f6\\u95f4\\uff1a</p> <p><code>:TIME</code></p> </li> <li> <p>\\u989d\\u5916 AppOps \\uff08\\u5728\\u8fc7\\u6ee4\\u8bbe\\u7f6e\\u4e2d\\u6c38\\u4e0d\\u6392\\u9664\\uff09\\uff1a</p> <p><code>:EXTRA</code></p> </li> <li> <p><code>&amp;</code> (AND)\\u3001 <code>|</code> (OR) \\u548c <code>!</code> (NOT) \\u8fd0\\u7b97\\u7b26\\uff1a</p> <p><code>Foo|Bar&amp;Baz</code></p> <p><code>Foo&amp;!Bar&amp;!Baz</code></p> </li> </ul> <p>\\u4ed8\\u8d39\\u7248\\u672c\\u8fd8\\u4f1a\\u663e\\u793a\\u641c\\u7d22\\u5efa\\u8bae\\uff08\\u5982\\u679c\\u5df2\\u8bbe\\u7f6e\\u9996\\u9009\\u9879\\uff09\\u4f18\\u5316\\u641c\\u7d22\\u8fc7\\u7a0b</p>\"},{\"location\":\"zh/use-with-adb/\",\"title\":\"\\u4f7f\\u7528 PMX \\u4e0e ADB\",\"text\":\"\"},{\"location\":\"zh/use-with-adb/#limitations-of-adb\",\"title\":\"\\u5c40\\u9650\\u6027 ADB\",\"text\":\"<p>ADB \\u4e0d\\u5982root\\u6743\\u9650\\u5f3a\\u5927\\u3002 \\u60a8\\u53ef\\u4ee5\\u5728\\u5173\\u4e8e \\u2192 \\u6743\\u9650\\uff08\\u83dc\\u5355\\u9879\\uff09\\u4e2d\\u67e5\\u770b ADB \\u5f53\\u524d\\u652f\\u6301\\u7684\\u529f\\u80fd\\uff1a</p> <p></p> <p>\\u66f4\\u591a\\u8be6\\u60c5\\u8bf7\\u53c2\\u9605 ADB\\u7684\\u9650\\u5236\\u3002 \\u53e6\\u8bf7\\u53c2\\u9605\\u4e3a\\u4f55 PMX \\u5728 OEM \\u64cd\\u4f5c\\u7cfb\\u7edf\\u6216\\u81ea\\u5b9a\\u4e49 ROMs\\u4e0a\\u65e0\\u6cd5\\u6b63\\u5e38\\u5de5\\u4f5c\\uff1f</p>\"},{\"location\":\"zh/use-with-adb/#adb-guide\",\"title\":\"ADB \\u6307\\u5357\",\"text\":\"<p>\\u8bf7\\u53c2\\u9605 ADB \\u914d\\u5bf9/\\u8fde\\u63a5\\u6307\\u5357\\u3002</p>\"},{\"location\":\"zh/versions/\",\"title\":\"PMX \\u7248\\u672c\",\"text\":\"<p>PMX \\u63d0\\u4f9b\\u4e24\\u79cd\\u7248\\u672c\\uff1a\\u4ed8\\u8d39\\u7248\\u548c\\u514d\\u8d39\\u7248\\u3002 \\u4ed8\\u8d39\\u7248\\u672c\\u6709\\u4e24\\u4e2a\\u53d8\\u91cf\\uff1aPlay Store \\u548c Pro\\u3002 \\u6700\\u65b0\\u7684 APK \\u662f\\u5728Play\\u5546\\u5e97\\u3001GitHub \\u548c Telegram Channel \\u53d1\\u5e03\\u7684\\u3002</p>\"},{\"location\":\"zh/versions/#paid-features\",\"title\":\"\\u4ed8\\u8d39\\u529f\\u80fd\",\"text\":\"<p>\\u4ed8\\u8d39\\u7248\\u672c\\u5305\\u62ec\\u514d\\u8d39\\u7248\\u672c\\u4e2d\\u7684\\u6240\\u6709\\u529f\\u80fd\\uff0c \\u5916\\u52a0\\u4e0b\\u9762\\u7684 \\u989d\\u5916\\u529f\\u80fd \\uff0c\\u8fd9\\u4e9b\\u529f\\u80fd\\u4e5f\\u53ef\\u4ee5\\u5728Play \\u5546\\u5e97\\u7684\\u63cf\\u8ff0\\u4e2d\\u67e5\\u770b\\uff1a</p> <ul> <li>\\u8ba1\\u5212\\u68c0\\u67e5\\u4ee5\\u901a\\u77e5\\u65e0\\u6548\\u5f15\\u7528\\u72b6\\u6001</li> <li>\\u76d1\\u89c6\\u6743\\u9650\\u66f4\\u6539\\u5e76\\u64a4\\u9500\\u8fd9\\u4e9b\\u66f4\\u6539</li> <li>\\u81ea\\u52a8\\u64a4\\u9500\\u7ea2\\u8272\\u72b6\\u6001\\u7684\\u6743\\u9650</li> <li>\\u4fee\\u6539\\u5173\\u952e\\u5e94\\u7528\\u7684\\u6743\\u9650</li> <li>\\u591a\\u7528\\u6237/\\u5de5\\u4f5c\\u8d44\\u6599\\u652f\\u6301</li> <li>\\u6279\\u91cf\\u64cd\\u4f5c (Profiles)</li> <li>\\u6743\\u9650\\u89c6\\u56fe</li> </ul>\"},{\"location\":\"zh/whatsrunning-integration/\",\"title\":\"\\u4e0e WhatsRunning \\u6574\\u5408\",\"text\":\"<p>PMX \\u5df2\\u4e0eWhatsRunning\\u96c6\\u6210\\uff0c\\u56e0\\u6b64\\u60a8\\u53ef\\u4ece\\u5176\\u4e2d\\u4e00\\u4e2a\\u7a0b\\u5e8f\\u76f4\\u63a5\\u6253\\u5f00\\u53e6\\u4e00\\u4e2a\\u3002</p> <p> </p> <p>\\u56e0\\u6b64\\uff0c\\u60a8\\u53ef\\u4ee5\\u4ece PMX \\u5207\\u6362\\u5230 WhatsRunning\\uff0c\\u4ee5\\u67e5\\u770b\\u662f\\u5426\\u4ecd\\u6709\\u6743\\u9650\\u53d7\\u9650\\u7684\\u5e94\\u7528\\u7a0b\\u5e8f\\u5728\\u8fd0\\u884c\\u3002 \\u5982\\u679c\\u662f\\uff0c\\u5b83\\u662f\\u4ee5\\u4f55\\u79cd\\u72b6\\u6001\\u4ee5\\u53ca\\u5b83\\u6b63\\u5728\\u4f7f\\u7528\\u591a\\u5c11\\u8d44\\u6e90\\u3002</p> <p>\\u540c\\u6837\\u5730\\uff0c\\u4eceWhatsRunning\\u754c\\u9762\\u5207\\u6362\\u5230 PMX \\uff0c\\u5373\\u53ef\\u67e5\\u770b\\u6b63\\u5728\\u8fd0\\u884c\\uff08\\u6216\\u5df2\\u7ec8\\u6b62\\uff09\\u7684\\u5e94\\u7528\\u88ab\\u6388\\u4e88\\u4e86\\u54ea\\u4e9b\\u6743\\u9650\\u3002</p> <p>\\u8fd9\\u5728\\u5206\\u6790\\u8bf8\\u5982 <code>RUN_IN_BACKGROUND</code> \\u4e4b\\u7c7b\\u7684\\u6743\\u9650\\u6548\\u679c\\u65f6\\u5c24\\u4e3a\\u6709\\u7528\\u3002</p>\"}]}"
  },
  {
    "path": "help/sitemap.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\" xmlns:xhtml=\"http://www.w3.org/1999/xhtml\">\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/batch-operations/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/batch-operations/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/details/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/details/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/faqs/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/faqs/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/permission-references/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/permission-references/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/permission-view/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/permission-view/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/permission-watcher/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/permission-watcher/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/scheduled-check/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/scheduled-check/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/search/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/search/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/use-with-adb/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/use-with-adb/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/versions/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/versions/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/whatsrunning-integration/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/whatsrunning-integration/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/de/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/de/batch-operations/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/batch-operations/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/de/details/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/details/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/de/faqs/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/faqs/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/de/permission-references/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/permission-references/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/de/permission-view/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/permission-view/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/de/permission-watcher/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/permission-watcher/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/de/scheduled-check/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/scheduled-check/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/de/search/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/search/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/de/use-with-adb/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/use-with-adb/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/de/versions/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/versions/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/de/whatsrunning-integration/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/whatsrunning-integration/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/es/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/es/batch-operations/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/batch-operations/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/es/details/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/details/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/es/faqs/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/faqs/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/es/permission-references/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/permission-references/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/es/permission-view/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/permission-view/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/es/permission-watcher/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/permission-watcher/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/es/scheduled-check/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/scheduled-check/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/es/search/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/search/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/es/use-with-adb/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/use-with-adb/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/es/versions/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/versions/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/es/whatsrunning-integration/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/whatsrunning-integration/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/fr/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/fr/batch-operations/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/batch-operations/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/fr/details/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/details/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/fr/faqs/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/faqs/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/fr/permission-references/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/permission-references/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/fr/permission-view/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/permission-view/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/fr/permission-watcher/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/permission-watcher/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/fr/scheduled-check/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/scheduled-check/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/fr/search/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/search/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/fr/use-with-adb/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/use-with-adb/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/fr/versions/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/versions/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/fr/whatsrunning-integration/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/whatsrunning-integration/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/pt-BR/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/pt-BR/batch-operations/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/batch-operations/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/pt-BR/details/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/details/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/pt-BR/faqs/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/faqs/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/pt-BR/permission-references/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/permission-references/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/pt-BR/permission-view/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/permission-view/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/pt-BR/permission-watcher/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/permission-watcher/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/pt-BR/scheduled-check/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/scheduled-check/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/pt-BR/search/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/search/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/pt-BR/use-with-adb/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/use-with-adb/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/pt-BR/versions/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/versions/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/pt-BR/whatsrunning-integration/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/whatsrunning-integration/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/ru/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/ru/batch-operations/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/batch-operations/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/ru/details/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/details/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/ru/faqs/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/faqs/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/ru/permission-references/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/permission-references/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/ru/permission-view/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/permission-view/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/ru/permission-watcher/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/permission-watcher/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/ru/scheduled-check/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/scheduled-check/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/ru/search/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/search/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/ru/use-with-adb/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/use-with-adb/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/ru/versions/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/versions/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/ru/whatsrunning-integration/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/whatsrunning-integration/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/ar/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/ar/batch-operations/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/batch-operations/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/ar/details/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/details/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/ar/faqs/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/faqs/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/ar/permission-references/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/permission-references/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/ar/permission-view/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/permission-view/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/ar/permission-watcher/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/permission-watcher/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/ar/scheduled-check/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/scheduled-check/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/ar/search/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/search/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/ar/use-with-adb/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/use-with-adb/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/ar/versions/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/versions/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/ar/whatsrunning-integration/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/whatsrunning-integration/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/zh/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/zh/batch-operations/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/batch-operations/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/batch-operations/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/zh/details/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/details/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/details/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/zh/faqs/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/faqs/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/faqs/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/zh/permission-references/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/permission-references/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/permission-references/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/zh/permission-view/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/permission-view/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/permission-view/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/zh/permission-watcher/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/permission-watcher/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/permission-watcher/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/zh/scheduled-check/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/scheduled-check/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/scheduled-check/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/zh/search/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/search/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/search/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/zh/use-with-adb/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/use-with-adb/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/use-with-adb/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/zh/versions/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/versions/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/versions/\"/>\n    </url>\n    <url>\n        <loc>https://mirfatif.github.io/PermissionManagerX/help/zh/whatsrunning-integration/</loc>\n        <lastmod>2025-12-01</lastmod>\n        <changefreq>daily</changefreq>\n        <xhtml:link rel=\"alternate\" hreflang=\"zh\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ar\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ar/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"de\" href=\"https://mirfatif.github.io/PermissionManagerX/help/de/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"en\" href=\"https://mirfatif.github.io/PermissionManagerX/help/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"es\" href=\"https://mirfatif.github.io/PermissionManagerX/help/es/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"fr\" href=\"https://mirfatif.github.io/PermissionManagerX/help/fr/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://mirfatif.github.io/PermissionManagerX/help/pt-BR/whatsrunning-integration/\"/>\n        <xhtml:link rel=\"alternate\" hreflang=\"ru\" href=\"https://mirfatif.github.io/PermissionManagerX/help/ru/whatsrunning-integration/\"/>\n    </url>\n</urlset>"
  },
  {
    "path": "help/use-with-adb/index.html",
    "content": "\n<!doctype html>\n<html lang=\"en\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Setup and use Permission Manager X with ADB on non-root Android devices — pairing, useful ADB commands, limitations and practical tips.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/use-with-adb/\">\n      \n      \n        <link rel=\"prev\" href=\"../whatsrunning-integration/\">\n      \n      \n        <link rel=\"next\" href=\"../versions/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../de/use-with-adb/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../es/use-with-adb/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../fr/use-with-adb/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../pt-BR/use-with-adb/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../ru/use-with-adb/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../ar/use-with-adb/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../zh/use-with-adb/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Using PMX with ADB - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#limitations-of-adb\" class=\"md-skip\">\n          Skip to content\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Header\">\n    <a href=\"..\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Using PMX with ADB\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Select language\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../de/use-with-adb/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../es/use-with-adb/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../fr/use-with-adb/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../pt-BR/use-with-adb/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../ru/use-with-adb/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../ar/use-with-adb/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../zh/use-with-adb/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Search\" placeholder=\"Search\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Search\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Clear\" aria-label=\"Clear\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Initializing search\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"..\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"..\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    What is PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Manifest Permissions and AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission References\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    User interface explained\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Search\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Scheduled Check\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission Watcher\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission View\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Batch Operations\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integration with WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Using PMX with ADB\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Using PMX with ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Table of contents\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Table of contents\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#limitations-of-adb\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Limitations of ADB\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#adb-guide\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ADB Guide\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX Versions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Paid features\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX FAQs\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Screenshots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ratings / Reviews / Comments / Upvotes / Stars\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contact Us\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Apps\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Apps\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission Manager X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android FAQs\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android FAQs\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Frequently Asked Questions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB Guide\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB Guide\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Pair/connect the app to ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Using PMX with ADB</h1>\n\n<h2 id=\"limitations-of-adb\">Limitations of ADB<a class=\"headerlink\" href=\"#limitations-of-adb\" title=\"Permanent link\">&para;</a></h2>\n<p>ADB is not as powerful as root is. You can check the current status of what ADB can do in <strong>About</strong> → <strong>Privileges</strong> (menu item):</p>\n<p><img alt=\"PMX privileges\" class=\"media\" src=\"../img/privs.webp\" /></p>\n<p>For more details see <a href=\"https://mirfatif.github.io/adb-guide/adb-limits/\">Limitations of ADB</a>. Also see <a href=\"../faqs/#faq43\">Why does PMX not work properly on OEM operating systems or custom ROMs?</a></p>\n<hr />\n<h2 id=\"adb-guide\">ADB Guide<a class=\"headerlink\" href=\"#adb-guide\" title=\"Permanent link\">&para;</a></h2>\n<p>Please see <a href=\"https://mirfatif.github.io/adb-guide/\">ADB Pairing / Connection Guide</a>.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Back to top\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Footer\" >\n        \n          \n          <a href=\"../whatsrunning-integration/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Previous: Integration with WhatsRunning\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Previous\n              </span>\n              <div class=\"md-ellipsis\">\n                Integration with WhatsRunning\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../versions/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Next: PMX Versions\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Next\n              </span>\n              <div class=\"md-ellipsis\">\n                PMX Versions\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copied to clipboard\", \"clipboard.copy\": \"Copy to clipboard\", \"search.result.more.one\": \"1 more on this page\", \"search.result.more.other\": \"# more on this page\", \"search.result.none\": \"No matching documents\", \"search.result.one\": \"1 matching document\", \"search.result.other\": \"# matching documents\", \"search.result.placeholder\": \"Type to start searching\", \"search.result.term.missing\": \"Missing\", \"select.version\": \"Select version\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/versions/index.html",
    "content": "\n<!doctype html>\n<html lang=\"en\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"Compare PMX Free vs Paid: paid features include scheduled checks, permission watcher, auto-revoke, multi-user support and batch operations.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/versions/\">\n      \n      \n        <link rel=\"prev\" href=\"../use-with-adb/\">\n      \n      \n        <link rel=\"next\" href=\"../faqs/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../de/versions/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../es/versions/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../fr/versions/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../pt-BR/versions/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../ru/versions/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../ar/versions/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../zh/versions/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>PMX Versions - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#paid-features\" class=\"md-skip\">\n          Skip to content\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Header\">\n    <a href=\"..\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              PMX Versions\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Select language\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../de/versions/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../es/versions/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../fr/versions/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../pt-BR/versions/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../ru/versions/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../ar/versions/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../zh/versions/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Search\" placeholder=\"Search\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Search\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Clear\" aria-label=\"Clear\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Initializing search\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"..\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"..\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    What is PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Manifest Permissions and AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission References\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    User interface explained\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Search\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Scheduled Check\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission Watcher\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission View\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Batch Operations\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integration with WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Using PMX with ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX Versions\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX Versions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Table of contents\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      Table of contents\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#paid-features\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Paid Features\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Paid features\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX FAQs\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Screenshots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ratings / Reviews / Comments / Upvotes / Stars\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contact Us\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Apps\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Apps\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission Manager X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android FAQs\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android FAQs\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Frequently Asked Questions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB Guide\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB Guide\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Pair/connect the app to ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>PMX Versions</h1>\n\n<p>PMX is available in two variants: <strong>Paid</strong> and <strong>Free</strong>. Paid version is available in two variants: <strong>Play Store</strong> and <strong>Pro</strong>. Latest APKs are released in Play Store, GitHub and the Telegram Channel.</p>\n<h2 id=\"paid-features\">Paid Features<a class=\"headerlink\" href=\"#paid-features\" title=\"Permanent link\">&para;</a></h2>\n<p>Paid version includes everything that's in the Free version, plus the following extra features which are also listed in the Play Store description:</p>\n<ul>\n<li>Scheduled check to notify bad reference states</li>\n<li>Monitor permission changes and undo them</li>\n<li>Auto revoke granted permissions with RED states</li>\n<li>Make changes to critical apps and permissions</li>\n<li>Multiple users / work profile support</li>\n<li>Batch Operations (Profiles)</li>\n<li>Permissions View</li>\n</ul>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Back to top\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Footer\" >\n        \n          \n          <a href=\"../use-with-adb/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Previous: Using PMX with ADB\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Previous\n              </span>\n              <div class=\"md-ellipsis\">\n                Using PMX with ADB\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../faqs/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Next: PMX FAQs\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Next\n              </span>\n              <div class=\"md-ellipsis\">\n                PMX FAQs\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copied to clipboard\", \"clipboard.copy\": \"Copy to clipboard\", \"search.result.more.one\": \"1 more on this page\", \"search.result.more.other\": \"# more on this page\", \"search.result.none\": \"No matching documents\", \"search.result.one\": \"1 matching document\", \"search.result.other\": \"# matching documents\", \"search.result.placeholder\": \"Type to start searching\", \"search.result.term.missing\": \"Missing\", \"select.version\": \"Select version\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/whatsrunning-integration/index.html",
    "content": "\n<!doctype html>\n<html lang=\"en\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"PMX integrates with WhatsRunning — jump between tools to see if apps with restricted permissions are running and inspect their resource usage.\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/whatsrunning-integration/\">\n      \n      \n        <link rel=\"prev\" href=\"../batch-operations/\">\n      \n      \n        <link rel=\"next\" href=\"../use-with-adb/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../de/whatsrunning-integration/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../es/whatsrunning-integration/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../fr/whatsrunning-integration/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../pt-BR/whatsrunning-integration/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../ru/whatsrunning-integration/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../ar/whatsrunning-integration/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"../zh/whatsrunning-integration/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>Integration with WhatsRunning - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"Header\">\n    <a href=\"..\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              Integration with WhatsRunning\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"Select language\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../de/whatsrunning-integration/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../es/whatsrunning-integration/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../fr/whatsrunning-integration/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../pt-BR/whatsrunning-integration/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../ru/whatsrunning-integration/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../ar/whatsrunning-integration/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../zh/whatsrunning-integration/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Search\" placeholder=\"Search\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"Search\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Clear\" aria-label=\"Clear\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Initializing search\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"..\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"..\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    What is PMX?\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Manifest Permissions and AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission References\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    User interface explained\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Search\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Scheduled Check\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission Watcher\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission View\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Batch Operations\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Integration with WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Using PMX with ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX Versions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Paid features\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX FAQs\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Downloads\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Screenshots\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Ratings / Reviews / Comments / Upvotes / Stars\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Contact Us\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Apps\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Apps\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Permission Manager X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRunning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android FAQs\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android FAQs\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Frequently Asked Questions\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB Guide\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB Guide\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Pair/connect the app to ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>Integration with WhatsRunning</h1>\n\n<p>PMX is integrated with <a href=\"https://github.com/mirfatif/WhatsRunning\">WhatsRunning</a> so you can open one from the other.</p>\n<p><img alt=\"WhatsRunning integration\" class=\"media\" src=\"../img/wrun_integration1.jpg\" /> <img alt=\"WhatsRunning integration\" class=\"media\" src=\"../img/wrun_integration2.webp\" /></p>\n<p>So from PMX you can switch to WhatsRunning to find out if an app with restricted permissions is still running. If yes, in what state it is and how much resources it is using.</p>\n<p>Similarly, from WhatsRunning you can switch to PMX to find out what permissions a running (or dead) app is granted.</p>\n<p>This is particularly helpful when analyzing the effect of permissions like <code>RUN_IN_BACKGROUND</code>.</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  Back to top\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"Footer\" >\n        \n          \n          <a href=\"../batch-operations/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"Previous: Batch Operations\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Previous\n              </span>\n              <div class=\"md-ellipsis\">\n                Batch Operations\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../use-with-adb/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"Next: Using PMX with ADB\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                Next\n              </span>\n              <div class=\"md-ellipsis\">\n                Using PMX with ADB\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"Copied to clipboard\", \"clipboard.copy\": \"Copy to clipboard\", \"search.result.more.one\": \"1 more on this page\", \"search.result.more.other\": \"# more on this page\", \"search.result.none\": \"No matching documents\", \"search.result.one\": \"1 matching document\", \"search.result.other\": \"# matching documents\", \"search.result.placeholder\": \"Type to start searching\", \"search.result.term.missing\": \"Missing\", \"select.version\": \"Select version\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/zh/batch-operations/index.html",
    "content": "\n<!doctype html>\n<html lang=\"zh\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"使用 PMX 创建、编辑并应用权限配置文件至多个Android应用——支持批量模板、默认配置文件及批量权限管理。\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/batch-operations/\">\n      \n      \n        <link rel=\"prev\" href=\"../permission-view/\">\n      \n      \n        <link rel=\"next\" href=\"../whatsrunning-integration/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../batch-operations/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/batch-operations/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/batch-operations/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/batch-operations/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/batch-operations/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/batch-operations/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/batch-operations/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>批量操作 - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#permission-profiles\" class=\"md-skip\">\n          跳转至\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"页眉\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              批量操作\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"选择当前语言\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../batch-operations/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/batch-operations/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/batch-operations/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/batch-operations/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/batch-operations/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/batch-operations/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/batch-operations/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"搜索\" placeholder=\"搜索\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"查找\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"清空当前内容\" aria-label=\"清空当前内容\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            正在初始化搜索引擎\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"导航栏\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    什么是权限管理X？\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    清单权限和 AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限引用\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    用户界面已被解释\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    搜索\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    定期检查\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限监控\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限视图\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    批量操作\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    批量操作\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"目录\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      目录\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#permission-profiles\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        权限配置文件\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#operations-with-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        引用操作\n      \n    </span>\n  </a>\n  \n    <nav class=\"md-nav\" aria-label=\"引用操作\">\n      <ul class=\"md-nav__list\">\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#set-permissions\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        设置权限\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#set-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        设置引用\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#cleanup-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        清理参考\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#reset-references\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        重置引用\n      \n    </span>\n  </a>\n  \n</li>\n        \n      </ul>\n    </nav>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    与 WhatsRunning 整合\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    使用 PMX 与 ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX 版本\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/zh/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    付费功能\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX 常见问题\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    下载\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    屏幕截图\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/zh/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    评分/评论/评论/更新/星星\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    联系我们\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    应用程序\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    应用程序\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限管理 X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRuning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android 常见问题\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android 常见问题\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    常见问题\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB 指南\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB 指南\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    将应用程序与ADB配对/连接\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>批量操作</h1>\n\n<h2 id=\"permission-profiles\">权限配置文件<a class=\"headerlink\" href=\"#permission-profiles\" title=\"Permanent link\">&para;</a></h2>\n<ul>\n<li>创建和编辑权限配置文件(模板)。</li>\n<li>将配置文件应用于所选应用程序列表。</li>\n<li>选择一个<strong>默认配置文件</strong>，用于应用于新安装的应用程序（如果启用了<a href=\"../permission-watcher/\">权限监视器</a>）。</li>\n</ul>\n<p><img alt=\"权限配置文件\" class=\"media\" src=\"../../img/perm_profiles.webp\" /></p>\n<p><a href=\"../faqs/#faq39\">Here</a> 是一个如何创建和应用个人资料的示例视频指南。</p>\n<hr />\n<h2 id=\"operations-with-references\">引用操作<a class=\"headerlink\" href=\"#operations-with-references\" title=\"Permanent link\">&para;</a></h2>\n<h3 id=\"set-permissions\">设置权限<a class=\"headerlink\" href=\"#set-permissions\" title=\"Permanent link\">&para;</a></h3>\n<p>遍历选定应用列表，根据<a href=\"../permission-references/\">参考值</a>设置权限状态，<font color=\"#FF0000\">将红色权限</font> <font color=\"#90EE90\">转为绿色</font>。 绿色和橙色状态的权限被忽略。</p>\n<p>当您刚刚恢复备份且有很多权限的 <font color=\"#FF0000\">RED</font> 状态时，此选项通常是有用的。</p>\n<h3 id=\"set-references\">设置引用<a class=\"headerlink\" href=\"#set-references\" title=\"Permanent link\">&para;</a></h3>\n<p>遍历选定应用列表，根据权限状态将<font color=\"#FF0000\">红色</font>和<font color=\"#FFC107\">橙色</font>权限<font color=\"#90EE90\">设置为绿色</font>，具体操作是为其<a href=\"../permission-references/\">参考值</a>赋值。</p>\n<p>这个选项通常在初始设置中有用。 您刚刚安装了 PMX 应用，并花了几个小时设置权限。 此选项将使他们在一次单击中所有的 <font color=\"#90EE90\">GREEN</font>。</p>\n<h3 id=\"cleanup-references\">清理参考<a class=\"headerlink\" href=\"#cleanup-references\" title=\"Permanent link\">&para;</a></h3>\n<p>清理权限参考数据库 未使用的引用将被删除。</p>\n<p>如果有大量未使用引用的列表，清理可能会改进应用列表的加载。</p>\n<h3 id=\"reset-references\">重置引用<a class=\"headerlink\" href=\"#reset-references\" title=\"Permanent link\">&para;</a></h3>\n<p>重置权限参考数据库 所有引用将被删除。</p>\n<p>不打算正常使用。 但如果你想从零开始。</p>\n<p><img alt=\"设置引用 - 批量操作\" class=\"media\" src=\"../../img/set_refs.webp\" /></p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  回到页面顶部\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"页脚\" >\n        \n          \n          <a href=\"../permission-view/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"上一页: 权限视图\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                上一页\n              </span>\n              <div class=\"md-ellipsis\">\n                权限视图\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../whatsrunning-integration/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"下一页: 与 WhatsRunning 整合\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                下一页\n              </span>\n              <div class=\"md-ellipsis\">\n                与 WhatsRunning 整合\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u5df2\\u590d\\u5236\", \"clipboard.copy\": \"\\u590d\\u5236\", \"search.result.more.one\": \"\\u5728\\u8be5\\u9875\\u4e0a\\u8fd8\\u6709 1 \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.more.other\": \"\\u5728\\u8be5\\u9875\\u4e0a\\u8fd8\\u6709 # \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.none\": \"\\u6ca1\\u6709\\u627e\\u5230\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.one\": \"\\u627e\\u5230 1 \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.other\": \"# \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.placeholder\": \"\\u952e\\u5165\\u4ee5\\u5f00\\u59cb\\u641c\\u7d22\", \"search.result.term.missing\": \"\\u7f3a\\u5c11\", \"select.version\": \"\\u9009\\u62e9\\u5f53\\u524d\\u7248\\u672c\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/zh/details/index.html",
    "content": "\n<!doctype html>\n<html lang=\"zh\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"在 PMX中查看和管理应用专属权限：包含应用详情、权限列表、授予/撤销控制以及 Android 应用的 UID 模式信息。\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/details/\">\n      \n      \n        <link rel=\"prev\" href=\"../permission-references/\">\n      \n      \n        <link rel=\"next\" href=\"../search/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../details/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/details/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/details/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/details/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/details/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/details/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/details/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>用户界面已被解释 - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#apps-list\" class=\"md-skip\">\n          跳转至\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"页眉\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              用户界面已被解释\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"选择当前语言\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../details/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/details/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/details/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/details/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/details/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/details/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/details/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"搜索\" placeholder=\"搜索\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"查找\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"清空当前内容\" aria-label=\"清空当前内容\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            正在初始化搜索引擎\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"导航栏\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    什么是权限管理X？\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    清单权限和 AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限引用\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    用户界面已被解释\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    用户界面已被解释\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"目录\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      目录\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#apps-list\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        应用列表\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#permissions-list\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        权限列表\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    搜索\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    定期检查\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限监控\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限视图\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    批量操作\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    与 WhatsRunning 整合\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    使用 PMX 与 ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX 版本\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/zh/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    付费功能\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX 常见问题\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    下载\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    屏幕截图\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/zh/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    评分/评论/评论/更新/星星\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    联系我们\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    应用程序\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    应用程序\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限管理 X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRuning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android 常见问题\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android 常见问题\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    常见问题\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB 指南\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB 指南\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    将应用程序与ADB配对/连接\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>用户界面已被解释</h1>\n\n<h2 id=\"apps-list\">应用列表<a class=\"headerlink\" href=\"#apps-list\" title=\"Permanent link\">&para;</a></h2>\n<p><img alt=\"Apps list items details\" class=\"media\" src=\"../../img/pkg.webp\" /></p>\n<ol>\n<li>\n<p>左侧彩色条纹表示<strong>参考状态</strong></p>\n</li>\n<li>\n<p>应用程序 <strong>图标</strong></p>\n</li>\n<li>\n<p>第一行显示包 <strong>标签</strong></p>\n</li>\n<li>\n<p>第二行显示软件包 <strong>name</strong> 和</p>\n</li>\n<li>\n<p><strong>用户ID</strong></p>\n</li>\n<li>\n<p>第三行(可选) 显示包的状态：<strong>严格</strong> (框架)、<strong>框架</strong> 或 <strong>系统</strong> 应用。 同时如果应用程序被<strong>禁用</strong>。 <strong>启用</strong>、<strong>用户</strong>应用程序没有显示状态。</p>\n</li>\n<li>\n<p>Last line shows <strong>count</strong> of visible out of total manifest permissions and</p>\n</li>\n<li>\n<p>AppOps 权限.</p>\n<p>不可见的权限是 <em>排除过滤器</em>中排除的权限。</p>\n</li>\n<li>\n<p>如果按安装或更新时间排序，最后一行也会在右侧显示日期或时间。</p>\n</li>\n</ol>\n<h2 id=\"permissions-list\">权限列表<a class=\"headerlink\" href=\"#permissions-list\" title=\"Permanent link\">&para;</a></h2>\n<p><img alt=\"权限列表项目详细信息\" class=\"media\" src=\"../../img/perm.webp\" /></p>\n<p><img alt=\"权限列表项目详细信息\" class=\"media\" src=\"../../img/perm2.webp\" /></p>\n<ol>\n<li>左侧彩色条纹表示<strong>参考状态</strong></li>\n<li>Manifest 权限在右上角显示一个标记</li>\n<li>权限 <strong>图标</strong></li>\n<li>第一行显示 <strong>权限名称</strong></li>\n<li>第二行显示权限的<a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">保护级别</a>：<strong>普通</strong>、<strong>危险</strong>、<strong>签名</strong>、<strong>开发</strong>、<strong>特权</strong>、<strong>固定</strong>、<strong>AppOps</strong>或<strong>未知</strong>。 Also if AppOp is <strong>per Package</strong> or <strong>per UID</strong>. 如果它是<strong>额外</strong>的 AppOp （在过滤设置中永不排除）。</li>\n<li>第三行（在 AppOp的情况下）显示 <strong>最后访问或拒绝时间</strong></li>\n<li>第四行（当 AppOp时）显示被引用的值，如果该值与当前设置值不匹配。</li>\n<li>切换到更改权限状态</li>\n<li>当前状态（针对 AppOp的情况）</li>\n<li><strong>默认</strong>表示 AppOp 状态从未被更改</li>\n</ol>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  回到页面顶部\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"页脚\" >\n        \n          \n          <a href=\"../permission-references/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"上一页: 权限引用\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                上一页\n              </span>\n              <div class=\"md-ellipsis\">\n                权限引用\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../search/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"下一页: 搜索\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                下一页\n              </span>\n              <div class=\"md-ellipsis\">\n                搜索\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u5df2\\u590d\\u5236\", \"clipboard.copy\": \"\\u590d\\u5236\", \"search.result.more.one\": \"\\u5728\\u8be5\\u9875\\u4e0a\\u8fd8\\u6709 1 \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.more.other\": \"\\u5728\\u8be5\\u9875\\u4e0a\\u8fd8\\u6709 # \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.none\": \"\\u6ca1\\u6709\\u627e\\u5230\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.one\": \"\\u627e\\u5230 1 \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.other\": \"# \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.placeholder\": \"\\u952e\\u5165\\u4ee5\\u5f00\\u59cb\\u641c\\u7d22\", \"search.result.term.missing\": \"\\u7f3a\\u5c11\", \"select.version\": \"\\u9009\\u62e9\\u5f53\\u524d\\u7248\\u672c\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/zh/faqs/index.html",
    "content": "\n<!doctype html>\n<html lang=\"zh\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"关于 PMX的常见问题解答：为何使用 PMX、 AppOp/manifest 的说明，以及 ADB 针对 Android 权限控制的技巧与故障排除指南。\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/faqs/\">\n      \n      \n        <link rel=\"prev\" href=\"../versions/\">\n      \n      \n      \n        \n          <link rel=\"alternate\" href=\"../../faqs/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/faqs/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/faqs/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/faqs/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/faqs/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/faqs/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/faqs/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>PMX 常见问题 - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#faq36\" class=\"md-skip\">\n          跳转至\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"页眉\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              PMX 常见问题\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"选择当前语言\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../faqs/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/faqs/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/faqs/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/faqs/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/faqs/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/faqs/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/faqs/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"搜索\" placeholder=\"搜索\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"查找\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"清空当前内容\" aria-label=\"清空当前内容\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            正在初始化搜索引擎\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"导航栏\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    什么是权限管理X？\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    清单权限和 AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限引用\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    用户界面已被解释\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    搜索\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    定期检查\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限监控\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限视图\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    批量操作\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    与 WhatsRunning 整合\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    使用 PMX 与 ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX 版本\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/zh/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    付费功能\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX 常见问题\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX 常见问题\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"目录\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      目录\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq36\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        为什么我需要使用 PMX？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq1\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        为什么 PMX 需要 root 权限或 ADB 访问权限？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq33\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        设备尚未Root， 如何使用 PMX？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq42\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        为什么 PMX 在最新安卓系统上无法运行或无法正常工作？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq43\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        为什么 PMX 在 OEM 操作系统或自定义 ROMs上无法正常工作？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq2\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        PMX 如何更改其他应用的权限？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq34\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        在关闭 ADB 、拒绝root权限或卸载 PMX 后，权限设置是否仍保持变更状态？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq15\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        为什么不能更改某些权限？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq37\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        我已经更改了权限，但它无法工作。 为什么？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq3\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        为什么某些 AppOps 无法更改？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq6\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        为什么我在应用列表中看不到某些应用？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq7\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        为什么在某些应用中看不到部分权限？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq8\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        为什么我在ABC软件包中看不到XYZ（ AppOp）？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq5\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        我应该在高级设置中选择哪个特权守护进程 UID ？ 系统还是 ADB？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq9\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        在排除过滤器中什么是“无效的权限”？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq10\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        在排除过滤器中，“额外的 AppOps”指的是什么？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq11\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        AppOp 具有哪些不同的模式？我应该使用哪一种？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq12\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        “忽略”和“拒绝”模式有何区别？ AppOp\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq41\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        为什么我无法将 AppOp 模式设置为前景？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq14\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        WAKE_LOCK 权限的作用是什么？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq16\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        如何修改 INTERNET 的权限？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq40\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        固定 权限是什么？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq17\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        我如何更改系统固定权限、签名/特权权限或框架应用的权限？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq18\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        在 AppOp 权限中，\"UID模式\"指的是什么？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq39\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        我能否通过 PMX控制 Android 的“若应用未被使用则移除权限”功能？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq31\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        为什么我总收到大量\"Bad ROM\"的弹窗？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq19\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ”从列表中隐藏“（长按弹出）功能有何作用？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq21\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        是否有包含所有权限及其说明的完整列表？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq22\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        如何在工作资料/多用户环境中使用本应用？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq24\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        PMX 与 XPrivacyLua相比如何？ 可以相互替代吗？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq32\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        PMX 能否像Bouncer那样在应用关闭时自动撤销权限？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq35\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        安装新应用时是否有通知提示？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq38\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        当安装新应用时， PMX 能否默认取消其权限？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq25\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        为什么 PMX 需要互联网权限？\n      \n    </span>\n  </a>\n  \n    <nav class=\"md-nav\" aria-label=\"为什么 PMX 需要互联网权限？\">\n      <ul class=\"md-nav__list\">\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#optional-use-of-internet-permission\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        可选使用 android.permission.INTERNET 权限\n      \n    </span>\n  </a>\n  \n</li>\n        \n          <li class=\"md-nav__item\">\n  <a href=\"#on-device-use-of-internet-permission\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        本地（设备上）使用 android.permission.INTERNET 权限\n      \n    </span>\n  </a>\n  \n</li>\n        \n      </ul>\n    </nav>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq26\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        PMX 对隐私的友好程度如何？ 您是否收集用户数据？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq27\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        PMX 是否通过 ADB 在网络上监视我？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq28\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        PMX 是否滥用 root 权限来收集我的数据？\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#faq29\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        我认为 PMX 毫无用处。 你为什么要开发这个软件？\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    下载\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    屏幕截图\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/zh/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    评分/评论/评论/更新/星星\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    联系我们\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    应用程序\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    应用程序\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限管理 X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRuning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android 常见问题\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android 常见问题\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    常见问题\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB 指南\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB 指南\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    将应用程序与ADB配对/连接\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>PMX 常见问题</h1>\n\n<h3 id=\"faq36\">为什么我需要使用 PMX？<a class=\"headerlink\" href=\"#faq36\" title=\"Permanent link\">&para;</a></h3>\n<p>因为：</p>\n<ul>\n<li>PMX 将所有分散（或无法获取）的权限相关<strong>信息</strong>和<strong>控制项</strong>整合到单一界面，让您能够以全面便捷的方式查看并管理它们。</li>\n<li>原生Android系统中没有官方工具可用于更改 <strong>AppOps</strong>。 仅部分 <strong>manifest 权限</strong> 会在权限设置中向用户展示。 PMX 以原始形式暴露所有权限。 相关：<a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\">Manifest 权限和 AppOps</a>。</li>\n<li>PMX 让您轻松追踪权限的任何<strong>不必要的更改</strong>。</li>\n<li>通过控制您的设备， PMX 能够帮助您<strong>节省设备资源</strong>（如电池电量和网络带宽），并<strong>保护您的隐私</strong>。 您并非完全受制于应用程序和 ROM 开发者的摆布。 阅读这个 <a href=\"https://www.buzzfeednews.com/article/nicolenguyen/how-apps-take-your-data-and-sell-it-without-you-even\">article</a> 来获得一个想法。</li>\n<li>PMX 能够实时监控权限变更，并在您停止使用应用时自动撤销这些权限。 或者它可以执行 <strong>预定扫描</strong> 的权限。 所以你不必记住一切。</li>\n<li>PMX 让您轻松<strong>备份和恢复已安装应用的权限状态</strong>，从而无需反复调整应用权限。</li>\n</ul>\n<p>另请参阅<a href=\"../\">什么是 PMX</a>？</p>\n<hr />\n<h3 id=\"faq1\">为什么 PMX 需要 root 权限或 ADB 访问权限？<a class=\"headerlink\" href=\"#faq1\" title=\"Permanent link\">&para;</a></h3>\n<p>Android 系统有意限制应用修改其他应用的 manifest 或 AppOps 权限（在许多情况下也限制修改自身部分权限）。 这些平台保护用户隐私和系统完整性。</p>\n<p>为执行需要提升权限的操作， PMX 采用独立的小型特权辅助程序，而非尝试通过常规应用进程完成所有操作。 默认情况下，该辅助程序在通过 ADB 启动时以 ADB 用户标识（<code>2000</code>）运行，而在已获取root权限的设备上则以系统用户标识（<code>1000</code>）运行。 如果你有一个Root设备，你可以在 <em>Advanced Settings</em>中更改助手的 UID。</p>\n<hr />\n<h3 id=\"faq33\">设备尚未Root， 如何使用 PMX？<a class=\"headerlink\" href=\"#faq33\" title=\"Permanent link\">&para;</a></h3>\n<p>使用 <a href=\"../use-with-adb/\">PMX 与 ADB</a>。 请阅读最开始的提示， 某些设备可能有一些限制。</p>\n<hr />\n<h3 id=\"faq42\">为什么 PMX 在最新安卓系统上无法运行或无法正常工作？<a class=\"headerlink\" href=\"#faq42\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX 依赖于Android的隐藏API或非SDK接口，这些接口与标准API不同，未在<a href=\"https://developer.android.com/\">Android开发者</a>上进行文档记录。 所以，在每次新的 Android 版本发布后，我们必须通过 Android 源代码来了解哪些API已经损坏(更改或删除)。</p>\n<p>此外，修复破损的APIs需要时间；有时需要几个星期，有时需要几个月。 而且它不能保证我们总是能够修复损坏的 API。 有时，谷歌目的使我们难以或不可能继续使用隐藏的 API。</p>\n<p>因此，只要最终的AOSP源代码尚未公开发布（在<a href=\"https://cs.android.com/\">代码搜索</a>或<a href=\"https://android.googlesource.com/\">Git仓库</a>上），我们就无法让 PMX 立即在每个新的Android版本（特别是测试阶段）上运行。</p>\n<p>PMX该应用程序在GitHub和Google Play商店的应用描述中注明了其最终支持的Android版本。 当您第一次在不支持的版本上运行应用程序时，它会显示类似于以下的警告：</p>\n<p><img alt=\"不支持的 Android 版本警告\" class=\"media\" src=\"../../img/unsupported_android_version_warning.webp\" /></p>\n<hr />\n<h3 id=\"faq43\">为什么 PMX 在 OEM 操作系统或自定义 ROMs上无法正常工作？<a class=\"headerlink\" href=\"#faq43\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX 依赖于Android的隐藏API或非SDK接口，这些接口与标准API不同，未在<a href=\"https://developer.android.com/\">Android开发者</a>上进行文档记录。 因此我们需要访问您 ROM 的源代码，才能准确了解这些隐藏API的工作原理。</p>\n<p>太好了，AOSP (由Google开发)是开源的。 但如果您的原始设备制造商（OEM）或 ROM 开发者为定制目的对AOSP进行了修改，我们无法确切知晓他们对原生AOSP代码做了哪些改动。 我们在这里非常无能为力。 这个事实在 GitHub 和 Play Store 上的应用程序描述中被说明。 抱歉。</p>\n<hr />\n<h3 id=\"faq2\">PMX 如何更改其他应用的权限？<a class=\"headerlink\" href=\"#faq2\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX 它本身既不能也无法授予或撤销其他应用的权限。 事实上，没有第三方应用程序有权这样做。 它是控制应用权限的 Android 操作系统。 PMX 仅向Android框架发送请求以更改权限状态。 现在完全取决于安卓系统对我们请求的尊重。 并非所有权限都可以更改。 若您无法通过 PMX 修改权限状态，则其他方式也无法实现此操作。</p>\n<hr />\n<h3 id=\"faq34\">在关闭 ADB 、拒绝root权限或卸载 PMX 后，权限设置是否仍保持变更状态？<a class=\"headerlink\" href=\"#faq34\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX 它本身既不能也无法授予或撤销其他应用的权限。 事实上，没有第三方应用程序有权这样做。 它是控制应用权限的 Android 操作系统。 PMX 仅向Android框架发送请求以更改权限状态。</p>\n<p>因此，一旦权限被更改，无论您卸载 PMX 还是撤销其特权，都不会产生任何影响。 除非您或Android系统再次修改，否则该权限将保持在您所修改的状态。</p>\n<hr />\n<h3 id=\"faq15\">为什么不能更改某些权限？<a class=\"headerlink\" href=\"#faq15\" title=\"Permanent link\">&para;</a></h3>\n<p>仅具备危险的<a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">保护级别</a> (和其他少数) 的清单权限是可以更改的。 AppOps 不依赖于其他某些 AppOp 可变。 这就是Android的工作方式，我们不能改变其行为。 参见 <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\">Manifest 权限说明 和 AppOps</a>。</p>\n<p>此外， PMX 文件保护着若干关键框架应用和权限；修改这些内容可能导致设备变砖。 查看<a href=\"#faq17\">相关问题</a>。</p>\n<p>另请参阅<a href=\"#faq3\">为什么某些 AppOps 无法更改？</a></p>\n<p>请注意，从 Android 15 开始，具有 <em>开发</em> 保护级别的系统应用的 manifest 权限将无法撤销。 安卓静默忽略请求。</p>\n<hr />\n<h3 id=\"faq37\">我已经更改了权限，但它无法工作。 为什么？<a class=\"headerlink\" href=\"#faq37\" title=\"Permanent link\">&para;</a></h3>\n<p>成功更改权限后，如果您没有获得所需的结果，即： 它立即还原或在几个小时或几天后恢复，安卓操作系统将被责备。 请查看：</p>\n<ul>\n<li><a href=\"#faq2\"> PMX 如何更改其他应用的权限？</a></li>\n<li><a href=\"#faq3\">为什么某些 AppOps 无法更改？</a></li>\n</ul>\n<p>当您使用应用程序时，安卓系统可能会更改他们的权限。 不幸的是，我们对此无能为力。 <a href=\"../permission-watcher/\">权限监视</a>和<a href=\"../scheduled-check/\">计划的检查者</a>在这方面可能有帮助。</p>\n<hr />\n<h3 id=\"faq3\">为什么某些 AppOps 无法更改？<a class=\"headerlink\" href=\"#faq3\" title=\"Permanent link\">&para;</a></h3>\n<p>有时你会看到“AppOp 模式未更改”。 这意味着Android拒绝了更改 AppOp 模式的请求。 无论您使用何种方法或应用，您都不能更改它。 可能有多种原因。</p>\n<ul>\n<li>\n<p>某些 AppOps 依赖于其对应的 manifest 权限。 因此它们无法独立改变。 例如，若授予 <code>android.permission.READ_CONTACTS</code> manifest 权限，则无法拒绝 <code>READ_CONTACTS</code> AppOp。</p>\n<p>此外，如果应用程序在其 manifest 文件中未请求 manifest 权限，则其 AppOp 权限也无法被授予。 但如果应用程序试图使用它（并被拒绝），它仍可能会出现在应用程序的权限列表中。 <code>SYSTEM_ALERT_WINDOW</code> 就是这样一个例子。</p>\n</li>\n<li>\n<p>某些 AppOps 仅用于兼容性（例如 <code>LEGACY_STORAGE</code>），实际上并不控制任何功能。 如果我们了解工作原理，就会发现授予/撤销这种权限是没有必要的。</p>\n</li>\n<li>\n<p>某些权限无法更改，如果应用程序正在运行或针对旧版本或更新版本的 Android 。</p>\n</li>\n<li>\n<p>某些原始设备制造商（OEM）的 ROMs 在处理 AppOps时会表现异常。 参见<a href=\"#faq43\">为何 PMX 在 OEM 操作系统或自定义 ROMs上无法正常工作？</a></p>\n</li>\n<li>\n<p>许多 AppOps 设备可支持两种模式：包模式和UID模式。 一个可以被更改，而另一个则不能被更改。</p>\n<p>通常，UID AppOps 优先于其对应的包 AppOp 。 在此情况下，包 AppOp 的有效模式与其 UID AppOps的模式相同。 因此，您无法单独修改包 AppOp。</p>\n<p>某些 AppOps 更倾向于设置为包模式，而非UID模式。 但如果它在 UID 模式中设置错误(有命令行工具或其他应用程序)，它就变得无法响应任何更改。 请从右上角菜单执行\"重置 AppOps\"操作，使其恢复正常。 其他 AppOps 同样如此，它们具有对应的 manifest 权限，该权限包含 <em>AppOp</em> <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">保护级别</a>。</p>\n</li>\n</ul>\n<p>事实上，如果我们个别挖掘每个应用和权限（这种情况不实际），就会有更多的解释。 如上所述， PMX 本身不会更改其他应用的权限。 所以，即使由于一些未知原因，安卓系统不会更改权限，或立即还原。 我们没有什么能够强迫它，因为这些都是Android 末端的限制。 相反，我应该说这是Android系统的工作方式。</p>\n<p>关联：</p>\n<ul>\n<li><a href=\"#faq11\"> AppOp 的不同模式有哪些？我该使用哪种模式？</a></li>\n<li><a href=\"#faq41\">为什么我无法将 AppOp 模式设置为前台？</a></li>\n</ul>\n<hr />\n<h3 id=\"faq6\">为什么我在应用列表中看不到某些应用？<a class=\"headerlink\" href=\"#faq6\" title=\"Permanent link\">&para;</a></h3>\n<p>请检查 <strong>Exclusion 过滤器</strong> 。 几乎所有系统应用默认都被排除在外。 您可以排除/包含您想要从 / 到可见列表的任何包。</p>\n<hr />\n<h3 id=\"faq7\">为什么在某些应用中看不到部分权限？<a class=\"headerlink\" href=\"#faq7\" title=\"Permanent link\">&para;</a></h3>\n<p>请检查 <strong>Exclusion 过滤器</strong> 。 不可更改的权限被排除在可见列表的默认值之外。</p>\n<hr />\n<h3 id=\"faq8\">为什么我在ABC软件包中看不到XYZ（ AppOp）？<a class=\"headerlink\" href=\"#faq8\" title=\"Permanent link\">&para;</a></h3>\n<p>请检查<strong>排除过滤器</strong>，如果 XYZ AppOp 被排除在可见列表之外。 或者ABC 软件包可能没有使用 XYZ 操作。 您无需考虑这些。</p>\n<p>但若需查看所有应用的XYZ（ AppOp ）设置，请前往<strong>排除过滤器 → 附加 AppOps，永不排除</strong>，并在列表中勾选XYZ（ AppOp）。</p>\n<p>例如，在搜索框中输入 <code>_CLIPBOARD</code> （同时勾选<strong>深度搜索</strong>框），即可获取所有曾使用（或尝试使用） <code>READ_CLIPBOARD</code> 或 <code>WRITE_CLIPBOARD</code> 权限的应用。 时间戳也会显示（但并非所有 AppOps都会显示）。</p>\n<p>因此，若您关注的应用未出现在搜索结果中，请在上述<strong>排除过滤器</strong>列表中同时勾选 AppOps。</p>\n<hr />\n<h3 id=\"faq5\">我应该在高级设置中选择哪个特权守护进程 UID ？ 系统还是 ADB？<a class=\"headerlink\" href=\"#faq5\" title=\"Permanent link\">&para;</a></h3>\n<p>这仅在您使用root权限时才重要，或者您的设备上运行的 <code>adbd</code> 程序具有root权限（最终用户设备并非如此）。</p>\n<p>建议使用<strong>System</strong>（UID <code>1000</code>），因为它比 <strong>ADB</strong>（UID <code>2000</code>）具有更高的权限。 例如， 只有当系统运行时才能更改\"<em>系统固定</em>\"的权限。</p>\n<hr />\n<h3 id=\"faq9\">在排除过滤器中什么是“无效的权限”？<a class=\"headerlink\" href=\"#faq9\" title=\"Permanent link\">&para;</a></h3>\n<p>如果某个应用请求了 manifest 权限，但该权限既未在 Android 框架中声明（提供），也未在任何已安装的软件包中声明（提供），则该权限属于无效权限。 例如，如果您的设备上未安装Play商店应用， <code>com.android.vending.BILLING</code> 将是一个无效的权限。</p>\n<hr />\n<h3 id=\"faq10\">在排除过滤器中，“额外的 AppOps”指的是什么？<a class=\"headerlink\" href=\"#faq10\" title=\"Permanent link\">&para;</a></h3>\n<p>并非所有 AppOps 都用于所有已安装的应用程序。 但你可以强制要求任何应用使用 AppOp。 选定附加功能 AppOps 出现在所有应用的权限列表中，以便您进行设置。</p>\n<hr />\n<h3 id=\"faq11\">AppOp 具有哪些不同的模式？我应该使用哪一种？<a class=\"headerlink\" href=\"#faq11\" title=\"Permanent link\">&para;</a></h3>\n<p>通常你应该允许或忽略。 或者您可能只想在应用程序在 <strong>Foreground</strong> (仅在 Android 9 及以上版本上)时允许操作。 <strong>Deny</strong> 是强烈版本的 Ignore 可能导致请求应用崩溃。 <strong>默认值</strong>是系统的默认行为，其具体表现因不同的 AppOps而异。</p>\n<p>请注意，并非所有 AppOp 模式都能在每个 AppOp 上为每个应用程序设置。 例如在近期发布的Android版本中， <code>CAMERA</code> 和 <code>MICROPHONE</code> 仅允许用户应用在前台使用（即使设置模式为<strong>允许</strong>）。 同样地，某些 AppOps 永远无法设置为 <strong>前景</strong> 模式。</p>\n<p>相关阅读：<a href=\"#faq3\">为什么某些 AppOps 无法更改？</a></p>\n<p>官方文档：<a href=\"https://developer.android.com/reference/android/app/AppOpsManager#access-control\">AppOpsManager</a>。</p>\n<hr />\n<h3 id=\"faq12\">“忽略”和“拒绝”模式有何区别？ AppOp<a class=\"headerlink\" href=\"#faq12\" title=\"Permanent link\">&para;</a></h3>\n<p><a href=\"https://developer.android.com/reference/android/app/AppOpsManager#MODE_IGNORED\">Ignore</a> 默默失败。当 <a href=\"https://developer.android.com/reference/android/app/AppOpsManager#MODE_ERRORED\">Deny</a> 向应用程序丢失错误，应用程序可能不会预料到并且可能崩溃。 您通常应该使用 <strong>Ignore</strong>。</p>\n<hr />\n<h3 id=\"faq41\">为什么我无法将 AppOp 模式设置为前景？<a class=\"headerlink\" href=\"#faq41\" title=\"Permanent link\">&para;</a></h3>\n<p>无法为所有 AppOps设置前景模式。 即使设置完毕，也可能无法提供预期结果。</p>\n<p>关联：</p>\n<ul>\n<li><a href=\"#faq11\"> AppOp 的不同模式有哪些？我该使用哪种模式？</a></li>\n<li><a href=\"#faq3\">为什么某些 AppOps 无法更改？</a></li>\n</ul>\n<p>请注意，权限模式\"仅在使用应用时允许\"并不总是将 AppOp 模式设置为\"前台\"：</p>\n<p><img alt=\"前台和一次性权限模式\" class=\"media\" src=\"../../img/fg_and_one_time_perm_modes.webp\" /></p>\n<p>通常我们只看到 manifest 权限的两种状态：已授予和已撤销。 但安卓使用 <a href=\"https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-13.0.0_r1/core/java/android/content/pm/PackageManager.java#4655\">flags</a> 将这两个状态分割成多个子州。 对于某些权限，相同的现象被用来实现\"只有当应用程序可见时才授予\"行为。 AppOp 在此情况下，权限未被使用。</p>\n<p>更多详情请参阅官方文档中的<a href=\"https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-13.0.0_r1/core/java/android/permission/Permissions.md#background-access\">后台访问</a>和<a href=\"https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-13.0.0_r1/core/java/android/app/AppOps.md#foreground\">前台访问</a>。</p>\n<p>为简化起见， PMX 目前不监控权限标志。 但将来可能会添加一个选项来跟踪对权限标志的更改，即使授予/撤销模式保持不变。</p>\n<hr />\n<h3 id=\"faq14\"><code>WAKE_LOCK</code> 权限的作用是什么？<a class=\"headerlink\" href=\"#faq14\" title=\"Permanent link\">&para;</a></h3>\n<p>应用程序按住唤醒屏幕以保持设备唤醒，即不进入<a href=\"https://developer.android.com/training/monitoring-device-state/doze-standby#understand_doze\">Doze模式</a>。</p>\n<hr />\n<h3 id=\"faq16\">如何修改 <code>INTERNET</code> 的权限？<a class=\"headerlink\" href=\"#faq16\" title=\"Permanent link\">&para;</a></h3>\n<p>Android 并不允许修改所有权限，例如具有 <strong>普通</strong> <a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">保护级别</a> 的权限（例如 <code>INTERNET</code>），或具有 <strong>固定</strong> 标记或 <strong>签名</strong> 保护级别的权限（通常是系统或框架应用）。 参见 <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\">Manifest 权限说明 和 AppOps</a>。</p>\n<p>但是如果您已经根目录， <a href=\"https://github.com/mirfatif/Fyrypt\">Fyrypt</a>可以让您非常强大地控制您设备上发生的网络活动。</p>\n<hr />\n<h3 id=\"faq40\">固定 权限是什么？<a class=\"headerlink\" href=\"#faq40\" title=\"Permanent link\">&para;</a></h3>\n<p><strong>系统固定</strong>权限由原始设备制造商（OEM）或 ROM 开发者授予预装应用。 它们不是要改变的。 但如果您的设备已获取root权限， PMX 可修改系统固定权限。</p>\n<p><strong>政策解决</strong> 权限被管理设备的 IT 管理员授予(或拒绝)。 它们是不能改变的。</p>\n<p><strong>用户修复</strong> 权限由用户固定下来。 如果用户多次拒绝了一个应用请求的某个权限，系统会将该权限标记为用户固定，应用再次请求时不会询问用户是否授予该权限。 用户可以随意更改这种固定的权限。</p>\n<hr />\n<h3 id=\"faq17\">我如何更改系统固定权限、签名/特权权限或框架应用的权限？<a class=\"headerlink\" href=\"#faq17\" title=\"Permanent link\">&para;</a></h3>\n<p>若您的设备已获取root权限，在付费版本中可通过<strong>高级设置</strong>中的<strong>允许关键更改</strong>选项，对带有<strong>系统固定</strong>标记、保护级别为<strong>签名</strong>或<strong>特权</strong>的权限，以及框架应用的权限进行修改。 但它不建议与系统和框架应用一起玩。 你可能会让设备变砖。</p>\n<hr />\n<h3 id=\"faq18\">在 AppOp 权限中，\"UID模式\"指的是什么？<a class=\"headerlink\" href=\"#faq18\" title=\"Permanent link\">&para;</a></h3>\n<p>这是 AppOp 权限的一种模式，表示修改此 AppOp 时，也会影响其他已安装的应用（具有相同UID的应用）。 参见 <a href=\"https://developer.android.com/guide/topics/manifest/manifest-element#uid\"><code>sharedUserId</code></a>。</p>\n<p>请注意，对于许多 AppOps，UID 模式优先于包模式。</p>\n<hr />\n<h3 id=\"faq39\">我能否通过 PMX控制 Android 的“若应用未被使用则移除权限”功能？<a class=\"headerlink\" href=\"#faq39\" title=\"Permanent link\">&para;</a></h3>\n<p>确定. 此功能自<a href=\"https://developer.android.com/about/versions/11/privacy/permissions#auto-reset\">Android 11</a>起可用。 在某些设备上，该功能也被标记为 <strong>\"暂停未使用的应用程序活动\"</strong>。</p>\n<p><img alt=\"自动删除未使用的权限\" class=\"media\" src=\"../../img/remove_unused_perms.webp\" /></p>\n<p>要将此选项从 PMX：</p>\n<ol>\n<li>前往<strong>排除过滤器 → 附加 AppOps 列表</strong>，并勾选 <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code>。</li>\n<li>返回主屏幕后，在顶部的搜索栏中输入 <code>AUTO_REVOKE_PERMISSIONS_IF_UNUSED</code>。 请确保在搜索设置中启用深度搜索。</li>\n<li>设置模式<strong>允许</strong> 或 <strong>忽略</strong> 为您想要的应用。</li>\n</ol>\n<p>您也可以使用 <a href=\"../permission-view/\">权限视图</a> 或 <a href=\"../batch-operations/\">批处理操作</a> 来代替步骤 2 和 3 。 下面是使用批处理操作的指南：</p>\n<video class=\"media\" controls muted>\n    <source src=\"../../img/remove_unused_perms.mp4\" type=\"video/webm\">\n    Remove permissions if app isn't used\n</video>\n\n<hr />\n<h3 id=\"faq31\">为什么我总收到大量\"Bad ROM\"的弹窗？<a class=\"headerlink\" href=\"#faq31\" title=\"Permanent link\">&para;</a></h3>\n<p>设备制造商会对AOSP 代码 (由Google开发) 做出大量更改。 ROMs 因此，在某些定制/OEM设备上， AppOps 框架会返回出乎意料的结果，而 PMX 无法理解这些结果。 您可以忽略这些警告，但部分功能可能失效。</p>\n<p>您可以在<strong>设置</strong> → <strong>常规设置</strong> → <strong>禁用不良 ROM 通知</strong>中关闭这些弹窗。</p>\n<p>参见<a href=\"#faq43\">为何 PMX 在 OEM 操作系统或自定义 ROMs上无法正常工作？</a></p>\n<hr />\n<h3 id=\"faq19\">”从列表中隐藏“（长按弹出）功能有何作用？<a class=\"headerlink\" href=\"#faq19\" title=\"Permanent link\">&para;</a></h3>\n<p>他们都是在可见列表中隐藏应用程序或权限。 如果您不想更改任何应用的权限，您可以隐藏它。 它将不会出现在任何应用中。 若要取消隐藏，请再次到 <strong>排除过滤器</strong> 设置。</p>\n<p>同样，如果您不关心某个应用的权限，您可以将其排除在可见列表之外。</p>\n<p><img alt=\"从可见列表中隐藏应用\" class=\"media\" src=\"../../img/hide_app_from_list.webp\" /> <img alt=\"从可见列表中隐藏权限\" class=\"media\" src=\"../../img/hide_perm_from_list.webp\" /></p>\n<hr />\n<h3 id=\"faq21\">是否有包含所有权限及其说明的完整列表？<a class=\"headerlink\" href=\"#faq21\" title=\"Permanent link\">&para;</a></h3>\n<p>没有完整的权限列表描述，至少据我所知是这样。 PMX 专业版会显示常见权限 manifest 和 AppOp 的简要说明。</p>\n<p>有第三方资源，比如Izzy的<a href=\"https://android.izzysoft.de/applists.php?topic=perms\">这个</a>。 Android的<a href=\"https://developer.android.com/\">官方开发者网站</a>和<a href=\"https://cs.android.com/\">源代码</a>也是很好的学习来源。</p>\n<p>每次新的 Android 版本都会添加一些新的权限，有些权限会过时。 此外，并非所有权限都需要由每个用户处理。</p>\n<hr />\n<h3 id=\"faq22\">如何在工作资料/多用户环境中使用本应用？<a class=\"headerlink\" href=\"#faq22\" title=\"Permanent link\">&para;</a></h3>\n<p>专业版支持工作配置文件和多用户功能。 从下拉菜单中选择一个用户。</p>\n<p><img alt=\"多用户菜单\" class=\"media\" src=\"../../img/multi_users.webp\" /></p>\n<hr />\n<h3 id=\"faq24\">PMX 与 XPrivacyLua相比如何？ 可以相互替代吗？<a class=\"headerlink\" href=\"#faq24\" title=\"Permanent link\">&para;</a></h3>\n<p>PMX 并非旨在取代，而是旨在补充诸如 XPrivacyLua之类的项目。 它们的设计目标不同。</p>\n<p>XPrivacyLua 通过钩入内部API来破解Android的标准功能，使用 Xposed 将部分Android库替换为破解版本。 因此，我们得到了额外的功能，如向应用程序提供虚假数据，并得到与权限有关的事件的通知，而这是我们无法通过任何其他正常手段知道的。</p>\n<p>PMX 另一方面，它并非作为框架模块而设计。 它可以方便地访问某些正常应用无法使用的特权API。 它不会以任何方式修改Android系统的标准功能。 PMX 执行的多数任务也可通过命令行完成，但部分操作除外，例如修改系统固定权限。</p>\n<p>获取root权限和 Xposed 是使用 XPrivacyLua的两个严格要求。 PMX 不需要这两者中的任何一个。 这两样东西对许多设备来说都是不可用的，或者由于所涉及的技术困难、保修失效、SafetyNet失效和其他问题，许多用户不考虑将其作为一种选择。</p>\n<p>更多说明 <a href=\"https://github.com/mirfatif/PermissionManagerX/issues/9\">here</a> 和 <a href=\"https://github.com/mirfatif/PermissionManagerX/issues/56#issuecomment-2790539931\">here</a>.</p>\n<hr />\n<h3 id=\"faq32\">PMX 能否像Bouncer那样在应用关闭时自动撤销权限？<a class=\"headerlink\" href=\"#faq32\" title=\"Permanent link\">&para;</a></h3>\n<p>确定. 参见<a href=\"../permission-watcher/\">权限监视器</a>和<a href=\"../scheduled-check/\">定时检查</a>。 但它不使用 Android 的 <strong>Accessibility</strong> 功能来代表用户在屏幕上进行taps / 点击(尽管这是一个好的功能，无需额外设置)。 PMX 依赖于root或 ADB 权限。 因此它能实现的功能远超辅助功能所能提供的（详见<a href=\"../\">什么是 PMX？</a>）。</p>\n<p>若您使用的是 ADB且非 root 用户，<strong>权限监视器</strong> 在某些设备上可能无法正常工作。 请参阅<a href=\"../use-with-adb/#limitations-of-adb\"> ADB的限制</a>。</p>\n<hr />\n<h3 id=\"faq35\">安装新应用时是否有通知提示？<a class=\"headerlink\" href=\"#faq35\" title=\"Permanent link\">&para;</a></h3>\n<p>确定. 请参阅<a href=\"../permission-watcher/\">权限Watcher</a>。</p>\n<p>因为Android 8无法让后台(无法运行) 应用获得新安装应用的通知。 所以我们必须运行一个前台服务(持续通知) 才能接收此事件。 或者，您可以考虑使用 <a href=\"../scheduled-check/\">计划的检查</a> 来保留物品。</p>\n<hr />\n<h3 id=\"faq38\">当安装新应用时， PMX 能否默认取消其权限？<a class=\"headerlink\" href=\"#faq38\" title=\"Permanent link\">&para;</a></h3>\n<p>确定. 但是没有权限删除。 所有可撤销的 manifest 权限均已撤销，并将保持撤销状态，除非用户明确授予这些权限。 就 AppOps 而言，其中许多文件至少在应用程序使用一次后才会出现，例如 <code>VIBRATE</code> 和 <code>READ_CLIPBOARD</code>。 正如所指出的，许多其他用户（例如 <code>READ_CONTACTS</code>）的 manifest 权限已被降级。 因此在应用安装时无法预知应移除哪个 AppOps。</p>\n<p>但当安装新应用时会显示通知（若使用<a href=\"../permission-watcher/\">权限监视器</a>)，用户可逐项设置权限或<a href=\"../batch-operations/#permission-profiles\">应用配置文件</a>。</p>\n<hr />\n<h3 id=\"faq25\">为什么 PMX 需要互联网权限？<a class=\"headerlink\" href=\"#faq25\" title=\"Permanent link\">&para;</a></h3>\n<p><a href=\"https://mirfatif.github.io/mirfatif/getpro\">独立的专业版</a> 需要互联网连接以验证许可证。 其他 <a href=\"../versions/\">versions</a>可以完全离线工作。 虽然Play Store应用程序需要互联网连接才能验证许可证。</p>\n<h4 id=\"optional-use-of-internet-permission\">可选使用 <code>android.permission.INTERNET</code> 权限<a class=\"headerlink\" href=\"#optional-use-of-internet-permission\" title=\"Permanent link\">&para;</a></h4>\n<ul>\n<li>检查更新. 您可以在应用设置中禁用此功能。</li>\n</ul>\n<h4 id=\"on-device-use-of-internet-permission\">本地（设备上）使用 <code>android.permission.INTERNET</code> 权限<a class=\"headerlink\" href=\"#on-device-use-of-internet-permission\" title=\"Permanent link\">&para;</a></h4>\n<p>Android 系统不允许应用在未获得 <a href=\"https://developer.android.com/reference/android/Manifest.permission#INTERNET\"><code>INTERNET</code></a> 权限的情况下创建网络套接字，即使这些套接字仅用于本地操作而非互联网连接。 PMX 本地（设备内）连接（即在 <code>127.0.0.1</code>创建 <code>localhost</code> 套接字的能力）有两种用途，用于进程间通信（IPC）：</p>\n<ul>\n<li>PMX 启动一个具有 root / ADB 特权的后台进程，并通过网络套接字与该进程通信。 在最初握手后，这两个进程开始在绑定器上交谈。 我们做这件事没有更好的方法，因为安卓系统也不允许应用程序通过 UNIX 域套接字。</li>\n<li>如果您的设备未获取root权限，且您使用 <a href=\"../use-with-adb/\">PMX 配合 ADB</a>，则连接 <code>adbd</code> 需要互联网权限。 <a href=\"#faq27\">PMX 是否通过 ADB 在网络上监视我？</a></li>\n</ul>\n<p>因此，如果应用无法创建或使用本地网络套接字，它将失败。 若需阻止 PMX 访问互联网，必须确保该应用仍能通过 <a href=\"https://superuser.com/questions/263142\">用于进程间通信的回环接口</a> 与设备上的进程进行通信。 这种情况通常出现在基于 <code>iptables</code>的防火墙（如<a href=\"https://github.com/mirfatif/Fyrypt\">Fyrypt</a>）以及基于VPN的防火墙（如NetGuard）中。 但某些 ROMs 内置了禁止网络访问的功能：</p>\n<p><img alt=\"允许网络访问设置\" class=\"media\" src=\"../../img/allow_network_access.webp\" /></p>\n<p>这不仅会阻止应用使用互联网，而且也会禁用其为 IPC 创建循环套接口的能力。 因此，如果拒绝此权限，<strong>PMX 将无法获得root/ ADB 权限</strong>。</p>\n<hr />\n<h3 id=\"faq26\">PMX 对隐私的友好程度如何？ 您是否收集用户数据？<a class=\"headerlink\" href=\"#faq26\" title=\"Permanent link\">&para;</a></h3>\n<p>否. 我们不收集您的数据。 永远没有。 连一个字节都没有。 PMX 拥有开源版本。 我们坚信用户应当充分了解并知晓为何使用 PMX。 我们尊重你的隐私，所以从未收集过任何数据，甚至是崩溃日志。 您可能还想查看我们的<a href=\"https://mirfatif.github.io/PermissionManagerX/PRIVACY\">隐私政策</a>。</p>\n<hr />\n<h3 id=\"faq27\">PMX 是否通过 ADB 在网络上监视我？<a class=\"headerlink\" href=\"#faq27\" title=\"Permanent link\">&para;</a></h3>\n<p>否.</p>\n<p>PMX 通过本地主机（<code>127.0.0.1</code>）与 <code>adbd</code> 进程进行通信。 但无法仅在本地主机监听 <code>adbd</code> ，而不监听其他网络接口（因为 ADB 本应在外部PC上使用）。 您完全可以阻止 <code>adbd</code> 监听外部IP地址，如果可以的话。 PMX 仍可正常运行，且无需向外部暴露任何端口。</p>\n<p>此外，您还可以在<strong>高级设置</strong>中将 <code>5555</code> 端口更改为任意数字。 它不是硬编码的。</p>\n<p>此外， ADB 由于 Android 4.2 旨在通过 <strong>RSA 密钥认证</strong>（最强大的认证机制之一）进行保护。 因此，即使该设备可通过互联网访问（<a href=\"https://android.stackexchange.com/a/205807/218526\">这种情况极不可能发生</a>），在未经身份验证的情况下，任何人都无法建立 ADB 连接。</p>\n<p>无论你想以何种方式验证这些说法。 我们来这里是为了向你提供技术援助。</p>\n<hr />\n<h3 id=\"faq28\">PMX 是否滥用 root 权限来收集我的数据？<a class=\"headerlink\" href=\"#faq28\" title=\"Permanent link\">&para;</a></h3>\n<p>我们坚信<a href=\"https://wikipedia.org/wiki/Principle_of_least_privilege\">最小权限原则</a>。 但由于Android操作系统的限制性， PMX 在没有高权限的情况下无法运行。 我们能提供的是，如果你是一个技术熟练的人，我们可以教你如何使应用程序难以连接到网络，即使有root权限。</p>\n<hr />\n<h3 id=\"faq29\">我认为 PMX 毫无用处。 你为什么要开发这个软件？<a class=\"headerlink\" href=\"#faq29\" title=\"Permanent link\">&para;</a></h3>\n<p>我们尊重你的意见。 PMX 并非适合所有人（正因如此，它多年未打磨发布，因为我们深知受众极其有限）。 它只适用于一些对自己的隐私和设备控制格外关注的熟谙科技的灵魂。 大多数的手机用户只是任他们的设备制造商和应用程序开发人员所把持。 他们不知道他们做了些什么和他们的数据。 多数人更看重便利而非隐私。 这很好。</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  回到页面顶部\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"页脚\" >\n        \n          \n          <a href=\"../versions/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"上一页: PMX 版本\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                上一页\n              </span>\n              <div class=\"md-ellipsis\">\n                PMX 版本\n              </div>\n            </div>\n          </a>\n        \n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u5df2\\u590d\\u5236\", \"clipboard.copy\": \"\\u590d\\u5236\", \"search.result.more.one\": \"\\u5728\\u8be5\\u9875\\u4e0a\\u8fd8\\u6709 1 \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.more.other\": \"\\u5728\\u8be5\\u9875\\u4e0a\\u8fd8\\u6709 # \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.none\": \"\\u6ca1\\u6709\\u627e\\u5230\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.one\": \"\\u627e\\u5230 1 \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.other\": \"# \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.placeholder\": \"\\u952e\\u5165\\u4ee5\\u5f00\\u59cb\\u641c\\u7d22\", \"search.result.term.missing\": \"\\u7f3a\\u5c11\", \"select.version\": \"\\u9009\\u62e9\\u5f53\\u524d\\u7248\\u672c\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/zh/index.html",
    "content": "\n<!doctype html>\n<html lang=\"zh\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"PMX 功能概览及免费版与付费版对比——定时检查、权限监视器、自动撤销、批量操作与高级权限工具。\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/\">\n      \n      \n      \n        <link rel=\"next\" href=\"permission-references/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/de/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/es/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/fr/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/pt-BR/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/ru/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/ar/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"/PermissionManagerX/help/zh/\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>什么是权限管理X？ - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#rate-review\" class=\"md-skip\">\n          跳转至\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"页眉\">\n    <a href=\"./\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              什么是权限管理X？\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"选择当前语言\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/de/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/es/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/fr/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/pt-BR/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/ru/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/ar/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"/PermissionManagerX/help/zh/\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"搜索\" placeholder=\"搜索\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"查找\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"清空当前内容\" aria-label=\"清空当前内容\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            正在初始化搜索引擎\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"导航栏\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"./\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    什么是权限管理X？\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    什么是权限管理X？\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"目录\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      目录\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#rate-review\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        评分/评论/评论/更新/恒星\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    清单权限和 AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限引用\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    用户界面已被解释\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    搜索\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    定期检查\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限监控\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限视图\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    批量操作\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    与 WhatsRunning 整合\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    使用 PMX 与 ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX 版本\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/zh/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    付费功能\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX 常见问题\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    下载\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    屏幕截图\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/zh/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    评分/评论/评论/更新/星星\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    联系我们\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    应用程序\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    应用程序\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限管理 X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRuning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android 常见问题\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android 常见问题\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    常见问题\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB 指南\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB 指南\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    将应用程序与ADB配对/连接\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>什么是权限管理X？</h1>\n\n<p>这是适用于安卓系统的扩展权限管理器应用，它能轻松设置并查看已安装应用所需的权限，同时追踪任何不受欢迎的权限变更。 帮助您更好的控制您的设备，保护您的隐私并节省电量等。</p>\n<p>PMX 将所有分散（或无法获取）的权限相关信息和控制项整合到单一界面，让您能够以全面便捷的方式查看和管理它们。</p>\n<p>使用 PMX ，您可以：</p>\n<ul>\n<li>查看/授予/撤销所有可通过应用设置界面设置或无法设置的manifest 权限。 无法从系统设置中修改的权限由很多</li>\n<li>查看所有通常没有图形界面设置的AppOp 权限。 例如， <code>VIBRATE</code> 以及 <code>READ_CLIPBOARD</code>。 您可以设置所需的 AppOps 模式，例如 <em>忽略</em> 或 <em>前景</em>。</li>\n<li>查看应用程序请求的所有权限，这些权限是 <strong>不可更改</strong> 。</li>\n<li>查看多个 AppOp 权限的最后使用时间。</li>\n<li>更改 <strong>System-fied</strong> 权限，不能通过任何其他方式更改。</li>\n<li>实时监视权限变化或执行计划扫描</li>\n<li>按许多参数排列应用和权限，包括安装日期和权限数量</li>\n<li>在应用及其权限中进行高级搜索查询。</li>\n<li>还有更多的东西。</li>\n</ul>\n<p>另见Github <a href=\"https://mirfatif.github.io/PermissionManagerX\">README</a> 和 <a href=\"https://play.google.com/store/apps/details?id=com.mirfatif.permissionmanagerx\">Play Store</a> 描述。 或只是试试一下。 我们提供免费版本和一个月的免费审判。</p>\n<hr />\n<p><strong>令人惊奇的是？</strong> 让我们来了解细节。</p>\n<ul>\n<li><a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\">显式权限与应用操作</a></li>\n<li><a href=\"permission-references/\">许可参考</a></li>\n<li><a href=\"details/\">用户接口已解释</a></li>\n<li><a href=\"search/\">搜索</a></li>\n<li><a href=\"scheduled-check/\">计划的检查</a></li>\n<li><a href=\"permission-watcher/\">权限监视器</a></li>\n<li><a href=\"permission-view/\">权限视图</a></li>\n<li><a href=\"batch-operations/\">批量操作</a></li>\n<li><a href=\"whatsrunning-integration/\">集成与 WhatsRunning</a></li>\n<li><a href=\"use-with-adb/\">使用 PMX 与 ADB</a></li>\n<li><a href=\"versions/\">PMX 版本</a></li>\n<li><a href=\"/PermissionManagerX/help/versions/#paid-features\">援助功能</a></li>\n<li><a href=\"faqs/\">PMX 常见问题</a></li>\n<li><a href=\"https://mirfatif.github.io/PermissionManagerX\">下载</a></li>\n<li><a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\">截图</a></li>\n<li><a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\">联系我们</a></li>\n</ul>\n<hr />\n<h2 id=\"rate-review\">评分/评论/评论/更新/恒星<a class=\"headerlink\" href=\"#rate-review\" title=\"Permanent link\">&para;</a></h2>\n<ul>\n<li><a href=\"https://play.google.com/store/apps/details?id=com.mirfatif.permissionmanagerx\">Play 商店</a></li>\n<li><a href=\"https://forum.xda-developers.com/t/app-7-0-permission-manager-x-manage-appops-and-manifest-permissions.4187657\">XDA</a></li>\n<li><a href=\"https://github.com/mirfatif/PermissionManagerX\">GitHub</a></li>\n</ul>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  回到页面顶部\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"页脚\" >\n        \n        \n          \n          <a href=\"permission-references/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"下一页: 权限引用\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                下一页\n              </span>\n              <div class=\"md-ellipsis\">\n                权限引用\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u5df2\\u590d\\u5236\", \"clipboard.copy\": \"\\u590d\\u5236\", \"search.result.more.one\": \"\\u5728\\u8be5\\u9875\\u4e0a\\u8fd8\\u6709 1 \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.more.other\": \"\\u5728\\u8be5\\u9875\\u4e0a\\u8fd8\\u6709 # \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.none\": \"\\u6ca1\\u6709\\u627e\\u5230\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.one\": \"\\u627e\\u5230 1 \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.other\": \"# \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.placeholder\": \"\\u952e\\u5165\\u4ee5\\u5f00\\u59cb\\u641c\\u7d22\", \"search.result.term.missing\": \"\\u7f3a\\u5c11\", \"select.version\": \"\\u9009\\u62e9\\u5f53\\u524d\\u7248\\u672c\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/zh/permission-references/index.html",
    "content": "\n<!doctype html>\n<html lang=\"zh\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"在 PMX 中保存、比较和恢复权限参考状态，以便将所需的权限配置备份并跨安装重新应用。\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/permission-references/\">\n      \n      \n        <link rel=\"prev\" href=\"../\">\n      \n      \n        <link rel=\"next\" href=\"../details/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../permission-references/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/permission-references/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/permission-references/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/permission-references/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/permission-references/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/permission-references/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/permission-references/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>权限引用 - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"页眉\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              权限引用\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"选择当前语言\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../permission-references/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/permission-references/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/permission-references/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/permission-references/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/permission-references/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/permission-references/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/permission-references/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"搜索\" placeholder=\"搜索\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"查找\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"清空当前内容\" aria-label=\"清空当前内容\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            正在初始化搜索引擎\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"导航栏\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    什么是权限管理X？\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    清单权限和 AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限引用\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    用户界面已被解释\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    搜索\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    定期检查\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限监控\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限视图\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    批量操作\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    与 WhatsRunning 整合\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    使用 PMX 与 ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX 版本\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/zh/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    付费功能\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX 常见问题\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    下载\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    屏幕截图\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/zh/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    评分/评论/评论/更新/星星\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    联系我们\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    应用程序\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    应用程序\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限管理 X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRuning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android 常见问题\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android 常见问题\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    常见问题\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB 指南\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB 指南\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    将应用程序与ADB配对/连接\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>权限引用</h1>\n\n<p>假定您在 200 + 已安装的应用上花费了一整周日设置需要的权限。 然后：</p>\n<ul>\n<li>下个月您升级了设备，或安装了新的 ROM。</li>\n<li>或者您由于某种原因卸载并重新安装了一些应用</li>\n<li>或者您按照应用请求授予了几个权限</li>\n</ul>\n<p>您还想再设置一遍吗？</p>\n<p>你不需要. 您可以让 PMX 记住您期望的权限状态。 设置权限，让 <font color=\"#90EE90\">GREEN</font>并完成。 只需片刻时间即可查看所有已安装的软件包，并找出权限设置不正确的情况，例如通过快速搜索： <code>:RED|:ORANGE</code> 或 <code>!:GREEN</code>。 更多详细信息请见 <a href=\"../search/\">Search</a>。</p>\n<p>三个<strong>参考状态</strong>:</p>\n<ul>\n<li><font color=\"#FFC107\">ORANGE</font> 状态表示没有设置参考值。</li>\n<li><font color=\"#90EE90\">GREEN</font> 表示参照值符合当前设置的值。</li>\n<li><font color=\"#FF0000\">RED</font> 表示该参考值并设置不同的值。</li>\n</ul>\n<p>参考状态可以<strong>备份</strong> 和 <strong>恢复</strong> 方便。 恢复后，可以方便地根据恢复的引用设置所有权限。 查看<a href=\"../batch-operations/\">批量操作</a>。</p>\n<p>您可以设置一个引用的多种方式：</p>\n<ul>\n<li>长按一个权限并点击\"设置参考\" / \"清除引用\"按钮。</li>\n<li>在每个应用的权限列表屏幕上有一个顶部菜单选项来设置或清除所有引用.</li>\n<li>使用 <a href=\"../batch-operations/\">批量操作</a>批量设置引用。</li>\n<li>在设置 → 常规设置下启用\"自动设置引用\"首选项。 所以当你更改一个权限状态时，它也设置为参考。</li>\n</ul>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  回到页面顶部\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"页脚\" >\n        \n          \n          <a href=\"../\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"上一页: 什么是权限管理X？\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                上一页\n              </span>\n              <div class=\"md-ellipsis\">\n                什么是权限管理X？\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../details/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"下一页: 用户界面已被解释\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                下一页\n              </span>\n              <div class=\"md-ellipsis\">\n                用户界面已被解释\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u5df2\\u590d\\u5236\", \"clipboard.copy\": \"\\u590d\\u5236\", \"search.result.more.one\": \"\\u5728\\u8be5\\u9875\\u4e0a\\u8fd8\\u6709 1 \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.more.other\": \"\\u5728\\u8be5\\u9875\\u4e0a\\u8fd8\\u6709 # \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.none\": \"\\u6ca1\\u6709\\u627e\\u5230\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.one\": \"\\u627e\\u5230 1 \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.other\": \"# \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.placeholder\": \"\\u952e\\u5165\\u4ee5\\u5f00\\u59cb\\u641c\\u7d22\", \"search.result.term.missing\": \"\\u7f3a\\u5c11\", \"select.version\": \"\\u9009\\u62e9\\u5f53\\u524d\\u7248\\u672c\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/zh/permission-view/index.html",
    "content": "\n<!doctype html>\n<html lang=\"zh\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"通过名称和保护级别浏览权限，查看有多少应用使用每个权限，并深入查看每个应用的权限控制，请访问 PMX。\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/permission-view/\">\n      \n      \n        <link rel=\"prev\" href=\"../permission-watcher/\">\n      \n      \n        <link rel=\"next\" href=\"../batch-operations/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../permission-view/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/permission-view/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/permission-view/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/permission-view/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/permission-view/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/permission-view/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/permission-view/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>权限视图 - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"页眉\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              权限视图\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"选择当前语言\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../permission-view/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/permission-view/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/permission-view/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/permission-view/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/permission-view/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/permission-view/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/permission-view/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"搜索\" placeholder=\"搜索\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"查找\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"清空当前内容\" aria-label=\"清空当前内容\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            正在初始化搜索引擎\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"导航栏\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    什么是权限管理X？\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    清单权限和 AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限引用\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    用户界面已被解释\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    搜索\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    定期检查\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限监控\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限视图\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    批量操作\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    与 WhatsRunning 整合\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    使用 PMX 与 ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX 版本\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/zh/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    付费功能\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX 常见问题\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    下载\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    屏幕截图\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/zh/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    评分/评论/评论/更新/星星\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    联系我们\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    应用程序\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    应用程序\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限管理 X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRuning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android 常见问题\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android 常见问题\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    常见问题\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB 指南\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB 指南\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    将应用程序与ADB配对/连接\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>权限视图</h1>\n\n<p>权限视图显示所有权限列表，并计及使用这些权限的应用数量。</p>\n<p><img alt=\"权限视图\" class=\"media\" src=\"../../img/perm_view.webp\" /></p>\n<ol>\n<li>权限名称</li>\n<li>保护级别</li>\n<li>应用数量</li>\n<li>授予的权限计数超出总权限数。 后者可能大于应用数量，因为某些应用可能在<a href=\"../faqs/#faq18\">UID模式</a>下两次使用 AppOp 权限。</li>\n</ol>\n<p>当您选择一个权限时，使用此权限的应用列表显示：</p>\n<p><img alt=\"权限视图\" class=\"media\" src=\"../../img/perm_view2.webp\" /></p>\n<ol>\n<li>权限名称</li>\n<li>权限描述</li>\n<li>标记为授予权限</li>\n<li>应用图标</li>\n<li>应用名称</li>\n<li>包名</li>\n<li>应用 UID</li>\n</ol>\n<p>当您选择一个应用时，<a href=\"../details/#permissions-list\">权限列表</a>打开您可以更改权限状态的地方。</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  回到页面顶部\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"页脚\" >\n        \n          \n          <a href=\"../permission-watcher/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"上一页: 权限监控\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                上一页\n              </span>\n              <div class=\"md-ellipsis\">\n                权限监控\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../batch-operations/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"下一页: 批量操作\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                下一页\n              </span>\n              <div class=\"md-ellipsis\">\n                批量操作\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u5df2\\u590d\\u5236\", \"clipboard.copy\": \"\\u590d\\u5236\", \"search.result.more.one\": \"\\u5728\\u8be5\\u9875\\u4e0a\\u8fd8\\u6709 1 \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.more.other\": \"\\u5728\\u8be5\\u9875\\u4e0a\\u8fd8\\u6709 # \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.none\": \"\\u6ca1\\u6709\\u627e\\u5230\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.one\": \"\\u627e\\u5230 1 \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.other\": \"# \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.placeholder\": \"\\u952e\\u5165\\u4ee5\\u5f00\\u59cb\\u641c\\u7d22\", \"search.result.term.missing\": \"\\u7f3a\\u5c11\", \"select.version\": \"\\u9009\\u62e9\\u5f53\\u524d\\u7248\\u672c\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/zh/permission-watcher/index.html",
    "content": "\n<!doctype html>\n<html lang=\"zh\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"使用 PMX自动监控应用权限变更：获取通知、撤销不需要的变更，或在应用离开前台时自动撤销权限。\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/permission-watcher/\">\n      \n      \n        <link rel=\"prev\" href=\"../scheduled-check/\">\n      \n      \n        <link rel=\"next\" href=\"../permission-view/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../permission-watcher/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/permission-watcher/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/permission-watcher/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/permission-watcher/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/permission-watcher/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/permission-watcher/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/permission-watcher/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>权限监控 - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"页眉\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              权限监控\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"选择当前语言\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../permission-watcher/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/permission-watcher/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/permission-watcher/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/permission-watcher/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/permission-watcher/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/permission-watcher/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/permission-watcher/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"搜索\" placeholder=\"搜索\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"查找\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"清空当前内容\" aria-label=\"清空当前内容\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            正在初始化搜索引擎\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"导航栏\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    什么是权限管理X？\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    清单权限和 AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限引用\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    用户界面已被解释\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    搜索\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    定期检查\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限监控\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限视图\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    批量操作\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    与 WhatsRunning 整合\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    使用 PMX 与 ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX 版本\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/zh/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    付费功能\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX 常见问题\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    下载\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    屏幕截图\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/zh/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    评分/评论/评论/更新/星星\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    联系我们\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    应用程序\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    应用程序\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限管理 X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRuning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android 常见问题\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android 常见问题\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    常见问题\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB 指南\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB 指南\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    将应用程序与ADB配对/连接\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>权限监控</h1>\n\n<p>某些应用未经某种许可就无法正常工作。 而您希望仅在该应用运行时授予相关权限，关闭该应用后移除相关权限</p>\n<p>权限监控可以满足这个需求。 当您退出应用程序，或设定时间结束后，系统会根据您设置的偏好，自动撤销应用程序的权限（manifest 和 AppOp），或提示您执行此操作。</p>\n<p><img alt=\"权限监视器\" class=\"media\" src=\"../../img/perm_watcher.gif\" /></p>\n<p>权限监视器还会通知您设置新安装应用的权限(仅在主用户/个人资料中)</p>\n<p><img alt=\"权限监视器设置\" class=\"media\" src=\"../../img/watcher_settings.webp\" /></p>\n<p>注意：</p>\n<ul>\n<li>只有带有A <font color=\"#FF0000\">RED</font> 参考状态的权限被撤销，而不是带有 <font color=\"#FFC107\">ORANGE</font> 状态的权限。 所以您<strong>MUST</strong> 首先设置参考状态。 参见 <a href=\"../permission-references/\">权限引用</a>。</li>\n<li>Manifest 仅监视具有<em>危险</em><a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">保护级别</a>的权限。 这些是经常会变化的内容。 带有<em>签名</em>或<em>开发</em>保护级别的权限或带有<em>系统-固定</em>旗帜的权限不受监视，尽管它们是可以更改的。</li>\n<li>PMX 仅监控用户安装的应用或常规系统应用，不监控框架应用。 修改这些内容可能导致设备变砖</li>\n<li>在某些设备上，权限监控可能无法可靠地工作于第二用户/个人资料中的应用。 建议将它与计划检查器结合使用。</li>\n</ul>\n<hr />\n<p><strong id=\"perm-watcher-fails\">为什么启动权限监视器失败？</strong></p>\n<p>您是否使用 ADB？ 某些原始设备制造商（OEM）会从<em>Shell</em>软件包中移除权限 <code>OBSERVE_GRANT_REVOKE_PERMISSIONS</code> 或 <code>SET_ACTIVITY_WATCHER</code>。 如果你的情况如此，我们很抱歉。 我们无法修复该问题。 在这些设备上，权限监控只能使用 root 功能。 参见<a href=\"../use-with-adb/#limitations-of-adb\"> ADB的限制</a>。</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  回到页面顶部\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"页脚\" >\n        \n          \n          <a href=\"../scheduled-check/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"上一页: 定期检查\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                上一页\n              </span>\n              <div class=\"md-ellipsis\">\n                定期检查\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../permission-view/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"下一页: 权限视图\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                下一页\n              </span>\n              <div class=\"md-ellipsis\">\n                权限视图\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u5df2\\u590d\\u5236\", \"clipboard.copy\": \"\\u590d\\u5236\", \"search.result.more.one\": \"\\u5728\\u8be5\\u9875\\u4e0a\\u8fd8\\u6709 1 \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.more.other\": \"\\u5728\\u8be5\\u9875\\u4e0a\\u8fd8\\u6709 # \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.none\": \"\\u6ca1\\u6709\\u627e\\u5230\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.one\": \"\\u627e\\u5230 1 \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.other\": \"# \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.placeholder\": \"\\u952e\\u5165\\u4ee5\\u5f00\\u59cb\\u641c\\u7d22\", \"search.result.term.missing\": \"\\u7f3a\\u5c11\", \"select.version\": \"\\u9009\\u62e9\\u5f53\\u524d\\u7248\\u672c\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/zh/scheduled-check/index.html",
    "content": "\n<!doctype html>\n<html lang=\"zh\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"使用 PMX实现定期权限审核自动化。 预定的检查检测到不必要的更改，通知您，并可选择自动吊销风险赠款。\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/scheduled-check/\">\n      \n      \n        <link rel=\"prev\" href=\"../search/\">\n      \n      \n        <link rel=\"next\" href=\"../permission-watcher/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../scheduled-check/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/scheduled-check/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/scheduled-check/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/scheduled-check/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/scheduled-check/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/scheduled-check/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/scheduled-check/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>定期检查 - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"页眉\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              定期检查\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"选择当前语言\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../scheduled-check/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/scheduled-check/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/scheduled-check/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/scheduled-check/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/scheduled-check/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/scheduled-check/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/scheduled-check/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"搜索\" placeholder=\"搜索\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"查找\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"清空当前内容\" aria-label=\"清空当前内容\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            正在初始化搜索引擎\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"导航栏\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    什么是权限管理X？\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    清单权限和 AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限引用\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    用户界面已被解释\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    搜索\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    定期检查\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限监控\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限视图\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    批量操作\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    与 WhatsRunning 整合\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    使用 PMX 与 ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX 版本\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/zh/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    付费功能\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX 常见问题\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    下载\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    屏幕截图\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/zh/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    评分/评论/评论/更新/星星\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    联系我们\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    应用程序\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    应用程序\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限管理 X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRuning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android 常见问题\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android 常见问题\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    常见问题\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB 指南\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB 指南\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    将应用程序与ADB配对/连接\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>定期检查</h1>\n\n<p>您想跟踪所有已安装应用权限所发生的任何不必要的更改吗？ 计划检查 可以为您定期检查(分钟、小时或天)。</p>\n<p>将 <a href=\"../permission-references/\">权限引用</a> 设置为<font color=\"#90EE90\">绿色</font>，其余部分交由 PMX处理。 若发现任何权限被更改（显示<font color=\"#FF0000\">红色</font>状态）或检测到新应用安装（显示<font color=\"#FFC107\">橙色</font>状态权限）， PMX 将提醒您存在需要关注的情况。</p>\n<p>此外，如果在首选项中配置，预定的检查可以自动撤销授予的权限，然后是信息通知。</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  回到页面顶部\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"页脚\" >\n        \n          \n          <a href=\"../search/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"上一页: 搜索\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                上一页\n              </span>\n              <div class=\"md-ellipsis\">\n                搜索\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../permission-watcher/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"下一页: 权限监控\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                下一页\n              </span>\n              <div class=\"md-ellipsis\">\n                权限监控\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u5df2\\u590d\\u5236\", \"clipboard.copy\": \"\\u590d\\u5236\", \"search.result.more.one\": \"\\u5728\\u8be5\\u9875\\u4e0a\\u8fd8\\u6709 1 \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.more.other\": \"\\u5728\\u8be5\\u9875\\u4e0a\\u8fd8\\u6709 # \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.none\": \"\\u6ca1\\u6709\\u627e\\u5230\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.one\": \"\\u627e\\u5230 1 \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.other\": \"# \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.placeholder\": \"\\u952e\\u5165\\u4ee5\\u5f00\\u59cb\\u641c\\u7d22\", \"search.result.term.missing\": \"\\u7f3a\\u5c11\", \"select.version\": \"\\u9009\\u62e9\\u5f53\\u524d\\u7248\\u672c\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/zh/search/index.html",
    "content": "\n<!doctype html>\n<html lang=\"zh\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"强大的 PMX 搜索功能：通过标签、包名或UID查找应用；利用权限名称深度搜索及布尔运算符实现快速权限审计。\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/search/\">\n      \n      \n        <link rel=\"prev\" href=\"../details/\">\n      \n      \n        <link rel=\"next\" href=\"../scheduled-check/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../search/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/search/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/search/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/search/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/search/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/search/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/search/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>搜索 - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"页眉\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              搜索\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"选择当前语言\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../search/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/search/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/search/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/search/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/search/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/search/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/search/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"搜索\" placeholder=\"搜索\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"查找\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"清空当前内容\" aria-label=\"清空当前内容\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            正在初始化搜索引擎\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"导航栏\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    什么是权限管理X？\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    清单权限和 AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限引用\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    用户界面已被解释\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    搜索\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    定期检查\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限监控\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限视图\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    批量操作\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    与 WhatsRunning 整合\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    使用 PMX 与 ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX 版本\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/zh/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    付费功能\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX 常见问题\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    下载\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    屏幕截图\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/zh/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    评分/评论/评论/更新/星星\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    联系我们\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    应用程序\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    应用程序\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限管理 X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRuning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android 常见问题\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android 常见问题\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    常见问题\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB 指南\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB 指南\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    将应用程序与ADB配对/连接\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>搜索</h1>\n\n<p><img alt=\"搜索\" class=\"media\" src=\"../../img/search.webp\" /></p>\n<p>一般在可见列表中搜索包标签、名称和 UID</p>\n<p>通过 <strong>深度搜索</strong>，查询权限名称和其他参数。</p>\n<p>请注意<strong>排除过滤器</strong> 在进行搜索时有效。</p>\n<p>您可以在搜索中使用以下特殊关键字：</p>\n<ul>\n<li>\n<p>应用状态：</p>\n<p><code>:Critical</code> <code>:Framework</code> <code>:System</code> <code>:User</code> <code>:Disabled</code></p>\n</li>\n<li>\n<p>参考状态：</p>\n<p><code>:ORANGE</code> <code>:GREEN</code> <code>:RED</code></p>\n</li>\n<li>\n<p>权限<a href=\"https://developer.android.com/reference/android/R.attr#protectionLevel\">保护级别</a>：</p>\n<p><code>:Normal</code> <code>:Dangerous</code> <code>:Signature</code> <code>:Internal</code> <code>:Development</code> <code>:Privileged</code> <code>:Fixed</code> <code>:AppOps</code> <code>:Unknown</code></p>\n</li>\n<li>\n<p>根据UID AppOps：</p>\n<p><code>:UID</code></p>\n</li>\n<li>\n<p>AppOps 最后访问或拒绝时间：</p>\n<p><code>:TIME</code></p>\n</li>\n<li>\n<p>额外 AppOps （在过滤设置中永不排除）：</p>\n<p><code>:EXTRA</code></p>\n</li>\n<li>\n<p><code>&amp;</code> (AND)、 <code>|</code> (OR) 和 <code>!</code> (NOT) 运算符：</p>\n<p><code>Foo|Bar&amp;Baz</code></p>\n<p><code>Foo&amp;!Bar&amp;!Baz</code></p>\n</li>\n</ul>\n<p>付费版本还会显示搜索建议（如果已设置首选项）优化搜索过程</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  回到页面顶部\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"页脚\" >\n        \n          \n          <a href=\"../details/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"上一页: 用户界面已被解释\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                上一页\n              </span>\n              <div class=\"md-ellipsis\">\n                用户界面已被解释\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../scheduled-check/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"下一页: 定期检查\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                下一页\n              </span>\n              <div class=\"md-ellipsis\">\n                定期检查\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u5df2\\u590d\\u5236\", \"clipboard.copy\": \"\\u590d\\u5236\", \"search.result.more.one\": \"\\u5728\\u8be5\\u9875\\u4e0a\\u8fd8\\u6709 1 \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.more.other\": \"\\u5728\\u8be5\\u9875\\u4e0a\\u8fd8\\u6709 # \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.none\": \"\\u6ca1\\u6709\\u627e\\u5230\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.one\": \"\\u627e\\u5230 1 \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.other\": \"# \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.placeholder\": \"\\u952e\\u5165\\u4ee5\\u5f00\\u59cb\\u641c\\u7d22\", \"search.result.term.missing\": \"\\u7f3a\\u5c11\", \"select.version\": \"\\u9009\\u62e9\\u5f53\\u524d\\u7248\\u672c\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/zh/use-with-adb/index.html",
    "content": "\n<!doctype html>\n<html lang=\"zh\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"在非root安卓设备上设置并使用Permission Manager X配合 ADB ——配对指南、实用 ADB 命令、功能限制及实用技巧。\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/use-with-adb/\">\n      \n      \n        <link rel=\"prev\" href=\"../whatsrunning-integration/\">\n      \n      \n        <link rel=\"next\" href=\"../versions/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../use-with-adb/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/use-with-adb/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/use-with-adb/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/use-with-adb/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/use-with-adb/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/use-with-adb/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/use-with-adb/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>使用 PMX 与 ADB - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#limitations-of-adb\" class=\"md-skip\">\n          跳转至\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"页眉\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              使用 PMX 与 ADB\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"选择当前语言\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../use-with-adb/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/use-with-adb/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/use-with-adb/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/use-with-adb/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/use-with-adb/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/use-with-adb/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/use-with-adb/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"搜索\" placeholder=\"搜索\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"查找\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"清空当前内容\" aria-label=\"清空当前内容\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            正在初始化搜索引擎\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"导航栏\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    什么是权限管理X？\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    清单权限和 AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限引用\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    用户界面已被解释\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    搜索\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    定期检查\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限监控\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限视图\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    批量操作\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    与 WhatsRunning 整合\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    使用 PMX 与 ADB\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    使用 PMX 与 ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"目录\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      目录\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#limitations-of-adb\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        局限性 ADB\n      \n    </span>\n  </a>\n  \n</li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#adb-guide\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        ADB 指南\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX 版本\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/zh/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    付费功能\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX 常见问题\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    下载\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    屏幕截图\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/zh/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    评分/评论/评论/更新/星星\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    联系我们\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    应用程序\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    应用程序\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限管理 X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRuning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android 常见问题\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android 常见问题\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    常见问题\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB 指南\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB 指南\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    将应用程序与ADB配对/连接\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>使用 PMX 与 ADB</h1>\n\n<h2 id=\"limitations-of-adb\">局限性 ADB<a class=\"headerlink\" href=\"#limitations-of-adb\" title=\"Permanent link\">&para;</a></h2>\n<p>ADB 不如root权限强大。 您可以在<strong>关于</strong> → <strong>权限</strong>（菜单项）中查看 ADB 当前支持的功能：</p>\n<p><img alt=\"PMX 特权\" class=\"media\" src=\"../../img/privs.webp\" /></p>\n<p>更多详情请参阅<a href=\"https://mirfatif.github.io/adb-guide/adb-limits/\"> ADB的限制</a>。 另请参阅<a href=\"../faqs/#faq43\">为何 PMX 在 OEM 操作系统或自定义 ROMs上无法正常工作？</a></p>\n<hr />\n<h2 id=\"adb-guide\">ADB 指南<a class=\"headerlink\" href=\"#adb-guide\" title=\"Permanent link\">&para;</a></h2>\n<p>请参阅 <a href=\"https://mirfatif.github.io/adb-guide/\">ADB 配对/连接指南</a>。</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  回到页面顶部\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"页脚\" >\n        \n          \n          <a href=\"../whatsrunning-integration/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"上一页: 与 WhatsRunning 整合\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                上一页\n              </span>\n              <div class=\"md-ellipsis\">\n                与 WhatsRunning 整合\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../versions/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"下一页: PMX 版本\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                下一页\n              </span>\n              <div class=\"md-ellipsis\">\n                PMX 版本\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u5df2\\u590d\\u5236\", \"clipboard.copy\": \"\\u590d\\u5236\", \"search.result.more.one\": \"\\u5728\\u8be5\\u9875\\u4e0a\\u8fd8\\u6709 1 \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.more.other\": \"\\u5728\\u8be5\\u9875\\u4e0a\\u8fd8\\u6709 # \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.none\": \"\\u6ca1\\u6709\\u627e\\u5230\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.one\": \"\\u627e\\u5230 1 \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.other\": \"# \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.placeholder\": \"\\u952e\\u5165\\u4ee5\\u5f00\\u59cb\\u641c\\u7d22\", \"search.result.term.missing\": \"\\u7f3a\\u5c11\", \"select.version\": \"\\u9009\\u62e9\\u5f53\\u524d\\u7248\\u672c\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/zh/versions/index.html",
    "content": "\n<!doctype html>\n<html lang=\"zh\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"比较 PMX 免费版与付费版：付费功能包括定时检查、权限监视器、自动撤销、多用户支持和批量操作。\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/versions/\">\n      \n      \n        <link rel=\"prev\" href=\"../use-with-adb/\">\n      \n      \n        <link rel=\"next\" href=\"../faqs/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../versions/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/versions/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/versions/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/versions/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/versions/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/versions/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/versions/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>PMX 版本 - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"#paid-features\" class=\"md-skip\">\n          跳转至\n        </a>\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"页眉\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              PMX 版本\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"选择当前语言\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../versions/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/versions/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/versions/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/versions/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/versions/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/versions/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/versions/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"搜索\" placeholder=\"搜索\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"查找\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"清空当前内容\" aria-label=\"清空当前内容\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            正在初始化搜索引擎\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"导航栏\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    什么是权限管理X？\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    清单权限和 AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限引用\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    用户界面已被解释\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    搜索\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    定期检查\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限监控\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限视图\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    批量操作\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../whatsrunning-integration/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    与 WhatsRunning 整合\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    使用 PMX 与 ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX 版本\n  \n\n    \n  </span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"></span>\n        </label>\n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX 版本\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"目录\">\n  \n  \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"></span>\n      目录\n    </label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"#paid-features\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        付费功能\n      \n    </span>\n  </a>\n  \n</li>\n      \n    </ul>\n  \n</nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/zh/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    付费功能\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX 常见问题\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    下载\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    屏幕截图\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/zh/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    评分/评论/评论/更新/星星\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    联系我们\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    应用程序\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    应用程序\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限管理 X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRuning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android 常见问题\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android 常见问题\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    常见问题\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB 指南\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB 指南\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    将应用程序与ADB配对/连接\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>PMX 版本</h1>\n\n<p>PMX 提供两种版本：<strong>付费版</strong>和<strong>免费版</strong>。 付费版本有两个变量：<strong>Play Store</strong> 和 <strong>Pro</strong>。 最新的 APK 是在Play商店、GitHub 和 Telegram Channel 发布的。</p>\n<h2 id=\"paid-features\">付费功能<a class=\"headerlink\" href=\"#paid-features\" title=\"Permanent link\">&para;</a></h2>\n<p>付费版本包括免费版本中的所有功能， 外加下面的 额外功能 ，这些功能也可以在Play 商店的描述中查看：</p>\n<ul>\n<li>计划检查以通知无效引用状态</li>\n<li>监视权限更改并撤销这些更改</li>\n<li>自动撤销红色状态的权限</li>\n<li>修改关键应用的权限</li>\n<li>多用户/工作资料支持</li>\n<li>批量操作 (Profiles)</li>\n<li>权限视图</li>\n</ul>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  回到页面顶部\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"页脚\" >\n        \n          \n          <a href=\"../use-with-adb/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"上一页: 使用 PMX 与 ADB\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                上一页\n              </span>\n              <div class=\"md-ellipsis\">\n                使用 PMX 与 ADB\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../faqs/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"下一页: PMX 常见问题\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                下一页\n              </span>\n              <div class=\"md-ellipsis\">\n                PMX 常见问题\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u5df2\\u590d\\u5236\", \"clipboard.copy\": \"\\u590d\\u5236\", \"search.result.more.one\": \"\\u5728\\u8be5\\u9875\\u4e0a\\u8fd8\\u6709 1 \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.more.other\": \"\\u5728\\u8be5\\u9875\\u4e0a\\u8fd8\\u6709 # \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.none\": \"\\u6ca1\\u6709\\u627e\\u5230\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.one\": \"\\u627e\\u5230 1 \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.other\": \"# \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.placeholder\": \"\\u952e\\u5165\\u4ee5\\u5f00\\u59cb\\u641c\\u7d22\", \"search.result.term.missing\": \"\\u7f3a\\u5c11\", \"select.version\": \"\\u9009\\u62e9\\u5f53\\u524d\\u7248\\u672c\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "help/zh/whatsrunning-integration/index.html",
    "content": "\n<!doctype html>\n<html lang=\"zh\" class=\"no-js\">\n  <head>\n    \n      <meta charset=\"utf-8\">\n      <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n      \n        <meta name=\"description\" content=\"PMX 与WhatsRunning集成——在工具间切换，查看是否存在权限受限的应用程序正在运行，并检查其资源使用情况。\">\n      \n      \n        <meta name=\"author\" content=\"Irfan Latif\">\n      \n      \n        <link rel=\"canonical\" href=\"https://mirfatif.github.io/PermissionManagerX/help/zh/whatsrunning-integration/\">\n      \n      \n        <link rel=\"prev\" href=\"../batch-operations/\">\n      \n      \n        <link rel=\"next\" href=\"../use-with-adb/\">\n      \n      \n        \n          <link rel=\"alternate\" href=\"../../whatsrunning-integration/\" hreflang=\"en\">\n        \n          <link rel=\"alternate\" href=\"../../de/whatsrunning-integration/\" hreflang=\"de\">\n        \n          <link rel=\"alternate\" href=\"../../es/whatsrunning-integration/\" hreflang=\"es\">\n        \n          <link rel=\"alternate\" href=\"../../fr/whatsrunning-integration/\" hreflang=\"fr\">\n        \n          <link rel=\"alternate\" href=\"../../pt-BR/whatsrunning-integration/\" hreflang=\"pt-BR\">\n        \n          <link rel=\"alternate\" href=\"../../ru/whatsrunning-integration/\" hreflang=\"ru\">\n        \n          <link rel=\"alternate\" href=\"../../ar/whatsrunning-integration/\" hreflang=\"ar\">\n        \n          <link rel=\"alternate\" href=\"./\" hreflang=\"zh\">\n        \n      \n      \n      <link rel=\"icon\" href=\"../../img/favicon.ico\">\n      <meta name=\"generator\" content=\"mkdocs-1.6.1, mkdocs-material-9.7.0\">\n    \n    \n      \n        <title>与 WhatsRunning 整合 - Permission Manager X</title>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../assets/stylesheets/main.618322db.min.css\">\n      \n        \n        <link rel=\"stylesheet\" href=\"../../assets/stylesheets/palette.ab4e12ef.min.css\">\n      \n      \n\n\n    \n    \n      \n    \n    \n      \n        \n        \n        <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback\">\n        <style>:root{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}</style>\n      \n    \n    \n      <link rel=\"stylesheet\" href=\"../../css/extra.css\">\n    \n    <script>__md_scope=new URL(\"../..\",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+\".\"+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+\".\"+e,JSON.stringify(_))}catch(e){}}</script>\n    \n      \n\n    \n    \n  </head>\n  \n  \n    \n    \n      \n    \n    \n    \n    \n    <body dir=\"ltr\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\">\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"></label>\n    <div data-md-component=\"skip\">\n      \n    </div>\n    <div data-md-component=\"announce\">\n      \n    </div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"页眉\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-header__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"/></svg>\n    </label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            Permission Manager X\n          </span>\n        </div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              与 WhatsRunning 整合\n            \n          </span>\n        </div>\n      </div>\n    </div>\n    \n      \n        <form class=\"md-header__option\" data-md-component=\"palette\">\n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to light mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_0\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to light mode\" for=\"__palette_1\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: light)\" data-md-color-scheme=\"default\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to dark mode\"  type=\"radio\" name=\"__palette\" id=\"__palette_1\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to dark mode\" for=\"__palette_2\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n    \n    \n    \n    <input class=\"md-option\" data-md-color-media=\"(prefers-color-scheme: dark)\" data-md-color-scheme=\"slate\" data-md-color-primary=\"indigo\" data-md-color-accent=\"indigo\"  aria-label=\"Switch to system preference\"  type=\"radio\" name=\"__palette\" id=\"__palette_2\">\n    \n      <label class=\"md-header__button md-icon\" title=\"Switch to system preference\" for=\"__palette_0\" hidden>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z\"/></svg>\n      </label>\n    \n  \n</form>\n      \n    \n    \n      <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n    \n    \n      <div class=\"md-header__option\">\n  <div class=\"md-select\">\n    \n    <button class=\"md-header__button md-icon\" aria-label=\"选择当前语言\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"/></svg>\n    </button>\n    <div class=\"md-select__inner\">\n      <ul class=\"md-select__list\">\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../whatsrunning-integration/\" hreflang=\"en\" class=\"md-select__link\">\n              English\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../de/whatsrunning-integration/\" hreflang=\"de\" class=\"md-select__link\">\n              Deutsch\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../es/whatsrunning-integration/\" hreflang=\"es\" class=\"md-select__link\">\n              español\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../fr/whatsrunning-integration/\" hreflang=\"fr\" class=\"md-select__link\">\n              français\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../pt-BR/whatsrunning-integration/\" hreflang=\"pt-BR\" class=\"md-select__link\">\n              português\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ru/whatsrunning-integration/\" hreflang=\"ru\" class=\"md-select__link\">\n              русский\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"../../ar/whatsrunning-integration/\" hreflang=\"ar\" class=\"md-select__link\">\n              العربية\n            </a>\n          </li>\n        \n          <li class=\"md-select__item\">\n            <a href=\"./\" hreflang=\"zh\" class=\"md-select__link\">\n              中文\n            </a>\n          </li>\n        \n      </ul>\n    </div>\n  </div>\n</div>\n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        </label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"></label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"搜索\" placeholder=\"搜索\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"/></svg>\n        \n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n      </label>\n      <nav class=\"md-search__options\" aria-label=\"查找\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"清空当前内容\" aria-label=\"清空当前内容\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n        </button>\n      </nav>\n      \n    </form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            正在初始化搜索引擎\n          </div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"></ol>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n      \n    \n    \n  </nav>\n  \n</header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n  \n\n<nav class=\"md-nav md-nav--primary md-nav--integrated\" aria-label=\"导航栏\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"../\" title=\"Permission Manager X\" class=\"md-nav__button md-logo\" aria-label=\"Permission Manager X\" data-md-component=\"logo\">\n      \n  <img src=\"../../img/logo.webp\" alt=\"logo\">\n\n    </a>\n    Permission Manager X\n  </label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    什么是权限管理X？\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers/android_appop_manifest_permissions\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    清单权限和 AppOps\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-references/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限引用\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../details/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    用户界面已被解释\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../search/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    搜索\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../scheduled-check/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    定期检查\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-watcher/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限监控\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../permission-view/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限视图\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../batch-operations/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    批量操作\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n      \n      <a href=\"./\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    与 WhatsRunning 整合\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../use-with-adb/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    使用 PMX 与 ADB\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../versions/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX 版本\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/zh/versions/#paid-features\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    付费功能\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"../faqs/\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    PMX 常见问题\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    下载\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#screenshots\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    屏幕截图\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"/PermissionManagerX/help/zh/#rate-review\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    评分/评论/评论/更新/星星\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/PermissionManagerX/#want-to-reach-us\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    联系我们\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_19\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_19\" id=\"__nav_19_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    应用程序\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_19_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_19\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    应用程序\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/PermissionManagerX\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    权限管理 X\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/WhatsRunning\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    WhatsRuning\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Fyrypt\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Fyrypt\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://github.com/mirfatif/Backopier\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Backopier\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_20\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_20\" id=\"__nav_20_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    Android 常见问题\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_20_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_20\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    Android 常见问题\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/IAnswers\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    常见问题\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    \n    \n      \n        \n      \n    \n    \n    \n      \n        \n        \n      \n    \n    \n    <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n      \n        \n        \n          \n        \n        <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_21\" >\n        \n          \n          <label class=\"md-nav__link\" for=\"__nav_21\" id=\"__nav_21_label\" tabindex=\"\">\n            \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    ADB 指南\n  \n\n    \n  </span>\n  \n  \n\n            <span class=\"md-nav__icon md-icon\"></span>\n          </label>\n        \n        <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_21_label\" aria-expanded=\"false\">\n          <label class=\"md-nav__title\" for=\"__nav_21\">\n            <span class=\"md-nav__icon md-icon\"></span>\n            \n  \n    ADB 指南\n  \n\n          </label>\n          <ul class=\"md-nav__list\" data-md-scrollfix>\n            \n              \n                \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https://mirfatif.github.io/adb-guide\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    将应用程序与ADB配对/连接\n  \n\n    \n  </span>\n  \n  \n\n      </a>\n    </li>\n  \n\n              \n            \n          </ul>\n        </nav>\n      \n    </li>\n  \n\n    \n  </ul>\n</nav>\n                  </div>\n                </div>\n              </div>\n            \n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n                \n\n\n\n  \n\n\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n  <h1>与 WhatsRunning 整合</h1>\n\n<p>PMX 已与<a href=\"https://github.com/mirfatif/WhatsRunning\">WhatsRunning</a>集成，因此您可从其中一个程序直接打开另一个。</p>\n<p><img alt=\"WhatsRunning 集成\" class=\"media\" src=\"../../img/wrun_integration1.jpg\" /> <img alt=\"WhatsRunning 集成\" class=\"media\" src=\"../../img/wrun_integration2.webp\" /></p>\n<p>因此，您可以从 PMX 切换到 WhatsRunning，以查看是否仍有权限受限的应用程序在运行。 如果是，它是以何种状态以及它正在使用多少资源。</p>\n<p>同样地，从WhatsRunning界面切换到 PMX ，即可查看正在运行（或已终止）的应用被授予了哪些权限。</p>\n<p>这在分析诸如 <code>RUN_IN_BACKGROUND</code> 之类的权限效果时尤为有用。</p>\n\n\n\n\n\n\n\n  \n  \n\n\n\n\n\n\n                \n              </article>\n            </div>\n          \n          \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n        </div>\n        \n          <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n  \n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z\"/></svg>\n  回到页面顶部\n</button>\n        \n      </main>\n      \n        <footer class=\"md-footer\">\n  \n    \n      \n      <nav class=\"md-footer__inner md-grid\" aria-label=\"页脚\" >\n        \n          \n          <a href=\"../batch-operations/\" class=\"md-footer__link md-footer__link--prev\" aria-label=\"上一页: 批量操作\">\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"/></svg>\n            </div>\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                上一页\n              </span>\n              <div class=\"md-ellipsis\">\n                批量操作\n              </div>\n            </div>\n          </a>\n        \n        \n          \n          <a href=\"../use-with-adb/\" class=\"md-footer__link md-footer__link--next\" aria-label=\"下一页: 使用 PMX 与 ADB\">\n            <div class=\"md-footer__title\">\n              <span class=\"md-footer__direction\">\n                下一页\n              </span>\n              <div class=\"md-ellipsis\">\n                使用 PMX 与 ADB\n              </div>\n            </div>\n            <div class=\"md-footer__button md-icon\">\n              \n              <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z\"/></svg>\n            </div>\n          </a>\n        \n      </nav>\n    \n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n      <div class=\"md-copyright\">\n  \n  \n    Made with\n    <a href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noopener\">\n      Material for MkDocs\n    </a>\n  \n</div>\n      \n        \n<div class=\"md-social\">\n  \n    \n    \n    \n    \n    <a href=\"https://crowdin.com/project/pmx-help\" target=\"_blank\" rel=\"noopener\" title=\"Translation\" class=\"md-social__link\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z\"/></svg>\n    </a>\n  \n</div>\n      \n    </div>\n  </div>\n</footer>\n      \n    </div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"></div>\n    </div>\n    \n      <div class=\"md-progress\" data-md-component=\"progress\" role=\"progressbar\"></div>\n    \n    \n    \n      \n      \n      <script id=\"__config\" type=\"application/json\">{\"annotate\": null, \"base\": \"../..\", \"features\": [\"navigation.instant.progress\", \"navigation.sections\", \"navigation.expand\", \"navigation.path\", \"navigation.indexes\", \"navigation.top\", \"navigation.footer\", \"toc.follow\", \"toc.integrate\"], \"search\": \"../../assets/javascripts/workers/search.7a47a382.min.js\", \"tags\": null, \"translations\": {\"clipboard.copied\": \"\\u5df2\\u590d\\u5236\", \"clipboard.copy\": \"\\u590d\\u5236\", \"search.result.more.one\": \"\\u5728\\u8be5\\u9875\\u4e0a\\u8fd8\\u6709 1 \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.more.other\": \"\\u5728\\u8be5\\u9875\\u4e0a\\u8fd8\\u6709 # \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.none\": \"\\u6ca1\\u6709\\u627e\\u5230\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.one\": \"\\u627e\\u5230 1 \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.other\": \"# \\u4e2a\\u7b26\\u5408\\u6761\\u4ef6\\u7684\\u7ed3\\u679c\", \"search.result.placeholder\": \"\\u952e\\u5165\\u4ee5\\u5f00\\u59cb\\u641c\\u7d22\", \"search.result.term.missing\": \"\\u7f3a\\u5c11\", \"select.version\": \"\\u9009\\u62e9\\u5f53\\u524d\\u7248\\u672c\"}, \"version\": null}</script>\n    \n    \n      <script src=\"../../assets/javascripts/bundle.e71a0d61.min.js\"></script>\n      \n        <script src=\"../../javascript/extra.js\"></script>\n      \n    \n  </body>\n</html>"
  },
  {
    "path": "hidden_apis/.gitignore",
    "content": "/build/\n"
  },
  {
    "path": "hidden_apis/build.gradle.kts",
    "content": "plugins { id(\"android-lib-conventions\") }\n\nandroid { namespace = \"com.mirfatif.hiddenapis\" }\n"
  },
  {
    "path": "hidden_apis/src/main/java/android/app/ActivityManagerNative.java",
    "content": "package android.app;\n\npublic abstract class ActivityManagerNative {\n\n  public static IActivityManager getDefault() {\n    return null;\n  }\n}\n"
  },
  {
    "path": "hidden_apis/src/main/java/android/app/AppOpsManager.java",
    "content": "package android.app;\n\nimport java.util.List;\n\npublic class AppOpsManager {\n\n  public abstract static class PackageOps {\n\n    public abstract List<OpEntry> getOps();\n\n    public abstract String getPackageName();\n  }\n\n  public abstract static class OpEntry {\n\n    public abstract int getOp();\n\n    public abstract int getMode();\n\n    public abstract long getLastAccessTime(int i);\n\n    public abstract long getTime();\n  }\n\n  public static final String[] MODE_NAMES = null;\n\n  public static final int MODE_ALLOWED = 0;\n\n  public static final int MODE_IGNORED = 1;\n\n  public static final int MODE_ERRORED = 2;\n\n  public static final int MODE_DEFAULT = 3;\n\n  public static final int MODE_FOREGROUND = 4;\n\n  public static int getNumOps() {\n    return 0;\n  }\n\n  public static int opToDefaultMode(int i) {\n    return 0;\n  }\n\n  public static int opToDefaultMode(int i, boolean b) {\n    return 0;\n  }\n\n  public static int opToSwitch(int i) {\n    return 0;\n  }\n\n  public static String opToName(int i) {\n    return null;\n  }\n\n  public static String modeToName(int i) {\n    return null;\n  }\n\n  public static int permissionToOpCode(String s) {\n    return 0;\n  }\n\n  public static int strDebugOpToOp(String s) {\n    return 0;\n  }\n}\n"
  },
  {
    "path": "hidden_apis/src/main/java/android/app/IActivityManager.java",
    "content": "package android.app;\n\nimport android.content.ComponentName;\nimport android.content.Intent;\nimport android.os.Bundle;\nimport android.os.IBinder;\n\npublic interface IActivityManager {\n\n  int startActivityAsUser(\n      IApplicationThread o1,\n      String o2,\n      Intent o3,\n      String o4,\n      IBinder o5,\n      String o6,\n      int i1,\n      int i2,\n      ProfilerInfo o7,\n      Bundle o8,\n      int i3);\n\n  ComponentName startService(\n      IApplicationThread o1, Intent o2, String o3, boolean b, String o4, String o5, int i);\n\n  ComponentName startService(\n      IApplicationThread o1, Intent o2, String o3, boolean b, String o4, int i);\n\n  ComponentName startService(IApplicationThread o1, Intent o2, String o3, String o4, int i);\n\n  int checkPermission(String s, int i1, int i2);\n\n  abstract class Stub {\n\n    public static IActivityManager asInterface(IBinder o) {\n      return null;\n    }\n  }\n}\n\nclass IApplicationThread {}\n\nclass ProfilerInfo {}\n"
  },
  {
    "path": "hidden_apis/src/main/java/android/content/Context.java",
    "content": "package android.content;\n\npublic class Context {\n\n  public static final String DEVICE_IDLE_CONTROLLER = null;\n\n  public static final String ACTIVITY_SERVICE = \"activity\";\n\n  public static final String APP_OPS_SERVICE = \"appops\";\n\n  public static final int DEVICE_ID_DEFAULT = 0;\n}\n"
  },
  {
    "path": "hidden_apis/src/main/java/android/content/pm/IPackageManager.java",
    "content": "package android.content.pm;\n\nimport android.os.IBinder;\n\npublic interface IPackageManager {\n\n  ParceledListSlice<?> getAllPermissionGroups(int i);\n\n  ParceledListSlice<?> queryPermissionsByGroup(String s, int i);\n\n  int getPermissionFlags(String s1, String s2, int i);\n\n  void grantRuntimePermission(String s1, String s2, int i);\n\n  void revokeRuntimePermission(String s1, String s2, int i);\n\n  void setApplicationEnabledSetting(String s1, int i1, int i2, int i3, String s2);\n\n  String[] getPackagesForUid(int i);\n\n  abstract class Stub {\n\n    public static IPackageManager asInterface(IBinder o) {\n      return null;\n    }\n  }\n}\n"
  },
  {
    "path": "hidden_apis/src/main/java/android/content/pm/ParceledListSlice.java",
    "content": "package android.content.pm;\n\nimport java.util.List;\n\npublic abstract class ParceledListSlice<T> {\n\n  public abstract List<T> getList();\n}\n"
  },
  {
    "path": "hidden_apis/src/main/java/android/os/IDeviceIdleController.java",
    "content": "package android.os;\n\npublic interface IDeviceIdleController {\n\n  void addPowerSaveWhitelistApp(String s);\n\n  abstract class Stub {\n\n    public static IDeviceIdleController asInterface(IBinder o) {\n      return null;\n    }\n  }\n}\n"
  },
  {
    "path": "hidden_apis/src/main/java/android/os/Process.java",
    "content": "package android.os;\n\npublic class Process {\n\n  public static int[] getPidsForCommands(String[] o) {\n    return null;\n  }\n\n  public static int myPid() {\n    return 0;\n  }\n}\n"
  },
  {
    "path": "hidden_apis/src/main/java/android/os/ServiceManager.java",
    "content": "package android.os;\n\npublic class ServiceManager {\n\n  public static IBinder getService(String s) {\n    return null;\n  }\n}\n"
  },
  {
    "path": "hidden_apis/src/main/java/android/permission/IPermissionManager.java",
    "content": "package android.permission;\n\nimport android.content.pm.ParceledListSlice;\nimport android.os.IBinder;\n\npublic interface IPermissionManager {\n\n  ParceledListSlice<?> getAllPermissionGroups(int i);\n\n  ParceledListSlice<?> queryPermissionsByGroup(String s, int i);\n\n  int getPermissionFlags(String s1, String s2, int i);\n\n  int getPermissionFlags(String s1, String s2, int i1, int i2);\n\n  int getPermissionFlags(String s1, String s2, String s3, int i2);\n\n  void grantRuntimePermission(String s1, String s2, int i);\n\n  void grantRuntimePermission(String s1, String s2, int i1, int i2);\n\n  void grantRuntimePermission(String s1, String s2, String s3, int i2);\n\n  void revokeRuntimePermission(String s1, String s2, int i, String s3);\n\n  void revokeRuntimePermission(String s1, String s2, int i1, int i2, String s3);\n\n  void revokeRuntimePermission(String s1, String s2, String s3, int i2, String s4);\n\n  abstract class Stub {\n\n    public static IPermissionManager asInterface(IBinder o) {\n      return null;\n    }\n  }\n}\n"
  },
  {
    "path": "hidden_apis/src/main/java/com/android/internal/app/IAppOpsService.java",
    "content": "package com.android.internal.app;\n\nimport android.app.AppOpsManager.PackageOps;\nimport android.os.IBinder;\nimport java.util.List;\n\npublic interface IAppOpsService {\n\n  void setMode(int i1, int i2, String s, int i3);\n\n  void setUidMode(int i1, int i2, int i3);\n\n  void resetAllModes(int i, String s);\n\n  List<PackageOps> getUidOps(int i, int[] o);\n\n  List<PackageOps> getOpsForPackage(int i, String s, int[] o);\n\n  abstract class Stub {\n\n    public static IAppOpsService asInterface(IBinder o) {\n      return null;\n    }\n  }\n}\n"
  },
  {
    "path": "native/build_native.sh",
    "content": "#!/bin/sh -e\n\n[ -n \"$ANDROID_NDK\" ]\nBIN=\"$ANDROID_NDK\"/toolchains/llvm/prebuilt/linux-x86_64/bin\n\n[ \"$1\" = '-f' ] && FORCE=true || FORCE=false\n\ncd \"$(dirname \"$0\")\"\n\n[ \"$SRC_FILE\" ] || SRC_FILE=\"pmxe.c\"\nSRC_FILES=\"$SRC_FILES $SRC_FILE\"\n[ \"$OUT_DIR\" ] || OUT_DIR='../app/src/main/jniLibs'\nARM_PMXE_LIB=\"$OUT_DIR/armeabi-v7a/libpmxe.so\"\nARM64_PMXE_LIB=\"$OUT_DIR/arm64-v8a/libpmxe.so\"\nX86_PMXE_LIB=\"$OUT_DIR/x86/libpmxe.so\"\nX64_PMXE_LIB=\"$OUT_DIR/x86_64/libpmxe.so\"\n\nLIBCAP_DIR='libcap/libcap'\nCAP_NAMES_H='cap_names.h'\nLIBCAP_CFLAGS=\"-D _LARGEFILE64_SOURCE -D _FILE_OFFSET_BITS=64 -D linux -I $LIBCAP_DIR/include\"\nfor file in cap_alloc.c cap_proc.c cap_flag.c cap_text.c; do\n\tLIBCAP_SRC_FILES=\"$LIBCAP_SRC_FILES $LIBCAP_DIR/$file\"\ndone\n\nPMXD_FILE='pmxd.c'\nARM_PMXD_LIB='../app/src/main/jniLibs/armeabi-v7a/libpmxd.so'\nARM64_PMXD_LIB='../app/src/main/jniLibs/arm64-v8a/libpmxd.so'\nX86_PMXD_LIB='../app/src/main/jniLibs/x86/libpmxd.so'\nX64_PMXD_LIB='../app/src/main/jniLibs/x86_64/libpmxd.so'\n\nAPI=24\n\nARM_TARGET=armv7a-linux-androideabi\nARM64_TARGET=aarch64-linux-android\nX86_TARGET=i686-linux-android\nX64_TARGET=x86_64-linux-android\n\nARM_CC=\"$BIN/${ARM_TARGET}${API}-clang\"\nARM64_CC=\"$BIN/${ARM64_TARGET}${API}-clang\"\nX86_CC=\"$BIN/${X86_TARGET}${API}-clang\"\nX64_CC=\"$BIN/${X64_TARGET}${API}-clang\"\n\nSTRIP=\"$BIN/llvm-strip\"\n\n#VERBOSE='-v'; MAKE_DEBUG='--debug=b'\n\nup_to_date() {\n\t! $FORCE || return 1\n\n\tOUT_FILE=$1\n\t[ -f \"$OUT_FILE\" ] || return 1\n\n\tfor file in $SRC_FILES; do\n\t\t[ \"$OUT_FILE\" -nt \"$file\" ] || return 1\n\tdone\n}\n\ntrap 'cd \"$LIBCAP_DIR\"; [ ! -f \"$CAP_NAMES_H\" ] || make $MAKE_DEBUG clean' EXIT\n\nbuild_libcap_names_h() (\n\tcd \"$LIBCAP_DIR\"\n\t[ ! -f \"$CAP_NAMES_H\" ] || return 0\n\tset -x\n\tmake $MAKE_DEBUG $CAP_NAMES_H\n)\n\nbuild_pmx_bin() (\n\tCC=$1\n\tOUT_FILE=$2\n\n\t! up_to_date \"$OUT_FILE\" || return 0\n\n\tmkdir -p \"$(dirname \"$OUT_FILE\")\"\n\n\tbuild_libcap_names_h\n\n\tset -x\n\n\t$CC $VERBOSE -pie -o $OUT_FILE \\\n\t\t-Oz -Wl,--gc-sections -ffunction-sections -fdata-sections -Wl,-x -Wl,-X \\\n\t\t-fno-exceptions -fno-rtti -Wl,-z,norelro -Wl,--hash-style=gnu -D ANDROID -Wall \\\n\t\t$CFLAGS $LIBCAP_CFLAGS $SRC_FILE $LIBCAP_SRC_FILES -llog\n\n\t$STRIP $OUT_FILE \\\n\t\t-s -S --strip-unneeded -R=.eh_frame -R=.eh_frame_ptr -R .note.android.ident -R .comment \\\n\t\t-R .note -R .note.gnu.gold-version -R .note.gnu.build-id -R .note.gnu.property -R .note.ABI-tag\n)\n\nbuild_pmx_lib() (\n\tCC=$1\n\tSRC_FILE=$2\n\tOUT_FILE=$3\n\n\t$FORCE || [ ! -f $OUT_FILE ] || [ $SRC_FILE -nt $OUT_FILE ] || return 0\n\n\tmkdir -p \"$(dirname $OUT_FILE)\"\n\n\tset -x\n\n\t$CC -o $OUT_FILE $CC_OPTS -shared -fvisibility=hidden $SRC_FILE -llog\n\n\t$STRIP $OUT_FILE $STRIP_OPTS\n)\n\nbuild_pmx_bin \"$ARM_CC\" \"$ARM_PMXE_LIB\"\nbuild_pmx_bin \"$ARM64_CC\" \"$ARM64_PMXE_LIB\"\nbuild_pmx_bin \"$X86_CC\" \"$X86_PMXE_LIB\"\nbuild_pmx_bin \"$X64_CC\" \"$X64_PMXE_LIB\"\n\nbuild_pmx_lib \"$ARM_CC\" \"$PMXD_FILE\" \"$ARM_PMXD_LIB\"\nbuild_pmx_lib \"$ARM64_CC\" \"$PMXD_FILE\" \"$ARM64_PMXD_LIB\"\nbuild_pmx_lib \"$X86_CC\" \"$PMXD_FILE\" \"$X86_PMXD_LIB\"\nbuild_pmx_lib \"$X64_CC\" \"$PMXD_FILE\" \"$X64_PMXD_LIB\"\n"
  },
  {
    "path": "native/pmxd.c",
    "content": "#include <stdbool.h>\n#include <errno.h>\n\n// close(), dup2(), STDERR_FILENO\n#include <unistd.h>\n\n// open()\n#include <fcntl.h>\n\n// snprintf()\n#include <stdlib.h>\n\n// strlen(), strerror()\n#include <string.h>\n\n// inet_addr(), htons(), connect(), setsockopt()\n#include <arpa/inet.h>\n\n// TCP_NODELAY\n#include <netinet/tcp.h>\n\n// For regex matching\n#include <regex.h>\n\n// Android logging\n#include <android/log.h>\n\n#include <jni.h>\n\n////////////////////////////////////////////////////////////////////////////\n\n#define JNI_TAG \"JNI\"\n\nstatic int log_android_err(bool print_code, const char *tag, char *format, ...)\n{\n    char t[strlen(JNI_TAG) + strlen(tag) + 5];\n    snprintf(t, sizeof(t), \"%s: %s()\", JNI_TAG, tag);\n\n    va_list args;\n    va_start(args, format);\n\n    if (print_code)\n    {\n        char args_[256];\n        vsnprintf(args_, sizeof(args_), format, args);\n        __android_log_print(ANDROID_LOG_ERROR, t, \"%s: %s\", args_, strerror(errno));\n    }\n    else\n        __android_log_vprint(ANDROID_LOG_ERROR, t, format, args);\n\n    va_end(args);\n\n    return 1;\n}\n\n////////////////////////////////////////////////////////////////////////////\n\n#define LOCAL_HOST \"127.0.0.1\"\n\nstatic bool send_stderr(int port)\n{\n    const char *tag = \"send_stderr\";\n    struct sockaddr_in addr;\n\n    int sock_fd = socket(AF_INET, SOCK_STREAM, 0);\n    if (sock_fd == -1)\n    {\n        log_android_err(true, tag, \"Failed to create socket\");\n        return false;\n    }\n\n    int opt = 1;\n    if (setsockopt(sock_fd, IPPROTO_TCP, TCP_NODELAY, &opt, sizeof(opt)))\n        log_android_err(true, tag, \"Failed to set socket option TCP_NODELAY\");\n\n    addr.sin_family = AF_INET;\n    addr.sin_port = htons(port);\n    addr.sin_addr.s_addr = inet_addr(LOCAL_HOST);\n\n    int err = 0;\n    if (connect(sock_fd, (struct sockaddr *)&addr, sizeof(addr)) == -1)\n        err = log_android_err(true, tag, \"Failed to connect to socket\");\n    else if (dup2(sock_fd, STDERR_FILENO) == -1)\n        err = log_android_err(true, tag, \"Failed to redirect stderr to socket\");\n\n    close(sock_fd);\n\n    return err == 0;\n}\n\nJNIEXPORT jboolean JNICALL Java_com_mirfatif_privdaemon_Jni_sendStdErr(JNIEnv *env, jobject obj, int port)\n{\n    return send_stderr(port);\n}\n\nstatic bool close_stderr()\n{\n    int fd = open(\"/dev/null\", O_WRONLY);\n\n    if (fd < 0)\n        return log_android_err(true, \"close_stderr\", \"Failed to open /dev/null\") == 0;\n\n    int err = 0;\n    if (dup2(fd, STDERR_FILENO) == -1)\n        err = log_android_err(true, \"close_stderr\", \"Failed to redirect stderr to /dev/null\");\n\n    close(fd);\n    return err == 0;\n}\n\nJNIEXPORT jboolean JNICALL Java_com_mirfatif_privdaemon_Jni_closeStdErr(JNIEnv *env, jobject obj)\n{\n    return close_stderr();\n}\n\n////////////////////////////////////////////////////////////////////////////\n\nstatic bool matches(const char *str, const char *reg, const char *tag)\n{\n    regex_t regex;\n\n    int err = regcomp(&regex, reg, REG_EXTENDED | REG_NOSUB | REG_NEWLINE);\n    if (err)\n    {\n        char errbuf[256];\n        errbuf[0] = '0';\n        regerror(err, &regex, errbuf, sizeof(errbuf));\n        log_android_err(false, tag, \"matches(): Failed to compile regex for '%s': %s (%d)\", reg, errbuf, err);\n        return false;\n    }\n\n    bool res = regexec(&regex, str, 0, NULL, 0) == 0;\n    regfree(&regex);\n    return res;\n}\n\nJNIEXPORT jboolean JNICALL Java_com_mirfatif_privdaemon_Jni_matches(JNIEnv *env, jobject obj, jstring string, jstring regex, jstring log_tag)\n{\n    const char *str = (*env)->GetStringUTFChars(env, string, NULL);\n    const char *reg = (*env)->GetStringUTFChars(env, regex, NULL);\n    const char *tag = (*env)->GetStringUTFChars(env, log_tag, NULL);\n\n    if (!str || !reg || !tag)\n    {\n        log_android_err(false, \"matches\", \"Bad parameters: string: %s, regex: %s, tag: %s\", str, reg, tag);\n        return false;\n    }\n\n    bool res = matches(str, reg, tag);\n\n    (*env)->ReleaseStringUTFChars(env, string, str);\n    (*env)->ReleaseStringUTFChars(env, regex, reg);\n    (*env)->ReleaseStringUTFChars(env, log_tag, tag);\n\n    return res;\n}\n"
  },
  {
    "path": "native/pmxe.c",
    "content": "#ifndef _GNU_SOURCE\n#define _GNU_SOURCE\n#endif\n\n#include <android/log.h>\n#include <arpa/inet.h>\n#include <ctype.h>\n#include <dirent.h>\n#include <errno.h>\n#include <libgen.h>\n#include <linux/securebits.h>\n#include <netinet/tcp.h>\n#include <sched.h>\n#include <stdbool.h>\n#include <stdlib.h>\n#include <string.h>\n#include <sys/capability.h>\n#include <sys/file.h>\n#include <sys/prctl.h>\n#include <sys/stat.h>\n#include <sys/wait.h>\n#include <sys/xattr.h>\n#include <unistd.h>\n\nstatic char *MY_NAME = \"pmx\";\n\nstatic int log_android_info(char *format, ...)\n{\n    va_list args;\n    va_start(args, format);\n    __android_log_vprint(ANDROID_LOG_INFO, MY_NAME, format, args);\n    va_end(args);\n    return 0;\n}\n\nstatic void log_android_err(char *format, va_list args, bool print_code)\n{\n    if (print_code)\n    {\n        char args_[256];\n        vsnprintf(args_, sizeof(args_), format, args);\n        __android_log_print(ANDROID_LOG_ERROR, MY_NAME, \"%s: %s\", args_, strerror(errno));\n    }\n    else\n        __android_log_vprint(ANDROID_LOG_ERROR, MY_NAME, format, args);\n}\n\nstatic int print_err(char *format, ...)\n{\n    fprintf(stderr, \"%d %s: \", getpid(), MY_NAME);\n\n    va_list args;\n    va_start(args, format);\n    vfprintf(stderr, format, args);\n    log_android_err(format, args, false);\n    va_end(args);\n\n    fprintf(stderr, \"\\n\");\n    fflush(NULL);\n    return 1;\n}\n\nstatic int print_err_code(char *format, ...)\n{\n    fprintf(stderr, \"%d %s: \", getpid(), MY_NAME);\n\n    va_list args;\n    va_start(args, format);\n    vfprintf(stderr, format, args);\n    log_android_err(format, args, true);\n    va_end(args);\n\n    fprintf(stderr, \": %s\\n\", strerror(errno));\n    fflush(NULL);\n    return 1;\n}\n\nstatic void print_out(char *format, ...)\n{\n    va_list args;\n    va_start(args, format);\n    vfprintf(stdout, format, args);\n    va_end(args);\n    fprintf(stdout, \"\\n\");\n    fflush(NULL);\n}\n\nstatic bool is_number(char *num, char *type)\n{\n    int len = strlen(num);\n    if (!len)\n        return false;\n\n    for (int i = 0; i < len; i++)\n    {\n        if (!isdigit(num[i]))\n            return print_err(\"Invalid %s: %s\", type, num) == 0;\n    }\n\n    return true;\n}\n\nstatic int close_std_fd(int std_fd, int rw_flags)\n{\n    int fd = open(\"/dev/null\", rw_flags);\n\n    if (fd < 0)\n        return print_err_code(\"Failed to open /dev/null\");\n\n    int err = 0;\n    if (dup2(fd, std_fd) == -1)\n        err = print_err_code(\"Failed to redirect %d to /dev/null\", std_fd);\n\n    close(fd);\n    return err;\n}\n\nstatic int set_namespace(char *pid)\n{\n    char path[25];\n    snprintf(path, sizeof(path), \"/proc/%s/ns/mnt\", pid);\n    int fd = open(path, O_RDONLY);\n\n    int err = 0;\n    if (fd < 0)\n        return print_err_code(\"Failed to read %s\", path);\n    else if (setns(fd, 0))\n        err = print_err_code(\"Failed to switch namespaces\");\n\n    close(fd);\n\n    return err;\n}\n\nstatic int set_cgroups()\n{\n    FILE *file = fopen(\"/proc/self/mountinfo\", \"r\");\n    if (!file)\n        return print_err(\"Failed to open /proc/self/mountinfo\");\n\n    int err = 0;\n\n    char line[1024], path[1024];\n\n    while (fgets(line, sizeof(line), file))\n    {\n        int col = 1, offset = -1;\n        for (int i = 0; i < strlen(line); i++)\n        {\n            if (line[i] == ' ')\n            {\n                col++;\n                if (col == 5 || col == 9)\n                    offset = i + 1;\n                continue;\n            }\n\n            if (offset != -1 && col == 6)\n            {\n                size_t size = i - 1 - offset;\n                strncpy(path, line + offset, size);\n                strcpy(path + size, \"/cgroup.procs\");\n                offset = -1;\n            }\n            else if (offset != -1 && col == 10)\n            {\n                if (strncmp(\"cgroup\", line + offset, 6) && strncmp(\"cgroup2\", line + offset, 7))\n                    break;\n                FILE *procs_file = fopen(path, \"r+\");\n                if (!procs_file)\n                    err = print_err(\"Failed to open %s\", path);\n                else\n                {\n                    if (fprintf(procs_file, \"%d\", getpid()) < 0)\n                        err = print_err(\"Failed to add myself to %s\", path);\n                    fclose(procs_file);\n                }\n                break;\n            }\n        }\n    }\n\n    fclose(file);\n\n    return err;\n}\n\nstatic int get_last_cap()\n{\n    int last_cap = CAP_LAST_CAP;\n    int fd = open(\"/proc/sys/kernel/cap_last_cap\", O_RDONLY);\n    if (fd < 0)\n        print_err_code(\"Failed to open cap_last_cap\");\n    else\n    {\n        char buf[8];\n        int num = read(fd, buf, sizeof(buf));\n        if (num <= 0)\n            print_err_code(\"Failed to read cap_last_cap\");\n        else\n        {\n            num = strtoul(buf, NULL, 10);\n            if (num <= 0 || num > CAP_LAST_CAP)\n                print_err(\"Failed to parse cap_last_cap\");\n            else\n                last_cap = num;\n        }\n        close(fd);\n    }\n    return last_cap;\n}\n\nstatic cap_t get_caps()\n{\n    cap_t caps = cap_get_proc();\n    if (caps)\n        return caps;\n\n    print_err_code(\"Failed to interpret capabilities\");\n    return NULL;\n}\n\nstatic bool has_cap(cap_t caps, const cap_value_t cap, cap_flag_t type)\n{\n    const cap_value_t cap_arr[1] = {cap};\n    cap_flag_value_t val;\n    return !cap_get_flag(caps, *cap_arr, type, &val) && val == CAP_SET;\n}\n\nstatic bool has_eff_cap(const cap_value_t cap)\n{\n    cap_t caps = get_caps();\n    if (!caps)\n        return false;\n\n    bool res = has_cap(caps, cap, CAP_EFFECTIVE);\n    cap_free(caps);\n    return res;\n}\n\nstatic void print_missing_caps(cap_flag_t type)\n{\n    char *type_name = \"Effective\";\n    if (type == CAP_PERMITTED)\n        type_name = \"Permitted\";\n    else if (type == CAP_INHERITABLE)\n        type_name = \"Inheritable\";\n\n    cap_t caps = get_caps();\n    if (!caps)\n        return;\n\n    int last_cap = get_last_cap();\n    fprintf(stderr, \"%s: Missing %s caps:\", MY_NAME, type_name);\n    for (int i = 0; i <= last_cap; i++)\n    {\n        if (!has_cap(caps, i, type))\n            fprintf(stderr, \" %s(%d)\", cap_to_name(i), i);\n    }\n    print_err(\"\");\n    cap_free(caps);\n}\n\nstatic bool raise_cap(cap_value_t cap)\n{\n    cap_t caps = get_caps();\n    if (!caps)\n        return false;\n\n    const cap_value_t cap_arr[1] = {cap};\n    cap_set_flag(caps, CAP_EFFECTIVE, 1, cap_arr, CAP_SET);\n\n    bool res = true;\n    if (cap_set_proc(caps))\n        res = false;\n\n    cap_free(caps);\n    return res;\n}\n\nstatic int raise_setuid_cap()\n{\n    if (!raise_cap(CAP_SETUID))\n        return print_err_code(\"Failed to raise SETUID capability\");\n    return 0;\n}\n\nstatic int raise_setgid_cap()\n{\n    if (!raise_cap(CAP_SETGID))\n        return print_err_code(\"Failed to raise SETGID capability\");\n    return 0;\n}\n\nstatic int raise_eff_caps()\n{\n    cap_t caps = get_caps();\n    if (!caps)\n        return 1;\n\n    int err = 0;\n\n    bool caps_missing = false;\n    int last_cap = get_last_cap();\n    for (int i = 0; i <= last_cap; i++)\n    {\n        const cap_value_t cap_arr[1] = {i};\n        if (has_cap(caps, i, CAP_PERMITTED))\n            cap_set_flag(caps, CAP_EFFECTIVE, 1, cap_arr, CAP_SET);\n        else\n            caps_missing = true;\n    }\n    if (cap_set_proc(caps))\n    {\n        err = print_err_code(\"Failed to raise capabilities\");\n        caps_missing = true;\n    }\n\n    if (caps_missing)\n        print_missing_caps(CAP_EFFECTIVE);\n\n    cap_free(caps);\n\n    return err;\n}\n\nstatic int raise_amb_caps()\n{\n    if (!CAP_AMBIENT_SUPPORTED())\n        return print_err(\"Ambient caps not supported\");\n\n    cap_t caps = get_caps();\n    if (!caps)\n        return 1;\n\n    int last_cap = get_last_cap();\n\n    for (int i = 0; i <= last_cap; i++)\n    {\n        const cap_value_t cap_arr[1] = {i};\n        if (has_cap(caps, i, CAP_PERMITTED) && cap_get_bound(i) == CAP_SET)\n            cap_set_flag(caps, CAP_INHERITABLE, 1, cap_arr, CAP_SET);\n    }\n\n    int err = 0;\n\n    if (cap_set_proc(caps))\n        err = print_err_code(\"Failed to raise inheritable capabilities\");\n\n    cap_free(caps);\n\n    caps = get_caps();\n    if (!caps)\n        return 1;\n\n    for (int i = 0; i <= last_cap; i++)\n    {\n        if (!has_cap(caps, i, CAP_PERMITTED) || !has_cap(caps, i, CAP_INHERITABLE))\n            continue;\n\n        if (cap_set_ambient(i, CAP_SET))\n            err = print_err_code(\"Failed to raise ambient capability: %s\", cap_to_name(i));\n    }\n\n    cap_free(caps);\n    return err;\n}\n\nstatic int lock_caps()\n{\n    if (prctl(PR_SET_SECUREBITS, SECBIT_NO_SETUID_FIXUP, 0, 0, 0))\n        return print_err_code(\"Failed to set no_setuid_fixup security bit\");\n    return 0;\n}\n\nstatic int set_uid(uid_t uid)\n{\n    int err = raise_setuid_cap();\n\n    if (setresuid(uid, uid, uid))\n        return print_err_code(\"Failed to set uid\");\n\n    return err;\n}\n\nstatic int set_gid(gid_t gid)\n{\n    int err = raise_setgid_cap();\n\n    if (setresgid(gid, gid, gid))\n        return print_err_code(\"Failed to set gid\", true);\n\n    if (setgroups(0, 0))\n        return print_err_code(\"Failed to clear groups\", true);\n\n    return err;\n}\n\nstatic int set_groups(char *groups)\n{\n    int err = raise_setgid_cap();\n\n    char groups_cpy[strlen(groups) + 1];\n    strcpy(groups_cpy, groups);\n\n    int size = 1;\n    char *token = strtok(groups, \",\");\n    while ((token = strtok(0, \",\")))\n        size++;\n\n    token = strtok(groups_cpy, \",\");\n    gid_t gids[size];\n    for (int i = 0; i < size; i++)\n    {\n        if (!is_number(token, \"gid\"))\n            return 1;\n        gids[i] = strtol(token, NULL, 10);\n        token = strtok(0, \",\");\n    }\n\n    if (setgroups(size, gids))\n        return print_err_code(\"Failed to set groups\");\n\n    return err;\n}\n\nstatic int set_context(char *context)\n{\n    int fd = open(\"/proc/self/attr/current\", O_WRONLY);\n\n    int err = 0;\n    if (fd < 0)\n        return print_err_code(\"Failed to open /proc/self/attr/current\");\n\n    if (flock(fd, LOCK_EX))\n        err = print_err_code(\"Failed to get flock on /proc/self/attr/current\");\n\n    else if (write(fd, context, strlen(context)) == -1)\n        err = print_err_code(\"Failed to switch context\");\n\n    close(fd);\n    return err;\n}\n\nstatic int set_privs(char *ns_pid, bool cgroups, int gid, char *groups, bool retain_caps, int uid, char *context)\n{\n    int err = 0;\n    if (ns_pid && set_namespace(ns_pid))\n        err = 1;\n\n    if (cgroups && set_cgroups())\n        err = 1;\n\n    if (gid != -1 && set_gid(gid))\n        err = 1;\n\n    if (groups && set_groups(groups))\n        err = 1;\n\n    if (retain_caps)\n        if (raise_eff_caps() || raise_amb_caps() || lock_caps())\n            err = 1;\n\n    if (uid != -1 && set_uid(uid))\n        err = 1;\n\n    if (context && set_context(context))\n        err = 1;\n\n    return err;\n}\n\nstatic int exec_it(char **argv)\n{\n    char *exe = argv[0];\n    bool exists = access(exe, F_OK) != -1;\n    if (!exists)\n    {\n        char *path = getenv(\"PATH\");\n        char path_cpy[strlen(path) + 1];\n        strcpy(path_cpy, path);\n        char *path_dir = strtok(path_cpy, \":\");\n        while (path_dir)\n        {\n            char file[strlen(path_dir) + strlen(exe) + 2];\n            snprintf(file, sizeof(file), \"%s/%s\", path_dir, exe);\n            if (access(file, F_OK) != -1)\n            {\n                exists = true;\n                break;\n            }\n            path_dir = strtok(0, \":\");\n        }\n    }\n\n    if (!exists)\n        return print_err(\"Failed to execute %s: No such file\", exe);\n\n    execvp(exe, argv);\n    return print_err_code(\"Failed to execute %s\", exe);\n}\n\n#define OOM_VAL_MIN \"-1000\"\n\nstatic void set_oom_scr_adj(pid_t pid, char *value)\n{\n    if (!has_eff_cap(CAP_SYS_RESOURCE))\n        return;\n\n    char path[30];\n    snprintf(path, sizeof(path), \"/proc/%i/oom_score_adj\", pid);\n\n    int fd = open(path, O_WRONLY);\n    if (fd < 0)\n        return (void)print_err_code(\"Failed to open %s\", path);\n\n    if (flock(fd, LOCK_EX))\n        print_err_code(\"Failed to get flock on %s\", path);\n    else if (write(fd, value, strlen(value)) == -1)\n        print_err_code(\"failed writing %s to %s\", value, path);\n\n    close(fd);\n}\n\nstatic void run_cmd(int argc, char *cmd, bool wait_for_child)\n{\n    char *argv[argc + 1];\n\n    argv[0] = strtok(cmd, \" \");\n    for (int i = 1; i < argc; i++)\n        argv[i] = strtok(0, \" \");\n    argv[argc] = NULL;\n\n    if (wait_for_child)\n        signal(SIGCHLD, SIG_DFL);\n\n    pid_t pid = fork();\n    if (pid == -1)\n        print_err_code(\"Failed to fork\");\n    else if (pid == 0)\n        exit(exec_it(argv));\n    else if (pid > 0 && wait_for_child)\n        wait(NULL);\n\n    signal(SIGCHLD, SIG_IGN);\n}\n\n#define NO_SELABEL \"null\"\n#define DAEMON_GROUPS \"2000,3003,3009,1015,1023,1078,9997\"\n\nstatic void run_daemon(char *args)\n{\n    char *cp = strtok(args, \" \");\n    char *uid_str = strtok(0, \" \");\n    char *context = strtok(0, \" \");\n    char *app_id = strtok(0, \" \");\n    char *code_word = strtok(0, \" \");\n\n    char *argv[] = {\"app_process\",\n                    \"/\",\n                    \"--nice-name=com.mirfatif.privdaemon.pmx\",\n                    \"com.mirfatif.privdaemon.Main\",\n                    app_id,\n                    code_word,\n                    NULL};\n\n    if (access(cp, F_OK))\n        return (void)print_err_code(\"%s does not exists\", cp);\n\n    pid_t pid = fork();\n    if (pid == -1)\n        return (void)print_err_code(\"Failed to fork\");\n    else if (pid > 0)\n        return (void)log_android_info(\"Starting daemon with PID %d\", pid);\n\n    close_std_fd(STDOUT_FILENO, O_WRONLY);\n    close_std_fd(STDIN_FILENO, O_RDONLY);\n\n    set_oom_scr_adj(getpid(), OOM_VAL_MIN);\n    setenv(\"CLASSPATH\", cp, 1);\n\n    if (geteuid() == 0)\n    {\n        if (!is_number(uid_str, \"uid\"))\n            return;\n\n        uid_t uid = strtol(uid_str, NULL, 10);\n\n        char groups[strlen(DAEMON_GROUPS) + 1];\n        strncpy(groups, DAEMON_GROUPS, sizeof(groups));\n        context = strncmp(context, NO_SELABEL, strlen(NO_SELABEL)) ? context : NULL;\n\n        if (set_privs(\"1\", true, uid, groups, true, uid, context))\n            return;\n    }\n\n    exit(exec_it(argv));\n}\n\n#define LOCAL_HOST \"127.0.0.1\"\n\nstatic int send_stderr(int port)\n{\n    struct sockaddr_in addr;\n\n    int sock_fd = socket(AF_INET, SOCK_STREAM, 0);\n    if (sock_fd == -1)\n        return print_err_code(\"Failed to create socket\");\n\n    int opt = 1;\n    if (setsockopt(sock_fd, IPPROTO_TCP, TCP_NODELAY, &opt, sizeof(opt)))\n        print_err_code(\"Failed to set socket option TCP_NODELAY\");\n\n    addr.sin_family = AF_INET;\n    addr.sin_port = htons(port);\n    addr.sin_addr.s_addr = inet_addr(LOCAL_HOST);\n\n    int err = 0;\n    if (connect(sock_fd, (struct sockaddr *)&addr, sizeof(addr)) == -1)\n        err = print_err_code(\"Failed to connect to socket\");\n    else if (dup2(sock_fd, STDERR_FILENO) == -1)\n        err = print_err_code(\"Failed to redirect stderr to socket\");\n\n    close(sock_fd);\n    return err;\n}\n\nstatic bool exit_on_app_died = false;\n\n#define CMD_HELLO \"hello\"\n#define CMD_EXIT \"exit\"\n#define CMD_AUTO_EXIT \"auto_exit\"\n#define CMD_RUN \"run\"\n#define CMD_RUN_BG \"run_bg\"\n#define CMD_RUN_DMN \"run_dmn\"\n\n#define RESP_PORT \"PORT:\"\n#define RESP_OK \"OK\"\n\nstatic void wait_for_commands()\n{\n    char *col, *line = NULL, *line_cpy;\n    size_t line_alloc = 0;\n    int n;\n\n    while ((n = getline(&line, &line_alloc, stdin)) > 0)\n    {\n        if (line[n - 1] == '\\n')\n            line[n - 1] = '\\0';\n\n        line_cpy = malloc(strlen(line) + 1);\n        strcpy(line_cpy, line);\n\n        if (!(col = strtok(line, \" \")))\n            goto end;\n\n        if (!strcmp(col, CMD_HELLO))\n        {\n            col = strtok(0, \" \");\n            if (!col)\n                print_err(\"%s requires port\", CMD_HELLO);\n            else if (is_number(col, \"port\") && !send_stderr(strtol(col, NULL, 10)))\n                print_out(\"%s\", RESP_OK);\n        }\n\n        else if (!strcmp(col, CMD_RUN) || !strcmp(col, CMD_RUN_BG) || !strcmp(col, CMD_RUN_DMN))\n        {\n            char *cmd = col;\n\n            int cnt = 0;\n            while ((col = strtok(0, \" \")))\n                cnt++;\n\n            if (!strcmp(cmd, CMD_RUN_DMN))\n            {\n                if (cnt != 5)\n                    print_err(\"%s requires 5 arguments\", CMD_RUN_DMN);\n                else\n                    run_daemon(line_cpy + 1 + strlen(cmd));\n            }\n            else if (cnt == 0)\n                print_err(\"%s requires argument\", cmd);\n            else\n                run_cmd(cnt, line_cpy + 1 + strlen(cmd), !strcmp(cmd, CMD_RUN));\n        }\n\n        else if (!strcmp(line, CMD_EXIT))\n        {\n            close(STDERR_FILENO);\n\n            log_android_info(\"Bye bye from PID %d\", getpid());\n            exit(EXIT_SUCCESS);\n        }\n\n        else if (!strcmp(col, CMD_AUTO_EXIT))\n        {\n            col = strtok(0, \" \");\n            if (!col)\n                print_err(\"%s requires bool value\", CMD_AUTO_EXIT);\n            else\n            {\n                if (!strcmp(col, \"true\"))\n                    exit_on_app_died = true;\n                else if (!strcmp(col, \"false\"))\n                    exit_on_app_died = false;\n                else\n                    print_err(\"%s requires bool value\", CMD_AUTO_EXIT);\n            }\n        }\n\n        else\n        {\n            int err = 0;\n            for (char *c = line_cpy; *c; c++)\n            {\n                if (!isprint(c[0]))\n                {\n                    err = print_err(\"Bad command: [non-printable]\");\n                    break;\n                }\n            }\n\n            if (!err)\n                print_err(\"Bad command: %s\", line_cpy);\n        }\n\n        fflush(NULL);\n\n    end:\n        free(line_cpy);\n    }\n\n    free(line);\n}\n\nstatic int wait_for_app(int sock_fd)\n{\n    if ((listen(sock_fd, 1)))\n        return print_err_code(\"Failed to listen on socket\");\n\n    log_android_info(\"Waiting for clients\");\n\n    struct sockaddr_in add;\n    socklen_t len = sizeof(add);\n\n    while (true)\n    {\n        int fd = accept(sock_fd, (struct sockaddr *)&add, &len);\n        if (fd < 0)\n            print_err_code(\"Failed to accept on socket\");\n        else\n        {\n            int err = 0;\n            if (dup2(fd, STDOUT_FILENO) == -1)\n                err = print_err_code(\"Failed to redirect stdout to socket\");\n            else if (dup2(fd, STDIN_FILENO) == -1)\n                err = print_err_code(\"Failed to redirect stdin to socket\");\n\n            close(fd);\n\n            if (!err)\n            {\n                log_android_info(\"New connection established\");\n                wait_for_commands();\n                log_android_info(\"Connection lost\");\n            }\n\n            close_std_fd(STDOUT_FILENO, O_WRONLY);\n            close_std_fd(STDIN_FILENO, O_RDONLY);\n            close_std_fd(STDERR_FILENO, O_WRONLY);\n        }\n\n        if (exit_on_app_died)\n        {\n            log_android_info(\"App died. Bye bye from PID %d\", getpid());\n            return 0;\n        }\n\n        sleep(1);\n    }\n\n    return log_android_info(\"Why are you here!\");\n}\n\nstatic int bind_server(int sock_fd)\n{\n    struct sockaddr_in addr, assigned;\n    bzero(&addr, sizeof(addr));\n\n    bzero(&assigned, sizeof(assigned));\n    socklen_t len = sizeof(assigned);\n\n    addr.sin_family = AF_INET;\n    addr.sin_port = 0;\n    addr.sin_addr.s_addr = inet_addr(LOCAL_HOST);\n\n    char ip[16];\n\n    if (bind(sock_fd, (struct sockaddr *)&addr, sizeof(addr)))\n        return print_err_code(\"Failed to bind\");\n    else if (getsockname(sock_fd, (struct sockaddr *)&assigned, &len))\n        return print_err_code(\"Failed to get port\");\n    else if (!inet_ntop(AF_INET, &assigned.sin_addr, ip, sizeof(ip)))\n        return print_err_code(\"Failed to get address string\");\n\n    unsigned int port = ntohs(assigned.sin_port);\n\n    pid_t pid = fork();\n    if (pid == -1)\n        return print_err_code(\"Failed to fork\");\n    else if (pid > 0)\n    {\n\n        usleep(100 * 1000);\n        print_out(\"%s %d\", RESP_PORT, port);\n        sleep(1);\n        return 0;\n    }\n\n    if (setsid() == -1)\n        print_err_code(\"Failed to create session\");\n\n    if (signal(SIGHUP, SIG_IGN) == SIG_ERR)\n        print_err_code(\"Failed to ignore SIGHUP\");\n\n    char *path = malloc(64);\n    snprintf(path, 64, \"/proc/%d/fd\", getpid());\n\n    DIR *fds = opendir(path);\n    if (fds == NULL)\n        print_err_code(\"Failed to open %s\", path);\n    else\n    {\n        struct dirent *d;\n        while ((d = readdir(fds)))\n        {\n            int fd = atoi(d->d_name);\n            if (fd > 2 && fd != sock_fd && close(fd))\n                print_err_code(\"Failed to close fd %d\", fd);\n        }\n\n        closedir(fds);\n    }\n\n    free(path);\n\n    close_std_fd(STDOUT_FILENO, O_WRONLY);\n    close_std_fd(STDERR_FILENO, O_WRONLY);\n    close_std_fd(STDIN_FILENO, O_RDONLY);\n\n    return wait_for_app(sock_fd);\n}\n\nstatic int kill_duplicate()\n{\n    DIR *proc = opendir(\"/proc\");\n    if (proc == NULL)\n        return print_err_code(\"Failed to open /proc\");\n\n    struct dirent *d;\n    while ((d = readdir(proc)))\n    {\n        int pid = atoi(d->d_name);\n        if (pid <= 0 || pid == getpid())\n            continue;\n\n        char buf[2048];\n        snprintf(buf, sizeof(buf), \"/proc/%d/cmdline\", pid);\n\n        int fd = open(buf, O_RDONLY | O_CLOEXEC);\n        if (fd < 0)\n            continue;\n\n        int len = read(fd, buf, sizeof(buf) - 1);\n        close(fd);\n\n        if (len < 0)\n            continue;\n\n        buf[len] = 0;\n\n        if (!strncmp(MY_NAME, buf, strlen(MY_NAME)))\n        {\n            log_android_info(\"Killing %d\", pid);\n            kill(pid, SIGKILL);\n        }\n    }\n\n    closedir(proc);\n    return 0;\n}\n\nstatic int daemonize(int argc, char **argv, char *suffix)\n{\n    int exe_len = strlen(argv[0]);\n\n    size_t name_size = strlen(suffix) + 16;\n    if (exe_len < name_size)\n        name_size = exe_len;\n\n    char name[name_size];\n    snprintf(name, name_size, \"pmxd-%s-%d\", suffix, geteuid());\n    MY_NAME = name;\n\n    for (int i = 0; i < argc; i++)\n    {\n        int len = strlen(argv[i]);\n        for (int j = 0; j < len; j++)\n            argv[i][j] = '\\0';\n    }\n\n    strncpy(argv[0], name, name_size);\n\n    kill_duplicate();\n\n    set_oom_scr_adj(getpid(), OOM_VAL_MIN);\n\n    signal(SIGCHLD, SIG_IGN);\n\n    int sock_fd = socket(AF_INET, SOCK_STREAM, 0);\n    if (sock_fd == -1)\n        return print_err_code(\"Failed to create socket\");\n\n    if (fcntl(sock_fd, F_SETFD, FD_CLOEXEC))\n        print_err_code(\"Failed to set fd option FD_CLOEXEC\");\n\n    int opt = 1;\n    if (setsockopt(sock_fd, IPPROTO_TCP, TCP_NODELAY, &opt, sizeof(opt)))\n        print_err_code(\"Failed to set socket option TCP_NODELAY on listening socket\");\n\n    int err = bind_server(sock_fd);\n    close(sock_fd);\n    return err;\n}\n\nint main(int argc, char **argv)\n{\n    if (argc != 3)\n        return 1;\n\n    if (geteuid() == 0)\n        set_privs(\"1\", true, -1, NULL, true, -1, NULL);\n\n    return daemonize(argc, argv, argv[2]);\n}\n"
  },
  {
    "path": "priv_daemon/.gitignore",
    "content": "/build/\n"
  },
  {
    "path": "priv_daemon/build.gradle.kts",
    "content": "plugins { id(\"android-lib-conventions\") }\n\nandroid {\n  namespace = \"com.mirfatif.privdaemon\"\n\n  buildTypes { release { consumerProguardFiles(\"daemon-proguard-rules.pro\") } }\n}\n\ndependencies { implementation(project(path = \":priv_library\")) }\n"
  },
  {
    "path": "priv_daemon/daemon-proguard-rules.pro",
    "content": "-keep class com.mirfatif.privdaemon.Main {\n  public static void main(java.lang.String[]);\n}\n"
  },
  {
    "path": "priv_daemon/src/main/AndroidManifest.xml",
    "content": "<manifest />\n"
  },
  {
    "path": "priv_daemon/src/main/java/com/mirfatif/privdaemon/Callbacks.java",
    "content": "package com.mirfatif.privdaemon;\n\nimport android.content.Intent;\nimport android.os.Bundle;\nimport android.os.IBinder;\nimport android.os.Process;\nimport android.os.RemoteException;\nimport com.mirfatif.err.HiddenAPIsException;\nimport com.mirfatif.privtasks.Constants;\nimport com.mirfatif.privtasks.bind.ILogCallback;\nimport com.mirfatif.privtasks.bind.IPrivTasksCallback;\nimport com.mirfatif.privtasks.hiddenapis.HiddenAPIs;\nimport com.mirfatif.privtasks.iface.IPrivTasks;\nimport com.mirfatif.privtasks.util.LogUtil;\nimport com.mirfatif.privtasks.util.Util;\nimport com.mirfatif.privtasks.util.bg.SingleTaskExecutor;\nimport java.io.File;\nimport java.io.IOException;\nimport java.io.PrintWriter;\nimport java.io.StringWriter;\nimport java.lang.Thread.UncaughtExceptionHandler;\n\npublic enum Callbacks {\n  INS;\n\n  private static final String TAG = \"Callbacks\";\n\n  private String mAppId;\n  private static final String BINDER_SVC = \"com.mirfatif.permissionmanagerx.fwk.DaemonRcvSvcM\";\n  private IPrivTasks mIPrivTasks;\n\n  void talkToApp(String appId, String codeWord) throws RemoteException {\n    mAppId = appId;\n\n    mIPrivTasks = new IPrivTasksImpl();\n\n    UncaughtExceptionHandler defExcHandler = Thread.getDefaultUncaughtExceptionHandler();\n    Thread.setDefaultUncaughtExceptionHandler(\n        (t, e) -> {\n          DaemonLog.e(TAG, \"UncaughtExceptionHandler\", e);\n          saveCrashLog(e);\n          if (defExcHandler != null) {\n            defExcHandler.uncaughtException(t, e);\n          }\n        });\n\n    talkToApp(codeWord);\n  }\n\n  void talkToApp(String codeWord) throws RemoteException {\n    Bundle bundle = new Bundle();\n    bundle.putBinder(Constants.EXTRA_BINDER, (IBinder) mIPrivTasks);\n\n    Intent intent = new Intent();\n    intent.putExtra(Constants.EXTRA_CODE_WORD, codeWord);\n    intent.putExtra(Constants.EXTRA_BINDER, bundle);\n    fireSvcIntent(intent, BINDER_SVC, false);\n  }\n\n  void sendStdErr(int port) throws HiddenAPIsException {\n    if (!Jni.INS.sendStdErr(port)) {\n      throw new HiddenAPIsException(\"Filed to redirect STDERR\");\n    }\n  }\n\n  private IPrivTasksCallback mCallback;\n  private String mCrashLogFile;\n\n  void update(IPrivTasksCallback callback, String crashLogFile) throws RemoteException {\n    mCallback = callback;\n    mCrashLogFile = crashLogFile;\n\n    mCallback.asBinder().linkToDeath(this::onAppDied, 0);\n  }\n\n  private boolean mExitOnAppDeath = false;\n\n  void setExitOnAppDeath(boolean exitOnAppDeath) {\n    mExitOnAppDeath = exitOnAppDeath;\n  }\n\n  private void onAppDied() {\n    Jni.INS.closeStdErr();\n\n    if (mExitOnAppDeath) {\n      DaemonLog.i(TAG, \"onAppDied\", \"Exiting...\");\n      exit();\n    }\n  }\n\n  void exit() {\n    System.err.close();\n\n    DaemonLog.i(TAG, \"exit\", \"Bye bye from PID \" + Process.myPid());\n    System.exit(0);\n  }\n\n  void showError(int error) {\n    if (mCallback != null) {\n      try {\n        mCallback.showError(error);\n      } catch (RemoteException e) {\n        DaemonLog.e(TAG, \"showError\", e);\n      }\n    }\n  }\n\n  void saveCrashLog(Throwable e) {\n    StringWriter writer = new StringWriter();\n    e.printStackTrace(new PrintWriter(writer));\n    String stackTrace = writer.toString();\n\n    if (mCallback != null) {\n      try {\n        mCallback.saveLog(stackTrace);\n      } catch (RemoteException re) {\n        DaemonLog.e(TAG, \"saveCrashLog\", re);\n        try {\n          LogUtil.writeCrashLog(new File(mCrashLogFile), getDaemonState(), stackTrace, true);\n        } catch (IOException ioe) {\n          DaemonLog.e(TAG, \"saveCrashLog\", ioe);\n        }\n      }\n    }\n  }\n\n  private static String getDaemonState() {\n    return \"\\nUID: \" + Process.myUid() + \"\\nContext: \" + getSEContext();\n  }\n\n  static String getSEContext() {\n    return Util.readNullTermFile(\"/proc/\" + Process.myPid() + \"/attr/current\");\n  }\n\n  public void fireSvcIntent(Intent intent, String svcClass, boolean fg) throws RemoteException {\n    intent.setClassName(mAppId, svcClass);\n    HiddenAPIs.INS.fireSvcIntent(intent, mAppId, svcClass, 0, fg);\n  }\n\n  private final Object LOG_LOCK = new Object();\n  private ILogCallback mLogCallback;\n  private SingleTaskExecutor mLogExecutor;\n\n  boolean isDebug() {\n    return mLogCallback != null;\n  }\n\n  boolean setDebug(IBinder logCallback) {\n    synchronized (LOG_LOCK) {\n      boolean wasDebug = isDebug();\n      mLogCallback = logCallback == null ? null : ILogCallback.Stub.asInterface(logCallback);\n\n      if (wasDebug && !isDebug()) {\n        mLogExecutor.cancel(true);\n        mLogExecutor = null;\n      } else if (!wasDebug && isDebug()) {\n        mLogExecutor = LogUtil.readLogcat(this::writeToLogFile);\n        if (mLogExecutor == null) {\n          mLogCallback = null;\n          return false;\n        }\n      }\n\n      return true;\n    }\n  }\n\n  private boolean writeToLogFile(String line) {\n    synchronized (LOG_LOCK) {\n      if (mLogCallback != null) {\n        try {\n          if (mLogCallback.writeToLogFile(line)) {\n            return isDebug();\n          }\n        } catch (RemoteException e) {\n          DaemonLog.e(TAG, \"writeToLogFile\", e);\n          mLogCallback = null;\n        }\n      }\n\n      if (mLogExecutor != null) {\n        mLogExecutor.cancel(true);\n        mLogExecutor = null;\n      }\n\n      return false;\n    }\n  }\n}\n"
  },
  {
    "path": "priv_daemon/src/main/java/com/mirfatif/privdaemon/DaemonLog.java",
    "content": "package com.mirfatif.privdaemon;\n\nimport com.mirfatif.privtasks.util.MyLog;\n\npublic class DaemonLog {\n\n  private DaemonLog() {}\n\n  private static String makeTag(String tag) {\n    return PrivDaemon.TAG + (tag == null ? \"\" : \": \" + tag);\n  }\n\n  public static void e(String tag, String method, Throwable e) {\n    MyLog.e(makeTag(tag), method, e);\n  }\n\n  public static void e(String tag, String method, String err) {\n    MyLog.e(makeTag(tag), method, err);\n  }\n\n  public static void w(String tag, String method, String msg) {\n    MyLog.w(makeTag(tag), method, msg);\n  }\n\n  public static void i(String tag, String method, String msg) {\n    MyLog.i(makeTag(tag), method, msg);\n  }\n\n  public static void d(String tag, String method, String msg) {\n    if (Callbacks.INS.isDebug()) {\n      MyLog.d(makeTag(tag), method, msg);\n    }\n  }\n}\n"
  },
  {
    "path": "priv_daemon/src/main/java/com/mirfatif/privdaemon/IPrivTasksImpl.java",
    "content": "package com.mirfatif.privdaemon;\n\nimport android.Manifest;\nimport android.app.AppOpsManager;\nimport android.content.pm.PackageManager;\nimport android.os.Build;\nimport android.os.Debug;\nimport android.os.IBinder;\nimport android.os.Process;\nimport android.os.RemoteException;\nimport com.mirfatif.err.HiddenAPIsException;\nimport com.mirfatif.privtasks.AppPrivTasks;\nimport com.mirfatif.privtasks.Constants;\nimport com.mirfatif.privtasks.HiddenSdkIntConstants;\nimport com.mirfatif.privtasks.bind.AppOpsLists;\nimport com.mirfatif.privtasks.bind.DaemonState;\nimport com.mirfatif.privtasks.bind.IPrivTasksCallback;\nimport com.mirfatif.privtasks.bind.MyPackageOps;\nimport com.mirfatif.privtasks.bind.PermFixedFlags;\nimport com.mirfatif.privtasks.bind.PrivsStatus;\nimport com.mirfatif.privtasks.hiddenapis.HiddenAPIs;\nimport com.mirfatif.privtasks.iface.IPrivTasks;\nimport java.io.File;\nimport java.io.IOException;\nimport java.util.List;\n\npublic class IPrivTasksImpl extends IPrivTasks.Stub {\n\n  private final AppPrivTasks mAppPrivTasks;\n\n  private final AppPrivTasks.AppPrivTasksCallback mCallback = new AppPrivTasksCallbackImpl();\n\n  IPrivTasksImpl() {\n    mAppPrivTasks = new AppPrivTasks(mCallback, true);\n  }\n\n  public void sendStdErr(int port, String jniLibPath) throws RemoteException {\n    Jni.INS.loadLib(jniLibPath);\n    Callbacks.INS.sendStdErr(port);\n  }\n\n  public void hello(IBinder privTasksCb, String crashLogFile) throws RemoteException {\n    IPrivTasksCallback callback = IPrivTasksCallback.Stub.asInterface(privTasksCb);\n    Callbacks.INS.update(callback, crashLogFile);\n    callback.hello(\n        new DaemonState(\n            Process.myPid(), Process.myUid(), Callbacks.getSEContext(), Server.INS.getPort()));\n  }\n\n  public void setExitOnAppDeath(boolean exitOnAppDeath) {\n    Callbacks.INS.setExitOnAppDeath(exitOnAppDeath);\n  }\n\n  public PrivsStatus getPrivsStatus() throws RemoteException {\n    return PrivsStatusReader.getStatus(mAppPrivTasks);\n  }\n\n  public boolean setDebug(IBinder logCb) {\n    return Callbacks.INS.setDebug(logCb);\n  }\n\n  public void dumpHeap(String directory) throws RemoteException {\n    System.gc();\n\n    File dir = new File(directory);\n    if (!dir.isDirectory()) {\n      throw new HiddenAPIsException(directory + \" is not a directory\");\n    }\n\n    File file = new File(dir, \"com.mirfatif.privdaemon.pmx.hprof\");\n    try {\n      Debug.dumpHprofData(file.getAbsolutePath());\n    } catch (IOException e) {\n      throw new HiddenAPIsException(e);\n    }\n  }\n\n  public void grantAppPrivileges(String pkgName, int uid) throws RemoteException {\n    setAppOpMode(\n        uid, pkgName, HiddenSdkIntConstants.OP_RUN_IN_BACKGROUND.get(), AppOpsManager.MODE_ALLOWED);\n\n    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {\n      setAppOpMode(\n          uid,\n          pkgName,\n          HiddenSdkIntConstants.OP_RUN_ANY_IN_BACKGROUND.get(),\n          AppOpsManager.MODE_ALLOWED);\n    }\n\n    HiddenAPIs.INS.addPowerSaveWhitelistApp(pkgName);\n\n    HiddenAPIs.INS.grantRuntimePermission(pkgName, Constants.PERM_GET_APP_OPS_STATS, 0, mCallback);\n\n    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {\n      HiddenAPIs.INS.grantRuntimePermission(\n          pkgName, Manifest.permission.POST_NOTIFICATIONS, 0, mCallback);\n    }\n  }\n\n  public void stopDaemon() {\n    Callbacks.INS.exit();\n  }\n\n  public AppOpsLists getAppOpsLists() throws RemoteException {\n    return mAppPrivTasks.getAppOpsLists(null);\n  }\n\n  public PermFixedFlags getPermFixedFlags() throws RemoteException {\n    return HiddenSdkIntConstants.getPermFixedFlags();\n  }\n\n  public String[] getPackagesForUid(int uid) throws RemoteException {\n    return HiddenAPIs.INS.getPackagesForUid(uid);\n  }\n\n  public List<MyPackageOps> getOpsForPackage(int uid, String pkgName, int[] ops)\n      throws RemoteException {\n    return mAppPrivTasks.getOpsForPkg(uid, pkgName, ops);\n  }\n\n  public int getPermFlags(String permName, String pkgName, int userId) throws RemoteException {\n    return HiddenAPIs.INS.getPermFlags(permName, pkgName, userId, mCallback);\n  }\n\n  public void setPermState(boolean grant, String pkgName, String permName, int userId)\n      throws RemoteException {\n    if (grant) {\n      HiddenAPIs.INS.grantRuntimePermission(pkgName, permName, userId, mCallback);\n    } else {\n      HiddenAPIs.INS.revokeRuntimePermission(pkgName, permName, userId, mCallback);\n    }\n  }\n\n  public void setAppOpMode(int uid, String pkgName, int op, int mode) throws RemoteException {\n    if (pkgName == null) {\n      HiddenAPIs.INS.setAppOpUidMode(uid, op, mode);\n    } else {\n      HiddenAPIs.INS.setAppOpMode(pkgName, uid, op, mode);\n    }\n  }\n\n  public void resetAppOps(int userId, String pkgName) throws RemoteException {\n    HiddenAPIs.INS.resetAllModes(userId, pkgName);\n  }\n\n  public void setPkgState(boolean enable, String pkgName, int userId) throws RemoteException {\n    String callingPkg = \"shell:\" + Process.myUid();\n\n    int state;\n    if (enable) {\n      state = PackageManager.COMPONENT_ENABLED_STATE_ENABLED;\n    } else {\n      state = PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER;\n    }\n\n    HiddenAPIs.INS.setApplicationEnabledSetting(pkgName, state, 0, userId, callingPkg);\n  }\n\n  public void openAppInfo(String pkgName, int userId) throws RemoteException {\n    int res = HiddenAPIs.INS.openAppInfo(pkgName, userId);\n    if (res != HiddenSdkIntConstants.START_SUCCESS.get()) {\n      throw new HiddenAPIsException(\"Failed to open app info. Result code: \" + res);\n    }\n  }\n\n  private static class AppPrivTasksCallbackImpl implements AppPrivTasks.AppPrivTasksCallback {\n\n    public void logErr(String tag, String method, Throwable e) {\n      DaemonLog.e(tag, method, e);\n    }\n\n    public void logErr(String tag, String method, String err) {\n      DaemonLog.e(tag, method, err);\n    }\n\n    public void showError(int error) {\n      Callbacks.INS.showError(error);\n    }\n  }\n}\n"
  },
  {
    "path": "priv_daemon/src/main/java/com/mirfatif/privdaemon/Jni.java",
    "content": "package com.mirfatif.privdaemon;\n\nimport com.mirfatif.err.HiddenAPIsException;\n\npublic enum Jni {\n  INS;\n\n  private boolean mLoaded = false;\n\n  public void loadLib(String libPath) throws HiddenAPIsException {\n    if (!mLoaded) {\n      try {\n        System.load(libPath);\n        mLoaded = true;\n      } catch (SecurityException | UnsatisfiedLinkError e) {\n        throw new HiddenAPIsException(e);\n      }\n    }\n  }\n\n  public native boolean sendStdErr(int errPort);\n\n  public native void closeStdErr();\n\n  public native boolean matches(String string, String regex, String logTag);\n}\n"
  },
  {
    "path": "priv_daemon/src/main/java/com/mirfatif/privdaemon/Main.java",
    "content": "package com.mirfatif.privdaemon;\n\npublic class Main {\n\n  public static void main(String[] args) {\n\n    new PrivDaemon().start(args);\n  }\n}\n"
  },
  {
    "path": "priv_daemon/src/main/java/com/mirfatif/privdaemon/PrivDaemon.java",
    "content": "package com.mirfatif.privdaemon;\n\nimport android.os.Looper;\nimport android.os.Process;\nimport android.os.RemoteException;\nimport com.mirfatif.privtasks.hiddenapis.HiddenAPIs;\nimport java.io.BufferedReader;\nimport java.io.FileReader;\nimport java.io.IOException;\nimport java.util.Arrays;\n\nclass PrivDaemon {\n\n  public static final String TAG = \"PrivDaemon\";\n\n  PrivDaemon() {\n    try (BufferedReader reader = new BufferedReader(new FileReader(\"/proc/self/cmdline\"))) {\n      String myName = reader.readLine().split(\"\\0\")[0];\n      for (int pid : HiddenAPIs.getPidsForCommands(new String[] {myName})) {\n        if (pid != Process.myPid()) {\n          DaemonLog.i(null, \"start\", \"Killing PID \" + pid);\n          Process.killProcess(pid);\n        }\n      }\n    } catch (IOException e) {\n      DaemonLog.e(null, null, e);\n    }\n  }\n\n  void start(String[] args) {\n    if (args.length != 2 || !args[0].startsWith(\"com.mirfatif.\") || !Server.isUUID(args[1])) {\n      DaemonLog.e(null, \"start\", \"Bad args: \" + Arrays.toString(args));\n      System.exit(1);\n      return;\n    }\n\n    String appId = args[0];\n    String codeWord = args[1];\n\n    try {\n      Callbacks.INS.talkToApp(appId, codeWord);\n    } catch (RemoteException e) {\n      DaemonLog.e(null, \"start\", e);\n      System.exit(1);\n    }\n\n    DaemonLog.i(null, \"start\", \"I'm up!\");\n\n    prepareMainLooper();\n    Looper.loop();\n\n    throw new RuntimeException(\"Main thread loop unexpectedly exited\");\n  }\n\n  private static void prepareMainLooper() {\n    Looper.prepareMainLooper();\n  }\n}\n"
  },
  {
    "path": "priv_daemon/src/main/java/com/mirfatif/privdaemon/PrivsStatusReader.java",
    "content": "package com.mirfatif.privdaemon;\n\nimport android.content.pm.PackageManager;\nimport android.os.Process;\nimport android.os.RemoteException;\nimport com.mirfatif.privtasks.AppPrivTasks;\nimport com.mirfatif.privtasks.bind.PrivsStatus;\nimport com.mirfatif.privtasks.bind.PrivsStatus.PermStatus;\nimport com.mirfatif.privtasks.hiddenapis.HiddenAPIs;\n\npublic class PrivsStatusReader {\n\n  private PrivsStatusReader() {}\n\n  static PrivsStatus getStatus(AppPrivTasks appPrivTasks) throws RemoteException {\n    PrivsStatus status = new PrivsStatus();\n    for (String perm : PERMISSIONS) {\n      int s = HiddenAPIs.INS.checkPermission(perm, Process.myPid(), Process.myUid());\n      status.permStatusList.add(new PermStatus(perm, s == PackageManager.PERMISSION_GRANTED));\n    }\n    return appPrivTasks.setAppOpsStatus(status);\n  }\n\n  private static final String[] PERMISSIONS =\n      new String[] {\n        \"android.permission.CREATE_USERS\",\n        \"android.permission.MANAGE_USERS\",\n        \"android.permission.INTERACT_ACROSS_USERS\",\n        \"android.permission.INTERACT_ACROSS_USERS_FULL\",\n        \"android.permission.GET_APP_OPS_STATS\",\n        \"android.permission.MANAGE_APP_OPS_MODES\",\n        \"android.permission.GRANT_RUNTIME_PERMISSIONS\",\n        \"android.permission.REVOKE_RUNTIME_PERMISSIONS\",\n        \"android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS\",\n        \"android.permission.CHANGE_COMPONENT_ENABLED_STATE\",\n        \"android.permission.PACKAGE_USAGE_STATS\",\n        \"android.permission.REAL_GET_TASKS\",\n        \"android.permission.GET_TASKS\",\n        \"android.permission.SET_ACTIVITY_WATCHER\"\n      };\n}\n"
  },
  {
    "path": "priv_daemon/src/main/java/com/mirfatif/privdaemon/Server.java",
    "content": "package com.mirfatif.privdaemon;\n\nimport static com.mirfatif.privdaemon.DaemonLog.e;\n\nimport android.os.RemoteException;\nimport android.os.SystemClock;\nimport com.mirfatif.err.HiddenAPIsException;\nimport com.mirfatif.privtasks.Constants;\nimport com.mirfatif.privtasks.util.bg.BgRunner;\nimport java.io.BufferedReader;\nimport java.io.IOException;\nimport java.io.InputStreamReader;\nimport java.net.Inet4Address;\nimport java.net.ServerSocket;\nimport java.net.Socket;\n\npublic enum Server {\n  INS;\n\n  private static final String TAG = \"Server\";\n\n  private ServerSocket server;\n  private int port;\n\n  int getPort() throws HiddenAPIsException {\n    if (port == 0) {\n      try {\n        server = new ServerSocket(0, 0, Inet4Address.getByAddress(new byte[] {127, 0, 0, 1}));\n      } catch (IOException e) {\n        throw new HiddenAPIsException(e);\n      }\n      port = server.getLocalPort();\n      BgRunner.execute(this::waitForAppCalls);\n    }\n    return port;\n  }\n\n  private void waitForAppCalls() {\n    while (true) {\n      try (Socket client = server.accept()) {\n        client.setTcpNoDelay(true);\n        readMessage(client);\n      } catch (IOException e) {\n        DaemonLog.e(TAG, \"waitForAppCalls\", e);\n      }\n\n      SystemClock.sleep(1000);\n    }\n  }\n\n  private static void readMessage(Socket client) {\n    try (BufferedReader r = new BufferedReader(new InputStreamReader(client.getInputStream()))) {\n      String line;\n      while ((line = r.readLine()) != null) {\n        String[] codeWord;\n        if (line.startsWith(Constants.CMD_CODE_WORD)\n            && (codeWord = line.split(\" \")).length == 2\n            && isUUID(codeWord[1])) {\n          Callbacks.INS.talkToApp(codeWord[1]);\n        } else {\n          e(TAG, \"readMessage\", \"bad input received: \" + line);\n        }\n      }\n    } catch (IOException | RemoteException e) {\n      DaemonLog.e(TAG, \"readMessage\", e);\n    }\n  }\n\n  private static final String UUID_PATTERN =\n      \"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$\";\n\n  public static boolean isUUID(String uuid) {\n    return uuid.matches(UUID_PATTERN);\n  }\n}\n"
  },
  {
    "path": "priv_library/.gitignore",
    "content": "/build/\n"
  },
  {
    "path": "priv_library/build.gradle.kts",
    "content": "plugins { id(\"android-lib-conventions\") }\n\nandroid {\n  namespace = \"com.mirfatif.privtasks\"\n  buildTypes { release { consumerProguardFiles(\"proguard-rules.pro\") } }\n\n  buildFeatures { aidl = true }\n}\n\ndependencies {\n  // Just to resolve APIs in editor\n  compileOnly(project(path = \":hidden_apis\"))\n}\n\nfun createTasksForHiddenAPIs() {\n  val dir = File(rootDir, \"hidden_apis/build/intermediates/aar_main_jar/\")\n\n  for (debug in booleanArrayOf(true, false)) {\n    val variant = if (debug) \"Debug\" else \"Release\"\n\n    val task = tasks.named(\"compile\" + variant + \"JavaWithJavac\").get()\n    task.dependsOn(\":hidden_apis:sync\" + variant + \"LibJars\")\n\n    var hiddenAPIsJarFile = variant.replaceFirstChar { it.lowercaseChar() }\n    hiddenAPIsJarFile += \"/sync\" + variant + \"LibJars\" + \"/classes.jar\"\n\n    task.doFirst {\n      this as JavaCompile\n      // dependencies.compileOnly() appends the jar but we need to the\n      // hidden APIs jar so that to override the Android SDK classes.\n      val cp = project.objects.fileCollection()\n      cp.from(File(dir, hiddenAPIsJarFile))\n      cp.from(classpath)\n      classpath = cp\n    }\n  }\n}\n\nafterEvaluate { createTasksForHiddenAPIs() }\n"
  },
  {
    "path": "priv_library/proguard-rules.pro",
    "content": "# Required for de-Serialization, must not be obfuscated.\n-keepclassmembers class com.mirfatif.err.HiddenAPIsException {\n    static final long serialVersionUID;\n}\n\n-dontwarn android.app.ActivityManagerNative\n-dontwarn android.app.AppOpsManager$OpEntry\n-dontwarn android.app.AppOpsManager$PackageOps\n-dontwarn android.app.IActivityManager\n-dontwarn android.app.IActivityManager$Stub\n-dontwarn android.app.IApplicationThread\n-dontwarn android.app.ProfilerInfo\n-dontwarn android.content.pm.IPackageManager\n-dontwarn android.content.pm.IPackageManager$Stub\n-dontwarn android.content.pm.ParceledListSlice\n-dontwarn android.os.IDeviceIdleController\n-dontwarn android.os.IDeviceIdleController$Stub\n-dontwarn android.os.ServiceManager\n-dontwarn android.permission.IPermissionManager\n-dontwarn android.permission.IPermissionManager$Stub\n-dontwarn com.android.internal.app.IAppOpsService\n-dontwarn com.android.internal.app.IAppOpsService$Stub\n"
  },
  {
    "path": "priv_library/src/main/aidl/com/mirfatif/privtasks/bind/ILogCallback.aidl",
    "content": "package com.mirfatif.privtasks.bind;\n\ninterface ILogCallback {\n\n  boolean writeToLogFile(String line);\n}\n"
  },
  {
    "path": "priv_library/src/main/aidl/com/mirfatif/privtasks/bind/IPrivTasksCallback.aidl",
    "content": "package com.mirfatif.privtasks.bind;\n\nimport com.mirfatif.privtasks.bind.DaemonState;\n\nparcelable DaemonState;\n\ninterface IPrivTasksCallback {\n\n  void hello(in DaemonState daemonState);\n\n  void showError(int privTasksError);\n\n  void saveLog(String stackTrace);\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/err/ContainerException.java",
    "content": "package com.mirfatif.err;\n\nimport android.os.RemoteException;\nimport java.io.PrintStream;\nimport java.io.PrintWriter;\nimport java.io.StringWriter;\n\npublic class ContainerException extends RemoteException {\n\n  private final String stackTrace;\n\n  public ContainerException(String stackTrace) {\n    this.stackTrace = stackTrace;\n  }\n\n  public void printStackTrace(PrintStream s) {\n    s.println(stackTrace);\n  }\n\n  public void printStackTrace(PrintWriter s) {\n    s.println(stackTrace);\n  }\n\n  public static String toStackTrace(Throwable e) {\n    StringWriter sw = new StringWriter();\n    try (PrintWriter pw = new PrintWriter(sw)) {\n      e.printStackTrace(pw);\n    }\n    return sw.toString();\n  }\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/err/HiddenAPIsException.java",
    "content": "package com.mirfatif.err;\n\nimport android.os.RemoteException;\n\npublic class HiddenAPIsException extends RemoteException {\n\n  private static final long serialVersionUID = 1234567890L;\n\n  public HiddenAPIsException(Throwable cause) {\n    this(cause.getMessage());\n    initCause(cause);\n  }\n\n  public HiddenAPIsException(String message) {\n    super(message);\n  }\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/AppPrivTasks.java",
    "content": "package com.mirfatif.privtasks;\n\nimport android.app.AppOpsManager;\nimport android.content.pm.PackageManager;\nimport android.content.pm.PackageManager.NameNotFoundException;\nimport android.content.pm.PermissionGroupInfo;\nimport android.content.pm.PermissionInfo;\nimport android.os.Build;\nimport android.os.RemoteException;\nimport com.mirfatif.err.HiddenAPIsException;\nimport com.mirfatif.privtasks.bind.AppOpsLists;\nimport com.mirfatif.privtasks.bind.MyPackageOps;\nimport com.mirfatif.privtasks.bind.PrivsStatus;\nimport com.mirfatif.privtasks.bind.StrIntMap;\nimport com.mirfatif.privtasks.hiddenapis.HiddenAPIs;\nimport com.mirfatif.privtasks.util.bg.RateLimitedTask;\nimport com.mirfatif.privtasks.util.bg.RateLimitedTaskTyped;\nimport com.mirfatif.privtasks.util.bg.RateLimiter;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.List;\nimport java.util.concurrent.TimeUnit;\n\npublic class AppPrivTasks {\n\n  private static final String TAG = \"AppPrivTasks\";\n\n  private final AppPrivTasksCallback mCallback;\n  private final boolean mDaemon;\n\n  public AppPrivTasks(AppPrivTasksCallback callback, boolean isDaemon) {\n    mCallback = callback;\n    mDaemon = isDaemon;\n  }\n\n  private boolean opToDefModeWorks = true;\n  private boolean opToSwitchWorks = true;\n  private boolean opToNameWorks = true;\n  private boolean getOpsWorks = true;\n  private boolean opNumConsistent = true;\n  private boolean opModeConsistent = true;\n\n  public PrivsStatus setAppOpsStatus(PrivsStatus status) {\n    status.opToDefModeWorks = opToDefModeWorks;\n    status.opToSwitchWorks = opToSwitchWorks;\n    status.opToNameWorks = opToNameWorks;\n    status.getOpsWorks = getOpsWorks;\n    status.opNumConsistent = opNumConsistent;\n    status.opModeConsistent = opModeConsistent;\n    return status;\n  }\n\n  public AppOpsLists getAppOpsLists(PackageManager pm) throws RemoteException {\n    return new AppOpsLists(\n        buildAppOpsNames(),\n        buildAppOpsModes(),\n        buildOpDefModeList(),\n        buildOpSwitchList(),\n        buildPermToOpMap(pm));\n  }\n\n  private List<String> buildAppOpsNames() throws HiddenAPIsException {\n    List<String> appOpsNames = new ArrayList<>();\n    boolean failed = false;\n    for (int i = 0; i < HiddenSdkIntConstants._NUM_OP.get(!mDaemon); i++) {\n      if (failed) {\n        appOpsNames.add(Constants.UNKNOWN_OP);\n        continue;\n      }\n      try {\n        String opName = HiddenAPIs.opToName(i);\n        if (\"NONE\".equals(opName)\n            || \"deprecated\".equals(opName)\n            || (opName.startsWith(\"Unknown(\") && opName.endsWith(\")\"))) {\n          opName = Constants.UNKNOWN_OP;\n        }\n        appOpsNames.add(opName);\n      } catch (ArrayIndexOutOfBoundsException e) {\n        failed = true;\n        opToNameWorks = opNumConsistent = false;\n        mAppOpsErrorCb.mOpNumErrSender.run();\n        mCallback.logErr(TAG, \"buildAppOpsNames\", e);\n      } catch (NoSuchMethodError e) {\n        if (mDaemon) {\n          throw e;\n        } else {\n          throw new HiddenAPIsException(e);\n        }\n      }\n    }\n    return appOpsNames;\n  }\n\n  private List<String> buildAppOpsModes() throws HiddenAPIsException {\n    List<String> modeNames =\n        new ArrayList<>(\n            Arrays.asList(\n                Constants.APP_OP_MODE_ALLOW,\n                Constants.APP_OP_MODE_IGNORE,\n                Constants.APP_OP_MODE_DENY,\n                Constants.APP_OP_MODE_DEFAULT));\n\n    List<String> appOpsModes = new ArrayList<>();\n\n    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {\n      String mode;\n      for (int i = 0; i < HiddenSdkIntConstants.MODE_NAMES_SIZE.get(!mDaemon); i++) {\n        try {\n          mode = HiddenAPIs.modeToName(i);\n          mode = Character.toUpperCase(mode.charAt(0)) + mode.substring(1);\n          appOpsModes.add(mode);\n        } catch (NoSuchMethodError e) {\n          if (mDaemon) {\n            throw e;\n          } else {\n            throw new HiddenAPIsException(e);\n          }\n        }\n      }\n    } else {\n      appOpsModes = new ArrayList<>(modeNames);\n    }\n\n    List<Integer> modes =\n        new ArrayList<>(\n            Arrays.asList(\n                AppOpsManager.MODE_ALLOWED,\n                AppOpsManager.MODE_IGNORED,\n                AppOpsManager.MODE_ERRORED,\n                AppOpsManager.MODE_DEFAULT));\n\n    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {\n      modes.add(AppOpsManager.MODE_FOREGROUND);\n      modeNames.add(Constants.APP_OP_MODE_FG);\n    }\n\n    for (int i = 0; i < modes.size(); i++) {\n      int mode = modes.get(i);\n      String modeName = modeNames.get(i);\n      if (appOpsModes.indexOf(modeName) != mode) {\n        opModeConsistent = false;\n        mCallback.showError(PrivTasksError.OP_MODE_INCONSISTENCY);\n        throw new HiddenAPIsException(\"Bad AppOp modes\");\n      }\n    }\n\n    return appOpsModes;\n  }\n\n  private boolean mUseOpToDefLOS = false;\n\n  private List<Integer> buildOpDefModeList() throws HiddenAPIsException {\n    List<Integer> opToDefModeList = new ArrayList<>();\n    boolean failed = false;\n    for (int i = 0; i < HiddenSdkIntConstants._NUM_OP.get(!mDaemon); i++) {\n      if (failed) {\n        opToDefModeList.add(AppOpsManager.MODE_DEFAULT);\n        continue;\n      }\n      try {\n        opToDefModeList.add(HiddenAPIs.opToDefaultMode(i, mUseOpToDefLOS));\n      } catch (ArrayIndexOutOfBoundsException e) {\n        failed = true;\n        opToDefModeWorks = opNumConsistent = false;\n        mAppOpsErrorCb.mOpNumErrSender.run();\n        mCallback.logErr(TAG, \"buildOpDefModeList\", e);\n      } catch (NoSuchMethodError e) {\n        if (mUseOpToDefLOS) {\n          if (mDaemon) {\n            throw e;\n          } else {\n            throw new HiddenAPIsException(e);\n          }\n        } else {\n          mCallback.logErr(TAG, \"buildOpDefModeList\", e);\n          mUseOpToDefLOS = true;\n          return buildOpDefModeList();\n        }\n      }\n    }\n\n    return opToDefModeList;\n  }\n\n  private List<Integer> buildOpSwitchList() throws HiddenAPIsException {\n    List<Integer> opToSwitchList = new ArrayList<>();\n    boolean failed = false;\n    for (int i = 0; i < HiddenSdkIntConstants._NUM_OP.get(!mDaemon); i++) {\n      if (failed) {\n        opToSwitchList.add(i);\n        continue;\n      }\n      try {\n        opToSwitchList.add(HiddenAPIs.opToSwitch(i));\n      } catch (ArrayIndexOutOfBoundsException e) {\n        failed = true;\n        opToSwitchWorks = opNumConsistent = false;\n        mAppOpsErrorCb.mOpNumErrSender.run();\n        mCallback.logErr(TAG, \"buildOpSwitchList\", e);\n      } catch (NoSuchMethodError e) {\n        if (mDaemon) {\n          throw e;\n        } else {\n          throw new HiddenAPIsException(e);\n        }\n      }\n    }\n    return opToSwitchList;\n  }\n\n  private boolean mUsePkgMgr = false;\n\n  private StrIntMap buildPermToOpMap(PackageManager pm) throws RemoteException {\n    List<String> permGroupsList = new ArrayList<>();\n\n    if (mUsePkgMgr && pm != null) {\n      pm.getAllPermissionGroups(0).forEach(pgi -> permGroupsList.add(pgi.name));\n    } else {\n      try {\n        HiddenAPIs.INS\n            .getPermGroupInfoList()\n            .forEach(pgi -> permGroupsList.add(((PermissionGroupInfo) pgi).name));\n      } catch (RemoteException e) {\n        if (pm == null) {\n          throw e;\n        } else {\n          mUsePkgMgr = true;\n          return buildPermToOpMap(pm);\n        }\n      } catch (NoSuchMethodError e) {\n        if (mDaemon) {\n          throw e;\n        } else {\n          throw new HiddenAPIsException(e);\n        }\n      }\n    }\n    permGroupsList.add(null);\n\n    List<PermissionInfo> permInfoList = new ArrayList<>();\n\n    for (String permGroup : permGroupsList) {\n      if (mUsePkgMgr && pm != null) {\n        try {\n          permInfoList.addAll(pm.queryPermissionsByGroup(permGroup, 0));\n        } catch (NameNotFoundException e) {\n          mCallback.logErr(TAG, \"buildPermToOpMap\", e.toString());\n        }\n      } else {\n        try {\n          HiddenAPIs.INS\n              .getPermInfoList(permGroup)\n              .forEach(pi -> permInfoList.add((PermissionInfo) pi));\n        } catch (RemoteException e) {\n          if (pm == null) {\n            throw e;\n          } else {\n            mUsePkgMgr = true;\n            return buildPermToOpMap(pm);\n          }\n        } catch (NoSuchMethodError e) {\n          if (mDaemon) {\n            throw e;\n          } else {\n            throw new HiddenAPIsException(e);\n          }\n        }\n      }\n    }\n\n    final StrIntMap permToOpMap = new StrIntMap();\n    final int OP_NONE = HiddenSdkIntConstants.OP_NONE.get(!mDaemon);\n\n    for (PermissionInfo permInfo : permInfoList) {\n      if (!permInfo.packageName.equals(\"android\")) {\n        continue;\n      }\n\n      try {\n        int opCode = HiddenAPIs.permToOpCode(permInfo.name);\n        if (opCode != OP_NONE) {\n          permToOpMap.map.put(permInfo.name, opCode);\n        }\n      } catch (NoSuchMethodError e) {\n        if (mDaemon) {\n          throw e;\n        } else {\n          throw new HiddenAPIsException(e);\n        }\n      }\n    }\n\n    return permToOpMap;\n  }\n\n  public List<MyPackageOps> getOpsForPkg(int uid, String pkgName, int[] ops)\n      throws RemoteException {\n    try {\n      return HiddenAPIs.INS.getOpsForPkg(uid, pkgName, ops, mAppOpsErrorCb);\n    } catch (NoSuchMethodError | SecurityException e) {\n      if (mDaemon) {\n        throw e;\n      } else {\n        throw new HiddenAPIsException(e);\n      }\n    }\n  }\n\n  private final AppOpsErrorCallbackImpl mAppOpsErrorCb = new AppOpsErrorCallbackImpl();\n\n  private class AppOpsErrorCallbackImpl implements HiddenAPIs.AppOpsErrorCallback {\n\n    private final RateLimitedTask mAppOpsImplErrSender =\n        new RateLimitedTask(\n            2, TimeUnit.MINUTES, () -> mCallback.showError(PrivTasksError.APP_OPS_IMPL));\n\n    private final RateLimitedTask mOpNumErrSender =\n        new RateLimitedTask(\n            2, TimeUnit.MINUTES, () -> mCallback.showError(PrivTasksError.OP_NUM_INCONSISTENCY));\n\n    private final RateLimitedTaskTyped<Exception> mNPELogger =\n        new RateLimitedTaskTyped<>(\n            1, TimeUnit.SECONDS, e -> mCallback.logErr(TAG, \"getOpsForPkg\", e));\n\n    private final RateLimiter mOpCodeLogLimiter = new RateLimiter(1, TimeUnit.SECONDS);\n\n    public void onGetUidOpsNpException(Exception e) {\n      getOpsWorks = false;\n      mNPELogger.run(e);\n      mAppOpsImplErrSender.run();\n    }\n\n    public void onInvalidOpCode(int opCode, String pkgName) {\n      opNumConsistent = false;\n      if (mOpCodeLogLimiter.can(true)) {\n        mCallback.logErr(TAG, \"getOpsForPkg\", \"Bad op: \" + opCode + \" for package: \" + pkgName);\n      }\n      mOpNumErrSender.run();\n    }\n  }\n\n  public interface AppPrivTasksCallback {\n\n    void logErr(String tag, String method, Throwable e);\n\n    void logErr(String tag, String method, String err);\n\n    void showError(int error);\n  }\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/Constants.java",
    "content": "package com.mirfatif.privtasks;\n\npublic class Constants {\n\n  private Constants() {}\n\n  public static final String EXTRA_CODE_WORD = \"com.mirfatif.privlib.extra.A\";\n  public static final String EXTRA_BINDER = \"com.mirfatif.privlib.extra.B\";\n  public static final String CMD_CODE_WORD = \"com.mirfatif.privlib.cmd.B\";\n\n  public static final String UNKNOWN_OP = \"UNKNOWN\";\n\n  public static final String PERM_GET_APP_OPS_STATS = \"android.permission.GET_APP_OPS_STATS\";\n\n  public static final String APP_OP_MODE_ALLOW = \"Allow\";\n  public static final String APP_OP_MODE_IGNORE = \"Ignore\";\n  public static final String APP_OP_MODE_DENY = \"Deny\";\n  public static final String APP_OP_MODE_DEFAULT = \"Default\";\n  public static final String APP_OP_MODE_FG = \"Foreground\";\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/HiddenSdkIntConstants.java",
    "content": "package com.mirfatif.privtasks;\n\nimport android.app.ActivityManager;\nimport android.app.AppOpsManager;\nimport android.content.pm.PackageManager;\nimport android.os.Build;\nimport com.mirfatif.err.HiddenAPIsException;\nimport com.mirfatif.privtasks.bind.PermFixedFlags;\nimport com.mirfatif.privtasks.hiddenapis.HiddenAPIs;\n\npublic enum HiddenSdkIntConstants {\n  _NUM_OP,\n  MODE_NAMES_SIZE,\n  OP_NONE,\n  OP_FLAGS_ALL,\n  OP_RUN_IN_BACKGROUND,\n  OP_RUN_ANY_IN_BACKGROUND,\n\n  FLAG_PERMISSION_SYSTEM_FIXED,\n  FLAG_PERMISSION_POLICY_FIXED,\n\n  START_SUCCESS;\n\n  private Integer value;\n\n  public int get() throws HiddenAPIsException {\n    return get(false);\n  }\n\n  public int get(boolean wrapHiddenSdkErrors) throws HiddenAPIsException {\n    if (value != null) {\n      return value;\n    }\n\n    try {\n      switch (this) {\n        case _NUM_OP -> {\n          if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {\n            value = HiddenAPIs.getNumOps();\n          } else {\n            value = getStaticIntField(\"_NUM_OP\", AppOpsManager.class);\n          }\n        }\n        case MODE_NAMES_SIZE -> value = HiddenAPIs.getOpModeNamesSize();\n        case OP_NONE -> value = getStaticIntField(\"OP_NONE\", AppOpsManager.class);\n        case OP_FLAGS_ALL -> {\n          if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {\n            value = getStaticIntField(\"OP_FLAGS_ALL\", AppOpsManager.class);\n          }\n        }\n        case OP_RUN_IN_BACKGROUND ->\n            value = getStaticIntField(\"OP_RUN_IN_BACKGROUND\", AppOpsManager.class);\n        case OP_RUN_ANY_IN_BACKGROUND ->\n            value = getStaticIntField(\"OP_RUN_ANY_IN_BACKGROUND\", AppOpsManager.class);\n        case FLAG_PERMISSION_SYSTEM_FIXED ->\n            value = getStaticIntField(\"FLAG_PERMISSION_SYSTEM_FIXED\", PackageManager.class);\n        case FLAG_PERMISSION_POLICY_FIXED ->\n            value = getStaticIntField(\"FLAG_PERMISSION_POLICY_FIXED\", PackageManager.class);\n        case START_SUCCESS -> value = getStaticIntField(\"START_SUCCESS\", ActivityManager.class);\n      }\n    } catch (NoSuchFieldError | NoSuchMethodError e) {\n      if (wrapHiddenSdkErrors) {\n        throw new HiddenAPIsException(e);\n      } else {\n        throw e;\n      }\n    }\n\n    if (value == null) {\n      throw new HiddenAPIsException(\"Bad get call\");\n    }\n\n    return value;\n  }\n\n  private static int getStaticIntField(String name, Class<?> cls) throws HiddenAPIsException {\n    try {\n      return cls.getDeclaredField(name).getInt(null);\n    } catch (IllegalAccessException | NoSuchFieldException e) {\n      throw new HiddenAPIsException(e);\n    }\n  }\n\n  public static PermFixedFlags getPermFixedFlags() throws HiddenAPIsException {\n    return new PermFixedFlags(\n        FLAG_PERMISSION_SYSTEM_FIXED.get(), FLAG_PERMISSION_POLICY_FIXED.get());\n  }\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/HiddenSdkStringConstants.java",
    "content": "package com.mirfatif.privtasks;\n\nimport android.companion.virtual.VirtualDeviceManager;\nimport com.mirfatif.err.HiddenAPIsException;\n\npublic enum HiddenSdkStringConstants {\n  PERSISTENT_DEVICE_ID_DEFAULT;\n\n  private String value;\n\n  public String get() throws HiddenAPIsException {\n    return get(false);\n  }\n\n  public String get(boolean wrapHiddenSdkErrors) throws HiddenAPIsException {\n    if (value != null) {\n      return value;\n    }\n\n    try {\n      if (this == HiddenSdkStringConstants.PERSISTENT_DEVICE_ID_DEFAULT) {\n        value = getStaticStringField(\"PERSISTENT_DEVICE_ID_DEFAULT\", VirtualDeviceManager.class);\n      }\n    } catch (NoSuchFieldError | NoSuchMethodError e) {\n      if (wrapHiddenSdkErrors) {\n        throw new HiddenAPIsException(e);\n      } else {\n        throw e;\n      }\n    }\n\n    if (value == null) {\n      throw new HiddenAPIsException(\"Bad get call\");\n    }\n\n    return value;\n  }\n\n  private static String getStaticStringField(String name, Class<?> cls) throws HiddenAPIsException {\n    try {\n      return (String) cls.getDeclaredField(name).get(null);\n    } catch (IllegalAccessException | NoSuchFieldException e) {\n      throw new HiddenAPIsException(e);\n    }\n  }\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/PrivTasksError.java",
    "content": "package com.mirfatif.privtasks;\n\nimport java.lang.annotation.Retention;\nimport java.lang.annotation.RetentionPolicy;\n\n@Retention(RetentionPolicy.SOURCE)\npublic @interface PrivTasksError {\n\n  int OP_NUM_INCONSISTENCY = 0;\n\n  int OP_MODE_INCONSISTENCY = 1;\n\n  int APP_OPS_IMPL = 2;\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/bind/AppOpsLists.java",
    "content": "package com.mirfatif.privtasks.bind;\n\nimport android.os.Parcel;\nimport android.os.Parcelable;\nimport com.mirfatif.privtasks.util.Util;\nimport java.util.List;\nimport java.util.Objects;\n\npublic class AppOpsLists implements Parcelable {\n\n  public final List<String> appOpsNames;\n\n  public final List<String> appOpsModes;\n\n  public final List<Integer> opDefModeList;\n\n  public final List<Integer> opSwitchList;\n\n  public final StrIntMap permToOpMap;\n\n  public AppOpsLists(\n      List<String> appOpsNames,\n      List<String> appOpsModes,\n      List<Integer> opDefModeList,\n      List<Integer> opSwitchList,\n      StrIntMap permToOpMap) {\n    this.appOpsNames = appOpsNames;\n    this.appOpsModes = appOpsModes;\n    this.opDefModeList = opDefModeList;\n    this.opSwitchList = opSwitchList;\n    this.permToOpMap = permToOpMap;\n  }\n\n  protected AppOpsLists(Parcel in) {\n    appOpsNames = Objects.requireNonNull(in.createStringArrayList());\n    appOpsModes = Objects.requireNonNull(in.createStringArrayList());\n    opDefModeList = Util.getList(in.createIntArray());\n    opSwitchList = Util.getList(in.createIntArray());\n    permToOpMap = Objects.requireNonNull(in.readTypedObject(StrIntMap.CREATOR));\n  }\n\n  public static final Creator<AppOpsLists> CREATOR =\n      new Creator<>() {\n        public AppOpsLists createFromParcel(Parcel in) {\n          return new AppOpsLists(in);\n        }\n\n        public AppOpsLists[] newArray(int size) {\n          return new AppOpsLists[size];\n        }\n      };\n\n  public int describeContents() {\n    return 0;\n  }\n\n  public void writeToParcel(Parcel dest, int flags) {\n    dest.writeStringList(appOpsNames);\n    dest.writeStringList(appOpsModes);\n    dest.writeIntArray(Util.getArray(opDefModeList));\n    dest.writeIntArray(Util.getArray(opSwitchList));\n    dest.writeTypedObject(permToOpMap, 0);\n  }\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/bind/DaemonState.java",
    "content": "package com.mirfatif.privtasks.bind;\n\nimport android.os.IBinder.DeathRecipient;\nimport android.os.Parcel;\nimport android.os.Parcelable;\nimport com.mirfatif.privtasks.iface.IPrivTasks;\n\npublic class DaemonState implements Parcelable {\n\n  public final int pid;\n\n  public final int uid;\n\n  public final String context;\n\n  public final int port;\n\n  public DaemonState(int pid, int uid, String context, int port) {\n    this.pid = pid;\n    this.uid = uid;\n    this.context = context;\n    this.port = port;\n  }\n\n  public IPrivTasks privTasks;\n  public DeathRecipient deathRecipient;\n\n  protected DaemonState(Parcel in) {\n    pid = in.readInt();\n    uid = in.readInt();\n    context = in.readString();\n    port = in.readInt();\n  }\n\n  public void writeToParcel(Parcel dest, int flags) {\n    dest.writeInt(pid);\n    dest.writeInt(uid);\n    dest.writeString(context);\n    dest.writeInt(port);\n  }\n\n  public int describeContents() {\n    return 0;\n  }\n\n  public static final Creator<DaemonState> CREATOR =\n      new Creator<>() {\n        public DaemonState createFromParcel(Parcel in) {\n          return new DaemonState(in);\n        }\n\n        public DaemonState[] newArray(int size) {\n          return new DaemonState[size];\n        }\n      };\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/bind/MyPackageInfo.java",
    "content": "package com.mirfatif.privtasks.bind;\n\nimport android.os.Parcel;\nimport android.os.Parcelable;\n\npublic class MyPackageInfo implements Parcelable {\n\n  public final String packageName;\n\n  public final int[] requestedPermissionsFlags;\n\n  public final int uid;\n\n  public final boolean enabled;\n\n  protected MyPackageInfo(Parcel in) {\n    packageName = in.readString();\n    requestedPermissionsFlags = in.createIntArray();\n    uid = in.readInt();\n    enabled = in.readByte() != 0;\n  }\n\n  public static final Creator<MyPackageInfo> CREATOR =\n      new Creator<>() {\n        public MyPackageInfo createFromParcel(Parcel in) {\n          return new MyPackageInfo(in);\n        }\n\n        public MyPackageInfo[] newArray(int size) {\n          return new MyPackageInfo[size];\n        }\n      };\n\n  public int describeContents() {\n    return 0;\n  }\n\n  public void writeToParcel(Parcel dest, int flags) {\n    dest.writeString(packageName);\n    dest.writeIntArray(requestedPermissionsFlags);\n    dest.writeInt(uid);\n    dest.writeByte((byte) (enabled ? 1 : 0));\n  }\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/bind/MyPackageOps.java",
    "content": "package com.mirfatif.privtasks.bind;\n\nimport android.os.Parcel;\nimport android.os.Parcelable;\nimport java.util.List;\nimport java.util.Objects;\n\npublic class MyPackageOps implements Parcelable {\n\n  public final String pkgName;\n  public final List<MyOpEntry> opEntryList;\n\n  public MyPackageOps(String pkgName, List<MyOpEntry> opEntryList) {\n    this.pkgName = pkgName;\n    this.opEntryList = opEntryList;\n  }\n\n  protected MyPackageOps(Parcel in) {\n    pkgName = in.readString();\n    opEntryList = Objects.requireNonNull(in.createTypedArrayList(MyOpEntry.CREATOR));\n  }\n\n  public void writeToParcel(Parcel dest, int flags) {\n    dest.writeString(pkgName);\n    dest.writeTypedList(opEntryList);\n  }\n\n  public int describeContents() {\n    return 0;\n  }\n\n  public static final Creator<MyPackageOps> CREATOR =\n      new Creator<>() {\n        public MyPackageOps createFromParcel(Parcel in) {\n          return new MyPackageOps(in);\n        }\n\n        public MyPackageOps[] newArray(int size) {\n          return new MyPackageOps[size];\n        }\n      };\n\n  public static class MyOpEntry implements Parcelable {\n\n    public int op;\n    public long lastAccessTime;\n    public int opMode;\n\n    public MyOpEntry() {}\n\n    protected MyOpEntry(Parcel in) {\n      op = in.readInt();\n      lastAccessTime = in.readLong();\n      opMode = in.readInt();\n    }\n\n    public void writeToParcel(Parcel dest, int flags) {\n      dest.writeInt(op);\n      dest.writeLong(lastAccessTime);\n      dest.writeInt(opMode);\n    }\n\n    public int describeContents() {\n      return 0;\n    }\n\n    public static final Creator<MyOpEntry> CREATOR =\n        new Creator<>() {\n          public MyOpEntry createFromParcel(Parcel in) {\n            return new MyOpEntry(in);\n          }\n\n          public MyOpEntry[] newArray(int size) {\n            return new MyOpEntry[size];\n          }\n        };\n  }\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/bind/PermFixedFlags.java",
    "content": "package com.mirfatif.privtasks.bind;\n\nimport android.os.Parcel;\nimport android.os.Parcelable;\n\npublic class PermFixedFlags implements Parcelable {\n\n  public final int systemFixed;\n\n  public final int policyFixed;\n\n  public PermFixedFlags(int systemFixed, int policyFixed) {\n    this.systemFixed = systemFixed;\n    this.policyFixed = policyFixed;\n  }\n\n  protected PermFixedFlags(Parcel in) {\n    systemFixed = in.readInt();\n    policyFixed = in.readInt();\n  }\n\n  public static final Creator<PermFixedFlags> CREATOR =\n      new Creator<>() {\n        public PermFixedFlags createFromParcel(Parcel in) {\n          return new PermFixedFlags(in);\n        }\n\n        public PermFixedFlags[] newArray(int size) {\n          return new PermFixedFlags[size];\n        }\n      };\n\n  public int describeContents() {\n    return 0;\n  }\n\n  public void writeToParcel(Parcel dest, int flags) {\n    dest.writeInt(systemFixed);\n    dest.writeInt(policyFixed);\n  }\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/bind/PrivsStatus.java",
    "content": "package com.mirfatif.privtasks.bind;\n\nimport android.os.Parcel;\nimport android.os.Parcelable;\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class PrivsStatus implements Parcelable {\n\n  public PrivsStatus() {}\n\n  public boolean opToDefModeWorks;\n\n  public boolean opToSwitchWorks;\n\n  public boolean opToNameWorks;\n\n  public boolean getOpsWorks;\n\n  public boolean opNumConsistent;\n\n  public boolean opModeConsistent;\n\n  public List<PermStatus> permStatusList = new ArrayList<>();\n\n  protected PrivsStatus(Parcel in) {\n    opToDefModeWorks = in.readInt() != 0;\n    opToSwitchWorks = in.readInt() != 0;\n    opToNameWorks = in.readInt() != 0;\n    getOpsWorks = in.readInt() != 0;\n    opNumConsistent = in.readInt() != 0;\n    opModeConsistent = in.readInt() != 0;\n    permStatusList = in.createTypedArrayList(PermStatus.CREATOR);\n  }\n\n  public void writeToParcel(Parcel dest, int flags) {\n    dest.writeInt(opToDefModeWorks ? 1 : 0);\n    dest.writeInt(opToSwitchWorks ? 1 : 0);\n    dest.writeInt(opToNameWorks ? 1 : 0);\n    dest.writeInt(getOpsWorks ? 1 : 0);\n    dest.writeInt(opNumConsistent ? 1 : 0);\n    dest.writeInt(opModeConsistent ? 1 : 0);\n    dest.writeTypedList(permStatusList);\n  }\n\n  public int describeContents() {\n    return 0;\n  }\n\n  public static final Creator<PrivsStatus> CREATOR =\n      new Creator<>() {\n        public PrivsStatus createFromParcel(Parcel in) {\n          return new PrivsStatus(in);\n        }\n\n        public PrivsStatus[] newArray(int size) {\n          return new PrivsStatus[size];\n        }\n      };\n\n  public static class PermStatus implements Parcelable {\n\n    public String name;\n    public boolean granted;\n\n    public PermStatus(String name, boolean granted) {\n      this.name = name;\n      this.granted = granted;\n    }\n\n    protected PermStatus(Parcel in) {\n      name = in.readString();\n      granted = in.readByte() != 0;\n    }\n\n    public void writeToParcel(Parcel dest, int flags) {\n      dest.writeString(name);\n      dest.writeByte((byte) (granted ? 1 : 0));\n    }\n\n    public int describeContents() {\n      return 0;\n    }\n\n    public static final Creator<PermStatus> CREATOR =\n        new Creator<>() {\n          public PermStatus createFromParcel(Parcel in) {\n            return new PermStatus(in);\n          }\n\n          public PermStatus[] newArray(int size) {\n            return new PermStatus[size];\n          }\n        };\n  }\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/bind/StrIntMap.java",
    "content": "package com.mirfatif.privtasks.bind;\n\nimport android.os.Parcel;\nimport android.os.Parcelable;\nimport android.util.ArrayMap;\n\npublic class StrIntMap implements Parcelable {\n\n  public final ArrayMap<String, Integer> map = new ArrayMap<>();\n\n  public StrIntMap() {}\n\n  protected StrIntMap(Parcel in) {\n    int size = in.readInt();\n    for (int i = 0; i < size; i++) {\n      map.put(in.readString(), in.readInt());\n    }\n  }\n\n  public void writeToParcel(Parcel dest, int flags) {\n    int size = map.size();\n    dest.writeInt(size);\n    for (int i = 0; i < size; i++) {\n      dest.writeString(map.keyAt(i));\n      dest.writeInt(map.valueAt(i));\n    }\n  }\n\n  public int describeContents() {\n    return 0;\n  }\n\n  public static final Creator<StrIntMap> CREATOR =\n      new Creator<>() {\n        public StrIntMap createFromParcel(Parcel in) {\n          return new StrIntMap(in);\n        }\n\n        public StrIntMap[] newArray(int size) {\n          return new StrIntMap[size];\n        }\n      };\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/hiddenapis/HiddenAPIs.java",
    "content": "package com.mirfatif.privtasks.hiddenapis;\n\nimport android.app.AppOpsManager;\nimport android.app.AppOpsManager.OpEntry;\nimport android.app.AppOpsManager.PackageOps;\nimport android.content.ComponentName;\nimport android.content.Intent;\nimport android.content.pm.ParceledListSlice;\nimport android.net.Uri;\nimport android.os.Build;\nimport android.os.Process;\nimport android.os.RemoteException;\nimport android.provider.Settings;\nimport com.mirfatif.err.HiddenAPIsException;\nimport com.mirfatif.privtasks.AppPrivTasks;\nimport com.mirfatif.privtasks.HiddenSdkIntConstants;\nimport com.mirfatif.privtasks.bind.MyPackageOps;\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic enum HiddenAPIs {\n  INS;\n\n  public static int getNumOps() {\n    return AppOpsManager.getNumOps();\n  }\n\n  public static int getOpModeNamesSize() {\n    return AppOpsManager.MODE_NAMES.length;\n  }\n\n  public static int opToDefaultMode(int opCode, boolean isLos) {\n    if (isLos) {\n      return AppOpsManager.opToDefaultMode(opCode, false);\n    } else {\n      return AppOpsManager.opToDefaultMode(opCode);\n    }\n  }\n\n  public static int opToSwitch(int opCode) {\n    return AppOpsManager.opToSwitch(opCode);\n  }\n\n  public static String opToName(int opCode) {\n    return AppOpsManager.opToName(opCode);\n  }\n\n  public static String modeToName(int opMode) {\n    return AppOpsManager.modeToName(opMode);\n  }\n\n  public static int permToOpCode(String permName) {\n    return AppOpsManager.permissionToOpCode(permName);\n  }\n\n  public void setAppOpMode(String pkgName, int uid, int op, int mode) throws RemoteException {\n    SysSvcFactory.INS.getIAppOpsSvc().setMode(op, uid, pkgName, mode);\n  }\n\n  public void setAppOpUidMode(int uid, int op, int mode) throws RemoteException {\n    SysSvcFactory.INS.getIAppOpsSvc().setUidMode(op, uid, mode);\n  }\n\n  public void resetAllModes(int userId, String pkgName) throws RemoteException {\n    SysSvcFactory.INS.getIAppOpsSvc().resetAllModes(userId, pkgName);\n  }\n\n  public List<MyPackageOps> getOpsForPkg(int uid, String pkgName, int[] ops, AppOpsErrorCallback cb)\n      throws RemoteException {\n    List<PackageOps> pkgOpsList = null;\n\n    if (pkgName != null) {\n      pkgOpsList = SysSvcFactory.INS.getIAppOpsSvc().getOpsForPackage(uid, pkgName, ops);\n    } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {\n      try {\n        pkgOpsList = SysSvcFactory.INS.getIAppOpsSvc().getUidOps(uid, ops);\n      } catch (NullPointerException e) {\n        cb.onGetUidOpsNpException(e);\n        return null;\n      }\n    }\n\n    List<MyPackageOps> myPkgOpsList = new ArrayList<>();\n\n    if (pkgOpsList == null) {\n      return myPkgOpsList;\n    }\n\n    for (PackageOps pkgOps : pkgOpsList) {\n      List<MyPackageOps.MyOpEntry> myOpEntryList = new ArrayList<>();\n\n      for (OpEntry opEntry : pkgOps.getOps()) {\n        MyPackageOps.MyOpEntry myOpEntry = new MyPackageOps.MyOpEntry();\n\n        myOpEntry.op = opEntry.getOp();\n\n        if (myOpEntry.op >= HiddenSdkIntConstants._NUM_OP.get()) {\n          cb.onInvalidOpCode(myOpEntry.op, pkgOps.getPackageName());\n          continue;\n        }\n\n        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {\n          myOpEntry.lastAccessTime =\n              opEntry.getLastAccessTime(HiddenSdkIntConstants.OP_FLAGS_ALL.get());\n        } else {\n          myOpEntry.lastAccessTime = opEntry.getTime();\n        }\n        myOpEntry.opMode = opEntry.getMode();\n\n        myOpEntryList.add(myOpEntry);\n      }\n\n      myPkgOpsList.add(new MyPackageOps(pkgOps.getPackageName(), myOpEntryList));\n    }\n\n    return myPkgOpsList;\n  }\n\n  public interface AppOpsErrorCallback {\n\n    void onGetUidOpsNpException(Exception e);\n\n    void onInvalidOpCode(int opCode, String pkgName);\n  }\n\n  public List<?> getPermGroupInfoList() throws RemoteException {\n    ParceledListSlice<?> pls;\n    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {\n      pls = SysSvcFactory.INS.getIPermMgr().getAllPermissionGroups(0);\n    } else {\n      pls = SysSvcFactory.INS.getIPkgMgr().getAllPermissionGroups(0);\n    }\n\n    return pls != null ? pls.getList() : new ArrayList<>();\n  }\n\n  public List<?> getPermInfoList(String permGroup) throws RemoteException {\n    ParceledListSlice<?> pls;\n    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {\n      pls = SysSvcFactory.INS.getIPermMgr().queryPermissionsByGroup(permGroup, 0);\n    } else {\n      pls = SysSvcFactory.INS.getIPkgMgr().queryPermissionsByGroup(permGroup, 0);\n    }\n    return pls != null ? pls.getList() : new ArrayList<>();\n  }\n\n  public int getPermFlags(\n      String permName, String pkgName, int userId, AppPrivTasks.AppPrivTasksCallback cb)\n      throws RemoteException {\n    return MidReleaseBrokenAPIsDelegate.INSTANCE.getPermFlags(permName, pkgName, userId, cb);\n  }\n\n  public void grantRuntimePermission(\n      String pkgName, String permName, int userId, AppPrivTasks.AppPrivTasksCallback cb)\n      throws RemoteException {\n    MidReleaseBrokenAPIsDelegate.INSTANCE.grantRuntimePermission(pkgName, permName, userId, cb);\n  }\n\n  public void revokeRuntimePermission(\n      String pkgName, String permName, int userId, AppPrivTasks.AppPrivTasksCallback cb)\n      throws RemoteException {\n    MidReleaseBrokenAPIsDelegate.INSTANCE.revokeRuntimePermission(pkgName, permName, userId, cb);\n  }\n\n  public int checkPermission(String perm, int pid, int uid) throws RemoteException {\n    return SysSvcFactory.INS.getIActMgr().checkPermission(perm, pid, uid);\n  }\n\n  public void setApplicationEnabledSetting(\n      String pkg, int state, int flags, int userId, String callingPkg) throws RemoteException {\n    try {\n      SysSvcFactory.INS\n          .getIPkgMgr()\n          .setApplicationEnabledSetting(pkg, state, flags, userId, callingPkg);\n    } catch (IllegalArgumentException e) {\n      throw new HiddenAPIsException(e);\n    }\n  }\n\n  public String[] getPackagesForUid(int uid) throws RemoteException {\n    return SysSvcFactory.INS.getIPkgMgr().getPackagesForUid(uid);\n  }\n\n  public void addPowerSaveWhitelistApp(String pkgName) throws RemoteException {\n    SysSvcFactory.INS.getIDevIdleController().addPowerSaveWhitelistApp(pkgName);\n  }\n\n  public int openAppInfo(String pkgName, int userId) throws RemoteException {\n    Intent intent =\n        new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)\n            .setData(Uri.parse(\"package:\" + pkgName))\n            .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);\n    return SysSvcFactory.INS\n        .getIActMgr()\n        .startActivityAsUser(null, null, intent, null, null, null, 0, 0, null, null, userId);\n  }\n\n  public void fireSvcIntent(Intent intent, String appId, String svcClass, int userId, boolean fg)\n      throws RemoteException {\n    ComponentName cn;\n    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {\n      cn = SysSvcFactory.INS.getIActMgr().startService(null, intent, null, fg, appId, null, userId);\n    } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {\n      cn = SysSvcFactory.INS.getIActMgr().startService(null, intent, null, fg, appId, userId);\n    } else {\n      cn = SysSvcFactory.INS.getIActMgr().startService(null, intent, null, appId, userId);\n    }\n\n    if (cn == null || !cn.getPackageName().equals(appId)) {\n      throw new HiddenAPIsException(\"Could not start \" + svcClass);\n    }\n  }\n\n  public static int[] getPidsForCommands(String[] commands) {\n    return Process.getPidsForCommands(commands);\n  }\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/hiddenapis/MidReleaseBrokenAPIsDelegate.kt",
    "content": "package com.mirfatif.privtasks.hiddenapis\n\nimport android.content.Context\nimport android.os.Build\nimport com.mirfatif.privtasks.AppPrivTasks\nimport com.mirfatif.privtasks.HiddenSdkStringConstants\n\nprivate const val TAG = \"MidA14A15BrokenAPIsDelegate\"\n\nobject MidReleaseBrokenAPIsDelegate {\n\n  fun <T> delegateMidA14A15(\n      cb: AppPrivTasks.AppPrivTasksCallback,\n      method: String,\n      preU: () -> T,\n      preU29: () -> T,\n      postU29: () -> T,\n      postU38: () -> T\n  ): T {\n    while (true) {\n      try {\n        return delegateMidA14A15(preU, preU29, postU29, postU38)\n      } catch (e: NoSuchMethodErrorCont) {\n        cb.logErr(TAG, method, e.msg)\n      }\n    }\n  }\n\n  fun getPermFlags(\n      permName: String,\n      pkgName: String,\n      userId: Int,\n      cb: AppPrivTasks.AppPrivTasksCallback\n  ): Int =\n      delegateMidA14A15(\n          cb,\n          \"getPermFlags\",\n          {\n            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {\n              SysSvcFactory.INS.iPermMgr.getPermissionFlags(pkgName, permName, userId)\n            } else if (Build.VERSION.SDK_INT == Build.VERSION_CODES.R) {\n              SysSvcFactory.INS.iPermMgr.getPermissionFlags(permName, pkgName, userId)\n            } else {\n              SysSvcFactory.INS.iPkgMgr.getPermissionFlags(permName, pkgName, userId)\n            }\n          },\n          { SysSvcFactory.INS.iPermMgr.getPermissionFlags(pkgName, permName, userId) },\n          {\n            SysSvcFactory.INS.iPermMgr.getPermissionFlags(\n                pkgName, permName, Context.DEVICE_ID_DEFAULT, userId)\n          },\n          {\n            SysSvcFactory.INS.iPermMgr.getPermissionFlags(\n                pkgName,\n                permName,\n                HiddenSdkStringConstants.PERSISTENT_DEVICE_ID_DEFAULT.get(),\n                userId)\n          })\n\n  fun grantRuntimePermission(\n      pkgName: String,\n      permName: String,\n      userId: Int,\n      cb: AppPrivTasks.AppPrivTasksCallback\n  ) =\n      delegateMidA14A15(\n          cb,\n          \"grantRuntimePermission\",\n          { SysSvcFactory.INS.iPkgMgr.grantRuntimePermission(pkgName, permName, userId) },\n          { SysSvcFactory.INS.iPermMgr.grantRuntimePermission(pkgName, permName, userId) },\n          {\n            SysSvcFactory.INS.iPermMgr.grantRuntimePermission(\n                pkgName, permName, Context.DEVICE_ID_DEFAULT, userId)\n          },\n          {\n            SysSvcFactory.INS.iPermMgr.grantRuntimePermission(\n                pkgName,\n                permName,\n                HiddenSdkStringConstants.PERSISTENT_DEVICE_ID_DEFAULT.get(),\n                userId)\n          })\n\n  fun revokeRuntimePermission(\n      pkgName: String,\n      permName: String,\n      userId: Int,\n      cb: AppPrivTasks.AppPrivTasksCallback\n  ) =\n      delegateMidA14A15(\n          cb,\n          \"revokeRuntimePermission\",\n          {\n            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {\n              SysSvcFactory.INS.iPermMgr.revokeRuntimePermission(pkgName, permName, userId, null)\n            } else {\n              SysSvcFactory.INS.iPkgMgr.revokeRuntimePermission(pkgName, permName, userId)\n            }\n          },\n          { SysSvcFactory.INS.iPermMgr.revokeRuntimePermission(pkgName, permName, userId, null) },\n          {\n            SysSvcFactory.INS.iPermMgr.revokeRuntimePermission(\n                pkgName, permName, Context.DEVICE_ID_DEFAULT, userId, null)\n          },\n          {\n            SysSvcFactory.INS.iPermMgr.revokeRuntimePermission(\n                pkgName,\n                permName,\n                HiddenSdkStringConstants.PERSISTENT_DEVICE_ID_DEFAULT.get(),\n                userId,\n                null)\n          })\n}\n\nprivate var isU29Plus: Boolean? = null\nprivate var isU38Plus: Boolean? = null\n\nclass NoSuchMethodErrorCont(val msg: String) : NoSuchMethodError()\n\nprivate fun <T> delegateMidA14A15(\n    preU: () -> T,\n    preU29: () -> T,\n    postU29: () -> T,\n    postU38: () -> T\n): T {\n  return if (Build.VERSION.SDK_INT > Build.VERSION_CODES.UPSIDE_DOWN_CAKE || isU38Plus == true) {\n    postU38()\n  } else if (Build.VERSION.SDK_INT == Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {\n    if (isU29Plus == true) {\n      if (isU38Plus == false) {\n        postU29()\n      } else {\n        try {\n          postU29().also { isU38Plus = false }\n        } catch (e: NoSuchMethodError) {\n          isU38Plus = true\n          throw NoSuchMethodErrorCont(e.toString())\n        }\n      }\n    } else if (isU29Plus == false) {\n      preU29()\n    } else {\n      try {\n        preU29().also { isU29Plus = false }\n      } catch (e: NoSuchMethodError) {\n        isU29Plus = true\n        throw NoSuchMethodErrorCont(e.toString())\n      }\n    }\n  } else {\n    preU()\n  }\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/hiddenapis/SysSvcFactory.java",
    "content": "package com.mirfatif.privtasks.hiddenapis;\n\nimport android.app.ActivityManagerNative;\nimport android.app.IActivityManager;\nimport android.content.Context;\nimport android.content.pm.IPackageManager;\nimport android.os.Build;\nimport android.os.IDeviceIdleController;\nimport android.os.ServiceManager;\nimport android.permission.IPermissionManager;\nimport com.android.internal.app.IAppOpsService;\nimport com.mirfatif.err.HiddenAPIsException;\n\nenum SysSvcFactory {\n  INS;\n\n  private IAppOpsService mIAppOpsSvc;\n\n  IAppOpsService getIAppOpsSvc() throws HiddenAPIsException {\n    try {\n      if (mIAppOpsSvc == null) {\n        mIAppOpsSvc =\n            IAppOpsService.Stub.asInterface(ServiceManager.getService(Context.APP_OPS_SERVICE));\n      }\n    } catch (NoSuchMethodError e) {\n      throw new HiddenAPIsException(e);\n    }\n\n    return mIAppOpsSvc;\n  }\n\n  private IPackageManager mPkgMgr;\n\n  IPackageManager getIPkgMgr() throws HiddenAPIsException {\n    try {\n      if (mPkgMgr == null) {\n        mPkgMgr = IPackageManager.Stub.asInterface(ServiceManager.getService(\"package\"));\n      }\n    } catch (NoSuchMethodError e) {\n      throw new HiddenAPIsException(e);\n    }\n\n    return mPkgMgr;\n  }\n\n  private IPermissionManager mIPermMgr;\n\n  IPermissionManager getIPermMgr() throws HiddenAPIsException {\n    try {\n      if (mIPermMgr == null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {\n        mIPermMgr = IPermissionManager.Stub.asInterface(ServiceManager.getService(\"permissionmgr\"));\n      }\n    } catch (NoSuchMethodError e) {\n      throw new HiddenAPIsException(e);\n    }\n\n    return mIPermMgr;\n  }\n\n  private IActivityManager mIActMgr;\n\n  IActivityManager getIActMgr() throws HiddenAPIsException {\n    try {\n      if (mIActMgr == null) {\n        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {\n          mIActMgr =\n              IActivityManager.Stub.asInterface(\n                  ServiceManager.getService(Context.ACTIVITY_SERVICE));\n        } else {\n          mIActMgr = ActivityManagerNative.getDefault();\n        }\n      }\n    } catch (NoSuchMethodError e) {\n      throw new HiddenAPIsException(e);\n    }\n\n    return mIActMgr;\n  }\n\n  private IDeviceIdleController mIDeviceIdleController;\n\n  IDeviceIdleController getIDevIdleController() throws HiddenAPIsException {\n    try {\n      if (mIDeviceIdleController == null) {\n        mIDeviceIdleController =\n            IDeviceIdleController.Stub.asInterface(\n                ServiceManager.getService(Context.DEVICE_IDLE_CONTROLLER));\n      }\n    } catch (NoSuchMethodError e) {\n      throw new HiddenAPIsException(e);\n    }\n\n    return mIDeviceIdleController;\n  }\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/iface/IPrivTasks.java",
    "content": "package com.mirfatif.privtasks.iface;\n\nimport android.os.Binder;\nimport android.os.IBinder;\nimport android.os.IInterface;\nimport android.os.Parcel;\nimport android.os.RemoteException;\nimport com.mirfatif.err.ContainerException;\nimport com.mirfatif.privtasks.bind.AppOpsLists;\nimport com.mirfatif.privtasks.bind.MyPackageOps;\nimport com.mirfatif.privtasks.bind.PermFixedFlags;\nimport com.mirfatif.privtasks.bind.PrivsStatus;\nimport java.util.List;\n\npublic interface IPrivTasks extends IInterface {\n\n  void sendStdErr(int port, String jniLibPath) throws RemoteException;\n\n  void hello(IBinder privTasksCb, String crashLogFile) throws RemoteException;\n\n  void setExitOnAppDeath(boolean exitOnAppDeath) throws RemoteException;\n\n  PrivsStatus getPrivsStatus() throws RemoteException;\n\n  boolean setDebug(IBinder logCb) throws RemoteException;\n\n  void dumpHeap(String dir) throws RemoteException;\n\n  void grantAppPrivileges(String pkgName, int uid) throws RemoteException;\n\n  void stopDaemon() throws RemoteException;\n\n  AppOpsLists getAppOpsLists() throws RemoteException;\n\n  PermFixedFlags getPermFixedFlags() throws RemoteException;\n\n  String[] getPackagesForUid(int uid) throws RemoteException;\n\n  List<MyPackageOps> getOpsForPackage(int uid, String pkgName, int[] ops) throws RemoteException;\n\n  int getPermFlags(String permName, String pkgName, int userId) throws RemoteException;\n\n  void setPermState(boolean grant, String pkgName, String permName, int userId)\n      throws RemoteException;\n\n  void setAppOpMode(int uid, String pkgName, int op, int mode) throws RemoteException;\n\n  void resetAppOps(int userId, String pkgName) throws RemoteException;\n\n  void setPkgState(boolean enable, String pkgName, int userId) throws RemoteException;\n\n  void openAppInfo(String pkgName, int userId) throws RemoteException;\n\n  abstract class Stub extends Binder implements IPrivTasks {\n\n    private static final String DESCRIPTOR = \"com.mirfatif.privtasks.iface.IPrivTasks\";\n\n    public Stub() {\n      attachInterface(this, DESCRIPTOR);\n    }\n\n    public IBinder asBinder() {\n      return this;\n    }\n\n    public boolean onTransact(int code, Parcel data, Parcel reply, int flags)\n        throws RemoteException {\n      if (code == INTERFACE_TRANSACTION) {\n        reply.writeString(DESCRIPTOR);\n      } else if (code == TRANSACTION_sendStdErr) {\n        sendStdErr(data, reply);\n      } else if (code == TRANSACTION_hello) {\n        hello(data, reply);\n      } else if (code == TRANSACTION_setExitOnAppDeath) {\n        setExitOnAppDeath(data, reply);\n      } else if (code == TRANSACTION_getPrivsStatus) {\n        getPrivsStatus(data, reply);\n      } else if (code == TRANSACTION_setDebug) {\n        setDebug(data, reply);\n      } else if (code == TRANSACTION_dumpHeap) {\n        dumpHeap(data, reply);\n      } else if (code == TRANSACTION_grantPrivileges) {\n        grantPrivileges(data, reply);\n      } else if (code == TRANSACTION_stopDaemon) {\n        stopDaemon(data, reply);\n      } else if (code == TRANSACTION_getAppOpsLists) {\n        getAppOpsLists(data, reply);\n      } else if (code == TRANSACTION_getPermFixedFlags) {\n        getPermFixedFlags(data, reply);\n      } else if (code == TRANSACTION_getPackagesForUid) {\n        getPackagesForUid(data, reply);\n      } else if (code == TRANSACTION_getOpsForPackage) {\n        getOpsForPackage(data, reply);\n      } else if (code == TRANSACTION_getPermFlags) {\n        getPermFlags(data, reply);\n      } else if (code == TRANSACTION_setPermState) {\n        setPermState(data, reply);\n      } else if (code == TRANSACTION_setAppOpMode) {\n        setAppOpMode(data, reply);\n      } else if (code == TRANSACTION_resetAppOps) {\n        resetAppOps(data, reply);\n      } else if (code == TRANSACTION_setPkgState) {\n        setPkgState(data, reply);\n      } else if (code == TRANSACTION_openAppInfo) {\n        openAppInfo(data, reply);\n      } else {\n        return super.onTransact(code, data, reply, flags);\n      }\n      return true;\n    }\n\n    public static IPrivTasks asInterface(IBinder iBinder) {\n      IInterface iin = iBinder.queryLocalInterface(DESCRIPTOR);\n      if (iin instanceof IPrivTasks) {\n        return (IPrivTasks) iin;\n      } else {\n        return new Proxy(iBinder);\n      }\n    }\n\n    private static final int TRANSACTION_sendStdErr = createTransactionCode();\n\n    private static void sendStdErr(int port, String jniLibPath, IBinder remote)\n        throws RemoteException {\n      Parcel data = obtainData(), reply = Parcel.obtain();\n\n      data.writeInt(port);\n      data.writeString(jniLibPath);\n\n      try {\n        remote.transact(TRANSACTION_sendStdErr, data, reply, 0);\n        readException(reply);\n      } finally {\n        recycle(data, reply);\n      }\n    }\n\n    private void sendStdErr(Parcel data, Parcel reply) {\n      initReply(data, reply);\n\n      int port = data.readInt();\n      String jniLibPath = data.readString();\n\n      try {\n        sendStdErr(port, jniLibPath);\n      } catch (Throwable t) {\n        writeException(reply, t);\n      }\n    }\n\n    private static final int TRANSACTION_hello = createTransactionCode();\n\n    private static void hello(IBinder privTasksCb, String crashLogFile, IBinder remote)\n        throws RemoteException {\n      Parcel data = obtainData(), reply = Parcel.obtain();\n\n      data.writeStrongBinder(privTasksCb);\n      data.writeString(crashLogFile);\n\n      try {\n        remote.transact(TRANSACTION_hello, data, reply, 0);\n        readException(reply);\n      } finally {\n        recycle(data, reply);\n      }\n    }\n\n    private void hello(Parcel data, Parcel reply) {\n      initReply(data, reply);\n\n      IBinder privTaskCb = data.readStrongBinder();\n      String crashLogFile = data.readString();\n\n      try {\n        hello(privTaskCb, crashLogFile);\n      } catch (Throwable t) {\n        writeException(reply, t);\n      }\n    }\n\n    private static final int TRANSACTION_setExitOnAppDeath = createTransactionCode();\n\n    private static void setExitOnAppDeath(boolean exitOnAppDeath, IBinder remote)\n        throws RemoteException {\n      Parcel data = obtainData(), reply = Parcel.obtain();\n\n      data.writeInt(exitOnAppDeath ? 1 : 0);\n\n      try {\n        remote.transact(TRANSACTION_setExitOnAppDeath, data, reply, 0);\n        readException(reply);\n      } finally {\n        recycle(data, reply);\n      }\n    }\n\n    private void setExitOnAppDeath(Parcel data, Parcel reply) {\n      initReply(data, reply);\n\n      boolean exitOnAppDeath = data.readInt() == 1;\n\n      try {\n        setExitOnAppDeath(exitOnAppDeath);\n      } catch (Throwable t) {\n        writeException(reply, t);\n      }\n    }\n\n    private static final int TRANSACTION_getPrivsStatus = createTransactionCode();\n\n    private static PrivsStatus getPrivsStatus(IBinder remote) throws RemoteException {\n      Parcel data = obtainData(), reply = Parcel.obtain();\n\n      try {\n        remote.transact(TRANSACTION_getPrivsStatus, data, reply, 0);\n        readException(reply);\n        return reply.readTypedObject(PrivsStatus.CREATOR);\n      } finally {\n        recycle(data, reply);\n      }\n    }\n\n    private void getPrivsStatus(Parcel data, Parcel reply) {\n      initReply(data, reply);\n\n      try {\n        reply.writeTypedObject(getPrivsStatus(), 0);\n      } catch (Throwable t) {\n        writeException(reply, t);\n      }\n    }\n\n    private static final int TRANSACTION_setDebug = createTransactionCode();\n\n    private static boolean setDebug(IBinder logCallback, IBinder remote) throws RemoteException {\n      Parcel data = obtainData(), reply = Parcel.obtain();\n\n      data.writeStrongBinder(logCallback);\n\n      try {\n        remote.transact(TRANSACTION_setDebug, data, reply, 0);\n        readException(reply);\n        return (reply.readInt() != 0);\n      } finally {\n        recycle(data, reply);\n      }\n    }\n\n    private void setDebug(Parcel data, Parcel reply) {\n      initReply(data, reply);\n\n      IBinder logCallback = data.readStrongBinder();\n\n      try {\n        boolean result = setDebug(logCallback);\n        reply.writeInt(result ? 1 : 0);\n      } catch (Throwable t) {\n        writeException(reply, t);\n      }\n    }\n\n    private static final int TRANSACTION_dumpHeap = createTransactionCode();\n\n    private static void dumpHeap(String dir, IBinder remote) throws RemoteException {\n      Parcel data = obtainData(), reply = Parcel.obtain();\n\n      data.writeString(dir);\n\n      try {\n        remote.transact(TRANSACTION_dumpHeap, data, reply, 0);\n        readException(reply);\n      } finally {\n        recycle(data, reply);\n      }\n    }\n\n    private void dumpHeap(Parcel data, Parcel reply) {\n      initReply(data, reply);\n\n      String dir = data.readString();\n\n      try {\n        dumpHeap(dir);\n      } catch (Throwable t) {\n        writeException(reply, t);\n      }\n    }\n\n    private static final int TRANSACTION_grantPrivileges = createTransactionCode();\n\n    private static void grantPrivileges(String pkgName, int uid, IBinder remote)\n        throws RemoteException {\n      Parcel data = obtainData(), reply = Parcel.obtain();\n\n      data.writeString(pkgName);\n      data.writeInt(uid);\n\n      try {\n        remote.transact(TRANSACTION_grantPrivileges, data, reply, 0);\n        readException(reply);\n      } finally {\n        recycle(data, reply);\n      }\n    }\n\n    private void grantPrivileges(Parcel data, Parcel reply) {\n      initReply(data, reply);\n\n      String pkgName = data.readString();\n      int uid = data.readInt();\n\n      try {\n        grantAppPrivileges(pkgName, uid);\n      } catch (Throwable t) {\n        writeException(reply, t);\n      }\n    }\n\n    private static final int TRANSACTION_stopDaemon = createTransactionCode();\n\n    private static void stopDaemon(IBinder remote) throws RemoteException {\n      Parcel data = obtainData(), reply = Parcel.obtain();\n\n      try {\n        remote.transact(TRANSACTION_stopDaemon, data, reply, 0);\n        readException(reply);\n      } finally {\n        recycle(data, reply);\n      }\n    }\n\n    private void stopDaemon(Parcel data, Parcel reply) {\n      initReply(data, reply);\n\n      try {\n        stopDaemon();\n      } catch (Throwable t) {\n        writeException(reply, t);\n      }\n    }\n\n    private static final int TRANSACTION_getAppOpsLists = createTransactionCode();\n\n    private static AppOpsLists getAppOpsLists(IBinder remote) throws RemoteException {\n      Parcel data = obtainData(), reply = Parcel.obtain();\n\n      try {\n        remote.transact(TRANSACTION_getAppOpsLists, data, reply, 0);\n        readException(reply);\n        return reply.readTypedObject(AppOpsLists.CREATOR);\n      } finally {\n        recycle(data, reply);\n      }\n    }\n\n    private void getAppOpsLists(Parcel data, Parcel reply) {\n      initReply(data, reply);\n\n      try {\n        reply.writeTypedObject(getAppOpsLists(), 0);\n      } catch (Throwable t) {\n        writeException(reply, t);\n      }\n    }\n\n    private static final int TRANSACTION_getPermFixedFlags = createTransactionCode();\n\n    private static PermFixedFlags getPermFixedFlags(IBinder remote) throws RemoteException {\n      Parcel data = obtainData(), reply = Parcel.obtain();\n\n      try {\n        remote.transact(TRANSACTION_getPermFixedFlags, data, reply, 0);\n        readException(reply);\n        return reply.readTypedObject(PermFixedFlags.CREATOR);\n      } finally {\n        recycle(data, reply);\n      }\n    }\n\n    private void getPermFixedFlags(Parcel data, Parcel reply) {\n      initReply(data, reply);\n\n      try {\n        reply.writeTypedObject(getPermFixedFlags(), 0);\n      } catch (Throwable t) {\n        writeException(reply, t);\n      }\n    }\n\n    private static final int TRANSACTION_getPackagesForUid = createTransactionCode();\n\n    private static String[] getPackagesForUid(int uid, IBinder remote) throws RemoteException {\n      Parcel data = obtainData(), reply = Parcel.obtain();\n\n      data.writeInt(uid);\n\n      try {\n        remote.transact(TRANSACTION_getPackagesForUid, data, reply, 0);\n        readException(reply);\n        return reply.createStringArray();\n      } finally {\n        recycle(data, reply);\n      }\n    }\n\n    private void getPackagesForUid(Parcel data, Parcel reply) {\n      initReply(data, reply);\n\n      int uid = data.readInt();\n\n      try {\n        reply.writeStringArray(this.getPackagesForUid(uid));\n      } catch (Throwable t) {\n        writeException(reply, t);\n      }\n    }\n\n    private static final int TRANSACTION_getOpsForPackage = createTransactionCode();\n\n    private static List<MyPackageOps> getOpsForPackage(\n        int uid, String pkgName, int[] ops, IBinder remote) throws RemoteException {\n      Parcel data = obtainData(), reply = Parcel.obtain();\n\n      data.writeInt(uid);\n      data.writeString(pkgName);\n      data.writeIntArray(ops);\n\n      try {\n        remote.transact(TRANSACTION_getOpsForPackage, data, reply, 0);\n        readException(reply);\n        return reply.createTypedArrayList(MyPackageOps.CREATOR);\n      } finally {\n        recycle(data, reply);\n      }\n    }\n\n    private void getOpsForPackage(Parcel data, Parcel reply) {\n      initReply(data, reply);\n\n      int uid = data.readInt();\n      String pkgName = data.readString();\n      int[] ops = data.createIntArray();\n\n      try {\n        reply.writeTypedList(getOpsForPackage(uid, pkgName, ops));\n      } catch (Throwable t) {\n        writeException(reply, t);\n      }\n    }\n\n    private static final int TRANSACTION_getPermFlags = createTransactionCode();\n\n    private static int getPermFlags(String permName, String pkgName, int userId, IBinder remote)\n        throws RemoteException {\n      Parcel data = obtainData(), reply = Parcel.obtain();\n\n      data.writeString(permName);\n      data.writeString(pkgName);\n      data.writeInt(userId);\n\n      try {\n        remote.transact(TRANSACTION_getPermFlags, data, reply, 0);\n        readException(reply);\n        return reply.readInt();\n      } finally {\n        recycle(data, reply);\n      }\n    }\n\n    private void getPermFlags(Parcel data, Parcel reply) {\n      initReply(data, reply);\n\n      String permName = data.readString();\n      String pkgName = data.readString();\n      int userId = data.readInt();\n\n      try {\n        reply.writeInt(getPermFlags(permName, pkgName, userId));\n      } catch (Throwable t) {\n        writeException(reply, t);\n      }\n    }\n\n    private static final int TRANSACTION_setPermState = createTransactionCode();\n\n    private static void setPermState(\n        boolean grant, String pkgName, String permName, int userId, IBinder remote)\n        throws RemoteException {\n      Parcel data = obtainData(), reply = Parcel.obtain();\n\n      data.writeInt(grant ? 1 : 0);\n      data.writeString(pkgName);\n      data.writeString(permName);\n      data.writeInt(userId);\n\n      try {\n        remote.transact(TRANSACTION_setPermState, data, reply, 0);\n        readException(reply);\n      } finally {\n        recycle(data, reply);\n      }\n    }\n\n    private void setPermState(Parcel data, Parcel reply) {\n      initReply(data, reply);\n\n      boolean grant = data.readInt() != 0;\n      String pkgName = data.readString();\n      String permName = data.readString();\n      int userId = data.readInt();\n\n      try {\n        setPermState(grant, pkgName, permName, userId);\n      } catch (Throwable t) {\n        writeException(reply, t);\n      }\n    }\n\n    private static final int TRANSACTION_setAppOpMode = createTransactionCode();\n\n    private static void setAppOpMode(int uid, String pkgName, int op, int mode, IBinder remote)\n        throws RemoteException {\n      Parcel data = obtainData(), reply = Parcel.obtain();\n\n      data.writeInt(uid);\n      data.writeString(pkgName);\n      data.writeInt(op);\n      data.writeInt(mode);\n\n      try {\n        remote.transact(TRANSACTION_setAppOpMode, data, reply, 0);\n        readException(reply);\n      } finally {\n        recycle(data, reply);\n      }\n    }\n\n    private void setAppOpMode(Parcel data, Parcel reply) {\n      initReply(data, reply);\n\n      int uid = data.readInt();\n      String pkgName = data.readString();\n      int op = data.readInt();\n      int mode = data.readInt();\n\n      try {\n        setAppOpMode(uid, pkgName, op, mode);\n      } catch (Throwable t) {\n        writeException(reply, t);\n      }\n    }\n\n    private static final int TRANSACTION_resetAppOps = createTransactionCode();\n\n    private static void resetAppOps(int userId, String pkgName, IBinder remote)\n        throws RemoteException {\n      Parcel data = obtainData(), reply = Parcel.obtain();\n\n      data.writeInt(userId);\n      data.writeString(pkgName);\n\n      try {\n        remote.transact(TRANSACTION_resetAppOps, data, reply, 0);\n        readException(reply);\n      } finally {\n        recycle(data, reply);\n      }\n    }\n\n    private void resetAppOps(Parcel data, Parcel reply) {\n      initReply(data, reply);\n\n      int userId = data.readInt();\n      String pkgName = data.readString();\n\n      try {\n        resetAppOps(userId, pkgName);\n      } catch (Throwable t) {\n        writeException(reply, t);\n      }\n    }\n\n    private static final int TRANSACTION_setPkgState = createTransactionCode();\n\n    private static void setPkgState(boolean enable, String pkgName, int userId, IBinder remote)\n        throws RemoteException {\n      Parcel data = obtainData(), reply = Parcel.obtain();\n\n      data.writeInt(enable ? 1 : 0);\n      data.writeString(pkgName);\n      data.writeInt(userId);\n\n      try {\n        remote.transact(TRANSACTION_setPkgState, data, reply, 0);\n        readException(reply);\n      } finally {\n        recycle(data, reply);\n      }\n    }\n\n    private void setPkgState(Parcel data, Parcel reply) {\n      initReply(data, reply);\n\n      boolean enable = data.readInt() != 0;\n      String pkgName = data.readString();\n      int userId = data.readInt();\n\n      try {\n        setPkgState(enable, pkgName, userId);\n      } catch (Throwable t) {\n        writeException(reply, t);\n      }\n    }\n\n    private static final int TRANSACTION_openAppInfo = createTransactionCode();\n\n    private static void openAppInfo(String pkgName, int userId, IBinder remote)\n        throws RemoteException {\n      Parcel data = obtainData(), reply = Parcel.obtain();\n\n      data.writeString(pkgName);\n      data.writeInt(userId);\n\n      try {\n        remote.transact(TRANSACTION_openAppInfo, data, reply, 0);\n        readException(reply);\n      } finally {\n        recycle(data, reply);\n      }\n    }\n\n    private void openAppInfo(Parcel data, Parcel reply) {\n      initReply(data, reply);\n\n      String pkgName = data.readString();\n      int userId = data.readInt();\n\n      try {\n        openAppInfo(pkgName, userId);\n      } catch (Throwable t) {\n        writeException(reply, t);\n      }\n    }\n\n    private static int CODE = 0;\n\n    private static int createTransactionCode() {\n      return FIRST_CALL_TRANSACTION + CODE++;\n    }\n\n    private static Parcel obtainData() {\n      Parcel data = Parcel.obtain();\n      data.writeInterfaceToken(DESCRIPTOR);\n      return data;\n    }\n\n    private static void recycle(Parcel data, Parcel reply) {\n      data.recycle();\n      reply.recycle();\n    }\n\n    private static void initReply(Parcel data, Parcel reply) {\n      data.enforceInterface(DESCRIPTOR);\n      reply.writeInt(NO_ERROR);\n    }\n\n    public static final int NO_ERROR = 0;\n    public static final int ERROR = 1;\n\n    public static void writeException(Parcel reply, Throwable t) {\n      reply.setDataSize(0);\n      reply.setDataPosition(0);\n\n      reply.writeInt(ERROR);\n      reply.writeString(ContainerException.toStackTrace(t));\n    }\n\n    public static void readException(Parcel reply) throws RemoteException {\n      if (reply.readInt() == ERROR) {\n        throw new ContainerException(reply.readString());\n      }\n    }\n\n    private static class Proxy implements IPrivTasks {\n\n      private final IBinder mRemote;\n\n      private Proxy(IBinder remote) {\n        mRemote = remote;\n      }\n\n      public IBinder asBinder() {\n        return mRemote;\n      }\n\n      public void sendStdErr(int port, String jniLibPath) throws RemoteException {\n        Stub.sendStdErr(port, jniLibPath, mRemote);\n      }\n\n      public void hello(IBinder privTasksCb, String crashLogFile) throws RemoteException {\n        Stub.hello(privTasksCb, crashLogFile, mRemote);\n      }\n\n      public void setExitOnAppDeath(boolean exitOnAppDeath) throws RemoteException {\n        Stub.setExitOnAppDeath(exitOnAppDeath, mRemote);\n      }\n\n      public PrivsStatus getPrivsStatus() throws RemoteException {\n        return Stub.getPrivsStatus(mRemote);\n      }\n\n      public boolean setDebug(IBinder logCallback) throws RemoteException {\n        return Stub.setDebug(logCallback, mRemote);\n      }\n\n      public void dumpHeap(String dir) throws RemoteException {\n        Stub.dumpHeap(dir, mRemote);\n      }\n\n      public void grantAppPrivileges(String pkgName, int uid) throws RemoteException {\n        Stub.grantPrivileges(pkgName, uid, mRemote);\n      }\n\n      public void stopDaemon() throws RemoteException {\n        Stub.stopDaemon(mRemote);\n      }\n\n      public AppOpsLists getAppOpsLists() throws RemoteException {\n        return Stub.getAppOpsLists(mRemote);\n      }\n\n      public PermFixedFlags getPermFixedFlags() throws RemoteException {\n        return Stub.getPermFixedFlags(mRemote);\n      }\n\n      public String[] getPackagesForUid(int uid) throws RemoteException {\n        return Stub.getPackagesForUid(uid, mRemote);\n      }\n\n      public List<MyPackageOps> getOpsForPackage(int uid, String pkgName, int[] ops)\n          throws RemoteException {\n        return Stub.getOpsForPackage(uid, pkgName, ops, mRemote);\n      }\n\n      public int getPermFlags(String permName, String pkgName, int userId) throws RemoteException {\n        return Stub.getPermFlags(permName, pkgName, userId, mRemote);\n      }\n\n      public void setPermState(boolean grant, String pkgName, String permName, int userId)\n          throws RemoteException {\n        Stub.setPermState(grant, pkgName, permName, userId, mRemote);\n      }\n\n      public void setAppOpMode(int uid, String pkgName, int op, int mode) throws RemoteException {\n        Stub.setAppOpMode(uid, pkgName, op, mode, mRemote);\n      }\n\n      public void resetAppOps(int userId, String pkgName) throws RemoteException {\n        Stub.resetAppOps(userId, pkgName, mRemote);\n      }\n\n      public void setPkgState(boolean enable, String pkgName, int userId) throws RemoteException {\n        Stub.setPkgState(enable, pkgName, userId, mRemote);\n      }\n\n      public void openAppInfo(String pkgName, int userId) throws RemoteException {\n        Stub.openAppInfo(pkgName, userId, mRemote);\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/util/CloseableReadWriteLock.java",
    "content": "package com.mirfatif.privtasks.util;\n\nimport com.mirfatif.privtasks.util.bg.RunnableWithResult;\nimport java.util.concurrent.locks.ReentrantReadWriteLock;\n\npublic class CloseableReadWriteLock extends ReentrantReadWriteLock {\n\n  public void withWriteLock(Runnable task) {\n    super.writeLock().lock();\n    try {\n      task.run();\n    } finally {\n      super.writeLock().unlock();\n    }\n  }\n\n  public <T> T withReadLock(RunnableWithResult<T> task) {\n    super.readLock().lock();\n    try {\n      return task.run();\n    } finally {\n      super.readLock().unlock();\n    }\n  }\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/util/LogUtil.java",
    "content": "package com.mirfatif.privtasks.util;\n\nimport android.os.Build;\nimport com.mirfatif.privtasks.util.bg.SingleTaskExecutor;\nimport java.io.File;\nimport java.io.FileWriter;\nimport java.io.IOException;\nimport java.io.PrintWriter;\nimport java.util.UUID;\n\npublic class LogUtil {\n\n  private static final String TAG = \"LogUtil\";\n\n  private LogUtil() {}\n\n  public static void writeCrashLog(\n      File logFile, String appState, String stackTrace, boolean isDaemon) throws IOException {\n    PrintWriter writer = new PrintWriter(new FileWriter(logFile, true));\n    writer.println(\"=================================\");\n    writer.println(appState);\n    writer.println(\"Time: \" + Util.getCurrDateTime(true, true));\n    writer.println(\"Component: \" + (isDaemon ? \"Daemon\" : \"App\"));\n    writer.println(\"Log ID: \" + UUID.randomUUID().toString());\n    writer.println(\"=================================\");\n    writer.println(stackTrace);\n    writer.close();\n  }\n\n  public static SingleTaskExecutor readLogcat(LogCallback callback) {\n    String pid = String.valueOf(android.os.Process.myPid());\n    String[] cmd = new String[] {\"logcat\", \"--pid\", pid};\n    Process p = Util.runProc(TAG, \"doLogging\", true, cmd);\n    if (p == null) {\n      return null;\n    }\n    SingleTaskExecutor executor =\n        new SingleTaskExecutor(\n            () -> readLogcatStream(p, callback, String.join(\" \", cmd)), \"LogCat-Reader-PID-\" + pid);\n    executor.submit();\n    return executor;\n  }\n\n  private static void readLogcatStream(Process process, LogCallback callback, String cmd) {\n    NonBlockingReader reader = new NonBlockingReader(process.getInputStream());\n    String line;\n    try {\n      while ((line = reader.readLine(process, 0)) != null) {\n        if (!callback.onNewLine(line)) {\n          break;\n        }\n      }\n    } catch (IOException e) {\n      MyLog.e(TAG, \"readLogcatStream\", e);\n    } catch (InterruptedException e) {\n      MyLog.i(TAG, \"readLogcatStream\", \"Interrupted: [\" + cmd + \"]\");\n    }\n\n    callback.onNewLine(null);\n\n    try {\n      process.getInputStream().close();\n    } catch (Throwable ignored) {\n    }\n\n    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {\n      process.destroyForcibly();\n    } else {\n      process.destroy();\n    }\n  }\n\n  public interface LogCallback {\n\n    boolean onNewLine(String line);\n  }\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/util/MyLog.java",
    "content": "package com.mirfatif.privtasks.util;\n\nimport android.util.Log;\n\npublic class MyLog {\n\n  private MyLog() {}\n\n  private static String makeMsg(String method, String msg) {\n    return (method == null ? \"\" : method + \"(): \") + msg;\n  }\n\n  public static void e(String tag, String method, Throwable e) {\n    e(tag, method, e.toString(), e);\n  }\n\n  public static void e(String tag, String method, String msg, Throwable e) {\n    Log.e(tag, makeMsg(method, msg), e);\n    e.printStackTrace(System.err);\n  }\n\n  public static void e(String tag, String method, String err) {\n    err = makeMsg(method, err);\n    Log.e(tag, err);\n    System.err.println(tag + \": \" + err);\n  }\n\n  public static void w(String tag, String method, String msg) {\n    Log.w(tag, makeMsg(method, msg));\n  }\n\n  public static void i(String tag, String method, String msg) {\n    Log.i(tag, makeMsg(method, msg));\n  }\n\n  public static void d(String tag, String method, String msg) {\n    Log.d(tag, makeMsg(method, msg));\n  }\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/util/NonBlockingReader.java",
    "content": "package com.mirfatif.privtasks.util;\n\nimport static java.lang.System.currentTimeMillis;\n\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.io.InputStreamReader;\nimport java.util.Queue;\nimport java.util.concurrent.ConcurrentLinkedQueue;\n\npublic class NonBlockingReader extends InputStreamReader {\n\n  private static final String TAG = \"NonBlockingReader\";\n\n  public NonBlockingReader(InputStream inputStream) {\n    super(inputStream);\n  }\n\n  private final char[] mBuffer = new char[8192];\n  private final Queue<String> mLines = new ConcurrentLinkedQueue<>();\n  private final StringBuilder mLine = new StringBuilder();\n\n  public String readLine(long msTimeout) throws IOException, InterruptedException {\n    synchronized (this) {\n      return readLine(null, msTimeout);\n    }\n  }\n\n  public String readLine(Process process, long msTimeout) throws IOException, InterruptedException {\n    synchronized (this) {\n      long ts = Long.MAX_VALUE, sleep;\n      if (msTimeout > 0) {\n        ts = currentTimeMillis() + msTimeout;\n      }\n\n      while ((ts - currentTimeMillis()) > 0) {\n        if (!mLines.isEmpty()) {\n          return mLines.poll();\n        }\n\n        if (Thread.interrupted()) {\n          throw new InterruptedException();\n        }\n\n        while (!ready() && (sleep = ts - currentTimeMillis()) > 0) {\n          this.wait(Math.min(sleep, 500));\n\n          if (process != null) {\n            try {\n              MyLog.e(TAG, \"readLine\", \"Process exited with code: \" + process.exitValue());\n              break;\n            } catch (IllegalThreadStateException ignored) {\n            }\n          }\n        }\n\n        if (!ready()) {\n          break;\n        }\n\n        int len = read(mBuffer);\n        if (len == -1) {\n          break;\n        }\n\n        for (int i = 0; i < len; i++) {\n          char c = mBuffer[i];\n          if (c == '\\n') {\n            mLines.add(mLine.toString());\n            mLine.setLength(0);\n          } else {\n            mLine.append(c);\n          }\n        }\n      }\n      return null;\n    }\n  }\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/util/Util.java",
    "content": "package com.mirfatif.privtasks.util;\n\nimport android.content.pm.PackageInfo;\nimport android.content.pm.PackageManager;\nimport android.content.pm.Signature;\nimport android.os.Build;\nimport java.io.BufferedReader;\nimport java.io.FileReader;\nimport java.io.IOException;\nimport java.text.SimpleDateFormat;\nimport java.util.Arrays;\nimport java.util.List;\nimport java.util.Locale;\nimport java.util.TimeZone;\nimport java.util.stream.Collectors;\n\npublic class Util {\n\n  private Util() {}\n\n  public static Process runProc(String tag, String method, boolean redirectStdErr, String... cmd) {\n    ProcessBuilder processBuilder = new ProcessBuilder(cmd);\n    processBuilder.redirectErrorStream(redirectStdErr);\n\n    MyLog.i(tag, method, \"Executing: \" + Arrays.toString(cmd));\n    try {\n      return processBuilder.start();\n    } catch (IOException e) {\n      MyLog.e(tag, method, e);\n      return null;\n    }\n  }\n\n  public static String getCurrDateTime(boolean spaced, boolean utc) {\n    String pattern = spaced ? \"dd-MMM-yy HH:mm:ss\" : \"dd-MMM-yy_HH-mm-ss\";\n    SimpleDateFormat sdf = new SimpleDateFormat(pattern, Locale.ENGLISH);\n    if (utc) {\n      sdf.setTimeZone(TimeZone.getTimeZone(\"UTC\"));\n    }\n    return sdf.format(System.currentTimeMillis());\n  }\n\n  public static String readNullTermFile(String path) {\n    try (BufferedReader reader = new BufferedReader(new FileReader(path))) {\n      String line = reader.readLine();\n      return line == null ? null : line.replaceAll(\"\\0\", \" \").trim();\n    } catch (IOException ignored) {\n      return null;\n    }\n  }\n\n  public static int[] getArray(List<Integer> list) {\n    return list.parallelStream().mapToInt(Integer::intValue).toArray();\n  }\n\n  public static List<Integer> getList(int[] array) {\n    return Arrays.stream(array).boxed().collect(Collectors.toList());\n  }\n\n  public static final int PM_GET_SIGNATURES = buildPmSignFlag();\n\n  private static int buildPmSignFlag() {\n    return Build.VERSION.SDK_INT >= Build.VERSION_CODES.P\n        ? PackageManager.GET_SIGNING_CERTIFICATES\n        : PackageManager.GET_SIGNATURES;\n  }\n\n  public static Signature[] getPackageSignatures(PackageInfo pkgInfo) {\n    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {\n      return pkgInfo.signingInfo == null\n          ? new Signature[0]\n          : pkgInfo.signingInfo.getApkContentsSigners();\n    } else {\n      return pkgInfo.signatures;\n    }\n  }\n\n  public static boolean isFwkPkg(PackageInfo packageInfo, List<Integer> systemSignatures) {\n    for (Signature signature : getPackageSignatures(packageInfo)) {\n      if (systemSignatures.contains(signature.hashCode())) {\n        return true;\n      }\n    }\n    return false;\n  }\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/util/bg/BgRunner.java",
    "content": "package com.mirfatif.privtasks.util.bg;\n\nimport java.util.concurrent.Callable;\nimport java.util.concurrent.ExecutorService;\nimport java.util.concurrent.Executors;\nimport java.util.concurrent.Future;\n\npublic class BgRunner {\n\n  private static final ExecutorService BG_EXECUTOR =\n      Executors.newCachedThreadPool(ThreadUtils::createDaemonThread);\n\n  public static void execute(Runnable task) {\n    BG_EXECUTOR.execute(task);\n  }\n\n  public static <T> Future<T> submit(Callable<T> task) {\n    return BG_EXECUTOR.submit(task);\n  }\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/util/bg/MinDelayTaskExecutor.java",
    "content": "package com.mirfatif.privtasks.util.bg;\n\nimport java.util.concurrent.TimeUnit;\n\npublic class MinDelayTaskExecutor {\n\n  private final RateLimiter mRateLimiter;\n  private final SingleSchedTaskExecutor mE;\n\n  public MinDelayTaskExecutor(Runnable task, long delay, TimeUnit unit, String threadName) {\n    mRateLimiter = new RateLimiter(delay, unit);\n    mE = new SingleSchedTaskExecutor(() -> run(task), threadName);\n  }\n\n  public void runOrSchedule(boolean cancel) {\n    synchronized (this) {\n      if (!mE.isAlive() || (!cancel && mE.hasRunningOrPendingTasks())) {\n        return;\n      }\n\n      if (cancel) {\n        mE.cancel(true);\n      }\n\n      runNow(mRateLimiter.getRemainingMillis());\n    }\n  }\n\n  public void cancelAndRunNow() {\n    synchronized (this) {\n      if (mE.isAlive()) {\n        mE.cancel(true);\n        runNow(0);\n      }\n    }\n  }\n\n  private void runNow(long delay) {\n    mE.scheduleIfIdle(delay > 0 ? delay : 0, TimeUnit.MILLISECONDS);\n  }\n\n  public void shutdownNow() {\n    mE.shutdownNow();\n  }\n\n  public boolean isAlive() {\n    return mE.isAlive();\n  }\n\n  private void run(Runnable task) {\n    task.run();\n    mRateLimiter.setTs();\n  }\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/util/bg/NotifyWaiter.java",
    "content": "package com.mirfatif.privtasks.util.bg;\n\nimport static java.lang.System.currentTimeMillis;\n\nimport java.util.concurrent.TimeUnit;\nimport java.util.concurrent.atomic.AtomicBoolean;\n\npublic class NotifyWaiter {\n\n  private final AtomicBoolean WAITER = new AtomicBoolean(false);\n  private final long mTimeout;\n  private final Condition mCondition;\n\n  public NotifyWaiter() {\n    this(null);\n  }\n\n  public NotifyWaiter(long timeout, TimeUnit unit) {\n    mTimeout = unit.toMillis(Math.max(0, timeout));\n    mCondition = null;\n  }\n\n  public NotifyWaiter(Condition condition) {\n    mTimeout = 0;\n    mCondition = condition;\n  }\n\n  public void waitForNotifyNoThrow() {\n    waitForNotifyNoThrow(mCondition);\n  }\n\n  public void waitForNotifyNoThrow(Condition condition) {\n    try {\n      waitForNotify(true, condition);\n    } catch (InterruptedException ignored) {\n    }\n  }\n\n  public void waitForNotify() throws InterruptedException {\n    waitForNotify(mCondition);\n  }\n\n  public void waitForNotify(Condition condition) throws InterruptedException {\n    waitForNotify(false, condition);\n  }\n\n  private void waitForNotify(boolean noThrow, Condition condition) throws InterruptedException {\n    long ts = currentTimeMillis() + mTimeout, sleep = 0;\n\n    try {\n      synchronized (WAITER) {\n        while (condition != null ? condition.shouldWait() : !WAITER.get()) {\n          if (mTimeout > 0 && (sleep = ts - currentTimeMillis()) <= 0) {\n            break;\n          }\n\n          try {\n            WAITER.wait(sleep);\n          } catch (InterruptedException e) {\n            if (!noThrow) {\n              throw e;\n            }\n          }\n        }\n      }\n    } finally {\n      WAITER.set(false);\n    }\n  }\n\n  public void notify(boolean all) {\n    synchronized (WAITER) {\n      WAITER.set(true);\n\n      if (all) {\n        WAITER.notifyAll();\n      } else {\n        WAITER.notify();\n      }\n    }\n  }\n\n  public interface Condition {\n\n    boolean shouldWait();\n  }\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/util/bg/RateLimitedTask.java",
    "content": "package com.mirfatif.privtasks.util.bg;\n\nimport java.util.concurrent.TimeUnit;\n\npublic class RateLimitedTask {\n\n  private final RateLimiter mRateLimiter;\n  private final Runnable mTask;\n\n  public RateLimitedTask(long minDelay, TimeUnit unit, Runnable task) {\n    mRateLimiter = new RateLimiter(minDelay, unit);\n    mTask = () -> RateLimitedTask.this.run(task);\n  }\n\n  public void run() {\n    run(false);\n  }\n\n  public void run(boolean force) {\n    run(force, false);\n  }\n\n  private boolean mRunning = false;\n\n  public synchronized void run(boolean force, boolean inBg) {\n    if (force || mRateLimiter.can() && !mRunning) {\n      mRunning = true;\n\n      if (inBg) {\n        BgRunner.execute(mTask);\n      } else {\n        mTask.run();\n      }\n    }\n  }\n\n  private void run(Runnable task) {\n    task.run();\n    mRateLimiter.setTs();\n    mRunning = false;\n  }\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/util/bg/RateLimitedTaskTyped.java",
    "content": "package com.mirfatif.privtasks.util.bg;\n\nimport java.util.concurrent.TimeUnit;\n\npublic class RateLimitedTaskTyped<T> {\n\n  private final RateLimiter mRateLimiter;\n  private final RunnableWithParam<T> mTask;\n\n  public RateLimitedTaskTyped(long minDelay, TimeUnit unit, RunnableWithParam<T> task) {\n    mRateLimiter = new RateLimiter(minDelay, unit);\n    mTask = task;\n  }\n\n  public void run(T param) {\n    run(param, false);\n  }\n\n  public synchronized void run(T param, boolean force) {\n    if (force || mRateLimiter.can()) {\n      mTask.run(param);\n      mRateLimiter.setTs();\n    }\n  }\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/util/bg/RateLimiter.java",
    "content": "package com.mirfatif.privtasks.util.bg;\n\nimport java.util.concurrent.TimeUnit;\n\npublic class RateLimiter {\n\n  private final long mMinDelay;\n  private long mTs;\n\n  public RateLimiter(long minDelay, TimeUnit unit) {\n    mMinDelay = unit.toMillis(minDelay);\n  }\n\n  public long getRemainingMillis() {\n    return mTs + mMinDelay - System.currentTimeMillis();\n  }\n\n  public boolean can() {\n    return can(false);\n  }\n\n  public boolean can(boolean setTs) {\n    if (getRemainingMillis() <= 0) {\n      if (setTs) {\n        setTs();\n      }\n      return true;\n    }\n    return false;\n  }\n\n  public void setTs() {\n    mTs = System.currentTimeMillis();\n  }\n\n  public void waitUntilCanNoThrow(boolean setTs) {\n    try {\n      waitUntilCan(setTs);\n    } catch (InterruptedException ignored) {\n    }\n  }\n\n  public void waitUntilCan(boolean setTs) throws InterruptedException {\n    long sleep = getRemainingMillis();\n    if (sleep > 0) {\n      Thread.sleep(sleep);\n    }\n    if (setTs) {\n      setTs();\n    }\n  }\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/util/bg/RunnableWithParam.java",
    "content": "package com.mirfatif.privtasks.util.bg;\n\npublic interface RunnableWithParam<T> {\n\n  void run(T param);\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/util/bg/RunnableWithResult.java",
    "content": "package com.mirfatif.privtasks.util.bg;\n\npublic interface RunnableWithResult<T> {\n\n  T run();\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/util/bg/SingleParamTask.java",
    "content": "package com.mirfatif.privtasks.util.bg;\n\nimport java.util.concurrent.ConcurrentLinkedQueue;\n\npublic class SingleParamTask<T> {\n\n  private final ConcurrentLinkedQueue<T> mParam = new ConcurrentLinkedQueue<>();\n  private final RunnableWithParam<T> mTask;\n  private final SingleTaskExecutor mE;\n\n  public SingleParamTask(RunnableWithParam<T> task, String threadName) {\n    mTask = task;\n    mE = new SingleTaskExecutor(this::runPendingParams, threadName);\n  }\n\n  private void runPendingParams() {\n    T param;\n    while ((param = mParam.poll()) != null) {\n      mTask.run(param);\n    }\n  }\n\n  private void enqueueParam(T param) {\n    mParam.add(param);\n    if (!hasRunningOrPendingTasks()) {\n      mE.submit();\n    }\n  }\n\n  public synchronized void submitIfIdle(T param) {\n    if (mE.isAlive() && !hasRunningOrPendingTasks() && mParam.isEmpty()) {\n      enqueueParam(param);\n    }\n  }\n\n  public synchronized void cancelAndSubmit(T param, boolean interrupt) {\n    if (mE.isAlive()) {\n      cancel(interrupt);\n      enqueueParam(param);\n    }\n  }\n\n  public void cancel(boolean interrupt) {\n    mParam.clear();\n    mE.cancel(interrupt);\n  }\n\n  public synchronized void shutdownNow() {\n    mE.shutdownNow();\n  }\n\n  public boolean hasRunningOrPendingTasks() {\n    return mE.hasRunningOrPendingTasks();\n  }\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/util/bg/SingleSchedTaskExecutor.java",
    "content": "package com.mirfatif.privtasks.util.bg;\n\nimport static java.util.concurrent.TimeUnit.MILLISECONDS;\nimport static java.util.concurrent.TimeUnit.NANOSECONDS;\n\nimport java.util.PriorityQueue;\nimport java.util.Queue;\nimport java.util.concurrent.Delayed;\nimport java.util.concurrent.TimeUnit;\nimport java.util.concurrent.atomic.AtomicLong;\n\npublic class SingleSchedTaskExecutor extends SingleTaskExecutorAbstract {\n\n  private final PriorityQueue<DelayedRunnable> mQ = new PriorityQueue<>();\n\n  private final DelayedRunnable mTask;\n\n  public SingleSchedTaskExecutor(Runnable task, String threadName) {\n    this(task, false, threadName);\n  }\n\n  private SingleSchedTaskExecutor(Runnable task, boolean oneshot, String threadName) {\n    super(threadName);\n    mTask = new DelayedRunnable(oneshot ? () -> runAndShutdown(task) : task);\n    start();\n  }\n\n  private void runAndShutdown(Runnable task) {\n    task.run();\n    shutdownNow();\n  }\n\n  protected Runnable poll() {\n    DelayedRunnable task = mQ.peek();\n    return (task == null || task.getDelay(MILLISECONDS) > 0) ? null : mQ.poll();\n  }\n\n  protected long getTimeoutMillis() {\n    DelayedRunnable task = mQ.peek();\n    return task == null ? 0 : task.getDelay(MILLISECONDS);\n  }\n\n  protected Queue<?> getQueue() {\n    return mQ;\n  }\n\n  public void schedule(long delay, TimeUnit unit) {\n    synchronized (mAlive) {\n      if (mAlive.get()) {\n        addTask(mTask.setTime(unit, delay), mQ);\n      }\n    }\n  }\n\n  public void scheduleIfIdle(long delay, TimeUnit unit) {\n    if (!hasRunningOrPendingTasks()) {\n      schedule(delay, unit);\n    }\n  }\n\n  public void cancelAndSchedule(boolean interrupt, long delay, TimeUnit unit) {\n    synchronized (mAlive) {\n      if (mAlive.get()) {\n        cancelAndAddTask(interrupt, mTask.setTime(unit, delay), mQ);\n      }\n    }\n  }\n\n  public static void schedule(Runnable task, long delay, TimeUnit unit, String name) {\n    new SingleSchedTaskExecutor(task, true, name).schedule(delay, unit);\n  }\n\n  private static class DelayedRunnable implements Runnable, Delayed {\n\n    private final Runnable task;\n\n    public DelayedRunnable(Runnable task) {\n      this.task = task;\n    }\n\n    public void run() {\n      task.run();\n    }\n\n    private final AtomicLong ts = new AtomicLong();\n\n    private DelayedRunnable setTime(TimeUnit unit, long delay) {\n      ts.set(System.nanoTime() + unit.toNanos(Math.max(0, delay)));\n      return this;\n    }\n\n    public int compareTo(Delayed other) {\n      if (other == this) {\n        return 0;\n      }\n\n      long diff = getDelay(NANOSECONDS) - other.getDelay(NANOSECONDS);\n      return diff < 0 ? -1 : diff > 0 ? 1 : 0;\n    }\n\n    public long getDelay(TimeUnit unit) {\n      return unit.convert(ts.get() - System.nanoTime(), NANOSECONDS);\n    }\n  }\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/util/bg/SingleTaskExecutor.java",
    "content": "package com.mirfatif.privtasks.util.bg;\n\nimport java.util.Queue;\nimport java.util.concurrent.ConcurrentLinkedQueue;\n\npublic class SingleTaskExecutor extends SingleTaskExecutorAbstract {\n\n  protected final ConcurrentLinkedQueue<Runnable> mQ = new ConcurrentLinkedQueue<>();\n\n  private final Runnable mTask;\n\n  public SingleTaskExecutor(Runnable task, String threadName) {\n    this(task, threadName, -1);\n  }\n\n  public SingleTaskExecutor(Runnable task, String threadName, int threadPriority) {\n    super(threadName, threadPriority);\n    mTask = task;\n    start();\n  }\n\n  protected Runnable poll() {\n    return mQ.poll();\n  }\n\n  protected long getTimeoutMillis() {\n    return 0;\n  }\n\n  protected Queue<?> getQueue() {\n    return mQ;\n  }\n\n  public void submit() {\n    synchronized (mAlive) {\n      if (mAlive.get()) {\n        addTask(mTask, mQ);\n      }\n    }\n  }\n\n  public void cancelAndSubmit(boolean interrupt) {\n    synchronized (mAlive) {\n      if (mAlive.get()) {\n        cancelAndAddTask(interrupt, mTask, mQ);\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/util/bg/SingleTaskExecutorAbstract.java",
    "content": "package com.mirfatif.privtasks.util.bg;\n\nimport java.util.Queue;\nimport java.util.concurrent.atomic.AtomicBoolean;\n\npublic abstract class SingleTaskExecutorAbstract {\n\n  protected final Thread mThread;\n\n  protected SingleTaskExecutorAbstract(String threadName) {\n    this(threadName, -1);\n  }\n\n  protected SingleTaskExecutorAbstract(String threadName, int threadPriority) {\n    mThread =\n        threadName != null ? new Thread(this::runLoop, threadName) : new Thread(this::runLoop);\n    mThread.setDaemon(true);\n    if (threadPriority >= Thread.MIN_PRIORITY && threadPriority <= Thread.MAX_PRIORITY) {\n      mThread.setPriority(threadPriority);\n    }\n  }\n\n  protected void start() {\n    mThread.start();\n  }\n\n  protected void finalize() {\n    shutdownNow();\n  }\n\n  protected abstract Runnable poll();\n\n  protected abstract long getTimeoutMillis();\n\n  protected abstract Queue<?> getQueue();\n\n  protected final AtomicBoolean mAlive = new AtomicBoolean(true);\n\n  private final AtomicBoolean mRunning = new AtomicBoolean(false);\n\n  private void runLoop() {\n    Runnable task;\n    long timeout;\n\n    while (mAlive.get()) {\n      synchronized (mRunning) {\n        while ((task = poll()) == null) {\n          if (!mAlive.get()) {\n            return;\n          }\n\n          timeout = getTimeoutMillis();\n          if (timeout < 0) {\n            continue;\n          }\n\n          try {\n            mRunning.wait(timeout);\n          } catch (InterruptedException ignored) {\n          }\n        }\n\n        mRunning.set(true);\n      }\n\n      task.run();\n\n      synchronized (mRunning) {\n        clearInterrupt();\n        mRunning.set(false);\n      }\n    }\n  }\n\n  private static void clearInterrupt() {\n    Thread.interrupted();\n  }\n\n  private void clearQueue(boolean interrupt) {\n    getQueue().clear();\n    if (interrupt) {\n      synchronized (mRunning) {\n        if (mRunning.get()) {\n          mThread.interrupt();\n        }\n      }\n    }\n  }\n\n  protected <T> void cancelAndAddTask(boolean interrupt, T task, Queue<T> queue) {\n    clearQueue(interrupt);\n    addTask(task, queue);\n  }\n\n  protected <T> void addTask(T task, Queue<T> queue) {\n    synchronized (mRunning) {\n      queue.add(task);\n      mRunning.notifyAll();\n    }\n  }\n\n  public boolean isAlive() {\n    return mAlive.get();\n  }\n\n  public boolean hasPendingTasks() {\n    return !getQueue().isEmpty();\n  }\n\n  public boolean hasRunningOrPendingTasks() {\n    return mRunning.get() || hasPendingTasks();\n  }\n\n  public void cancel(boolean interrupt) {\n    synchronized (mAlive) {\n      if (mAlive.get()) {\n        clearQueue(interrupt);\n      }\n    }\n  }\n\n  public void shutdownNow() {\n    synchronized (mAlive) {\n      mAlive.set(false);\n      getQueue().clear();\n      mThread.interrupt();\n    }\n  }\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/util/bg/SingleTaskExecutorTyped.java",
    "content": "package com.mirfatif.privtasks.util.bg;\n\npublic class SingleTaskExecutorTyped<T> extends SingleTaskExecutor {\n\n  private final RunnableWithResult<T> mTask;\n  private final Runnable mTaskWrapper;\n  private final T mDefValue;\n\n  public SingleTaskExecutorTyped(\n      RunnableWithResult<T> typedTask, T def, String threadName, int threadPriority) {\n    super(typedTask::run, threadName, threadPriority);\n    mTask = typedTask;\n    mTaskWrapper = SingleTaskExecutorTyped.this::runTask;\n    mDefValue = def;\n  }\n\n  public T cancelSubmitGet(boolean interrupt) {\n    synchronized (mAlive) {\n      if (mAlive.get()) {\n        cancelAndAddTask(interrupt, mTaskWrapper, mQ);\n      } else {\n        return mDefValue;\n      }\n\n      return getResult();\n    }\n  }\n\n  private final NotifyWaiter mDone = new NotifyWaiter();\n  private volatile T mResult;\n\n  private void runTask() {\n    T res = mDefValue;\n    try {\n      res = mTask.run();\n    } finally {\n      mResult = res;\n      mDone.notify(false);\n    }\n  }\n\n  private T getResult() {\n    try {\n      mDone.waitForNotify();\n      return mResult;\n    } catch (InterruptedException e) {\n      return mDefValue;\n    } finally {\n      mResult = null;\n    }\n  }\n}\n"
  },
  {
    "path": "priv_library/src/main/java/com/mirfatif/privtasks/util/bg/ThreadUtils.java",
    "content": "package com.mirfatif.privtasks.util.bg;\n\nimport android.os.Looper;\nimport java.util.concurrent.Executors;\n\npublic class ThreadUtils {\n\n  private ThreadUtils() {}\n\n  public static boolean isMainThread() {\n    Looper looper = Looper.getMainLooper();\n    if (looper == null) {\n      return false;\n    }\n    return Thread.currentThread() == looper.getThread();\n  }\n\n  public static void assertNotMainThread() {\n    if (isMainThread()) {\n      throw new RuntimeException(\"Must not be called on main thread\");\n    }\n  }\n\n  public static Thread createDaemonThread(Runnable r) {\n    Thread thread = Executors.defaultThreadFactory().newThread(r);\n    thread.setDaemon(true);\n    return thread;\n  }\n}\n"
  },
  {
    "path": "privacy_policy.html",
    "content": "<!DOCTYPE html>\n\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\" />\n    <meta name=\"author\" content=\"Irfan Latif\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n\n    <title>PMX Privacy Policy</title>\n\n    <meta http-equiv=\"refresh\" content=\"0; url='PRIVACY.html'\">\n</head>\n\n<body>\n    <p>Redirecting to <a href=\"PRIVACY.html\">PRIVACY.html/</a></p>\n</body>\n\n</html>"
  },
  {
    "path": "settings.gradle.kts",
    "content": "@Suppress(\"UnstableApiUsage\")\ndependencyResolutionManagement {\n  repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)\n\n  repositories {\n    mavenLocal()\n    mavenCentral()\n    google()\n    gradlePluginPortal()\n    maven { url = uri(\"https://jitpack.io\") } // For libadb-android\n  }\n}\n\ninclude(\":hidden_apis\")\n\ninclude(\":priv_library\")\n\ninclude(\":priv_daemon\")\n\ninclude(\":app\")\n"
  }
]