# Print output for @column tags ?>
public
abstract
class
PackageChangeReceiver
extends BroadcastReceiver
java.lang.Object | ||
↳ | android.content.BroadcastReceiver | |
↳ | android.telephony.PackageChangeReceiver |
Helper class for monitoring the state of packages: adding, removing, updating, and disappearing and reappearing on the SD card.
Public constructors | |
---|---|
PackageChangeReceiver()
|
Public methods | |
---|---|
void
|
onHandleForceStop(String[] packages, boolean doit)
This method is invoked when receive the Intent.ACTION_QUERY_PACKAGE_RESTART and Intent.ACTION_PACKAGE_RESTARTED |
void
|
onPackageAdded(String packageName)
This method is invoked when receive the Intent.ACTION_PACKAGE_ADDED |
void
|
onPackageAppeared()
This method is invoked when receive the Intent.ACTION_PACKAGE_ADDED |
void
|
onPackageDisappeared()
This method is invoked when receive the Intent.ACTION_PACKAGE_REMOVED |
void
|
onPackageModified(String packageName)
This method is invoked when receive the Intent.ACTION_PACKAGE_CHANGED or Intent.EXTRA_REPLACING as extra field is true |
void
|
onPackageRemoved(String packageName)
This method is invoked when receive the Intent.ACTION_PACKAGE_REMOVED |
void
|
onPackageUpdateFinished(String packageName)
This method is invoked when Intent.EXTRA_REPLACING as extra field is true |
void
|
onReceive(Context context, Intent intent)
This method is called when the BroadcastReceiver is receiving an Intent broadcast. |
void
|
register(Context context, Looper thread, UserHandle user)
To register the intents that needed for monitoring the state of packages. |
void
|
unregister()
To unregister the intents for monitoring the state of packages |
Inherited methods | |
---|---|
public PackageChangeReceiver ()
public void onHandleForceStop (String[] packages, boolean doit)
This method is invoked when receive the Intent.ACTION_QUERY_PACKAGE_RESTART and Intent.ACTION_PACKAGE_RESTARTED
Parameters | |
---|---|
packages |
String : This value may be null . |
doit |
boolean |
public void onPackageAdded (String packageName)
This method is invoked when receive the Intent.ACTION_PACKAGE_ADDED
Parameters | |
---|---|
packageName |
String : This value may be null . |
public void onPackageAppeared ()
This method is invoked when receive the Intent.ACTION_PACKAGE_ADDED
public void onPackageDisappeared ()
This method is invoked when receive the Intent.ACTION_PACKAGE_REMOVED
public void onPackageModified (String packageName)
This method is invoked when receive the Intent.ACTION_PACKAGE_CHANGED or Intent.EXTRA_REPLACING as extra field is true
Parameters | |
---|---|
packageName |
String : This value may be null . |
public void onPackageRemoved (String packageName)
This method is invoked when receive the Intent.ACTION_PACKAGE_REMOVED
Parameters | |
---|---|
packageName |
String : This value may be null . |
public void onPackageUpdateFinished (String packageName)
This method is invoked when Intent.EXTRA_REPLACING as extra field is true
Parameters | |
---|---|
packageName |
String : This value may be null . |
public void onReceive (Context context, Intent intent)
This method is called when the BroadcastReceiver is receiving an Intent
broadcast. During this time you can use the other methods on
BroadcastReceiver to view/modify the current result values. This method
is always called within the main thread of its process, unless you
explicitly asked for it to be scheduled on a different thread using
Context.registerReceiver(BroadcastReceiver, IntentFilter, String, android.os.Handler)
. When it runs on the main
thread you should
never perform long-running operations in it (there is a timeout of
10 seconds that the system allows before considering the receiver to
be blocked and a candidate to be killed). You cannot launch a popup dialog
in your implementation of onReceive().
If this BroadcastReceiver was launched through a <receiver> tag,
then the object is no longer alive after returning from this
function. This means you should not perform any operations that
return a result to you asynchronously. If you need to perform any follow up
background work, schedule a JobService
with
JobScheduler
.
If you wish to interact with a service that is already running and previously
bound using bindService()
,
you can use peekService(Context, Intent)
.
The Intent filters used in Context.registerReceiver(BroadcastReceiver, IntentFilter)
and in application manifests are not guaranteed to be exclusive. They
are hints to the operating system about how to find suitable recipients. It is
possible for senders to force delivery to specific recipients, bypassing filter
resolution. For this reason, onReceive()
implementations should respond only to known actions, ignoring any unexpected
Intents that they may receive.
Parameters | |
---|---|
context |
Context : This value may be null . |
intent |
Intent : This value may be null . |
public void register (Context context, Looper thread, UserHandle user)
To register the intents that needed for monitoring the state of packages. Once this method
has been called on an instance of PackageChangeReceiver
, all subsequent calls must
have the same user
argument.
Parameters | |
---|---|
context |
Context : This value cannot be null . |
thread |
Looper : This value may be null . |
user |
UserHandle : This value may be null . |
public void unregister ()
To unregister the intents for monitoring the state of packages