public abstract class Context
extends Object
java.lang.Object | |
↳ | android.content.Context |
Known Direct Subclasses |
Known Indirect Subclasses |
接口有关应用程序环境的全局信息。 这是一个抽象类,其实现由Android系统提供。 它允许访问特定于应用程序的资源和类,以及对诸如启动活动,广播和接收意图等应用程序级操作的上调。
Public constructors |
|
---|---|
Context() |
Public methods |
|
---|---|
abstract boolean |
bindService(Intent service, ServiceConnection conn, int flags) 连接到应用程序服务,根据需要创建它。 |
abstract int |
checkCallingOrSelfPermission(String permission) 确定IPC的调用过程 还是您已被授予特定权限。 |
abstract int |
checkCallingOrSelfUriPermission(Uri uri, int modeFlags) 确定IPC的调用进程 或您是否被授予访问特定URI的权限。 |
abstract int |
checkCallingPermission(String permission) 确定您正在处理的IPC的调用进程是否已被授予特定权限。 |
abstract int |
checkCallingUriPermission(Uri uri, int modeFlags) 确定调用进程和用户标识是否已被授予访问特定URI的权限。 |
abstract int |
checkPermission(String permission, int pid, int uid) 确定是否允许给定的权限用于系统中运行的特定进程和用户标识。 |
abstract int |
checkSelfPermission(String permission) 确定 您是否已获得特定权限。 |
abstract int |
checkUriPermission(Uri uri, String readPermission, String writePermission, int pid, int uid, int modeFlags) 检查Uri和普通权限。 |
abstract int |
checkUriPermission(Uri uri, int pid, int uid, int modeFlags) 确定是否已授予特定进程和用户标识访问特定URI的权限。 |
abstract void |
clearWallpaper() 此方法在API级别5中已弃用。请改用 此方法要求调用方拥有权限 |
abstract Context |
createConfigurationContext(Configuration overrideConfiguration) 为当前上下文返回一个新的Context对象,但其资源被调整以匹配给定的配置。 |
abstract Context |
createDeviceProtectedStorageContext() 为当前上下文返回一个新的Context对象,但其存储API由受设备保护的存储支持。 |
abstract Context |
createDisplayContext(Display display) 为当前上下文返回一个新的Context对象,但其资源被调整为匹配给定Display的指标。 |
abstract Context |
createPackageContext(String packageName, int flags) 为给定的应用程序名称返回一个新的Context对象。 |
abstract String[] |
databaseList() 返回一个字符串数组,命名与此Context的应用程序包关联的专用数据库。 |
abstract boolean |
deleteDatabase(String name) 删除与此Context的应用程序包关联的现有私有SQLiteDatabase。 |
abstract boolean |
deleteFile(String name) 删除与此Context的应用程序包关联的给定私人文件。 |
abstract boolean |
deleteSharedPreferences(String name) 删除现有的共享首选项文件。 |
abstract void |
enforceCallingOrSelfPermission(String permission, String message) 如果您或您正在处理的IPC的调用过程都未获得特定许可,则抛出 |
abstract void |
enforceCallingOrSelfUriPermission(Uri uri, int modeFlags, String message) 如果IPC的调用进程 或您未被授予访问特定URI的权限,则抛出 |
abstract void |
enforceCallingPermission(String permission, String message) 如果您正在处理的IPC的调用过程没有被授予特定权限,则抛出 |
abstract void |
enforceCallingUriPermission(Uri uri, int modeFlags, String message) 如果调用进程和用户标识没有被授予访问特定URI的权限,则抛出 |
abstract void |
enforcePermission(String permission, int pid, int uid, String message) 如果在系统中运行的特定进程和用户标识不允许给定权限,则抛出 |
abstract void |
enforceUriPermission(Uri uri, String readPermission, String writePermission, int pid, int uid, int modeFlags, String message) 强制执行Uri和普通权限。 |
abstract void |
enforceUriPermission(Uri uri, int pid, int uid, int modeFlags, String message) 如果某个特定的进程和用户标识没有被授予访问特定URI的权限,则抛出 |
abstract String[] |
fileList() 返回一个字符串数组,命名与此Context的应用程序包关联的私有文件。 |
abstract Context |
getApplicationContext() 返回当前进程的单个全局应用程序对象的上下文。 |
abstract ApplicationInfo |
getApplicationInfo() 返回此上下文包的完整应用程序信息。 |
abstract AssetManager |
getAssets() 返回应用程序包的AssetManager实例。 |
abstract File |
getCacheDir() 返回文件系统上特定于应用程序的缓存目录的绝对路径。 |
abstract ClassLoader |
getClassLoader() 返回一个你可以用来检索这个包中的类的类加载器。 |
abstract File |
getCodeCacheDir() 返回专用于存储缓存代码的文件系统上特定于应用程序的缓存目录的绝对路径。 |
final int |
getColor(int id) 返回与特定资源ID关联的颜色并为当前主题设计样式。 |
final ColorStateList |
getColorStateList(int id) 返回与特定资源ID关联的颜色状态列表,并为当前主题设计风格。 |
abstract ContentResolver |
getContentResolver() 为你的应用程序包返回一个ContentResolver实例。 |
abstract File |
getDataDir() 返回存储属于此应用程序的所有私人文件的文件系统上目录的绝对路径。 |
abstract File |
getDatabasePath(String name) 返回存储使用 |
abstract File |
getDir(String name, int mode) 根据需要检索,创建应用程序可以放置自己的自定义数据文件的新目录。 |
final Drawable |
getDrawable(int id) 返回与特定资源ID关联的可绘制对象,并为当前主题创建样式。 |
abstract File |
getExternalCacheDir() 返回应用程序可以放置其拥有的缓存文件的主共享/外部存储设备上特定于应用程序的目录的绝对路径。 |
abstract File[] |
getExternalCacheDirs() 返回应用程序可以放置它拥有的缓存文件的所有共享/外部存储设备上特定于应用程序的目录的绝对路径。 |
abstract File |
getExternalFilesDir(String type) 返回应用程序可以放置其拥有的持久性文件的主共享/外部存储设备上目录的绝对路径。 |
abstract File[] |
getExternalFilesDirs(String type) 返回应用程序可以放置其拥有的持久性文件的所有共享/外部存储设备上特定于应用程序的目录的绝对路径。 |
abstract File[] |
getExternalMediaDirs() 返回应用程序可放置媒体文件的所有共享/外部存储设备上特定于应用程序的目录的绝对路径。 |
abstract File |
getFileStreamPath(String name) 返回存储使用 |
abstract File |
getFilesDir() 返回存储使用 |
abstract Looper |
getMainLooper() 返回当前进程主线程的Looper。 |
abstract File |
getNoBackupFilesDir() 返回类似于 |
abstract File |
getObbDir() 返回此应用程序的OBB文件(如果有)的主要共享/外部存储目录。 |
abstract File[] |
getObbDirs() 返回应用程序的OBB文件(如果有)的所有共享/外部存储设备上的应用程序特定目录的绝对路径。 |
abstract String |
getPackageCodePath() 返回此上下文的主要Android包的完整路径。 |
abstract PackageManager |
getPackageManager() 返回PackageManager实例以查找全局包信息。 |
abstract String |
getPackageName() 返回此应用程序包的名称。 |
abstract String |
getPackageResourcePath() 返回此上下文的主要Android包的完整路径。 |
abstract Resources |
getResources() 返回应用程序包的资源实例。 |
abstract SharedPreferences |
getSharedPreferences(String name, int mode) 检索并保存首选项文件'name'的内容,返回一个SharedPreferences,通过它可以检索和修改其值。 |
final String |
getString(int resId, Object... formatArgs) 从应用程序包的默认字符串表中返回一个本地化的格式化字符串,替换 |
final String |
getString(int resId) 从应用程序包的默认字符串表中返回一个本地化的字符串。 |
final <T> T |
getSystemService(Class<T> serviceClass) 按类返回句柄到系统级服务。 |
abstract Object |
getSystemService(String name) 按名称将句柄返回到系统级服务。 |
abstract String |
getSystemServiceName(Class<?> serviceClass) 获取由指定的类表示的系统级服务的名称。 |
final CharSequence |
getText(int resId) 从应用程序包的默认字符串表中返回一个本地化的,风格化的CharSequence。 |
abstract Resources.Theme |
getTheme() 返回与此上下文关联的主题对象。 |
abstract Drawable |
getWallpaper() 此方法在API级别5中已弃用。请改用 |
abstract int |
getWallpaperDesiredMinimumHeight() 此方法在API级别5中已弃用。请改为使用 |
abstract int |
getWallpaperDesiredMinimumWidth() 此方法在API级别5中已弃用。请改为使用 |
abstract void |
grantUriPermission(String toPackage, Uri uri, int modeFlags) 无论该软件包是否具有访问Uri内容提供者的一般权限,都可以授予访问另一个软件包的特定Uri的权限。 |
abstract boolean |
isDeviceProtectedStorage() 指示此Context的存储API是否受设备保护存储支持。 |
boolean |
isRestricted() 指示此上下文是否受限制。 |
abstract boolean |
moveDatabaseFrom(Context sourceContext, String name) 将现有数据库文件从给定的源存储上下文移动到此上下文。 |
abstract boolean |
moveSharedPreferencesFrom(Context sourceContext, String name) 将现有的共享首选项文件从给定的源存储上下文移至此上下文。 |
final TypedArray |
obtainStyledAttributes(AttributeSet set, int[] attrs) 在此Context的主题中检索样式化属性信息。 |
final TypedArray |
obtainStyledAttributes(AttributeSet set, int[] attrs, int defStyleAttr, int defStyleRes) 在此Context的主题中检索样式化属性信息。 |
final TypedArray |
obtainStyledAttributes(int resid, int[] attrs) 在此Context的主题中检索样式化属性信息。 |
final TypedArray |
obtainStyledAttributes(int[] attrs) 在此Context的主题中检索样式化属性信息。 |
abstract FileInputStream |
openFileInput(String name) 打开与此Context的应用程序包关联的私人文件以供阅读。 |
abstract FileOutputStream |
openFileOutput(String name, int mode) 打开与此Context的应用程序包关联的私有文件以进行写入。 |
abstract SQLiteDatabase |
openOrCreateDatabase(String name, int mode, SQLiteDatabase.CursorFactory factory, DatabaseErrorHandler errorHandler) 打开与此Context的应用程序包关联的新私有SQLiteDatabase。 |
abstract SQLiteDatabase |
openOrCreateDatabase(String name, int mode, SQLiteDatabase.CursorFactory factory) 打开与此Context的应用程序包关联的新私有SQLiteDatabase。 |
abstract Drawable |
peekWallpaper() 此方法在API级别5中已弃用。请改为使用 |
void |
registerComponentCallbacks(ComponentCallbacks callback) 将新的 |
abstract Intent |
registerReceiver(BroadcastReceiver receiver, IntentFilter filter) 注册BroadcastReceiver以在主要活动线程中运行。 |
abstract Intent |
registerReceiver(BroadcastReceiver receiver, IntentFilter filter, String broadcastPermission, Handler scheduler) 注册以接收意图广播,以在 调度程序的上下文中运行。 |
abstract void |
removeStickyBroadcast(Intent intent) 此方法在API级别21中已弃用。不应使用粘滞广播。 它们不提供安全性(任何人都可以访问它们),没有保护(任何人都可以修改它们)以及其他许多问题。 推荐的模式是使用非粘性广播来报告某些事情已经发生变化,另一种机制是应用程序在需要时检索当前值。 |
abstract void |
removeStickyBroadcastAsUser(Intent intent, UserHandle user) 此方法在API级别21中已弃用。不应使用粘滞广播。 它们不提供安全性(任何人都可以访问它们),没有保护(任何人都可以修改它们)以及其他许多问题。 推荐的模式是使用非粘性广播来报告某些事情已经发生变化,另一种机制是应用程序在需要时检索当前值。 |
abstract void |
revokeUriPermission(Uri uri, int modeFlags) 删除所有权限以访问之前添加了 |
abstract void |
sendBroadcast(Intent intent, String receiverPermission) 将给定的意图广播给所有感兴趣的BroadcastReceivers,允许强制执行可选的必需权限。 |
abstract void |
sendBroadcast(Intent intent) 将给定的意图广播给所有感兴趣的BroadcastReceivers。 |
abstract void |
sendBroadcastAsUser(Intent intent, UserHandle user) 版本 |
abstract void |
sendBroadcastAsUser(Intent intent, UserHandle user, String receiverPermission) 版本 |
abstract void |
sendOrderedBroadcast(Intent intent, String receiverPermission, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras) 版本 |
abstract void |
sendOrderedBroadcast(Intent intent, String receiverPermission) 将给定的意图广播给所有感兴趣的BroadcastReceivers,一次发送一个,让更多的首选接收者在将广播发送给次优先接收者之前消费广播。 |
abstract void |
sendOrderedBroadcastAsUser(Intent intent, UserHandle user, String receiverPermission, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras) 版本 |
abstract void |
sendStickyBroadcast(Intent intent) 此方法在API级别21中已弃用。不应使用粘滞广播。 它们不提供安全性(任何人都可以访问它们),没有保护(任何人都可以修改它们)以及其他许多问题。 推荐的模式是使用非粘性广播来报告某些事情已经发生变化,另一种机制是应用程序在需要时检索当前值。 |
abstract void |
sendStickyBroadcastAsUser(Intent intent, UserHandle user) 此方法在API级别21中已弃用。不应使用粘滞广播。 它们不提供安全性(任何人都可以访问它们),没有保护(任何人都可以修改它们)以及其他许多问题。 推荐的模式是使用非粘性广播来报告某些事情已经发生变化,另一种机制是应用程序在需要时检索当前值。 |
abstract void |
sendStickyOrderedBroadcast(Intent intent, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras) 此方法在API级别21中已弃用。不应使用粘滞广播。 它们不提供安全性(任何人都可以访问它们),没有保护(任何人都可以修改它们)以及其他许多问题。 推荐的模式是使用非粘性广播来报告某些事情已经发生变化,另一种机制是应用程序在需要时检索当前值。 |
abstract void |
sendStickyOrderedBroadcastAsUser(Intent intent, UserHandle user, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras) 此方法在API级别21中已弃用。不应使用粘滞广播。 它们不提供安全性(任何人都可以访问它们),没有保护(任何人都可以修改它们)以及其他许多问题。 推荐的模式是使用非粘性广播来报告某些事情已经发生变化,另一种机制是应用程序在需要时检索当前值。 |
abstract void |
setTheme(int resid) 为此上下文设置基本主题。 |
abstract void |
setWallpaper(Bitmap bitmap) 此方法在API级别5中已弃用。请改用 此方法要求调用方拥有权限 |
abstract void |
setWallpaper(InputStream data) 此方法在API级别5中已弃用。请改为使用 此方法要求调用方拥有权限 |
abstract void |
startActivities(Intent[] intents, Bundle options) 启动多项新活动。 |
abstract void |
startActivities(Intent[] intents) 与没有指定选项的 |
abstract void |
startActivity(Intent intent) 与没有指定选项的 |
abstract void |
startActivity(Intent intent, Bundle options) 启动一项新活动。 |
abstract boolean |
startInstrumentation(ComponentName className, String profileFile, Bundle arguments) 开始执行一个 |
abstract void |
startIntentSender(IntentSender intent, Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags) 与没有指定选项的 |
abstract void |
startIntentSender(IntentSender intent, Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags, Bundle options) 像 |
abstract ComponentName |
startService(Intent service) 请求启动给定的应用程序服务。 |
abstract boolean |
stopService(Intent service) 请求停止给定的应用程序服务。 |
abstract void |
unbindService(ServiceConnection conn) 断开应用程序服务。 |
void |
unregisterComponentCallbacks(ComponentCallbacks callback) 删除以前用 |
abstract void |
unregisterReceiver(BroadcastReceiver receiver) 取消注册以前注册的BroadcastReceiver。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
String ACCESSIBILITY_SERVICE
使用 getSystemService(Class
检索 AccessibilityManager
,通过注册的事件侦听器为用户提供UI事件的反馈。
常数值:“可访问性”
String ACCOUNT_SERVICE
与 getSystemService(Class
一起使用以检索 AccountManager
以便在您选择的时间接收意图。
常数值:“帐户”
String ACTIVITY_SERVICE
使用 getSystemService(Class
检索与全局系统状态交互的 ActivityManager
。
常数值:“活动”
String ALARM_SERVICE
与 getSystemService(Class
一起使用来检索 AlarmManager
以便在您选择时接收意图。
常数值:“报警”
String APPWIDGET_SERVICE
与 getSystemService(Class
一起使用来检索访问AppWidgets的 AppWidgetManager
。
也可以看看:
常量值:“appwidget”
String APP_OPS_SERVICE
与 getSystemService(Class
一起使用来检索 AppOpsManager
以跟踪设备上的应用程序操作。
常数值:“appops”
String AUDIO_SERVICE
使用 getSystemService(Class
检索 AudioManager
以处理音量,铃声模式和音频路由的管理。
常数值:“音频”
String BATTERY_SERVICE
使用 getSystemService(Class
检索 BatteryManager
以管理电池状态。
也可以看看:
常数值:“batterymanager”
int BIND_ABOVE_CLIENT
标志为bindService(Intent, ServiceConnection, int)
:表示绑定到此服务的客户端应用程序认为该服务比应用程序本身更重要。 设置后,平台将尝试让内存不足杀手杀死应用程序,然后再杀死绑定的服务,尽管这并不能保证。
常量值:8(0x00000008)
int BIND_ADJUST_WITH_ACTIVITY
标志为 bindService(Intent, ServiceConnection, int)
:如果从活动绑定,则允许根据活动对用户是否可见来提高目标服务的进程重要性,而不管是否使用另一个标志来减少客户端进程的整体重要性用于影响的数量它。
常量值:128(0x00000080)
int BIND_ALLOW_OOM_MANAGEMENT
标志为bindService(Intent, ServiceConnection, int)
:允许承载绑定服务的进程通过其正常的内存管理。 它将被视为更像是一个正在运行的服务,允许系统(暂时)清除进程,如果内存不足或其他可能存在的奇想,并且更积极地使其成为可能被杀死(并重新启动)的候选者运行很长时间。
常量值:16(0x00000010)
int BIND_AUTO_CREATE
标志为bindService(Intent, ServiceConnection, int)
:只要绑定存在,就自动创建服务。 请注意,虽然这将创建该服务,但它的onStartCommand(Intent, int, int)
方法仍将仅被调用,因为显式调用了startService(Intent)
。 即使没有这些,虽然这仍然可以让您在创建服务时访问服务对象。
请注意,在ICE_CREAM_SANDWICH
之前,不提供此标志也会影响系统认为目标服务的流程的重要性。 设置时,提出的唯一方法是通过服务绑定,在这种情况下,只有当该活动处于前台时才是重要的。 现在要实现这种行为,您必须明确提供新标志BIND_ADJUST_WITH_ACTIVITY
。 为了兼容性,未指定BIND_AUTO_CREATE
旧应用程序将自动BIND_ADJUST_WITH_ACTIVITY
设置标志BIND_WAIVE_PRIORITY
和BIND_ADJUST_WITH_ACTIVITY
以实现相同的结果。
常数值:1(0x00000001)
int BIND_DEBUG_UNBIND
标志为bindService(Intent, ServiceConnection, int)
:包含调试帮助以获取不匹配的解除绑定的调用。 如果设置了此标志,则保留以下unbindService(ServiceConnection)
调用的调用堆栈,以便在稍后进行不正确的取消绑定调用时进行打印。 请注意,执行此操作需要保留有关应用程序生命周期的绑定的信息,从而导致泄漏 - 这应仅用于调试。
常量值:2(0x00000002)
int BIND_EXTERNAL_SERVICE
旗地为bindService(Intent, ServiceConnection, int)
:被绑定的业务为isolated
, external
服务。 这将服务绑定到调用应用程序的包中,而不是声明服务的包。
使用此标志时,被绑定服务的代码将在调用应用程序的包名称和用户标识下执行。 因为服务必须是一个独立的进程,所以它不会直接访问应用程序的数据。 此标志的目的是允许应用程序使用服务提供归因于应用程序的服务,而不是提供服务的应用程序。
常量值:-2147483648(0x80000000)
int BIND_IMPORTANT
标志为bindService(Intent, ServiceConnection, int)
:此服务对客户非常重要,所以在客户端时应该将其带到前台进程级别。 通常,客户只能将流程提升到可见性级别,即使该客户位于前台。
常量值:64(0x00000040)
int BIND_NOT_FOREGROUND
标志为bindService(Intent, ServiceConnection, int)
:不允许此绑定将目标服务的进程提升为前台调度优先级。 它仍然会被提升到至少与客户端相同的内存优先级(这样它的进程在任何客户端不会被占用的情况下都不会被激活),但是为了CPU调度的目的,它可能会被留在后台。 这只会在绑定客户端是前台进程而目标服务处于后台进程的情况下产生影响。
常量值:4(0x00000004)
int BIND_WAIVE_PRIORITY
标志为bindService(Intent, ServiceConnection, int)
:不影响目标服务主机进程的调度或内存管理优先级。 允许服务的进程在后台LRU列表上进行管理,就像后台的常规应用程序进程一样。
常量值:32(0x00000020)
String BLUETOOTH_SERVICE
使用 getSystemService(Class
检索使用蓝牙的 BluetoothManager
。
也可以看看:
常数值:“蓝牙”
String CAMERA_SERVICE
与 getSystemService(Class
一起使用以检索与相机设备交互的 CameraManager
。
常数值:“相机”
String CAPTIONING_SERVICE
使用 getSystemService(Class
检索 CaptioningManager
以获取字幕属性并监听字幕首选项的更改。
常数值:“字幕”
String CARRIER_CONFIG_SERVICE
使用 getSystemService(Class
检索 CarrierConfigManager
以读取载波配置值。
常量值:“carrier_config”
String CLIPBOARD_SERVICE
与 getSystemService(Class
一起使用来检索 ClipboardManager
以访问和修改 ClipboardManager
以访问和修改全局剪贴板的内容。
常量值:“剪贴板”
String CONNECTIVITY_SERVICE
与 getSystemService(Class
一起使用来检索 ConnectivityManager
以处理网络连接的管理。
常数值:“连接”
String CONSUMER_IR_SERVICE
与 getSystemService(Class
一起使用来检索从设备传输红外信号的 ConsumerIrManager
。
常量值:“consumer_ir”
int CONTEXT_IGNORE_SECURITY
与createPackageContext(String, int)
一起使用的createPackageContext(String, int)
:忽略请求的上下文的任何安全限制,允许它始终加载。 与CONTEXT_INCLUDE_CODE
一起使用,允许将代码加载到进程中,即使这样做不安全。 谨慎使用!
常量值:2(0x00000002)
int CONTEXT_INCLUDE_CODE
与createPackageContext(String, int)
一起使用的createPackageContext(String, int)
:包含具有上下文的应用程序代码。 这意味着将代码加载到调用者的进程中,以便可以使用getClassLoader()
实例化应用程序的类。 设置这个标志会对您可以访问的应用程序上下文施加安全限制; 如果所请求的应用程序无法安全地加载到您的进程中,则会抛出java.lang.SecurityException。 如果未设置此标志,则可以加载的软件包没有限制,但getClassLoader()
将始终返回默认的系统类加载器。
常数值:1(0x00000001)
int CONTEXT_RESTRICTED
与createPackageContext(String, int)
一起使用的createPackageContext(String, int)
:受限制的上下文可能会禁用特定功能。 例如,与受限上下文关联的视图会忽略特定的XML属性。
常量值:4(0x00000004)
String DEVICE_POLICY_SERVICE
使用 getSystemService(Class
检索 DevicePolicyManager
以处理全局设备策略管理。
也可以看看:
常量值:“device_policy”
String DISPLAY_SERVICE
与 getSystemService(Class
一起使用以检索与显示设备交互的 DisplayManager
。
常量值:“显示”
String DOWNLOAD_SERVICE
使用 getSystemService(Class
检索请求HTTP下载的 DownloadManager
。
也可以看看:
常数值:“下载”
String DROPBOX_SERVICE
与 getSystemService(Class
一起使用来检索 DropBoxManager
实例以记录诊断日志。
也可以看看:
常量值:“dropbox”
String FINGERPRINT_SERVICE
使用 getSystemService(Class
检索 FingerprintManager
以处理指纹的管理。
常数值:“指纹”
String HARDWARE_PROPERTIES_SERVICE
与 getSystemService(Class
一起使用来检索 HardwarePropertiesManager
以访问硬件属性服务。
也可以看看:
常量值:“hardware_properties”
String INPUT_METHOD_SERVICE
与 getSystemService(Class
一起使用来检索访问输入方法的 InputMethodManager
。
也可以看看:
常量值:“input_method”
String INPUT_SERVICE
与 getSystemService(Class
一起使用来检索与输入设备交互的 InputManager
。
常数值:“输入”
String JOB_SCHEDULER_SERVICE
与 getSystemService(Class
一起使用来检索 JobScheduler
实例以管理偶尔的后台任务。
常数值:“jobscheduler”
String KEYGUARD_SERVICE
与 getSystemService(Class
一起使用来检索控制键盘锁的 NotificationManager
。
常数值:“键盘锁”
String LAUNCHER_APPS_SERVICE
与 getSystemService(Class
一起使用来检索 LauncherApps
以便跨用户的配置文件查询和监控可启动的应用程序。
常量值:“launcherapps”
String LAYOUT_INFLATER_SERVICE
与 getSystemService(Class
一起使用来检索 LayoutInflater
以在此上下文中 LayoutInflater
布局资源。
常量值:“layout_inflater”
String LOCATION_SERVICE
与 getSystemService(Class
一起使用来检索控制位置更新的 LocationManager
。
常数值:“位置”
String MEDIA_PROJECTION_SERVICE
与 getSystemService(Class
一起使用来检索用于管理媒体投影会话的 MediaProjectionManager
实例。
常量值:“media_projection”
String MEDIA_ROUTER_SERVICE
使用 getSystemService(Class
检索 MediaRouter
以控制和管理媒体路由。
常数值:“media_router”
String MEDIA_SESSION_SERVICE
与 getSystemService(Class
一起使用来检索用于管理媒体会话的 MediaSessionManager
。
常量值:“media_session”
String MIDI_SERVICE
使用 getSystemService(Class
检索用于访问MIDI服务的 MidiManager
。
也可以看看:
常数值:“midi”
int MODE_APPEND
文件创建模式:与 openFileOutput(String, int)
一起使用,如果文件已经存在,则将数据写入现有文件的末尾而不是将其擦除。
也可以看看:
常量值:32768(0x00008000)
int MODE_ENABLE_WRITE_AHEAD_LOGGING
数据库打开标志:设置时,默认情况下启用预写日志记录打开数据库。
也可以看看:
常量值:8(0x00000008)
int MODE_MULTI_PROCESS
此常数在API级别23中已弃用。
MODE_MULTI_PROCESS在某些版本的Android中无法可靠运行,此外不提供任何机制来协调跨进程的并发修改。 应用程序不应该尝试使用它。 相反,他们应该使用显式的跨进程数据管理方法,如ContentProvider
。
SharedPreference加载标志:设置时,即使共享首选项实例已在此进程中加载,也将检查磁盘上的文件以进行修改。 当应用程序有多个进程时,有时需要这种行为,所有进程都写入相同的SharedPreferences文件。 不过,通常在流程之间有更好的交流形式。
这是Gingerbread(Android 2.3)之前和之前的传统(但没有记录)行为,并且此标志在定位此类发行版时隐含。 对于目标SDK版本大于 Android 2.3的应用程序,必须根据需要明确设置此标志。
常量值:4(0x00000004)
int MODE_NO_LOCALIZED_COLLATORS
数据库打开标志:设置时,打开数据库时不支持本地化的整理器。
也可以看看:
常量值:16(0x00000010)
int MODE_PRIVATE
文件创建模式:默认模式,创建的文件只能由调用应用程序访问(或共享相同用户ID的所有应用程序)。
常量值:0(0x00000000)
int MODE_WORLD_READABLE
此常数在API级别17中已弃用。
创建世界可读的文件是非常危险的,并且很可能会在应用程序中造成安全漏洞。 强烈不鼓励; 相反,应用程序应该使用的相互作用,如更正式的机制ContentProvider
, BroadcastReceiver
,并Service
。 无法保证此访问模式将保留在文件中,例如当它经历备份和恢复时。
文件创建模式:允许所有其他应用程序具有对创建文件的读取访问权限。
从 N
试图使用这种模式将会抛出 SecurityException
。
常数值:1(0x00000001)
int MODE_WORLD_WRITEABLE
此常数在API级别17中已弃用。
创建世界可写文件是非常危险的,并且很可能会在应用程序中造成安全漏洞。 强烈不鼓励; 相反,应用程序应该使用的相互作用,如更正式的机制ContentProvider
, BroadcastReceiver
,并Service
。 无法保证此访问模式将保留在文件中,例如当它经历备份和恢复时。
文件创建模式:允许所有其他应用程序对创建的文件具有写入权限。
从 N
试图使用这种模式将会抛出 SecurityException
。
常量值:2(0x00000002)
String NETWORK_STATS_SERVICE
与 getSystemService(Class
一起使用来检索 NetworkStatsManager
以查询网络使用情况统计信息。
常量值:“netstats”
String NFC_SERVICE
与 getSystemService(Class
一起使用以检索使用NFC的 NfcManager
。
也可以看看:
常数值:“nfc”
String NOTIFICATION_SERVICE
与 getSystemService(Class
一起使用来检索 NotificationManager
以通知用户后台事件。
常数值:“通知”
String NSD_SERVICE
使用 getSystemService(Class
检索 NsdManager
以处理网络服务发现的管理
常量值:“servicediscovery”
String POWER_SERVICE
与 getSystemService(Class
一起使用来检索用于控制电源管理的 PowerManager
,包括“唤醒锁”,可让您在运行长时间任务时保持设备开启。
常值:“力量”
String RESTRICTIONS_SERVICE
使用 getSystemService(Class
检索 RestrictionsManager
以检索应用程序限制并请求受限操作的权限。
常数值:“限制”
String SEARCH_SERVICE
与 getSystemService(Class
一起使用来检索处理搜索的 SearchManager
。
常量值:“搜索”
String SENSOR_SERVICE
与 getSystemService(Class
一起使用来检索用于访问传感器的 SensorManager
。
常数值:“传感器”
String STORAGE_SERVICE
与 getSystemService(Class
一起使用来检索访问系统存储功能的 StorageManager
。
常数值:“存储”
String SYSTEM_HEALTH_SERVICE
与 getSystemService(Class
一起使用来检索 SystemHealthManager
以访问系统运行状况(电池,电量,内存等)度量标准。
也可以看看:
常数值:“systemhealth”
String TELECOM_SERVICE
与 getSystemService(Class
一起使用来检索 TelecomManager
以管理设备的电信相关功能。
常数值:“电信”
String TELEPHONY_SERVICE
与 getSystemService(Class
一起使用来检索 TelephonyManager
以处理管理设备的电话功能。
常数值:“电话”
String TELEPHONY_SUBSCRIPTION_SERVICE
与 getSystemService(Class
一起使用来检索 SubscriptionManager
以处理管理设备的电话订阅。
常量值:“telephony_subscription_service”
String TEXT_SERVICES_MANAGER_SERVICE
与 getSystemService(Class
一起使用来检索用于访问文本服务的 TextServicesManager
。
也可以看看:
常量值:“textservices”
String TV_INPUT_SERVICE
与 getSystemService(Class
一起使用以检索与设备上的电视输入交互的 TvInputManager
。
常量值:“tv_input”
String UI_MODE_SERVICE
与 getSystemService(Class
一起使用来检索用于控制UI模式的 UiModeManager
。
也可以看看:
常量值:“uimode”
String USAGE_STATS_SERVICE
与 getSystemService(Class
一起使用来检索 UsageStatsManager
以查询设备使用情况统计信息。
常量值:“usagestats”
String USB_SERVICE
与 getSystemService(Class
一起使用来检索 UsbManager
以访问USB设备(作为USB主机)并用于控制此设备作为USB设备的行为。
常数值:“usb”
String USER_SERVICE
使用 getSystemService(Class
检索 UserManager
以管理支持多个用户的设备上的用户。
常数值:“用户”
String VIBRATOR_SERVICE
使用 getSystemService(Class
检索 Vibrator
以与振动硬件进行交互。
也可以看看:
常数值:“振动器”
String WALLPAPER_SERVICE
与 getSystemService(Class
一起使用来检索访问壁纸的com.android.server.WallpaperService。
也可以看看:
常数值:“壁纸”
String WIFI_P2P_SERVICE
使用 getSystemService(Class
检索 WifiP2pManager
以处理Wi-Fi对等连接的管理。
常量值:“wifip2p”
String WIFI_SERVICE
使用 getSystemService(Class
检索 WifiManager
以处理Wi-Fi访问管理。
常数值:“wifi”
String WINDOW_SERVICE
使用 getSystemService(Class
检索 WindowManager
以访问系统的窗口管理器。
常数值:“窗口”
boolean bindService (Intent service, ServiceConnection conn, int flags)
连接到应用程序服务,根据需要创建它。 这定义了应用程序和服务之间的依赖关系。 给定的conn在创建时会收到服务对象,并被告知它是否会死亡并重新启动。 只要存在调用上下文,该服务就会被系统认为是必需的。 例如,如果此Context是一个已停止的Activity,则该服务将不需要继续运行,直到活动恢复。
如果您没有绑定到给定服务的权限,则此函数将抛出 SecurityException
。
注意:此方法不能从BroadcastReceiver
组件调用 。 您可以用来从BroadcastReceiver与服务进行通信的模式是使用包含要发送的命令的参数调用startService(Intent)
,该服务在完成该命令后调用其stopSelf(int)
方法。 请参阅API演示应用程序/服务/服务启动参数控制器以获取此示例。 然而,从已经注册到registerReceiver(BroadcastReceiver, IntentFilter)
的BroadcastReceiver使用此方法是可以的,因为此BroadcastReceiver的生命周期与另一个对象(注册它的对象)绑定在一起。
Parameters | |
---|---|
service |
Intent : 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 |
ServiceConnection : Receives information as the service is started and stopped. This must be a valid ServiceConnection object; it must not be null. |
flags |
int : Operation options for the binding. May be 0, BIND_AUTO_CREATE , BIND_DEBUG_UNBIND , BIND_NOT_FOREGROUND , BIND_ABOVE_CLIENT , BIND_ALLOW_OOM_MANAGEMENT , or BIND_WAIVE_PRIORITY . |
Returns | |
---|---|
boolean |
If you have successfully bound to the service, true is returned; false is returned if the connection is not made so you will not receive the service object. |
Throws | |
---|---|
SecurityException |
int checkCallingOrSelfPermission (String permission)
确定IPC的调用过程还是您已被授予特定权限。 这与checkCallingPermission(String)
相同,只是如果您当前checkCallingPermission(String)
,则会授予您自己的权限。 小心使用!
Parameters | |
---|---|
permission |
String : The name of the permission being checked. |
Returns | |
---|---|
int |
PERMISSION_GRANTED if the calling pid/uid is allowed that permission, or PERMISSION_DENIED if it is not. |
int checkCallingOrSelfUriPermission (Uri uri, int modeFlags)
确定IPC的调用进程或您是否被授予访问特定URI的权限。 这与checkCallingUriPermission(Uri, int)
相同,只是如果您当前checkCallingUriPermission(Uri, int)
,则会授予您自己的权限。 小心使用!
Parameters | |
---|---|
uri |
Uri : The uri that is being checked. |
modeFlags |
int : 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 . |
Returns | |
---|---|
int |
PERMISSION_GRANTED if the caller is allowed to access that uri, or PERMISSION_DENIED if it is not. |
int checkCallingPermission (String permission)
确定您正在处理的IPC的调用进程是否已被授予特定权限。 这与使用由getCallingPid()
和getCallingUid()
返回的pid和uid调用checkPermission(String, int, int)
基本相同。 一个重要的区别是,如果您目前没有处理IPC,该功能将始终失败。 这样做是为了防止意外泄漏的权限; 你可以使用checkCallingOrSelfPermission(String)
来避免这种保护。
Parameters | |
---|---|
permission |
String : The name of the permission being checked. |
Returns | |
---|---|
int |
PERMISSION_GRANTED if the calling pid/uid is allowed that permission, or PERMISSION_DENIED if it is not. |
int checkCallingUriPermission (Uri uri, int modeFlags)
确定调用进程和用户标识是否已被授予访问特定URI的权限。 这与使用由getCallingPid()
和getCallingUid()
返回的pid和uid调用checkUriPermission(Uri, int, int, int)
基本相同。 一个重要的区别是,如果您目前没有处理IPC,该功能将始终失败。
Parameters | |
---|---|
uri |
Uri : The uri that is being checked. |
modeFlags |
int : 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 . |
Returns | |
---|---|
int |
PERMISSION_GRANTED if the caller is allowed to access that uri, or PERMISSION_DENIED if it is not. |
int checkPermission (String permission, int pid, int uid)
确定是否允许给定的权限用于系统中运行的特定进程和用户标识。
Parameters | |
---|---|
permission |
String : The name of the permission being checked. |
pid |
int : The process ID being checked against. Must be > 0. |
uid |
int : The user ID being checked against. A uid of 0 is the root user, which will pass every permission check. |
Returns | |
---|---|
int |
PERMISSION_GRANTED if the given pid/uid is allowed that permission, or PERMISSION_DENIED if it is not. |
int checkSelfPermission (String permission)
确定 您是否已获得特定权限。
Parameters | |
---|---|
permission |
String : The name of the permission being checked. |
Returns | |
---|---|
int |
PERMISSION_GRANTED if you have the permission, or PERMISSION_DENIED if not. |
int checkUriPermission (Uri uri, String readPermission, String writePermission, int pid, int uid, int modeFlags)
检查Uri和普通权限。 这使您可以在一次呼叫中执行checkPermission(String, int, int)
和checkUriPermission(Uri, int, int, int)
。
Parameters | |
---|---|
uri |
Uri : The Uri whose permission is to be checked, or null to not do this check. |
readPermission |
String : The permission that provides overall read access, or null to not do this check. |
writePermission |
String : The permission that provides overall write access, or null to not do this check. |
pid |
int : The process ID being checked against. Must be > 0. |
uid |
int : The user ID being checked against. A uid of 0 is the root user, which will pass every permission check. |
modeFlags |
int : 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 . |
Returns | |
---|---|
int |
PERMISSION_GRANTED if the caller is allowed to access that uri or holds one of the given permissions, or PERMISSION_DENIED if it is not. |
int checkUriPermission (Uri uri, int pid, int uid, int modeFlags)
确定是否已授予特定进程和用户标识访问特定URI的权限。 这只会检查已被显式授予的权限 - 如果给定的进程/ uid对URI的内容提供者具有更多的一般访问权限,则此检查将始终失败。
Parameters | |
---|---|
uri |
Uri : The uri that is being checked. |
pid |
int : The process ID being checked against. Must be > 0. |
uid |
int : The user ID being checked against. A uid of 0 is the root user, which will pass every permission check. |
modeFlags |
int : 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 . |
Returns | |
---|---|
int |
PERMISSION_GRANTED if the given pid/uid is allowed to access that uri, or PERMISSION_DENIED if it is not. |
void clearWallpaper ()
此方法在API级别5中已被弃用。
改为使用WallpaperManager.clear()
。
此方法要求调用方拥有权限 SET_WALLPAPER
。
Throws | |
---|---|
IOException |
Context createConfigurationContext (Configuration overrideConfiguration)
为当前上下文返回一个新的Context对象,但其资源被调整以匹配给定的配置。 每次调用此方法都会返回一个Context对象的新实例; 上下文对象不共享,但是常见的状态(ClassLoader,用于相同配置的其他资源)可能是这样的,上下文本身可以是相当轻量级的。
Parameters | |
---|---|
overrideConfiguration |
Configuration : A Configuration specifying what values to modify in the base Configuration of the original Context's resources. If the base configuration changes (such as due to an orientation change), the resources of this context will also change except for those that have been explicitly overridden with a value here. |
Returns | |
---|---|
Context |
A Context with the given configuration override. |
Context createDeviceProtectedStorageContext ()
为当前上下文返回一个新的Context对象,但其存储API由受设备保护的存储支持。
在直接引导的设备上,存储在此位置的数据使用绑定到物理设备的密钥进行加密,并且可以在设备成功引导后立即访问,无论是 在用户使用凭据进行身份验证 之前还是之后 (例如锁定模式或PIN)。
由于受到设备保护的数据在没有用户身份验证的情况下可用,因此应谨慎限制使用此上下文存储的数据。 例如,强烈建议不要在设备保护区域中存储敏感身份验证令牌或密码。
如果底层设备无法使用不同的密钥存储受设备保护和凭据保护的数据,则两个存储区域将同时可用。 它们仍然是磁盘上两个不同的存储位置,只有可用性窗口发生变化。
每次调用此方法都会返回一个Context对象的新实例; 上下文对象不共享,但是常见的状态(ClassLoader,用于相同配置的其他资源)可能是这样的,上下文本身可以是相当轻量级的。
Returns | |
---|---|
Context |
也可以看看:
Context createDisplayContext (Display display)
为当前上下文返回一个新的Context对象,但其资源被调整为匹配给定Display的指标。 每次调用此方法都会返回一个Context对象的新实例; 上下文对象不共享,但是常见的状态(ClassLoader,用于相同配置的其他资源)可能是这样的,上下文本身可以是相当轻量级的。 返回的显示上下文提供了一个WindowManager
(请参阅getSystemService(String)
),它被配置为在给定的显示器上显示窗口。 WindowManager的getDefaultDisplay()
方法可用于从返回的上下文中检索显示。
Parameters | |
---|---|
display |
Display : A Display object specifying the display for whose metrics the Context's resources should be tailored and upon which new windows should be shown. |
Returns | |
---|---|
Context |
A Context for the display. |
Context createPackageContext (String packageName, int flags)
为给定的应用程序名称返回一个新的Context对象。 此上下文与启动时的命名应用程序相同,其中包含相同的资源和类加载器。 每次调用此方法都会返回一个Context对象的新实例; 上下文对象不共享,但它们共享公共状态(Resources,ClassLoader等),因此Context实例本身相当轻量级。
如果没有给定包名称的应用程序,则抛出 PackageManager.NameNotFoundException
。
如果出于安全原因无法将请求的上下文加载到调用者进程中,则会抛出 SecurityException
(有关更多信息,请参阅 CONTEXT_INCLUDE_CODE
)。
Parameters | |
---|---|
packageName |
String : Name of the application's package. |
flags |
int : Option flags, one of CONTEXT_INCLUDE_CODE or CONTEXT_IGNORE_SECURITY . |
Returns | |
---|---|
Context |
A Context for the application. |
Throws | |
---|---|
SecurityException |
|
|
if there is no application with the given package name. |
PackageManager.NameNotFoundException |
String[] databaseList ()
返回一个字符串数组,命名与此Context的应用程序包关联的专用数据库。
Returns | |
---|---|
String[] |
Array of strings naming the private databases. |
boolean deleteDatabase (String name)
删除与此Context的应用程序包关联的现有私有SQLiteDatabase。
Parameters | |
---|---|
name |
String : The name (unique in the application package) of the database. |
Returns | |
---|---|
boolean |
true if the database was successfully deleted; else false . |
boolean deleteFile (String name)
删除与此Context的应用程序包关联的给定私人文件。
Parameters | |
---|---|
name |
String : The name of the file to delete; can not contain path separators. |
Returns | |
---|---|
boolean |
true if the file was successfully deleted; else false . |
boolean deleteSharedPreferences (String name)
删除现有的共享首选项文件。
Parameters | |
---|---|
name |
String : The name (unique in the application package) of the shared preferences file. |
Returns | |
---|---|
boolean |
true if the shared preferences file was successfully deleted; else false . |
void enforceCallingOrSelfPermission (String permission, String message)
如果您和您正在处理的IPC的调用过程都没有被授予特定许可,则抛出SecurityException
。 这与enforceCallingPermission(String, String)
相同,只是如果您当前enforceCallingPermission(String, String)
,则会授予您自己的权限。 小心使用!
Parameters | |
---|---|
permission |
String : The name of the permission being checked. |
message |
String : A message to include in the exception if it is thrown. |
void enforceCallingOrSelfUriPermission (Uri uri, int modeFlags, String message)
如果IPC的调用进程或您未被授予访问特定URI的权限,则抛出SecurityException
。 这与enforceCallingUriPermission(Uri, int, String)
相同,只是如果您当前enforceCallingUriPermission(Uri, int, String)
,则会授予您自己的权限。 小心使用!
Parameters | |
---|---|
uri |
Uri : The uri that is being checked. |
modeFlags |
int : 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 |
String : A message to include in the exception if it is thrown. |
void enforceCallingPermission (String permission, String message)
如果您正在处理的IPC的调用进程没有被授予特定权限,请抛出SecurityException
。 这与使用由getCallingPid()
和getCallingUid()
返回的pid和uid调用enforcePermission(String, int, int, String)
基本相同。 一个重要的区别是,如果您当前没有处理IPC,则此函数将始终引发SecurityException。 这样做是为了防止意外泄漏的权限; 您可以使用enforceCallingOrSelfPermission(String, String)
来避免这种保护。
Parameters | |
---|---|
permission |
String : The name of the permission being checked. |
message |
String : A message to include in the exception if it is thrown. |
void enforceCallingUriPermission (Uri uri, int modeFlags, String message)
如果调用进程和用户标识没有被授予访问特定URI的权限,则抛出SecurityException
。 这与使用由getCallingPid()
和getCallingUid()
返回的pid和uid调用enforceUriPermission(Uri, int, int, int, String)
基本相同。 一个重要的区别是,如果您当前没有处理IPC,则此函数将始终引发SecurityException。
Parameters | |
---|---|
uri |
Uri : The uri that is being checked. |
modeFlags |
int : 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 |
String : A message to include in the exception if it is thrown. |
void enforcePermission (String permission, int pid, int uid, String message)
如果在系统中运行的特定进程和用户标识不允许给定权限,则抛出 SecurityException
。
Parameters | |
---|---|
permission |
String : The name of the permission being checked. |
pid |
int : The process ID being checked against. Must be > 0. |
uid |
int : The user ID being checked against. A uid of 0 is the root user, which will pass every permission check. |
message |
String : A message to include in the exception if it is thrown. |
void enforceUriPermission (Uri uri, String readPermission, String writePermission, int pid, int uid, int modeFlags, String message)
强制执行Uri和普通权限。 这允许您在一个呼叫中同时执行enforcePermission(String, int, int, String)
和enforceUriPermission(Uri, int, int, int, String)
。
Parameters | |
---|---|
uri |
Uri : The Uri whose permission is to be checked, or null to not do this check. |
readPermission |
String : The permission that provides overall read access, or null to not do this check. |
writePermission |
String : The permission that provides overall write access, or null to not do this check. |
pid |
int : The process ID being checked against. Must be > 0. |
uid |
int : The user ID being checked against. A uid of 0 is the root user, which will pass every permission check. |
modeFlags |
int : 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 |
String : A message to include in the exception if it is thrown. |
void enforceUriPermission (Uri uri, int pid, int uid, int modeFlags, String message)
如果某个特定的进程和用户标识没有被授予访问特定URI的权限,则抛出SecurityException
。 这只会检查已被显式授予的权限 - 如果给定的进程/ uid对URI的内容提供者具有更多的一般访问权限,则此检查将始终失败。
Parameters | |
---|---|
uri |
Uri : The uri that is being checked. |
pid |
int : The process ID being checked against. Must be > 0. |
uid |
int : The user ID being checked against. A uid of 0 is the root user, which will pass every permission check. |
modeFlags |
int : 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 |
String : A message to include in the exception if it is thrown. |
String[] fileList ()
返回一个字符串数组,命名与此Context的应用程序包关联的私有文件。
Returns | |
---|---|
String[] |
Array of strings naming the private files. |
Context getApplicationContext ()
返回当前进程的单个全局应用程序对象的上下文。 这通常只应用于需要生命周期与当前上下文分离的Context,该生命周期与进程的生命周期相关,而不是当前组件。
考虑一下如何与 registerReceiver(BroadcastReceiver, IntentFilter)
交互:
如果从Activity上下文中使用,接收者正在该活动中注册。 这意味着您需要在活动完成之前取消注册; 事实上,如果你不这样做,框架会清除你的泄漏注册,因为它会删除活动并记录错误。 因此,如果使用Activity上下文来注册一个静态的接收者(对进程是全局的,而不是与一个Activity实例关联的),那么在你使用的活动被销毁的任何点上,你的注册将被删除。
如果从此处返回的Context使用,则接收者正在注册与您的应用程序关联的全局状态。 因此它永远不会被注销。 如果接收器与静态数据相关联,而不是特定组件,则这是必要的。 但是,如果您忘记取消注册,取消绑定等操作,则在别处使用ApplicationContext可能会导致严重泄漏。
Returns | |
---|---|
Context |
ApplicationInfo getApplicationInfo ()
返回此上下文包的完整应用程序信息。
Returns | |
---|---|
ApplicationInfo |
AssetManager getAssets ()
返回应用程序包的AssetManager实例。
注意:此方法的实现应该返回一个AssetManager实例,该实例与由getResources()
返回的Resources实例一致。 例如,他们应该共享相同的Configuration
对象。
Returns | |
---|---|
AssetManager |
an AssetManager instance for the application's package |
也可以看看:
File getCacheDir ()
返回文件系统上特定于应用程序的缓存目录的绝对路径。 这些文件将在设备存储空间不足时被首先删除。 这些文件将被删除时无法保证。
注意:您不应该依赖系统为您删除这些文件; 对于缓存文件占用的空间量,您应始终拥有合理的最大值(例如1 MB),并在超过该空间时修剪这些文件。
如果调用应用程序移动到采用的存储设备,则返回的路径可能会随时间而改变,因此只应保留相对路径。
应用程序不需要额外的权限来读取或写入返回的路径,因为此路径位于其私有存储中。
Returns | |
---|---|
File |
The path of the directory holding application cache files. |
ClassLoader getClassLoader ()
返回一个你可以用来检索这个包中的类的类加载器。
Returns | |
---|---|
ClassLoader |
File getCodeCacheDir ()
返回专用于存储缓存代码的文件系统上特定于应用程序的缓存目录的绝对路径。 无论何时升级您的特定应用程序以及升级整个平台时,系统都会删除存储在此位置的所有文件。
此位置适用于存储由应用程序在运行时生成的编译或优化的代码。
如果调用应用程序移动到采用的存储设备,则返回的路径可能会随时间而改变,因此只应保留相对路径。
应用程序不需要额外的权限来读取或写入返回的路径,因为此路径位于其私有存储中。
Returns | |
---|---|
File |
The path of the directory holding application code cache files. |
int getColor (int id)
返回与特定资源ID关联的颜色并为当前主题设计样式。
Parameters | |
---|---|
id |
int : The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier. |
Returns | |
---|---|
int |
A single color value in the form 0xAARRGGBB. |
Throws | |
---|---|
Resources.NotFoundException |
if the given ID does not exist. |
ColorStateList getColorStateList (int id)
返回与特定资源ID关联的颜色状态列表,并为当前主题设计风格。
Parameters | |
---|---|
id |
int : The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier. |
Returns | |
---|---|
ColorStateList |
A color state list, or null if the resource could not be resolved. |
Throws | |
---|---|
Resources.NotFoundException |
if the given ID does not exist. |
ContentResolver getContentResolver ()
为你的应用程序包返回一个ContentResolver实例。
Returns | |
---|---|
ContentResolver |
File getDataDir ()
返回存储属于此应用程序的所有私人文件的文件系统上目录的绝对路径。 应用程序不应该直接使用此路径; 他们应该使用getFilesDir()
, getCacheDir()
, getDir(String, int)
这个类,或者其他存储API。
如果调用应用程序移动到采用的存储设备,则返回的路径可能会随时间而改变,因此只应保留相对路径。
调用应用程序无需额外的权限即可读取或写入返回路径下的文件。
Returns | |
---|---|
File |
也可以看看:
File getDatabasePath (String name)
返回存储使用 openOrCreateDatabase(String, int, SQLiteDatabase.CursorFactory)
创建的数据库的文件系统上的绝对路径。
如果调用应用程序移动到采用的存储设备,则返回的路径可能会随时间而改变,因此只应保留相对路径。
Parameters | |
---|---|
name |
String : The name of the database for which you would like to get its path. |
Returns | |
---|---|
File |
An absolute path to the given database. |
File getDir (String name, int mode)
根据需要检索,创建应用程序可以放置自己的自定义数据文件的新目录。 您可以使用返回的File对象来创建和访问此目录中的文件。 请注意,通过File对象创建的文件只能由您自己的应用程序访问; 您只能设置整个目录的模式,而不是单个文件。
如果调用应用程序移动到采用的存储设备,则返回的路径可能会随时间而改变,因此只应保留相对路径。
应用程序不需要额外的权限来读取或写入返回的路径,因为此路径位于其私有存储中。
Parameters | |
---|---|
name |
String : Name of the directory to retrieve. This is a directory that is created as part of your application data. |
mode |
int : Operating mode. Use 0 or MODE_PRIVATE for the default operation. |
Returns | |
---|---|
File |
A File object for the requested directory. The directory will have been created if it does not already exist. |
也可以看看:
Drawable getDrawable (int id)
返回与特定资源ID关联的可绘制对象,并为当前主题创建样式。
Parameters | |
---|---|
id |
int : The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier. |
Returns | |
---|---|
Drawable |
An object that can be used to draw this resource, or null if the resource could not be resolved. |
Throws | |
---|---|
Resources.NotFoundException |
if the given ID does not exist. |
File getExternalCacheDir ()
返回应用程序可以放置其拥有的缓存文件的主共享/外部存储设备上特定于应用程序的目录的绝对路径。 这些文件是应用程序的内部文件,并且通常不会作为媒体显示给用户。
这类似于 getCacheDir()
,因为这些文件在卸载应用程序时将被删除,但是存在一些重要的区别:
JELLY_BEAN_MR1
or later and isExternalStorageEmulated(File)
returns true. getExternalStorageState(File)
. WRITE_EXTERNAL_STORAGE
can write to these files. 如果模拟共享存储设备(由 isExternalStorageEmulated(File)
决定),则其内容由专用用户数据分区支持,这意味着在此处存储数据没有多大好处,而不是由 getCacheDir()
返回的专用目录。
从KITKAT
开始,不需要读取或写入返回路径的权限; 它始终可供调用应用程序访问。 这仅适用于为调用应用程序的包名称生成的路径。 要访问属于其他包的路径,需要WRITE_EXTERNAL_STORAGE
和/或READ_EXTERNAL_STORAGE
。
在具有多个用户的设备上(如UserManager
),每个用户都有自己独立的共享存储。 应用程序只能访问正在运行的用户的共享存储。
如果插入不同的共享存储介质,返回的路径可能随时间而改变,因此只应保留相对路径。
Returns | |
---|---|
File |
the absolute path to application-specific directory. May return null if shared storage is not currently available. |
File[] getExternalCacheDirs ()
返回应用程序可以放置它拥有的缓存文件的所有共享/外部存储设备上特定于应用程序的目录的绝对路径。 这些文件是应用程序的内部文件,并且通常不会作为媒体显示给用户。
这就像 getCacheDir()
,这些文件在卸载应用程序时会被删除,但是有一些重要的区别:
JELLY_BEAN_MR1
or later and isExternalStorageEmulated(File)
returns true. getExternalStorageState(File)
. WRITE_EXTERNAL_STORAGE
can write to these files. 如果模拟共享存储设备(由 isExternalStorageEmulated(File)
确定),则其内容由专用用户数据分区支持,这意味着在此处存储数据没有多大好处,而不是由 getCacheDir()
返回的专用目录。
这里返回的共享存储设备被认为是设备的稳定部分,包括保护盖下的物理介质插槽。 返回的路径不包括瞬时设备,例如连接到手持设备的USB闪存驱动器。
应用程序可以将数据存储在任何或所有返回的设备上。 例如,应用程序可能会选择将大文件存储在具有最大可用空间的设备上,如StatFs
所测量的StatFs
。
调用应用程序无需额外的权限即可读取或写入返回路径下的文件。 在辅助外部存储设备上写入这些路径之外的访问权限不可用。
如果插入不同的共享存储介质,返回的路径可能随时间而改变,因此只应保持相对路径。
Returns | |
---|---|
File[] |
the absolute paths to application-specific directories. Some individual paths may be null if that shared storage is not currently available. The first path returned is the same as getExternalCacheDir() . |
File getExternalFilesDir (String type)
返回应用程序可以放置其拥有的持久性文件的主共享/外部存储设备上目录的绝对路径。 这些文件是应用程序的内部文件,对于用户而言通常不可见为媒体。
这与 getFilesDir()
,因为这些文件在卸载应用程序时将被删除,但有一些重要的区别:
getExternalStorageState(File)
. WRITE_EXTERNAL_STORAGE
can write to these files. 如果模拟共享存储设备(由 isExternalStorageEmulated(File)
确定),则其内容由专用用户数据分区支持,这意味着在此存储数据没有多大好处,而不是由 getFilesDir()
等返回的专用目录。
从KITKAT
开始,不需要读取或写入返回路径的权限; 它始终可供调用应用程序访问。 这仅适用于为调用应用程序的包名称生成的路径。 要访问属于其他包的路径,则需要WRITE_EXTERNAL_STORAGE
和/或READ_EXTERNAL_STORAGE
。
在具有多个用户的设备上(如UserManager
),每个用户都有自己独立的共享存储。 应用程序只能访问正在运行的用户的共享存储。
如果插入不同的共享存储介质,返回的路径可能随时间而改变,因此只应保留相对路径。
以下是操作应用程序共享存储中的文件的典型代码示例:
void createExternalStoragePrivateFile() { // Create a path where we will place our private file on external // storage. File file = new File(getExternalFilesDir(null), "DemoFile.jpg"); try { // Very simple code to copy a picture from the application's // resource into the external file. Note that this code does // no error checking, and assumes the picture is small (does not // try to copy it in chunks). Note that if external storage is // not currently mounted this will silently fail. InputStream is = getResources().openRawResource(R.drawable.balloons); OutputStream os = new FileOutputStream(file); byte[] data = new byte[is.available()]; is.read(data); os.write(data); is.close(); os.close(); } catch (IOException e) { // Unable to create file, likely because external storage is // not currently mounted. Log.w("ExternalStorage", "Error writing " + file, e); } } void deleteExternalStoragePrivateFile() { // Get path for the file on external storage. If external // storage is not currently mounted this will fail. File file = new File(getExternalFilesDir(null), "DemoFile.jpg"); if (file != null) { file.delete(); } } boolean hasExternalStoragePrivateFile() { // Get path for the file on external storage. If external // storage is not currently mounted this will fail. File file = new File(getExternalFilesDir(null), "DemoFile.jpg"); if (file != null) { return file.exists(); } return false; }
如果您为此函数提供非null 类型 ,则返回的文件将成为给定类型的子目录的路径。 尽管媒体扫描程序不会自动扫描这些文件,但您可以使用MediaScannerConnection.scanFile
将它们明确添加到媒体数据库中。 请注意,这与Environment.getExternalStoragePublicDirectory()
,后者提供所有应用程序共享的媒体目录。 这里返回的目录由应用程序拥有,当应用程序被卸载时,它们的内容将被删除。 与Environment.getExternalStoragePublicDirectory()
不同,此处返回的目录将自动为您创建。
以下是处理应用程序共享存储中的图片并将其添加到媒体数据库的典型代码示例:
void createExternalStoragePrivatePicture() { // Create a path where we will place our picture in our own private // pictures directory. Note that we don't really need to place a // picture in DIRECTORY_PICTURES, since the media scanner will see // all media in these directories; this may be useful with other // media types such as DIRECTORY_MUSIC however to help it classify // your media for display to the user. File path = getExternalFilesDir(Environment.DIRECTORY_PICTURES); File file = new File(path, "DemoPicture.jpg"); try { // Very simple code to copy a picture from the application's // resource into the external file. Note that this code does // no error checking, and assumes the picture is small (does not // try to copy it in chunks). Note that if external storage is // not currently mounted this will silently fail. InputStream is = getResources().openRawResource(R.drawable.balloons); OutputStream os = new FileOutputStream(file); byte[] data = new byte[is.available()]; is.read(data); os.write(data); is.close(); os.close(); // Tell the media scanner about the new file so that it is // immediately available to the user. MediaScannerConnection.scanFile(this, new String[] { file.toString() }, null, new MediaScannerConnection.OnScanCompletedListener() { public void onScanCompleted(String path, Uri uri) { Log.i("ExternalStorage", "Scanned " + path + ":"); Log.i("ExternalStorage", "-> uri=" + uri); } }); } catch (IOException e) { // Unable to create file, likely because external storage is // not currently mounted. Log.w("ExternalStorage", "Error writing " + file, e); } } void deleteExternalStoragePrivatePicture() { // Create a path where we will place our picture in the user's // public pictures directory and delete the file. If external // storage is not currently mounted this will fail. File path = getExternalFilesDir(Environment.DIRECTORY_PICTURES); if (path != null) { File file = new File(path, "DemoPicture.jpg"); file.delete(); } } boolean hasExternalStoragePrivatePicture() { // Create a path where we will place our picture in the user's // public pictures directory and check if the file exists. If // external storage is not currently mounted this will think the // picture doesn't exist. File path = getExternalFilesDir(Environment.DIRECTORY_PICTURES); if (path != null) { File file = new File(path, "DemoPicture.jpg"); return file.exists(); } return false; }
Parameters | |
---|---|
type |
String : The type of files directory to return. May be null for the root of the files directory or one of the following constants for a subdirectory: DIRECTORY_MUSIC , DIRECTORY_PODCASTS , DIRECTORY_RINGTONES , DIRECTORY_ALARMS , DIRECTORY_NOTIFICATIONS , DIRECTORY_PICTURES , or DIRECTORY_MOVIES . |
Returns | |
---|---|
File |
the absolute path to application-specific directory. May return null if shared storage is not currently available. |
File[] getExternalFilesDirs (String type)
返回应用程序可以放置其拥有的持久性文件的所有共享/外部存储设备上特定于应用程序的目录的绝对路径。 这些文件是应用程序的内部文件,并且通常不会作为媒体显示给用户。
这就像 getFilesDir()
,这些文件在卸载应用程序时会被删除,但是有一些重要的区别:
getExternalStorageState(File)
. WRITE_EXTERNAL_STORAGE
can write to these files. 如果模拟共享存储设备(由 isExternalStorageEmulated(File)
确定),则其内容由专用用户数据分区支持,这意味着在此处存储数据没有多大好处,而不是由 getFilesDir()
等返回的专用目录。
这里返回的共享存储设备被认为是设备的稳定部分,包括保护盖下的物理介质插槽。 返回的路径不包括瞬时设备,例如连接到手持设备的USB闪存驱动器。
应用程序可以将数据存储在任何或所有返回的设备上。 例如,应用程序可能会选择将大文件存储在具有最大可用空间的设备上,如StatFs
。
调用应用程序无需额外的权限即可读取或写入返回路径下的文件。 在辅助外部存储设备上写入这些路径之外的访问权限不可用。
如果插入不同的共享存储介质,返回的路径可能随时间而改变,因此只应保留相对路径。
Parameters | |
---|---|
type |
String : The type of files directory to return. May be null for the root of the files directory or one of the following constants for a subdirectory: DIRECTORY_MUSIC , DIRECTORY_PODCASTS , DIRECTORY_RINGTONES , DIRECTORY_ALARMS , DIRECTORY_NOTIFICATIONS , DIRECTORY_PICTURES , or DIRECTORY_MOVIES . |
Returns | |
---|---|
File[] |
the absolute paths to application-specific directories. Some individual paths may be null if that shared storage is not currently available. The first path returned is the same as getExternalFilesDir(String) . |
File[] getExternalMediaDirs ()
返回应用程序可放置媒体文件的所有共享/外部存储设备上特定于应用程序的目录的绝对路径。 通过MediaStore
扫描这些文件并将其提供给其他应用程序。
这类似于 getExternalFilesDirs(String)
,因为这些文件在卸载应用程序时将被删除,但有一些重要的区别:
getExternalStorageState(File)
. WRITE_EXTERNAL_STORAGE
can write to these files. 这里返回的共享存储设备被认为是设备的稳定部分,包括保护盖下的物理介质插槽。 返回的路径不包括瞬时设备,例如连接到手持设备的USB闪存驱动器。
应用程序可以将数据存储在任何或所有返回的设备上。 例如,应用程序可能会选择将大文件存储在具有最多可用空间的设备上,如StatFs
所测量的StatFs
。
调用应用程序无需额外的权限即可读取或写入返回路径下的文件。 在辅助外部存储设备上写入这些路径之外的访问权限不可用。
如果插入不同的共享存储介质,返回的路径可能随时间而改变,因此只应保持相对路径。
Returns | |
---|---|
File[] |
the absolute paths to application-specific directories. Some individual paths may be null if that shared storage is not currently available. |
File getFileStreamPath (String name)
返回存储使用 openFileOutput(String, int)
创建的文件的文件系统上的绝对路径。
如果调用应用程序移动到采用的存储设备,则返回的路径可能会随时间而改变,因此只应保留相对路径。
Parameters | |
---|---|
name |
String : The name of the file for which you would like to get its path. |
Returns | |
---|---|
File |
An absolute path to the given file. |
File getFilesDir ()
返回存储使用 openFileOutput(String, int)
创建的文件的文件系统上目录的绝对路径。
如果调用应用程序移动到采用的存储设备,则返回的路径可能会随时间而改变,因此只应保留相对路径。
调用应用程序无需额外的权限即可读取或写入返回路径下的文件。
Returns | |
---|---|
File |
The path of the directory holding application files. |
Looper getMainLooper ()
返回当前进程主线程的Looper。 这是用于调用应用程序组件(活动,服务等)的线程。
根据定义,此方法返回与调用 Looper.getMainLooper()
所获得的结果相同的结果。
Returns | |
---|---|
Looper |
The main looper. |
File getNoBackupFilesDir ()
返回类似于getFilesDir()
的文件系统上目录的绝对路径。 不同之处在于放置在该目录下的文件将被排除在远程存储的自动备份之外。 有关Android中的自动备份机制的完整讨论,请参阅BackupAgent
。
如果调用应用程序移动到采用的存储设备,则返回的路径可能会随时间而改变,因此只应保留相对路径。
调用应用程序无需额外的权限即可读取或写入返回路径下的文件。
Returns | |
---|---|
File |
The path of the directory holding application files that will not be automatically backed up to remote storage. |
File getObbDir ()
返回此应用程序的OBB文件(如果有)的主要共享/外部存储目录。 请注意,如果应用程序没有任何OBB文件,则该目录可能不存在。
这类似于 getFilesDir()
,因为这些文件在卸载应用程序时将被删除,但有一些重要的区别:
getExternalStorageState(File)
. WRITE_EXTERNAL_STORAGE
can write to these files. 从KITKAT
开始,不需要读取或写入返回路径的权限; 它始终可供调用应用程序访问。 这仅适用于为调用应用程序的包名称生成的路径。 要访问属于其他包的路径,需要WRITE_EXTERNAL_STORAGE
和/或READ_EXTERNAL_STORAGE
。
在具有多个用户的设备上(如UserManager
),多个用户可能共享相同的OBB存储位置。 应用程序应确保在不同用户下运行的多个实例不会相互干扰。
Returns | |
---|---|
File |
the absolute path to application-specific directory. May return null if shared storage is not currently available. |
File[] getObbDirs ()
返回应用程序的OBB文件(如果有)的所有共享/外部存储设备上的应用程序特定目录的绝对路径。 请注意,如果应用程序没有任何OBB文件,这些目录可能不存在。
这类似于 getFilesDir()
,因为这些文件在卸载应用程序时将被删除,但是存在一些重要区别:
getExternalStorageState(File)
. WRITE_EXTERNAL_STORAGE
can write to these files. 这里返回的共享存储设备被认为是设备的稳定部分,包括保护盖下的物理介质插槽。 返回的路径不包括瞬时设备,例如连接到手持设备的USB闪存驱动器。
应用程序可以将数据存储在任何或所有返回的设备上。 例如,应用程序可以选择将大文件存储在具有最多可用空间的设备上,如StatFs
。
调用应用程序无需额外的权限即可读取或写入返回路径下的文件。 在辅助外部存储设备上写入这些路径之外的访问权限不可用。
Returns | |
---|---|
File[] |
the absolute paths to application-specific directories. Some individual paths may be null if that shared storage is not currently available. The first path returned is the same as getObbDir() |
String getPackageCodePath ()
返回此上下文的主要Android包的完整路径。 Android包是一个ZIP文件,其中包含应用程序的主要代码和资产。
注意:这对于应用程序通常不是很有用,因为它们不应该直接访问文件系统。
Returns | |
---|---|
String |
String Path to the code and assets. |
PackageManager getPackageManager ()
返回PackageManager实例以查找全局包信息。
Returns | |
---|---|
PackageManager |
String getPackageResourcePath ()
返回此上下文的主要Android包的完整路径。 Android包是一个包含应用程序主要资源的ZIP文件。
注意:这对于应用程序通常不是很有用,因为它们不应该直接访问文件系统。
Returns | |
---|---|
String |
String Path to the resources. |
Resources getResources ()
返回应用程序包的资源实例。
注意:此方法的实现应该返回一个与由getAssets()
返回的AssetManager实例一致的资源实例。 例如,他们应该共享相同的Configuration
对象。
Returns | |
---|---|
Resources |
a Resources instance for the application's package |
也可以看看:
SharedPreferences getSharedPreferences (String name, int mode)
检索并保存首选项文件'name'的内容,返回一个SharedPreferences,通过它可以检索和修改其值。 只有一个SharedPreferences对象的实例返回给同一名称的任何调用者,这意味着他们一旦创建就会看到对方的编辑。
Parameters | |
---|---|
name |
String : 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 |
int : Operating mode. Use 0 or MODE_PRIVATE for the default operation. |
Returns | |
---|---|
SharedPreferences |
The single SharedPreferences instance that can be used to retrieve and modify the preference values. |
也可以看看:
String getString (int resId, Object... formatArgs)
从应用程序包的默认字符串表中返回一个已本地化的格式化字符串,替换 Formatter
和 format(String, Object...)
定义的格式参数。
Parameters | |
---|---|
resId |
int : Resource id for the format string |
formatArgs |
Object : The format arguments that will be used for substitution. |
Returns | |
---|---|
String |
The string data associated with the resource, formatted and stripped of styled text information. |
String getString (int resId)
从应用程序包的默认字符串表中返回一个本地化的字符串。
Parameters | |
---|---|
resId |
int : Resource id for the string |
Returns | |
---|---|
String |
The string data associated with the resource, stripped of styled text information. |
T getSystemService (Class<T> serviceClass)
按类返回句柄到系统级服务。
目前可用的类别是: WindowManager
, LayoutInflater
, ActivityManager
, PowerManager
, AlarmManager
, NotificationManager
, KeyguardManager
, LocationManager
, SearchManager
, Vibrator
, ConnectivityManager
, WifiManager
, AudioManager
, MediaRouter
, TelephonyManager
, SubscriptionManager
, InputMethodManager
, UiModeManager
, DownloadManager
, BatteryManager
, JobScheduler
, NetworkStatsManager
。
注意:通过此API获取的系统服务可能与它们从中获取的上下文紧密相关。 一般来说,不要在各种不同的上下文(活动,应用程序,服务,提供者等)之间共享服务对象,
Parameters | |
---|---|
serviceClass |
Class : The class of the desired service. |
Returns | |
---|---|
T |
The service or null if the class is not a supported system service. |
Object getSystemService (String name)
按名称将句柄返回到系统级服务。 返回的对象的类因所请求的名称而异。 目前可用的名称是:
WINDOW_SERVICE
("window")
WindowManager
.
LAYOUT_INFLATER_SERVICE
("layout_inflater")
LayoutInflater
for inflating layout resources in this context.
ACTIVITY_SERVICE
("activity")
ActivityManager
for interacting with the global activity state of the system.
POWER_SERVICE
("power")
PowerManager
for controlling power management.
ALARM_SERVICE
("alarm")
AlarmManager
for receiving intents at the time of your choosing.
NOTIFICATION_SERVICE
("notification")
NotificationManager
for informing the user of background events.
KEYGUARD_SERVICE
("keyguard")
KeyguardManager
for controlling keyguard.
LOCATION_SERVICE
("location")
LocationManager
for controlling location (e.g., GPS) updates.
SEARCH_SERVICE
("search")
SearchManager
for handling search.
VIBRATOR_SERVICE
("vibrator")
Vibrator
for interacting with the vibrator hardware.
CONNECTIVITY_SERVICE
("connection")
ConnectivityManager
for handling management of network connections.
WIFI_SERVICE
("wifi")
WifiManager
for management of Wi-Fi connectivity.
WIFI_P2P_SERVICE
("wifip2p")
WifiP2pManager
for management of Wi-Fi Direct connectivity.
INPUT_METHOD_SERVICE
("input_method")
InputMethodManager
for management of input methods.
UI_MODE_SERVICE
("uimode")
UiModeManager
for controlling UI modes.
DOWNLOAD_SERVICE
("download")
DownloadManager
for requesting HTTP downloads
BATTERY_SERVICE
("batterymanager")
BatteryManager
for managing battery state
JOB_SCHEDULER_SERVICE
("taskmanager")
JobScheduler
for managing scheduled tasks
NETWORK_STATS_SERVICE
("netstats")
NetworkStatsManager
for querying network usage statistics.
HARDWARE_PROPERTIES_SERVICE
("hardware_properties")
HardwarePropertiesManager
for accessing hardware properties.
注意:通过此API获取的系统服务可能与它们从中获取的上下文紧密相关。 一般来说,不要在各种不同的上下文(活动,应用程序,服务,提供者等)之间共享服务对象,
Parameters | |
---|---|
name |
String : The name of the desired service. |
Returns | |
---|---|
Object |
The service or null if the name does not exist. |
也可以看看:
WINDOW_SERVICE
WindowManager
LAYOUT_INFLATER_SERVICE
LayoutInflater
ACTIVITY_SERVICE
ActivityManager
POWER_SERVICE
PowerManager
ALARM_SERVICE
AlarmManager
NOTIFICATION_SERVICE
NotificationManager
KEYGUARD_SERVICE
KeyguardManager
LOCATION_SERVICE
LocationManager
SEARCH_SERVICE
SearchManager
SENSOR_SERVICE
SensorManager
STORAGE_SERVICE
StorageManager
VIBRATOR_SERVICE
Vibrator
CONNECTIVITY_SERVICE
ConnectivityManager
WIFI_SERVICE
WifiManager
AUDIO_SERVICE
AudioManager
MEDIA_ROUTER_SERVICE
MediaRouter
TELEPHONY_SERVICE
TelephonyManager
TELEPHONY_SUBSCRIPTION_SERVICE
SubscriptionManager
CARRIER_CONFIG_SERVICE
CarrierConfigManager
INPUT_METHOD_SERVICE
InputMethodManager
UI_MODE_SERVICE
UiModeManager
DOWNLOAD_SERVICE
DownloadManager
BATTERY_SERVICE
BatteryManager
JOB_SCHEDULER_SERVICE
JobScheduler
NETWORK_STATS_SERVICE
NetworkStatsManager
HardwarePropertiesManager
HARDWARE_PROPERTIES_SERVICE
String getSystemServiceName (Class<?> serviceClass)
获取由指定的类表示的系统级服务的名称。
Parameters | |
---|---|
serviceClass |
Class : The class of the desired service. |
Returns | |
---|---|
String |
The service name or null if the class is not a supported system service. |
CharSequence getText (int resId)
从应用程序包的默认字符串表中返回一个本地化的,风格化的CharSequence。
Parameters | |
---|---|
resId |
int : Resource id for the CharSequence text |
Returns | |
---|---|
CharSequence |
Drawable getWallpaper ()
此方法在API级别5中已被弃用。
改为使用WallpaperManager.get()
。
Returns | |
---|---|
Drawable |
int getWallpaperDesiredMinimumHeight ()
此方法在API级别5中已被弃用。
改为使用WallpaperManager.getDesiredMinimumHeight()
。
Returns | |
---|---|
int |
int getWallpaperDesiredMinimumWidth ()
此方法在API级别5中已被弃用。
改为使用WallpaperManager.getDesiredMinimumWidth()
。
Returns | |
---|---|
int |
void grantUriPermission (String toPackage, Uri uri, int modeFlags)
无论该软件包是否具有访问Uri内容提供者的一般权限,都可以授予访问另一个软件包的特定Uri的权限。 这可用于授予特定的临时权限,通常用于响应用户交互(例如用户打开您希望其他人显示的附件)。
通常情况下,您应该使用Intent.FLAG_GRANT_READ_URI_PERMISSION
或Intent.FLAG_GRANT_WRITE_URI_PERMISSION
,Intent用于直接启动活动而不是此功能。 如果您直接使用此功能,则应该确保在不再允许目标访问目标时调用revokeUriPermission(Uri, int)
。
要成功,拥有Uri的内容提供商必须在其清单中设置 grantUriPermissions
属性或包含 <grant-uri-permissions>
标记。
Parameters | |
---|---|
toPackage |
String : The package you would like to allow to access the Uri. |
uri |
Uri : The Uri you would like to grant access to. |
modeFlags |
int : The desired access modes. Any combination of Intent.FLAG_GRANT_READ_URI_PERMISSION , Intent.FLAG_GRANT_WRITE_URI_PERMISSION , Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION , or Intent.FLAG_GRANT_PREFIX_URI_PERMISSION . |
boolean isDeviceProtectedStorage ()
指示此Context的存储API是否受设备保护存储支持。
Returns | |
---|---|
boolean |
boolean isRestricted ()
指示此上下文是否受限制。
Returns | |
---|---|
boolean |
true if this Context is restricted, false otherwise. |
也可以看看:
boolean moveDatabaseFrom (Context sourceContext, String name)
将现有数据库文件从给定的源存储上下文移动到此上下文。 这通常用于在升级后在存储位置之间迁移数据,例如迁移到设备保护存储。
数据库在移动之前必须关闭。
Parameters | |
---|---|
sourceContext |
Context : The source context which contains the existing database to move. |
name |
String : The name of the database file. |
Returns | |
---|---|
boolean |
true if the move was successful or if the database didn't exist in the source context, otherwise false . |
boolean moveSharedPreferencesFrom (Context sourceContext, String name)
将现有的共享首选项文件从给定的源存储上下文移至此上下文。 这通常用于升级后在存储位置之间迁移数据,例如迁移到设备保护存储。
Parameters | |
---|---|
sourceContext |
Context : The source context which contains the existing shared preferences to move. |
name |
String : The name of the shared preferences file. |
Returns | |
---|---|
boolean |
true if the move was successful or if the shared preferences didn't exist in the source context, otherwise false . |
TypedArray obtainStyledAttributes (AttributeSet set, int[] attrs)
在此Context的主题中检索样式化属性信息。 有关更多信息,请参阅obtainStyledAttributes(AttributeSet, int[], int, int)
。
Parameters | |
---|---|
set |
AttributeSet
|
attrs |
int
|
Returns | |
---|---|
TypedArray |
TypedArray obtainStyledAttributes (AttributeSet set, int[] attrs, int defStyleAttr, int defStyleRes)
在此Context的主题中检索样式化属性信息。 有关更多信息,请参阅obtainStyledAttributes(AttributeSet, int[], int, int)
。
Parameters | |
---|---|
set |
AttributeSet
|
attrs |
int
|
defStyleAttr |
int
|
defStyleRes |
int
|
Returns | |
---|---|
TypedArray |
TypedArray obtainStyledAttributes (int resid, int[] attrs)
在此Context的主题中检索样式化属性信息。 有关更多信息,请参阅obtainStyledAttributes(int, int[])
。
Parameters | |
---|---|
resid |
int
|
attrs |
int
|
Returns | |
---|---|
TypedArray |
Throws | |
---|---|
Resources.NotFoundException |
TypedArray obtainStyledAttributes (int[] attrs)
在此Context的主题中检索样式化属性信息。 有关更多信息,请参阅obtainStyledAttributes(int[])
。
Parameters | |
---|---|
attrs |
int
|
Returns | |
---|---|
TypedArray |
FileInputStream openFileInput (String name)
打开与此Context的应用程序包关联的私人文件以供阅读。
Parameters | |
---|---|
name |
String : The name of the file to open; can not contain path separators. |
Returns | |
---|---|
FileInputStream |
The resulting FileInputStream . |
Throws | |
---|---|
FileNotFoundException |
FileOutputStream openFileOutput (String name, int mode)
打开与此Context的应用程序包关联的私有文件以进行写入。 如果该文件不存在,则创建该文件。
调用应用程序无需额外的权限来读取或写入返回的文件。
Parameters | |
---|---|
name |
String : The name of the file to open; can not contain path separators. |
mode |
int : Operating mode. Use 0 or MODE_PRIVATE for the default operation. Use MODE_APPEND to append to an existing file. |
Returns | |
---|---|
FileOutputStream |
The resulting FileOutputStream . |
Throws | |
---|---|
FileNotFoundException |
SQLiteDatabase openOrCreateDatabase (String name, int mode, SQLiteDatabase.CursorFactory factory, DatabaseErrorHandler errorHandler)
打开与此Context的应用程序包关联的新私有SQLiteDatabase。 如果数据库文件不存在,则创建该文件。
接受输入参数:当sqlite报告数据库损坏时,用于处理腐败的具体实例 DatabaseErrorHandler
。
Parameters | |
---|---|
name |
String : The name (unique in the application package) of the database. |
mode |
int : Operating mode. Use 0 or MODE_PRIVATE for the default operation. Use MODE_ENABLE_WRITE_AHEAD_LOGGING to enable write-ahead logging by default. Use MODE_NO_LOCALIZED_COLLATORS to disable localized collators. |
factory |
SQLiteDatabase.CursorFactory : An optional factory class that is called to instantiate a cursor when query is called. |
errorHandler |
DatabaseErrorHandler : the DatabaseErrorHandler to be used when sqlite reports database corruption. if null, DefaultDatabaseErrorHandler is assumed. |
Returns | |
---|---|
SQLiteDatabase |
The contents of a newly created database with the given name. |
Throws | |
---|---|
SQLiteException |
if the database file could not be opened. |
SQLiteDatabase openOrCreateDatabase (String name, int mode, SQLiteDatabase.CursorFactory factory)
打开与此Context的应用程序包关联的新私有SQLiteDatabase。 如果数据库文件不存在,请创建它。
Parameters | |
---|---|
name |
String : The name (unique in the application package) of the database. |
mode |
int : Operating mode. Use 0 or MODE_PRIVATE for the default operation. Use MODE_ENABLE_WRITE_AHEAD_LOGGING to enable write-ahead logging by default. Use MODE_NO_LOCALIZED_COLLATORS to disable localized collators. |
factory |
SQLiteDatabase.CursorFactory : An optional factory class that is called to instantiate a cursor when query is called. |
Returns | |
---|---|
SQLiteDatabase |
The contents of a newly created database with the given name. |
Throws | |
---|---|
SQLiteException |
if the database file could not be opened. |
Drawable peekWallpaper ()
此方法在API级别5中已被弃用。
改为使用WallpaperManager.peek()
。
Returns | |
---|---|
Drawable |
void registerComponentCallbacks (ComponentCallbacks callback)
在Context的基本应用程序中添加一个新的ComponentCallbacks
,它将在调用ComponentCallbacks活动方法和其他组件的同时被调用。 请注意,您将来必须确保在适当的时候使用unregisterComponentCallbacks(ComponentCallbacks)
; 这不会被删除。
Parameters | |
---|---|
callback |
ComponentCallbacks : The interface to call. This can be either a ComponentCallbacks or ComponentCallbacks2 interface. |
Intent registerReceiver (BroadcastReceiver receiver, IntentFilter filter)
注册BroadcastReceiver以在主要活动线程中运行。 接收器将在主应用程序线程中与任何匹配过滤器的广播Intent一起调用。
系统可能会广播“粘性”的内容 - 在广播结束后,这些内容将保留下来,以便发送给任何以后的注册。 如果您的IntentFilter匹配这些粘意图之一,这一意图将这个函数返回时就好像刚刚被广播发送到您的接收器 。
可能有多个匹配过滤器的粘性内容,在这种情况下,每个内容都将被发送到接收方 。 在这种情况下,函数只能直接返回其中的一个; 哪些返回是由系统任意决定的。
如果您知道您注册的意图是粘性的,您可以为您的接收器提供空值。 在这种情况下,没有接收者注册 - 该函数只是返回匹配过滤器的粘性Intent。 在多个匹配的情况下,应用与上述相同的规则。
有关意向广播的更多信息,请参阅 BroadcastReceiver
。
从ICE_CREAM_SANDWICH
,使用此方法注册的接收方将正确地遵守为广播的Intent指定的setPackage(String)
。 在此之前,它将被忽略并交付给所有匹配的注册接收者。 如果使用它来保证安全,请小心。
注意:此方法不能从BroadcastReceiver
组件调用; 也就是从应用程序清单中声明的BroadcastReceiver。 但是,从另一个BroadcastReceiver调用此方法是可以的,因为这种已注册的BroadcastReceiver的生命周期与注册它的对象绑定在一起,而该方法本身已在运行时注册为registerReceiver(BroadcastReceiver, IntentFilter)
。
Parameters | |
---|---|
receiver |
BroadcastReceiver : The BroadcastReceiver to handle the broadcast. |
filter |
IntentFilter : Selects the Intent broadcasts to be received. |
Returns | |
---|---|
Intent |
The first sticky intent found that matches filter, or null if there are none. |
Intent registerReceiver (BroadcastReceiver receiver, IntentFilter filter, String broadcastPermission, Handler scheduler)
注册以接收意图广播,以在调度程序的上下文中运行。 有关更多信息,请参阅registerReceiver(BroadcastReceiver, IntentFilter)
。 这使您可以强制谁可以向接收者广播意图,或使接收者在与主应用程序线程不同的线程中运行。
有关意向广播的更多信息,请参阅 BroadcastReceiver
。
从ICE_CREAM_SANDWICH
,使用此方法注册的接收方将正确地遵守为广播的Intent指定的setPackage(String)
。 在此之前,它将被忽略并交付给所有匹配的注册接收者。 如果使用它来保证安全,请小心。
Parameters | |
---|---|
receiver |
BroadcastReceiver : The BroadcastReceiver to handle the broadcast. |
filter |
IntentFilter : Selects the Intent broadcasts to be received. |
broadcastPermission |
String : 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 : Handler identifying the thread that will receive the Intent. If null, the main thread of the process will be used. |
Returns | |
---|---|
Intent |
The first sticky intent found that matches filter, or null if there are none. |
void removeStickyBroadcast (Intent intent)
此方法在API级别21中已弃用。
不应使用粘滞广播。 它们不提供安全性(任何人都可以访问它们),没有保护(任何人都可以修改它们)以及其他许多问题。 推荐的模式是使用非粘性广播来报告某些事情已经发生变化,另一种机制是应用程序在需要时检索当前值。
删除以前与 sendStickyBroadcast(Intent)
发送的数据,这样就好像粘性广播从未发生过一样。
您必须持有BROADCAST_STICKY
权限才能使用此API。 如果您没有获得该权限,则会抛出SecurityException
。
Parameters | |
---|---|
intent |
Intent : The Intent that was previously broadcast. |
也可以看看:
void removeStickyBroadcastAsUser (Intent intent, UserHandle user)
此方法在API级别21中已弃用。
不应使用粘滞广播。 它们不提供安全性(任何人都可以访问它们),没有保护(任何人都可以修改它们)以及其他许多问题。 推荐的模式是使用非粘性广播来报告某些事情已经发生变化,另一种机制是应用程序在需要时检索当前值。
版本removeStickyBroadcast(Intent)
,允许您指定广播将发送到的用户。 这不适用于系统映像上未预安装的应用程序。 使用它需要保持INTERACT_ACROSS_USERS权限。
您必须拥有BROADCAST_STICKY
权限才能使用此API。 如果您没有获得该权限,则会抛出SecurityException
。
Parameters | |
---|---|
intent |
Intent : The Intent that was previously broadcast. |
user |
UserHandle : UserHandle to remove the sticky broadcast from. |
void revokeUriPermission (Uri uri, int modeFlags)
删除所有权限以访问之前添加了grantUriPermission(String, Uri, int)
的特定内容提供商Uri。 给定的Uri将匹配所有先前授予的Uris,这些Uris与给定的Uri是相同的或者是子路径。 也就是说,撤销“content:// foo / target”将撤消“content:// foo / target”和“content:// foo / target / sub”,但不会取消“content:// foo”。 它不会删除存在于更高级别的任何前缀授权。
在LOLLIPOP
之前,如果您没有对Uri的常规权限访问权限,但是通过特定的Uri权限授予获得了访问权限,则无法使用此功能撤销该授权,并且会抛出SecurityException
。 从LOLLIPOP
,这个函数不会抛出一个安全异常,但会删除Uri给予应用程序的任何权限授予(或没有)。
Parameters | |
---|---|
uri |
Uri : The Uri you would like to revoke access to. |
modeFlags |
int : The desired access modes. Any combination of Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_GRANT_WRITE_URI_PERMISSION . |
void sendBroadcast (Intent intent, String receiverPermission)
将给定的意图广播给所有感兴趣的BroadcastReceivers,允许强制执行可选的必需权限。 这个调用是异步的; 它会立即返回,并且您将在接收器运行时继续执行。 没有结果从接收器传播,接收器不能中止广播。 如果您希望允许接收者传播结果或中止广播,则必须使用sendOrderedBroadcast(Intent, String)
发送有序广播。
有关意向广播的更多信息,请参阅 BroadcastReceiver
。
Parameters | |
---|---|
intent |
Intent : The Intent to broadcast; all receivers matching this Intent will receive the broadcast. |
receiverPermission |
String : (optional) String naming a permission that a receiver must hold in order to receive your broadcast. If null, no permission is required. |
void sendBroadcast (Intent intent)
将给定的意图广播给所有感兴趣的BroadcastReceivers。 这个调用是异步的; 它会立即返回,并且您将在接收器运行时继续执行。 没有结果从接收器传播,接收器不能中止广播。 如果您想允许接收器传播结果或中止广播,则必须使用sendOrderedBroadcast(Intent, String)
发送有序广播。
有关意向广播的更多信息,请参阅 BroadcastReceiver
。
Parameters | |
---|---|
intent |
Intent : The Intent to broadcast; all receivers matching this Intent will receive the broadcast. |
void sendBroadcastAsUser (Intent intent, UserHandle user)
版本sendBroadcast(Intent)
,允许您指定广播将被发送到的用户。 这不适用于系统映像上未预安装的应用程序。 使用它需要保持INTERACT_ACROSS_USERS权限。
Parameters | |
---|---|
intent |
Intent : The intent to broadcast |
user |
UserHandle : UserHandle to send the intent to. |
也可以看看:
void sendBroadcastAsUser (Intent intent, UserHandle user, String receiverPermission)
版本sendBroadcast(Intent, String)
,允许您指定广播将被发送到的用户。 这不适用于系统映像上未预安装的应用程序。 使用它需要保持INTERACT_ACROSS_USERS权限。
Parameters | |
---|---|
intent |
Intent : The Intent to broadcast; all receivers matching this Intent will receive the broadcast. |
user |
UserHandle : UserHandle to send the intent to. |
receiverPermission |
String : (optional) String naming a permission that a receiver must hold in order to receive your broadcast. If null, no permission is required. |
void sendOrderedBroadcast (Intent intent, String receiverPermission, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras)
版本sendBroadcast(Intent)
,允许您从广播接收数据。 这是通过在呼叫时提供自己的BroadcastReceiver来完成的,它将在广播结束时被视为最终接收者 - 它的onReceive(Context, Intent)
方法将被调用,并从其他接收者收集结果值。 广播将按照与调用sendOrderedBroadcast(Intent, String)
相同的方式进行序列化。
像sendBroadcast(Intent)
一样,这种方法是异步的; 它会在调用resultReceiver.onReceive()之前返回。
有关意向广播的更多信息,请参阅 BroadcastReceiver
。
Parameters | |
---|---|
intent |
Intent : The Intent to broadcast; all receivers matching this Intent will receive the broadcast. |
receiverPermission |
String : String naming a permissions that a receiver must hold in order to receive your broadcast. If null, no permission is required. |
resultReceiver |
BroadcastReceiver : Your own BroadcastReceiver to treat as the final receiver of the broadcast. |
scheduler |
Handler : A custom Handler with which to schedule the resultReceiver callback; if null it will be scheduled in the Context's main thread. |
initialCode |
int : An initial value for the result code. Often Activity.RESULT_OK. |
initialData |
String : An initial value for the result data. Often null. |
initialExtras |
Bundle : An initial value for the result extras. Often null. |
void sendOrderedBroadcast (Intent intent, String receiverPermission)
将给定的意图广播给所有感兴趣的BroadcastReceivers,一次发送一个,让更多的首选接收者在将广播发送给次优先接收者之前消费广播。 这个调用是异步的; 它会立即返回,并且您将在接收器运行时继续执行。
有关意向广播的更多信息,请参阅 BroadcastReceiver
。
Parameters | |
---|---|
intent |
Intent : The Intent to broadcast; all receivers matching this Intent will receive the broadcast. |
receiverPermission |
String : (optional) String naming a permissions that a receiver must hold in order to receive your broadcast. If null, no permission is required. |
void sendOrderedBroadcastAsUser (Intent intent, UserHandle user, String receiverPermission, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras)
版本sendOrderedBroadcast(Intent, String, BroadcastReceiver, Handler, int, String, Bundle)
,允许您指定广播将发送到的用户。 这不适用于系统映像上未预安装的应用程序。 使用它需要保持INTERACT_ACROSS_USERS权限。
有关意向广播的更多信息,请参阅 BroadcastReceiver
。
Parameters | |
---|---|
intent |
Intent : The Intent to broadcast; all receivers matching this Intent will receive the broadcast. |
user |
UserHandle : UserHandle to send the intent to. |
receiverPermission |
String : String naming a permissions that a receiver must hold in order to receive your broadcast. If null, no permission is required. |
resultReceiver |
BroadcastReceiver : Your own BroadcastReceiver to treat as the final receiver of the broadcast. |
scheduler |
Handler : A custom Handler with which to schedule the resultReceiver callback; if null it will be scheduled in the Context's main thread. |
initialCode |
int : An initial value for the result code. Often Activity.RESULT_OK. |
initialData |
String : An initial value for the result data. Often null. |
initialExtras |
Bundle : An initial value for the result extras. Often null. |
void sendStickyBroadcast (Intent intent)
此方法在API级别21中已弃用。
不应使用粘滞广播。 它们不提供安全性(任何人都可以访问它们),没有保护(任何人都可以修改它们)以及其他许多问题。 推荐的模式是使用非粘性广播来报告某些事情已经发生变化,另一种机制是应用程序在需要时检索当前值。
执行“粘滞”的sendBroadcast(Intent)
,这意味着您发送的意图在广播完成后仍处于停留状态,以便其他人可以通过返回值registerReceiver(BroadcastReceiver, IntentFilter)
快速检索该数据。 在所有其他方面,这与sendBroadcast(Intent)
行为相同。
您必须持有BROADCAST_STICKY
权限才能使用此API。 如果您没有获得该权限,则会抛出SecurityException
。
Parameters | |
---|---|
intent |
Intent : 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. |
void sendStickyBroadcastAsUser (Intent intent, UserHandle user)
此方法在API级别21中已弃用。
不应使用粘滞广播。 它们不提供安全性(任何人都可以访问它们),没有保护(任何人都可以修改它们)以及其他许多问题。 推荐的模式是使用非粘性广播来报告某些事情已经发生变化,另一种机制是应用程序在需要时检索当前值。
版本sendStickyBroadcast(Intent)
,允许您指定广播将被发送到的用户。 这不适用于系统映像上未预安装的应用程序。 使用它需要保持INTERACT_ACROSS_USERS权限。
Parameters | |
---|---|
intent |
Intent : 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. |
user |
UserHandle : UserHandle to send the intent to. |
也可以看看:
void sendStickyOrderedBroadcast (Intent intent, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras)
此方法在API级别21中已弃用。
不应使用粘滞广播。 它们不提供安全性(任何人都可以访问它们),没有保护(任何人都可以修改它们)以及其他许多问题。 推荐的模式是使用非粘性广播来报告某些事情已经发生变化,另一种机制是应用程序在需要时检索当前值。
版本为sendStickyBroadcast(Intent)
,可让您从广播中接收数据。 这是通过在呼叫时提供您自己的BroadcastReceiver来实现的,它将在广播结束时被视为最终接收者 - 它的onReceive(Context, Intent)
方法将被调用,并从其他接收者收集结果值。 广播将按照与调用sendOrderedBroadcast(Intent, String)
相同的方式进行序列化。
像sendBroadcast(Intent)
一样,这种方法是异步的; 它会在调用resultReceiver.onReceive()之前返回。 请注意,存储的粘性数据只是您最初提供给广播的数据,而不是接收机所做的任何更改。
有关意向广播的更多信息,请参阅 BroadcastReceiver
。
Parameters | |
---|---|
intent |
Intent : The Intent to broadcast; all receivers matching this Intent will receive the broadcast. |
resultReceiver |
BroadcastReceiver : Your own BroadcastReceiver to treat as the final receiver of the broadcast. |
scheduler |
Handler : A custom Handler with which to schedule the resultReceiver callback; if null it will be scheduled in the Context's main thread. |
initialCode |
int : An initial value for the result code. Often Activity.RESULT_OK. |
initialData |
String : An initial value for the result data. Often null. |
initialExtras |
Bundle : An initial value for the result extras. Often null. |
void sendStickyOrderedBroadcastAsUser (Intent intent, UserHandle user, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras)
此方法在API级别21中已弃用。
不应使用粘滞广播。 它们不提供安全性(任何人都可以访问它们),没有保护(任何人都可以修改它们)以及其他许多问题。 推荐的模式是使用非粘性广播来报告某些事情已经发生变化,另一种机制是应用程序在需要时检索当前值。
版本sendStickyOrderedBroadcast(Intent, BroadcastReceiver, Handler, int, String, Bundle)
,允许您指定广播将发送到的用户。 这不适用于系统映像上未预安装的应用程序。 使用它需要保持INTERACT_ACROSS_USERS权限。
有关意向广播的更多信息,请参阅 BroadcastReceiver
。
Parameters | |
---|---|
intent |
Intent : The Intent to broadcast; all receivers matching this Intent will receive the broadcast. |
user |
UserHandle : UserHandle to send the intent to. |
resultReceiver |
BroadcastReceiver : Your own BroadcastReceiver to treat as the final receiver of the broadcast. |
scheduler |
Handler : A custom Handler with which to schedule the resultReceiver callback; if null it will be scheduled in the Context's main thread. |
initialCode |
int : An initial value for the result code. Often Activity.RESULT_OK. |
initialData |
String : An initial value for the result data. Often null. |
initialExtras |
Bundle : An initial value for the result extras. Often null. |
void setTheme (int resid)
为此上下文设置基本主题。 请注意,应在上下文中实例化任何视图之前调用setContentView(View)
(例如,在调用setContentView(View)
或inflate(int, ViewGroup)
之前)。
Parameters | |
---|---|
resid |
int : The style resource describing the theme. |
void setWallpaper (Bitmap bitmap)
此方法在API级别5中已被弃用。
改为使用WallpaperManager.set()
。
此方法要求调用方拥有权限 SET_WALLPAPER
。
Parameters | |
---|---|
bitmap |
Bitmap
|
Throws | |
---|---|
IOException |
void setWallpaper (InputStream data)
此方法在API级别5中已被弃用。
改为使用WallpaperManager.set()
。
此方法要求调用方拥有权限 SET_WALLPAPER
。
Parameters | |
---|---|
data |
InputStream
|
Throws | |
---|---|
IOException |
void startActivities (Intent[] intents, Bundle options)
启动多项新活动。 这通常与为startActivity(Intent)
中的第一个Intent调用startActivity(Intent)
相同,在其创建过程中为该活动调用第二个条目的startActivity(Intent)
等。请注意,与该方法不同,通常不会创建除数组中最后一个活动在这一点上,而是会在用户第一次访问它们时创建(由于顶部的活动被压回)。
如果没有找到任何给定Intent的Activity,则此方法将引发ActivityNotFoundException
。 在这种情况下,活动堆栈的状态是未定义的(列表中的一些Intents可能在其上,有些则不),所以您可能想要避免这种情况。
Parameters | |
---|---|
intents |
Intent : An array of Intents to be started. |
options |
Bundle : Additional options for how the Activity should be started. See Context.startActivity(Intent, Bundle) for more details. |
Throws | |
---|---|
ActivityNotFoundException |
void startActivities (Intent[] intents)
与没有指定选项的 startActivities(Intent[], Bundle)
相同。
Parameters | |
---|---|
intents |
Intent : An array of Intents to be started. |
Throws | |
---|---|
ActivityNotFoundException |
void startActivity (Intent intent)
与没有指定选项的 startActivity(Intent, Bundle)
相同。
Parameters | |
---|---|
intent |
Intent : The description of the activity to start. |
Throws | |
---|---|
ActivityNotFoundException |
` |
void startActivity (Intent intent, Bundle options)
启动一项新活动。 您不会收到有关活动何时退出的任何信息。
请注意,如果从Activity
上下文之外调用此方法,则意图必须包含FLAG_ACTIVITY_NEW_TASK
启动标志。 这是因为,如果没有从现有的活动启动,就没有现有的任务来放置新的活动,因此需要将其放置在它自己的单独任务中。
如果没有找到运行给定Intent的活动,则此方法将引发 ActivityNotFoundException
。
Parameters | |
---|---|
intent |
Intent : The description of the activity to start. |
options |
Bundle : Additional options for how the Activity should be started. May be null if there are no options. See ActivityOptions for how to build the Bundle supplied here; there are no supported definitions for building it manually. |
Throws | |
---|---|
ActivityNotFoundException |
boolean startInstrumentation (ComponentName className, String profileFile, Bundle arguments)
开始执行Instrumentation
类。 给定的Instrumentation组件将通过杀死其目标应用程序(如果当前正在运行),启动目标进程,实例化Instrumentation组件,然后让它驱动应用程序来运行。
该功能不是同步的 - 只要仪器启动并且正在运行,它就会返回。
通常只允许针对未签名或使用签名进行签名的软件包运行测试,该签名中还会签署该测试软件包(确保目标相信该测试)。
Parameters | |
---|---|
className |
ComponentName : Name of the Instrumentation component to be run. |
profileFile |
String : Optional path to write profiling data as the instrumentation runs, or null for no profiling. |
arguments |
Bundle : Additional optional arguments to pass to the instrumentation, or null. |
Returns | |
---|---|
boolean |
true if the instrumentation was successfully started, else false if it could not be found. |
void startIntentSender (IntentSender intent, Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags)
与没有指定选项的 startIntentSender(IntentSender, Intent, int, int, int, Bundle)
相同。
Parameters | |
---|---|
intent |
IntentSender : The IntentSender to launch. |
fillInIntent |
Intent : If non-null, this will be provided as the intent parameter to sendIntent(Context, int, Intent, IntentSender.OnFinished, Handler) . |
flagsMask |
int : Intent flags in the original IntentSender that you would like to change. |
flagsValues |
int : Desired values for any bits set in flagsMask |
extraFlags |
int : Always set to 0. |
Throws | |
---|---|
IntentSender.SendIntentException |
void startIntentSender (IntentSender intent, Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags, Bundle options)
像startActivity(Intent, Bundle)
一样,但需要启动一个IntentSender。 如果IntentSender用于某项活动,那么该活动将开始,就像您在此调用常规startActivity(Intent)
; 否则,其相关的动作将被执行(例如发送广播),就好像你已经调用了IntentSender.sendIntent
一样。
Parameters | |
---|---|
intent |
IntentSender : The IntentSender to launch. |
fillInIntent |
Intent : If non-null, this will be provided as the intent parameter to sendIntent(Context, int, Intent, IntentSender.OnFinished, Handler) . |
flagsMask |
int : Intent flags in the original IntentSender that you would like to change. |
flagsValues |
int : Desired values for any bits set in flagsMask |
extraFlags |
int : Always set to 0. |
options |
Bundle : Additional options for how the Activity should be started. See Context.startActivity(Intent, Bundle) for more details. If options have also been supplied by the IntentSender, options given here will override any that conflict with those given by the IntentSender. |
Throws | |
---|---|
IntentSender.SendIntentException |
ComponentName startService (Intent service)
请求启动给定的应用程序服务。 Intent应该包含要启动的特定服务实现的完整类名称或要包含的特定包名称。 如果未指定Intent,则会记录有关此信息的警告,以及它找到并使用的多个匹配服务中的哪一个将是未定义的。 如果此服务尚未运行,它将被实例化并启动(如果需要,将为其创建一个进程); 如果它正在运行,那么它仍然在运行。
每次调用此方法都会导致对目标服务的onStartCommand(Intent, int, int)
方法的相应调用,其意图在此给出。 这提供了一种便捷的方式将作业提交给服务,而无需绑定并调用其接口。
使用startService()会覆盖由bindService(Intent, ServiceConnection, int)
管理的默认服务生命周期:它要求服务保持运行状态直到stopService(Intent)
被调用,而不管客户端是否连接到该服务。 请注意,对startService()的调用不是嵌套的:无论您调用多少次startService(),只需一次调用stopService(Intent)
停止它。
系统尽可能地尝试保持运行服务。 他们应该停止的唯一时间是当前的前台应用程序正在使用如此多的资源以致服务需要被终止。 如果服务进程中发生任何错误,它将自动重新启动。
如果您没有启动给定服务的权限,则此函数将抛出 SecurityException
。
注意:每次调用startService()都会导致系统完成重要工作,以管理意图处理周围的服务生命周期,这可能需要几毫秒的CPU时间。 由于这一成本,startService()不应该用于频繁的意图传递到服务,并且仅用于安排重要的工作。 使用bound services
进行高频呼叫。
Parameters | |
---|---|
service |
Intent : Identifies the service to be started. The Intent must be either fully explicit (supplying a component name) or specify a specific package name it is targetted to. Additional values may be included in the Intent extras to supply arguments along with this specific start call. |
Returns | |
---|---|
ComponentName |
If the service is being started or is already running, the ComponentName of the actual service that was started is returned; else if the service does not exist null is returned. |
Throws | |
---|---|
SecurityException |
boolean stopService (Intent service)
请求停止给定的应用程序服务。 如果服务未运行,则不会发生任何事情。 否则它会停止。 请注意,对startService()的调用不计入 - 无论启动多少次,都会停止服务。
请注意,如果已停止的服务仍使用BIND_AUTO_CREATE
集合将ServiceConnection
对象绑定到该对象,则在所有这些绑定都被删除之前它不会被销毁。 有关服务生命周期的更多详细信息,请参阅Service
文档。
如果您无权停止指定的服务,此功能将抛出 SecurityException
。
Parameters | |
---|---|
service |
Intent : Description of the service to be stopped. The Intent must be either fully explicit (supplying a component name) or specify a specific package name it is targetted to. |
Returns | |
---|---|
boolean |
If there is a service matching the given Intent that is already running, then it is stopped and true is returned; else false is returned. |
Throws | |
---|---|
SecurityException |
也可以看看:
void unbindService (ServiceConnection conn)
断开应用程序服务。 随着服务重新启动,您将不再接收呼叫,现在可以随时停止服务。
Parameters | |
---|---|
conn |
ServiceConnection : The connection interface previously supplied to bindService(). This parameter must not be null. |
void unregisterComponentCallbacks (ComponentCallbacks callback)
删除以前用 registerComponentCallbacks(ComponentCallbacks)
注册的 ComponentCallbacks
对象。
Parameters | |
---|---|
callback |
ComponentCallbacks
|
void unregisterReceiver (BroadcastReceiver receiver)
取消注册以前注册的BroadcastReceiver。 所有为此BroadcastReceiver注册的过滤器都将被删除。
Parameters | |
---|---|
receiver |
BroadcastReceiver : The BroadcastReceiver to unregister. |