|
Build 1.0_r1(from source) | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectandroid.content.Context
android.content.ContextWrapper
public class ContextWrapper
Proxying implementation of Context that simply delegates all of its calls to another Context. Can be subclassed to modify behavior without changing the original Context.
| Field Summary | |
|---|---|
(package private) Context |
mBase
|
| Constructor Summary | |
|---|---|
ContextWrapper(Context base)
|
|
| Method Summary | |
|---|---|
protected void |
attachBaseContext(Context base)
Set the base context for this ContextWrapper. |
boolean |
bindService(Intent service,
ServiceConnection conn,
int flags)
Connect to an application service, creating it if needed. |
int |
checkCallingOrSelfPermission(String permission)
Determine whether the calling process of an IPC or you have been granted a particular permission. |
int |
checkCallingOrSelfUriPermission(Uri uri,
int modeFlags)
Determine whether the calling process of an IPC or you has been granted permission to access a specific URI. |
int |
checkCallingPermission(String permission)
Determine whether the calling process of an IPC you are handling has been granted a particular permission. |
int |
checkCallingUriPermission(Uri uri,
int modeFlags)
Determine whether the calling process and user ID has been granted permission to access a specific URI. |
int |
checkPermission(String permission,
int pid,
int uid)
Determine whether the given permission is allowed for a particular process and user ID running in the system. |
int |
checkUriPermission(Uri uri,
int pid,
int uid,
int modeFlags)
Determine whether a particular process and user ID has been granted permission to access a specific URI. |
int |
checkUriPermission(Uri uri,
String readPermission,
String writePermission,
int pid,
int uid,
int modeFlags)
Check both a Uri and normal permission. |
void |
clearWallpaper()
Remove any currently set wallpaper, reverting to the system's default wallpaper. |
Context |
createPackageContext(String packageName,
int flags)
Return a new Context object for the given application name. |
String[] |
databaseList()
Returns an array of strings naming the private databases associated with this Context's application package. |
boolean |
deleteDatabase(String name)
Delete an existing private SQLiteDatabase associated with this Context's application package. |
boolean |
deleteFile(String name)
Delete the given private file associated with this Context's application package. |
void |
enforceCallingOrSelfPermission(String permission,
String message)
If neither you nor the calling process of an IPC you are handling has been granted a particular permission, throw a SecurityException. |
void |
enforceCallingOrSelfUriPermission(Uri uri,
int modeFlags,
String message)
If the calling process of an IPC or you has not been granted permission to access a specific URI, throw SecurityException. |
void |
enforceCallingPermission(String permission,
String message)
If the calling process of an IPC you are handling has not been granted a particular permission, throw a SecurityException. |
void |
enforceCallingUriPermission(Uri uri,
int modeFlags,
String message)
If the calling process and user ID has not been granted permission to access a specific URI, throw SecurityException. |
void |
enforcePermission(String permission,
int pid,
int uid,
String message)
If the given permission is not allowed for a particular process and user ID running in the system, throw a SecurityException. |
void |
enforceUriPermission(Uri uri,
int pid,
int uid,
int modeFlags,
String message)
If a particular process and user ID has not been granted permission to access a specific URI, throw SecurityException. |
void |
enforceUriPermission(Uri uri,
String readPermission,
String writePermission,
int pid,
int uid,
int modeFlags,
String message)
Enforce both a Uri and normal permission. |
String[] |
fileList()
Returns an array of strings naming the private files associated with this Context's application package. |
Context |
getApplicationContext()
Return the context of the single, global Application object of the current process. |
AssetManager |
getAssets()
Return an AssetManager instance for your application's package. |
Context |
getBaseContext()
|
File |
getCacheDir()
Returns the absolute path to the application specific cache directory on the filesystem. |
ClassLoader |
getClassLoader()
Return a class loader you can use to retrieve classes in this package. |
ContentResolver |
getContentResolver()
Return a ContentResolver instance for your application's package. |
File |
getDatabasePath(String name)
Returns the absolute path on the filesystem where a database created with Context.openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase.CursorFactory) is stored. |
File |
getDir(String name,
int mode)
Retrieve, creating if needed, a new directory in which the application can place its own custom data files. |
File |
getFilesDir()
Returns the absolute path to the directory on the filesystem where files created with Context.openFileOutput(java.lang.String, int) are stored. |
File |
getFileStreamPath(String name)
Returns the absolute path on the filesystem where a file created with Context.openFileOutput(java.lang.String, int) is stored. |
Looper |
getMainLooper()
Return the Looper for the main thread of the current process. |
String |
getPackageCodePath()
Return the full path to this context's code and asset files. |
PackageManager |
getPackageManager()
Return PackageManager instance to find global package information. |
String |
getPackageName()
Return the name of this application's package. |
String |
getPackageResourcePath()
Return the full path to this context's resource files. |
Resources |
getResources()
Return a Resources instance for your application's package. |
SharedPreferences |
getSharedPreferences(String name,
int mode)
Retrieve and hold the contents of the preferences file 'name', returning a SharedPreferences through which you can retrieve and modify its values. |
Object |
getSystemService(String name)
Return the handle to a system-level service by name. |
Resources.Theme |
getTheme()
Return the Theme object associated with this Context. |
Drawable |
getWallpaper()
Like Context.peekWallpaper(), but always returns a valid Drawable. |
int |
getWallpaperDesiredMinimumHeight()
Returns the desired minimum height for the wallpaper. |
int |
getWallpaperDesiredMinimumWidth()
Returns the desired minimum width for the wallpaper. |
void |
grantUriPermission(String toPackage,
Uri uri,
int modeFlags)
Grant permission to access a specific Uri to another package, regardless of whether that package has general permission to access the Uri's content provider. |
FileInputStream |
openFileInput(String name)
Open a private file associated with this Context's application package for reading. |
FileOutputStream |
openFileOutput(String name,
int mode)
Open a private file associated with this Context's application package for writing. |
SQLiteDatabase |
openOrCreateDatabase(String name,
int mode,
SQLiteDatabase.CursorFactory factory)
Open a new private SQLiteDatabase associated with this Context's application package. |
Drawable |
peekWallpaper()
Retrieve the current system wallpaper. |
Intent |
registerReceiver(BroadcastReceiver receiver,
IntentFilter filter)
Register an BroadcastReceiver to be run in the main activity thread. |
Intent |
registerReceiver(BroadcastReceiver receiver,
IntentFilter filter,
String broadcastPermission,
Handler scheduler)
Register to receive intent broadcasts, to run in the context of scheduler. |
void |
removeStickyBroadcast(Intent intent)
Remove the data previously sent with Context.sendStickyBroadcast(android.content.Intent),
so that it is as if the sticky broadcast had never happened. |
void |
revokeUriPermission(Uri uri,
int modeFlags)
Remove all permissions to access a particular content provider Uri that were previously added with Context.grantUriPermission(java.lang.String, android.net.Uri, int). |
void |
sendBroadcast(Intent intent)
Broadcast the given intent to all interested BroadcastReceivers. |
void |
sendBroadcast(Intent intent,
String receiverPermission)
Broadcast the given intent to all interested BroadcastReceivers, allowing an optional required permission to be enforced. |
void |
sendOrderedBroadcast(Intent intent,
String receiverPermission)
Broadcast the given intent to all interested BroadcastReceivers, delivering them one at a time to allow more preferred receivers to consume the broadcast before it is delivered to less preferred receivers. |
void |
sendOrderedBroadcast(Intent intent,
String receiverPermission,
BroadcastReceiver resultReceiver,
Handler scheduler,
int initialCode,
String initialData,
Bundle initialExtras)
Version of Context.sendBroadcast(Intent) that allows you to
receive data back from the broadcast. |
void |
sendStickyBroadcast(Intent intent)
Perform a Context.sendBroadcast(Intent) that is "sticky," meaning the
Intent you are sending stays around after the broadcast is complete,
so that others can quickly retrieve that data through the return
value of Context.registerReceiver(BroadcastReceiver, IntentFilter). |
void |
setTheme(int resid)
Set the base theme for this context. |
void |
setWallpaper(Bitmap bitmap)
Change the current system wallpaper to a bitmap. |
void |
setWallpaper(InputStream data)
Change the current system wallpaper to a specific byte stream. |
void |
startActivity(Intent intent)
Launch a new activity. |
boolean |
startInstrumentation(ComponentName className,
String profileFile,
Bundle arguments)
Start executing an Instrumentation class. |
ComponentName |
startService(Intent service)
Request that a given application service be started. |
boolean |
stopService(Intent name)
Request that a given application service be stopped. |
void |
unbindService(ServiceConnection conn)
Disconnect from an application service. |
void |
unregisterReceiver(BroadcastReceiver receiver)
Unregister a previously registered BroadcastReceiver. |
| Methods inherited from class android.content.Context |
|---|
getString, getString, getText, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
Context mBase
| Constructor Detail |
|---|
public ContextWrapper(Context base)
| Method Detail |
|---|
protected void attachBaseContext(Context base)
base - The new base context for this wrapper.public Context getBaseContext()
public AssetManager getAssets()
Context
getAssets in class Contextpublic Resources getResources()
Context
getResources in class Contextpublic PackageManager getPackageManager()
Context
getPackageManager in class Contextpublic ContentResolver getContentResolver()
Context
getContentResolver in class Contextpublic Looper getMainLooper()
Context
getMainLooper in class Contextpublic Context getApplicationContext()
Context
getApplicationContext in class Contextpublic void setTheme(int resid)
ContextActivity.setContentView(int) or
LayoutInflater.inflate(int, android.view.ViewGroup)).
setTheme in class Contextresid - The style resource describing the theme.public Resources.Theme getTheme()
Context
getTheme in class Contextpublic ClassLoader getClassLoader()
Context
getClassLoader in class Contextpublic String getPackageName()
Context
getPackageName in class Contextpublic String getPackageResourcePath()
ContextNote: this is not generally useful for applications, since they should not be directly accessing the file system.
getPackageResourcePath in class Contextpublic String getPackageCodePath()
ContextNote: this is not generally useful for applications, since they should not be directly accessing the file system.
getPackageCodePath in class Context
public SharedPreferences getSharedPreferences(String name,
int mode)
Context
getSharedPreferences in class Contextname - Desired preferences file. If a preferences file by this name
does not exist, it will be created when you retrieve an
editor (SharedPreferences.edit()) and then commit changes (Editor.commit()).mode - Operating mode. Use 0 or Context.MODE_PRIVATE for the
default operation, Context.MODE_WORLD_READABLE
and Context.MODE_WORLD_WRITEABLE to control permissions.
Context.MODE_PRIVATE,
Context.MODE_WORLD_READABLE,
Context.MODE_WORLD_WRITEABLE
public FileInputStream openFileInput(String name)
throws FileNotFoundException
Context
openFileInput in class Contextname - The name of the file to open; can not contain path
separators.
FileNotFoundExceptionContext.openFileOutput(java.lang.String, int),
Context.fileList(),
Context.deleteFile(java.lang.String),
FileInputStream.FileInputStream(String)
public FileOutputStream openFileOutput(String name,
int mode)
throws FileNotFoundException
Context
openFileOutput in class Contextname - The name of the file to open; can not contain path
separators.mode - Operating mode. Use 0 or Context.MODE_PRIVATE for the
default operation, Context.MODE_APPEND to append to an existing file,
Context.MODE_WORLD_READABLE and Context.MODE_WORLD_WRITEABLE to control
permissions.
FileNotFoundExceptionContext.MODE_APPEND,
Context.MODE_PRIVATE,
Context.MODE_WORLD_READABLE,
Context.MODE_WORLD_WRITEABLE,
Context.openFileInput(java.lang.String),
Context.fileList(),
Context.deleteFile(java.lang.String),
FileOutputStream.FileOutputStream(String)public boolean deleteFile(String name)
Context
deleteFile in class Contextname - The name of the file to delete; can not contain path
separators.
Context.openFileInput(java.lang.String),
Context.openFileOutput(java.lang.String, int),
Context.fileList(),
File.delete()public File getFileStreamPath(String name)
ContextContext.openFileOutput(java.lang.String, int) is stored.
getFileStreamPath in class Contextname - The name of the file for which you would like to get
its path.
Context.openFileOutput(java.lang.String, int),
Context.getFilesDir(),
Context.getDir(java.lang.String, int)public String[] fileList()
Context
fileList in class ContextContext.openFileInput(java.lang.String),
Context.openFileOutput(java.lang.String, int),
Context.deleteFile(java.lang.String)public File getFilesDir()
ContextContext.openFileOutput(java.lang.String, int) are stored.
getFilesDir in class ContextContext.openFileOutput(java.lang.String, int),
Context.getFileStreamPath(java.lang.String),
Context.getDir(java.lang.String, int)public File getCacheDir()
Context
getCacheDir in class ContextContext.openFileOutput(java.lang.String, int),
Context.getFileStreamPath(java.lang.String),
Context.getDir(java.lang.String, int)
public File getDir(String name,
int mode)
Context
getDir in class Contextname - Name of the directory to retrieve. This is a directory
that is created as part of your application data.mode - Operating mode. Use 0 or Context.MODE_PRIVATE for the
default operation, Context.MODE_WORLD_READABLE and
Context.MODE_WORLD_WRITEABLE to control permissions.
Context.openFileOutput(String, int)
public SQLiteDatabase openOrCreateDatabase(String name,
int mode,
SQLiteDatabase.CursorFactory factory)
Context
openOrCreateDatabase in class Contextname - The name (unique in the application package) of the database.mode - Operating mode. Use 0 or Context.MODE_PRIVATE for the
default operation, Context.MODE_WORLD_READABLE
and Context.MODE_WORLD_WRITEABLE to control permissions.factory - An optional factory class that is called to instantiate a
cursor when query is called.
Context.MODE_PRIVATE,
Context.MODE_WORLD_READABLE,
Context.MODE_WORLD_WRITEABLE,
Context.deleteDatabase(java.lang.String)public boolean deleteDatabase(String name)
Context
deleteDatabase in class Contextname - The name (unique in the application package) of the
database.
Context.openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase.CursorFactory)public File getDatabasePath(String name)
ContextContext.openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase.CursorFactory) is stored.
getDatabasePath in class Contextname - The name of the database for which you would like to get
its path.
Context.openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase.CursorFactory)public String[] databaseList()
Context
databaseList in class ContextContext.openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase.CursorFactory),
Context.deleteDatabase(java.lang.String)public Drawable getWallpaper()
ContextContext.peekWallpaper(), but always returns a valid Drawable. If
no wallpaper is set, the system default wallpaper is returned.
getWallpaper in class Contextpublic Drawable peekWallpaper()
Context
peekWallpaper in class Contextpublic int getWallpaperDesiredMinimumWidth()
ContextContext.setWallpaper(android.graphics.Bitmap) or
Context.setWallpaper(java.io.InputStream) should check this value
beforehand to make sure the supplied wallpaper respects the desired
minimum width.
If the returned value is <= 0, the caller should use the width of
the default display instead.
getWallpaperDesiredMinimumWidth in class Contextpublic int getWallpaperDesiredMinimumHeight()
ContextContext.setWallpaper(android.graphics.Bitmap) or
Context.setWallpaper(java.io.InputStream) should check this value
beforehand to make sure the supplied wallpaper respects the desired
minimum height.
If the returned value is <= 0, the caller should use the height of
the default display instead.
getWallpaperDesiredMinimumHeight in class Context
public void setWallpaper(Bitmap bitmap)
throws IOException
ContextIntent.ACTION_WALLPAPER_CHANGED is broadcast.
setWallpaper in class Contextbitmap - The bitmap to save.
IOException - If an error occurs reverting to the default
wallpaper.
public void setWallpaper(InputStream data)
throws IOException
ContextIntent.ACTION_WALLPAPER_CHANGED
is broadcast.
setWallpaper in class Contextdata - A stream containing the raw data to install as a wallpaper.
IOException - If an error occurs reverting to the default
wallpaper.
public void clearWallpaper()
throws IOException
ContextIntent.ACTION_WALLPAPER_CHANGED
is broadcast.
clearWallpaper in class ContextIOException - If an error occurs reverting to the default
wallpaper.public void startActivity(Intent intent)
ContextNote that if this method is being called from outside of an
Activity Context, then the Intent must include
the Intent.FLAG_ACTIVITY_NEW_TASK launch flag. This is because,
without being started from an existing Activity, there is no existing
task in which to place the new activity and thus it needs to be placed
in its own separate task.
This method throws ActivityNotFoundException
if there was no Activity found to run the given Intent.
startActivity in class Contextintent - The description of the activity to start.PackageManager.resolveActivity(android.content.Intent, int)public void sendBroadcast(Intent intent)
ContextContext.sendOrderedBroadcast(Intent, String).
See BroadcastReceiver for more information on Intent broadcasts.
sendBroadcast in class Contextintent - The Intent to broadcast; all receivers matching this
Intent will receive the broadcast.BroadcastReceiver,
Context.registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter),
Context.sendBroadcast(Intent, String),
Context.sendOrderedBroadcast(Intent, String),
Context.sendOrderedBroadcast(Intent, String, BroadcastReceiver, Handler, int, String, Bundle)
public void sendBroadcast(Intent intent,
String receiverPermission)
ContextContext.sendOrderedBroadcast(Intent, String).
See BroadcastReceiver for more information on Intent broadcasts.
sendBroadcast in class Contextintent - The Intent to broadcast; all receivers matching this
Intent will receive the broadcast.receiverPermission - (optional) String naming a permissions that
a receiver must hold in order to receive your broadcast.
If null, no permission is required.BroadcastReceiver,
Context.registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter),
Context.sendBroadcast(Intent),
Context.sendOrderedBroadcast(Intent, String),
Context.sendOrderedBroadcast(Intent, String, BroadcastReceiver, Handler, int, String, Bundle)
public void sendOrderedBroadcast(Intent intent,
String receiverPermission)
ContextSee BroadcastReceiver for more information on Intent broadcasts.
sendOrderedBroadcast in class Contextintent - The Intent to broadcast; all receivers matching this
Intent will receive the broadcast.receiverPermission - (optional) String naming a permissions that
a receiver must hold in order to receive your broadcast.
If null, no permission is required.BroadcastReceiver,
Context.registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter),
Context.sendBroadcast(Intent),
Context.sendOrderedBroadcast(Intent, String, BroadcastReceiver, Handler, int, String, Bundle)
public void sendOrderedBroadcast(Intent intent,
String receiverPermission,
BroadcastReceiver resultReceiver,
Handler scheduler,
int initialCode,
String initialData,
Bundle initialExtras)
ContextContext.sendBroadcast(Intent) that allows you to
receive data back from the broadcast. This is accomplished by
supplying your own BroadcastReceiver when calling, which will be
treated as a final receiver at the end of the broadcast -- its
BroadcastReceiver.onReceive(android.content.Context, android.content.Intent) method will be called with
the result values collected from the other receivers. If you use
an resultReceiver with this method, then the broadcast will
be serialized in the same way as calling
Context.sendOrderedBroadcast(Intent, String).
Like Context.sendBroadcast(Intent), this method is
asynchronous; it will return before
resultReceiver.onReceive() is called.
See BroadcastReceiver for more information on Intent broadcasts.
sendOrderedBroadcast in class Contextintent - The Intent to broadcast; all receivers matching this
Intent will receive the broadcast.receiverPermission - String naming a permissions that
a receiver must hold in order to receive your broadcast.
If null, no permission is required.resultReceiver - Your own BroadcastReceiver to treat as the final
receiver of the broadcast.scheduler - A custom Handler with which to schedule the
resultReceiver callback; if null it will be
scheduled in the Context's main thread.initialCode - An initial value for the result code. Often
Activity.RESULT_OK.initialData - An initial value for the result data. Often
null.initialExtras - An initial value for the result extras. Often
null.Context.sendBroadcast(Intent),
Context.sendBroadcast(Intent, String),
Context.sendOrderedBroadcast(Intent, String),
Context.sendStickyBroadcast(Intent),
BroadcastReceiver,
Context.registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter),
Activity.RESULT_OKpublic void sendStickyBroadcast(Intent intent)
ContextContext.sendBroadcast(Intent) that is "sticky," meaning the
Intent you are sending stays around after the broadcast is complete,
so that others can quickly retrieve that data through the return
value of Context.registerReceiver(BroadcastReceiver, IntentFilter). In
all other ways, this behaves the same as
Context.sendBroadcast(Intent).
You must hold the Manifest.permission.BROADCAST_STICKY
permission in order to use this API. If you do not hold that
permission, SecurityException will be thrown.
sendStickyBroadcast in class Contextintent - The Intent to broadcast; all receivers matching this
Intent will receive the broadcast, and the Intent will be held to
be re-broadcast to future receivers.Context.sendBroadcast(Intent)public void removeStickyBroadcast(Intent intent)
ContextContext.sendStickyBroadcast(android.content.Intent),
so that it is as if the sticky broadcast had never happened.
You must hold the Manifest.permission.BROADCAST_STICKY
permission in order to use this API. If you do not hold that
permission, SecurityException will be thrown.
removeStickyBroadcast in class Contextintent - The Intent that was previously broadcast.Context.sendStickyBroadcast(android.content.Intent)
public Intent registerReceiver(BroadcastReceiver receiver,
IntentFilter filter)
ContextThe system may broadcast Intents that are "sticky" -- these stay around after the broadcast as finished, to be sent to any later registrations. If your IntentFilter matches one of these sticky Intents, that Intent will be returned by this function and sent to your receiver as if it had just been broadcast.
There may be multiple sticky Intents that match filter, in which case each of these will be sent to receiver. In this case, only one of these can be returned directly by the function; which of these that is returned is arbitrarily decided by the system.
If you know the Intent your are registering for is sticky, you can supply null for your receiver. In this case, no receiver is registered -- the function simply returns the sticky Intent that matches filter. In the case of multiple matches, the same rules as described above apply.
See BroadcastReceiver for more information on Intent broadcasts.
Note: this method can not be called from an
BroadcastReceiver component. It is okay, however, to use
this method from another BroadcastReceiver that has itself been registered with
Context.registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter), since the lifetime of such an BroadcastReceiver
is tied to another object (the one that registered it).
registerReceiver in class Contextreceiver - The BroadcastReceiver to handle the broadcast.filter - Selects the Intent broadcasts to be received.
Context.registerReceiver(BroadcastReceiver, IntentFilter, String, Handler),
Context.sendBroadcast(android.content.Intent),
Context.unregisterReceiver(android.content.BroadcastReceiver)
public Intent registerReceiver(BroadcastReceiver receiver,
IntentFilter filter,
String broadcastPermission,
Handler scheduler)
ContextContext.registerReceiver(BroadcastReceiver, IntentFilter) for more
information. This allows you to enforce permissions on who can
broadcast intents to your receiver, or have the receiver run in
a different thread than the main application thread.
See BroadcastReceiver for more information on Intent broadcasts.
registerReceiver in class Contextreceiver - The BroadcastReceiver to handle the broadcast.filter - Selects the Intent broadcasts to be received.broadcastPermission - String naming a permissions that a
broadcaster must hold in order to send an Intent to you. If null,
no permission is required.scheduler - Handler identifying the thread that will receive
the Intent. If null, the main thread of the process will be used.
Context.registerReceiver(BroadcastReceiver, IntentFilter),
Context.sendBroadcast(android.content.Intent),
Context.unregisterReceiver(android.content.BroadcastReceiver)public void unregisterReceiver(BroadcastReceiver receiver)
Context
unregisterReceiver in class Contextreceiver - The BroadcastReceiver to unregister.Context.registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter)public ComponentName startService(Intent service)
ContextEvery call to this method will result in a corresponding call to
the target service's Service.onStart(android.content.Intent, int) method,
with the intent given here. This provides a convenient way
to submit jobs to a service without having to bind and call on to its
interface.
Using startService() overrides the default service lifetime that is
managed by Context.bindService(android.content.Intent, android.content.ServiceConnection, int): it requires the service to remain
running until Context.stopService(android.content.Intent) is called, regardless of whether
any clients are connected to it. Note that calls to startService()
are not nesting: no matter how many times you call startService(),
a single call to Context.stopService(android.content.Intent) will stop it.
The system attempts to keep running services around as much as possible. The only time they should be stopped is if the current foreground application is using so many resources that the service needs to be killed. If any errors happen in the service's process, it will automatically be restarted.
This function will throw SecurityException if you do not
have permission to start the given service.
startService in class Contextservice - Identifies the service to be started. The Intent may
specify either an explicit component name to start, or a logical
description (action, category, etc) to match an
IntentFilter published by a service. Additional values
may be included in the Intent extras to supply arguments along with
this specific start call.
ComponentName of the actual service that was started is
returned; else if the service does not exist null is returned.Context.stopService(android.content.Intent),
Context.bindService(android.content.Intent, android.content.ServiceConnection, int)public boolean stopService(Intent name)
ContextNote that if a stopped service still has ServiceConnection
objects bound to it with the Context.BIND_AUTO_CREATE set, it will
not be destroyed until all of these bindings are removed. See
the Service documentation for more details on a
service's lifecycle.
This function will throw SecurityException if you do not
have permission to stop the given service.
stopService in class Contextname - Description of the service to be stopped. The Intent may
specify either an explicit component name to start, or a logical
description (action, category, etc) to match an
IntentFilter published by a service.
Context.startService(android.content.Intent)
public boolean bindService(Intent service,
ServiceConnection conn,
int flags)
ContextThis function will throw SecurityException if you do not
have permission to bind to the given service.
Note: this method can not be called from an
BroadcastReceiver component. A pattern you can use to
communicate from an BroadcastReceiver to a Service is to call
Context.startService(android.content.Intent) with the arguments containing the command to be
sent, with the service calling its
Service.stopSelf(int) method when done executing
that command. See the API demo App/Service/Service Start Arguments
Controller for an illustration of this. It is okay, however, to use
this method from an BroadcastReceiver that has been registered with
Context.registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter), since the lifetime of this BroadcastReceiver
is tied to another object (the one that registered it).
bindService in class Contextservice - Identifies the service to connect to. The Intent may
specify either an explicit component name, or a logical
description (action, category, etc) to match an
IntentFilter published by a service.conn - Receives information as the service is started and stopped.flags - Operation options for the binding. May be 0 or
Context.BIND_AUTO_CREATE.
Context.unbindService(android.content.ServiceConnection),
Context.startService(android.content.Intent),
Context.BIND_AUTO_CREATEpublic void unbindService(ServiceConnection conn)
Context
unbindService in class Contextconn - The connection interface previously supplied to
bindService().Context.bindService(android.content.Intent, android.content.ServiceConnection, int)
public boolean startInstrumentation(ComponentName className,
String profileFile,
Bundle arguments)
ContextInstrumentation class. The given
Instrumentation component will be run by killing its target application
(if currently running), starting the target process, instantiating the
instrumentation component, and then letting it drive the application.
This function is not synchronous -- it returns as soon as the instrumentation has started and while it is running.
Instrumentation is normally only allowed to run against a package that is either unsigned or signed with a signature that the the instrumentation package is also signed with (ensuring the target trusts the instrumentation).
startInstrumentation in class ContextclassName - Name of the Instrumentation component to be run.profileFile - Optional path to write profiling data as the
instrumentation runs, or null for no profiling.arguments - Additional optional arguments to pass to the
instrumentation, or null.
public Object getSystemService(String name)
ContextContext.WINDOW_SERVICE ("window")
WindowManager.
Context.LAYOUT_INFLATER_SERVICE ("layout_inflater")
LayoutInflater for inflating layout resources
in this context.
Context.ACTIVITY_SERVICE ("activity")
ActivityManager for interacting with the
global activity state of the system.
Context.POWER_SERVICE ("power")
PowerManager for controlling power
management.
Context.ALARM_SERVICE ("alarm")
AlarmManager for receiving intents at the
time of your choosing.
Context.NOTIFICATION_SERVICE ("notification")
NotificationManager for informing the user
of background events.
Context.KEYGUARD_SERVICE ("keyguard")
KeyguardManager for controlling keyguard.
Context.LOCATION_SERVICE ("location")
LocationManager for controlling location
(e.g., GPS) updates.
Context.SEARCH_SERVICE ("search")
SearchManager for handling search.
Context.VIBRATOR_SERVICE ("vibrator")
Vibrator for interacting with the vibrator
hardware.
Context.CONNECTIVITY_SERVICE ("connection")
ConnectivityManager for
handling management of network connections.
Context.WIFI_SERVICE ("wifi")
WifiManager for management of
Wi-Fi connectivity.
Note: System services obtained via this API may be closely associated with the Context in which they are obtained from. In general, do not share the service objects between various different contexts (Activities, Applications, Services, Providers, etc.)
getSystemService in class Contextname - The name of the desired service.
Context.WINDOW_SERVICE,
WindowManager,
Context.LAYOUT_INFLATER_SERVICE,
LayoutInflater,
Context.ACTIVITY_SERVICE,
ActivityManager,
Context.POWER_SERVICE,
PowerManager,
Context.ALARM_SERVICE,
AlarmManager,
Context.NOTIFICATION_SERVICE,
NotificationManager,
Context.KEYGUARD_SERVICE,
KeyguardManager,
Context.LOCATION_SERVICE,
LocationManager,
Context.SEARCH_SERVICE,
SearchManager,
Context.SENSOR_SERVICE,
SensorManager,
Context.VIBRATOR_SERVICE,
Vibrator,
Context.CONNECTIVITY_SERVICE,
ConnectivityManager,
Context.WIFI_SERVICE,
WifiManager,
Context.AUDIO_SERVICE,
AudioManager,
Context.TELEPHONY_SERVICE,
android.internal.TelephonyManager
public int checkPermission(String permission,
int pid,
int uid)
Context
checkPermission in class Contextpermission - The name of the permission being checked.pid - The process ID being checked against. Must be > 0.uid - The user ID being checked against. A uid of 0 is the root
user, which will pass every permission check.
PackageManager.PERMISSION_GRANTED if the given
pid/uid is allowed that permission, or
PackageManager.PERMISSION_DENIED if it is not.PackageManager.checkPermission(String, String),
Context.checkCallingPermission(java.lang.String)public int checkCallingPermission(String permission)
ContextContext.checkPermission(String, int, int) with the pid and uid returned
by Binder.getCallingPid() and
Binder.getCallingUid(). One important difference
is that if you are not currently processing an IPC, this function
will always fail. This is done to protect against accidentally
leaking permissions; you can use Context.checkCallingOrSelfPermission(java.lang.String)
to avoid this protection.
checkCallingPermission in class Contextpermission - The name of the permission being checked.
PackageManager.PERMISSION_GRANTED if the calling
pid/uid is allowed that permission, or
PackageManager.PERMISSION_DENIED if it is not.PackageManager.checkPermission(String, String),
Context.checkPermission(java.lang.String, int, int),
Context.checkCallingOrSelfPermission(java.lang.String)public int checkCallingOrSelfPermission(String permission)
ContextContext.checkCallingPermission(java.lang.String), except it grants your own permissions
if you are not currently processing an IPC. Use with care!
checkCallingOrSelfPermission in class Contextpermission - The name of the permission being checked.
PackageManager.PERMISSION_GRANTED if the calling
pid/uid is allowed that permission, or
PackageManager.PERMISSION_DENIED if it is not.PackageManager.checkPermission(String, String),
Context.checkPermission(java.lang.String, int, int),
Context.checkCallingPermission(java.lang.String)
public void enforcePermission(String permission,
int pid,
int uid,
String message)
ContextSecurityException.
enforcePermission in class Contextpermission - The name of the permission being checked.pid - The process ID being checked against. Must be > 0.uid - The user ID being checked against. A uid of 0 is the root
user, which will pass every permission check.message - A message to include in the exception if it is thrown.Context.checkPermission(String, int, int)
public void enforceCallingPermission(String permission,
String message)
ContextSecurityException. This is basically the same as calling
Context.enforcePermission(String, int, int, String) with the
pid and uid returned by Binder.getCallingPid()
and Binder.getCallingUid(). One important
difference is that if you are not currently processing an IPC,
this function will always throw the SecurityException. This is
done to protect against accidentally leaking permissions; you
can use Context.enforceCallingOrSelfPermission(java.lang.String, java.lang.String) to avoid this
protection.
enforceCallingPermission in class Contextpermission - The name of the permission being checked.message - A message to include in the exception if it is thrown.Context.checkCallingPermission(String)
public void enforceCallingOrSelfPermission(String permission,
String message)
ContextSecurityException. This is the same as Context.enforceCallingPermission(java.lang.String, java.lang.String), except it grants your own
permissions if you are not currently processing an IPC. Use
with care!
enforceCallingOrSelfPermission in class Contextpermission - The name of the permission being checked.message - A message to include in the exception if it is thrown.Context.checkCallingOrSelfPermission(String)
public void grantUriPermission(String toPackage,
Uri uri,
int modeFlags)
ContextNormally you should use Intent.FLAG_GRANT_READ_URI_PERMISSION or
Intent.FLAG_GRANT_WRITE_URI_PERMISSION with the Intent being used to
start an activity instead of this function directly. If you use this
function directly, you should be sure to call
Context.revokeUriPermission(android.net.Uri, int) when the target should no longer be allowed
to access it.
To succeed, the content provider owning the Uri must have set the
grantUriPermissions attribute in its manifest or included the
<grant-uri-permissions> tag.
grantUriPermission in class ContexttoPackage - The package you would like to allow to access the Uri.uri - The Uri you would like to grant access to.modeFlags - The desired access modes. Any combination of
Intent.FLAG_GRANT_READ_URI_PERMISSION or
Intent.FLAG_GRANT_WRITE_URI_PERMISSION.Context.revokeUriPermission(android.net.Uri, int)
public void revokeUriPermission(Uri uri,
int modeFlags)
ContextContext.grantUriPermission(java.lang.String, android.net.Uri, int). The given
Uri will match all previously granted Uris that are the same or a
sub-path of the given Uri. That is, revoking "content://foo/one" will
revoke both "content://foo/target" and "content://foo/target/sub", but not
"content://foo".
revokeUriPermission in class Contexturi - The Uri you would like to revoke access to.modeFlags - The desired access modes. Any combination of
Intent.FLAG_GRANT_READ_URI_PERMISSION or
Intent.FLAG_GRANT_WRITE_URI_PERMISSION.Context.grantUriPermission(java.lang.String, android.net.Uri, int)
public int checkUriPermission(Uri uri,
int pid,
int uid,
int modeFlags)
Context
checkUriPermission in class Contexturi - The uri that is being checked.pid - The process ID being checked against. Must be > 0.uid - The user ID being checked against. A uid of 0 is the root
user, which will pass every permission check.modeFlags - The type of access to grant. May be one or both of
Intent.FLAG_GRANT_READ_URI_PERMISSION or
Intent.FLAG_GRANT_WRITE_URI_PERMISSION.
PackageManager.PERMISSION_GRANTED if the given
pid/uid is allowed to access that uri, or
PackageManager.PERMISSION_DENIED if it is not.Context.checkCallingUriPermission(android.net.Uri, int)
public int checkCallingUriPermission(Uri uri,
int modeFlags)
ContextContext.checkUriPermission(Uri, int, int,
int) with the pid and uid returned by Binder.getCallingPid() and Binder.getCallingUid(). One important difference is
that if you are not currently processing an IPC, this function
will always fail.
checkCallingUriPermission in class Contexturi - The uri that is being checked.modeFlags - The type of access to grant. May be one or both of
Intent.FLAG_GRANT_READ_URI_PERMISSION or
Intent.FLAG_GRANT_WRITE_URI_PERMISSION.
PackageManager.PERMISSION_GRANTED if the caller
is allowed to access that uri, or
PackageManager.PERMISSION_DENIED if it is not.Context.checkUriPermission(Uri, int, int, int)
public int checkCallingOrSelfUriPermission(Uri uri,
int modeFlags)
ContextContext.checkCallingUriPermission(android.net.Uri, int), except it grants your own permissions
if you are not currently processing an IPC. Use with care!
checkCallingOrSelfUriPermission in class Contexturi - The uri that is being checked.modeFlags - The type of access to grant. May be one or both of
Intent.FLAG_GRANT_READ_URI_PERMISSION or
Intent.FLAG_GRANT_WRITE_URI_PERMISSION.
PackageManager.PERMISSION_GRANTED if the caller
is allowed to access that uri, or
PackageManager.PERMISSION_DENIED if it is not.Context.checkCallingUriPermission(android.net.Uri, int)
public int checkUriPermission(Uri uri,
String readPermission,
String writePermission,
int pid,
int uid,
int modeFlags)
ContextContext.checkPermission(java.lang.String, int, int) and Context.checkUriPermission(android.net.Uri, int, int, int) in one
call.
checkUriPermission in class Contexturi - The Uri whose permission is to be checked, or null to not
do this check.readPermission - The permission that provides overall read access,
or null to not do this check.writePermission - The permission that provides overall write
acess, or null to not do this check.pid - The process ID being checked against. Must be > 0.uid - The user ID being checked against. A uid of 0 is the root
user, which will pass every permission check.modeFlags - The type of access to grant. May be one or both of
Intent.FLAG_GRANT_READ_URI_PERMISSION or
Intent.FLAG_GRANT_WRITE_URI_PERMISSION.
PackageManager.PERMISSION_GRANTED if the caller
is allowed to access that uri or holds one of the given permissions, or
PackageManager.PERMISSION_DENIED if it is not.
public void enforceUriPermission(Uri uri,
int pid,
int uid,
int modeFlags,
String message)
ContextSecurityException. This only checks for permissions that have
been explicitly granted -- if the given process/uid has more
general access to the URI's content provider then this check
will always fail.
enforceUriPermission in class Contexturi - The uri that is being checked.pid - The process ID being checked against. Must be > 0.uid - The user ID being checked against. A uid of 0 is the root
user, which will pass every permission check.modeFlags - The type of access to grant. May be one or both of
Intent.FLAG_GRANT_READ_URI_PERMISSION or
Intent.FLAG_GRANT_WRITE_URI_PERMISSION.message - A message to include in the exception if it is thrown.Context.checkUriPermission(Uri, int, int, int)
public void enforceCallingUriPermission(Uri uri,
int modeFlags,
String message)
ContextSecurityException. This is basically the same as calling
Context.enforceUriPermission(Uri, int, int, int, String) with
the pid and uid returned by Binder.getCallingPid() and Binder.getCallingUid(). One important difference is
that if you are not currently processing an IPC, this function
will always throw a SecurityException.
enforceCallingUriPermission in class Contexturi - The uri that is being checked.modeFlags - The type of access to grant. May be one or both of
Intent.FLAG_GRANT_READ_URI_PERMISSION or
Intent.FLAG_GRANT_WRITE_URI_PERMISSION.message - A message to include in the exception if it is thrown.Context.checkCallingUriPermission(Uri, int)
public void enforceCallingOrSelfUriPermission(Uri uri,
int modeFlags,
String message)
ContextSecurityException. This is the same as Context.enforceCallingUriPermission(android.net.Uri, int, java.lang.String), except it grants your own
permissions if you are not currently processing an IPC. Use
with care!
enforceCallingOrSelfUriPermission in class Contexturi - The uri that is being checked.modeFlags - The type of access to grant. May be one or both of
Intent.FLAG_GRANT_READ_URI_PERMISSION or
Intent.FLAG_GRANT_WRITE_URI_PERMISSION.message - A message to include in the exception if it is thrown.Context.checkCallingOrSelfUriPermission(Uri, int)
public void enforceUriPermission(Uri uri,
String readPermission,
String writePermission,
int pid,
int uid,
int modeFlags,
String message)
ContextContext.enforcePermission(java.lang.String, int, int, java.lang.String) and Context.enforceUriPermission(android.net.Uri, int, int, int, java.lang.String) in one
call.
enforceUriPermission in class Contexturi - The Uri whose permission is to be checked, or null to not
do this check.readPermission - The permission that provides overall read access,
or null to not do this check.writePermission - The permission that provides overall write
acess, or null to not do this check.pid - The process ID being checked against. Must be > 0.uid - The user ID being checked against. A uid of 0 is the root
user, which will pass every permission check.modeFlags - The type of access to grant. May be one or both of
Intent.FLAG_GRANT_READ_URI_PERMISSION or
Intent.FLAG_GRANT_WRITE_URI_PERMISSION.message - A message to include in the exception if it is thrown.Context.checkUriPermission(Uri, String, String, int, int, int)
public Context createPackageContext(String packageName,
int flags)
throws PackageManager.NameNotFoundException
ContextThrows PackageManager.NameNotFoundException if there is no
application with the given package name.
Throws SecurityException if the Context requested
can not be loaded into the caller's process for security reasons (see
Context.CONTEXT_INCLUDE_CODE for more information}.
createPackageContext in class ContextpackageName - Name of the application's package.flags - Option flags, one of Context.CONTEXT_INCLUDE_CODE
or Context.CONTEXT_IGNORE_SECURITY.
PackageManager.NameNotFoundException - if there is no application with
the given package name
|
Build 1.0_r1(from source) | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||