Functions of this interface are as follows:

No root required function View app components (activities, services, receivers, and providers)
Start exported activities
Root required function Disable/freeze app components


Table of Contents

  1. App Information
    1. App Flag
  2. App Components
    1. Activities
    2. Services
    3. Receivers
    4. Providers

App Information

App Flag

System App FLAG_SYSTEM. If checked, this application is installed in the device’s system image.
Updated FLAG_UPDATED_SYSTEM_APP. If checked, this application has been installed as an update to a built-in system application.
Stopped FLAG_STOPPED, if checked, this application’s package is in the stopped state.
Suspended FLAG_SUSPENDED, if checked, this application’s package is in the suspended state.


To go into detail about flag, please visit this link.

Flags associated with the application are any combination of FLAG_SYSTEM, FLAG_DEBUGGABLE, FLAG_HAS_CODE, FLAG_PERSISTENT, FLAG_FACTORY_TEST, and FLAG_ALLOW_TASK_REPARENTING FLAG_ALLOW_CLEAR_USER_DATA, FLAG_UPDATED_SYSTEM_APP, FLAG_TEST_ONLY, FLAG_SUPPORTS_SMALL_SCREENS, FLAG_SUPPORTS_NORMAL_SCREENS, FLAG_SUPPORTS_LARGE_SCREENS, FLAG_SUPPORTS_XLARGE_SCREENS, FLAG_RESIZEABLE_FOR_SCREENS, FLAG_SUPPORTS_SCREEN_DENSITIES, FLAG_VM_SAFE_MODE, FLAG_ALLOW_BACKUP, FLAG_KILL_AFTER_RESTORE, FLAG_RESTORE_ANY_VERSION, FLAG_EXTERNAL_STORAGE, FLAG_LARGE_HEAP, FLAG_STOPPED, FLAG_SUPPORTS_RTL, FLAG_INSTALLED, FLAG_IS_DATA_ONLY, FLAG_IS_GAME, FLAG_FULL_BACKUP_ONLY, FLAG_USES_CLEARTEXT_TRAFFIC, FLAG_MULTIARCH.

App Components

WARNING:

Disabling particular apps/comonents may cause they to misbehave or lose data, and even break your phone. Use at your own risk!


  Exported (app icon is chromatic) Non-Exported (app icon is faded)
Enabled
Disabled
Component Status


Exported means whether the activity can be launched by components of other applications — “true” if it can be, and “false” if not. If “false”, the activity can be launched only by components of the same application or applications with the same user ID.

To see more, please visit developers documents.

Activities

An activity is the entry point for interacting with the user. It represents a single screen with a user interface. For example, an email app might have one activity that shows a list of new emails, another activity to compose an email, and another activity for reading emails. Although the activities work together to form a cohesive user experience in the email app, each one is independent of the others. As such, a different app can start any one of these activities if the email app allows it. For example, a camera app can start the activity in the email app that composes new mail to allow the user to share a picture.

Services

A service is a general-purpose entry point for keeping an app running in the background for all kinds of reasons. It is a component that runs in the background to perform long-running operations or to perform work for remote processes. A service does not provide a user interface. For example, a service might play music in the background while the user is in a different app, or it might fetch data over the network without blocking user interaction with an activity. Another component, such as an activity, can start the service and let it run or bind to it in order to interact with it. There are actually two very distinct semantics services tell the system about how to manage an app: Started services tell the system to keep them running until their work is completed. This could be to sync some data in the background or play music even after the user leaves the app.

Receivers

A broadcast receiver is a component that enables the system to deliver events to the app outside of a regular user flow, allowing the app to respond to system-wide broadcast announcements. Because broadcast receivers are another well-defined entry into the app, the system can deliver broadcasts even to apps that aren’t currently running. So, for example, an app can schedule an alarm to post a notification to tell the user about an upcoming event… and by delivering that alarm to a BroadcastReceiver of the app, there is no need for the app to remain running until the alarm goes off. Many broadcasts originate from the system—for example, a broadcast announcing that the screen has turned off, the battery is low, or a picture was captured.

Providers

A content provider manages a shared set of app data that you can store in the file system, in a SQLite database, on the web, or on any other persistent storage location that your app can access. Through the content provider, other apps can query or modify the data if the content provider allows it. For example, the Android system provides a content provider that manages the user’s contact information. As such, any app with the proper permissions can query the content provider, such as ContactsContract.Data, to read and write information about a particular person. It is tempting to think of a content provider as an abstraction on a database, because there is a lot of API and support built in to them for that common case. However, they have a different core purpose from a system-design perspective. To the system, a content provider is an entry point into an app for publishing named data items, identified by a URI scheme. Thus an app can decide how it wants to map the data it contains to a URI namespace, handing out those URIs to other entities which can in turn use them to access the data.