- A+
1、Context概述
2、Context的常量
类型 | 常量名 | r描述 |
---|---|---|
String | ACCESSIBILITY_SERVICE | 无障碍服务.获取 AccessibilityManager ,以注册事件侦听器向UI用户提供反馈 |
String | ACCOUNT_SERVICE | 记账服务,获取 AccountManager ,以便在你选定的时机进行意图(Intent)处理 |
String | ACTIVITY_SERVICE | 活动服务,获取 ActivityManager,以与全局系统状态进行交互。 |
String | ALARM_SERVICE | 时钟服务,获取AlarmManager ,以便在你选定的时机进行意图(Intent)处理。类似ACCOUNT_SERVICE |
String | APPWIDGET_SERVICE | app小部件服务,获取AppWidgetManager ,用来对AppWidgets进行访问 |
String | APP_OPS_SERVICE | app操作服务,获取AppOpsManager ,跟踪设备上应用程序的操作 |
String | AUDIO_SERVICE | 音频服务,获取AudioManager ,对音量、铃声、音频设置进行处理管理 |
String | BATTERY_SERVICE | 电池服务,获取BatteryManager ,以管理电池状态。【可参考下面电源服务PowerService】 |
String | BLUETOOTH_SERVICE | 蓝牙服务,获取BluetoothManager,以使用蓝牙 |
String | CAMERA_SERVICE | 相机服务,获取CameraManager,以与相机设备进行交互 |
String | CAPTIONING_SERVICE | 字幕服务,获取CaptioningManager ,以获取字幕属性并侦听首选项的 |
String | CARRIER_CONFIG_SERVICE | 运营商配置服务,获取CarrierConfigManager,以获取运营商配置信息 |
String | CLIPBOARD_SERVICE | 剪切板服务,获取ClipboardManager,以访问和修改全局剪切板的内容 |
String | CONNECTIVITY_SERVICE | 网络连接服务,获取ConnectivityManager,以进行网络连接 |
String | CONSUMER_IR_SERVICE | 红外线服务,获取ConsumerIrManager ,从设备传输红外线信号 |
String | DEVICE_POLICY_SERVICE | 设备策略服务,获取DevicePolicyManager ,以使用全局设备策略管理 |
String | DISPLAY_SERVICE | 显示服务,获取DisplayManager,以与显示设备进行交互 |
String |
|
|
String |
DOWNLOAD_SERVICE |
String | DROPBOX_SERVICE | 下拉框服务,获取DropBoxManager ,以记录诊断日志 |
String | FINGERPRINT_SERVICE | 指纹服务,获取FingerprintManager ,以处理指纹 |
String | HARDWARE_PROPERTIES_SERVICE | 硬件属性服务,获取HardwarePropertiesManager ,以获取硬件属性服务 |
String | INPUT_METHOD_SERVICE | 输入法服务,获取InputMethodManager,以访问输入法信息 |
String | INPUT_SERVICE | 输入服务,获取InputManager,与输入设备进行交互 |
String | JOB_SCHEDULER_SERVICE | 工作调度服务,获取JobScheduler ,以管理偶尔的后台任务 |
String | KEYGUARD_SERVICE | 键盘锁服务,获取NotificationManager ,以控制键盘锁 |
String | LAUNCHER_APPS_SERVICE | 加载app服务,获取LauncherApps ,跨用户的配置文件来查询和监控可启动的应用程序 |
String | LAYOUT_INFLATER_SERVICE | 布局扩充服务,获取LayoutInflater ,以扩充布局资源 |
String | LOCATION_SERVICE | 定位服务,获取LocationManager,以控制位置更新 |
String | MEDIA_PROJECTION_SERVICE | 媒体投影服务,获取MediaProjectionManager ,管理媒体投影的会话 |
String | MEDIA_ROUTER_SERVICE | 媒体路由服务,获取MediaRouter ,管理和控制媒体路由 |
String | MEDIA_SESSION_SERVICE | 媒体会话服务,获取MediaSessionManager,管理媒体会话 |
String | MIDI_SERVICE | 获取MidiManager ,以访问MIDI服务 |
String | NETWORK_STATS_SERVICE | 网络状态服务,获取NetworkStatsManager ,查询网络使用情况,并统计信息 |
String | NFC_SERVICE | NFC服务,获取NfcManager,以使用NFC(近距离无线通信技术) |
String | NOTIFICATION_SERVICE | 通知服务,获取NotificationManager ,通知用户后台事件【键盘锁服务也获取NotificationManager 】 |
String | NSD_SERVICE | NSD服务,获取NsdManager,处理网络服务发现的管理(网络服务发现) |
String | POWER_SERVICE | 电源服务,获取PowerManager, 控制电源管理,包括唤醒锁,在运行长时间服务保持设备开启 |
String | PRINT_SERVICE | 打印服务,PrintManager 打印和管理打印机及打印任务 |
String | RESTRICTIONS_SERVICE | 限制服务,获取RestrictionsManager ,检索应用程序受限的权限并请求受限操作的权限 |
String | SEARCH_SERVICE | 搜索服务,获取SearchManager,以处理搜索 |
String | SENSOR_SERVICE | 传感器服务,获取SensorManager,以访问传感器 |
String | STORAGE_SERVICE | 存储服务,获取StorageManager,以访问系统的存储功能 |
String | SYSTEM_HEALTH_SERVICE | 系统状态服务,获取SystemHealthManager,访问系统运行状况(电源、电池、内存等) |
String | TELECOM_SERVICE | 电信服务,获取TelecomManager ,管理设备与电信相关的功能 |
String | TELEPHONY_SERVICE | 电话服务,获取TelephonyManager ,处理管理设备的电话功能 |
String | TELEPHONY_SUBSCRIPTION_SE | 电话订购服务,获取SubscriptionManager,处理管理设备的电话订购 |
String | TEXT_SERVICES_MANAGER_SE | 文本服务,获取TextServicesManager ,访问文本服务 |
String | TV_INPUT_SERVICE | 电视输入服务,获取TvInputManager ,与电视输入设备进行交互 |
String | UI_MODE_SERVICE | UI模式服务,获取UiModeManager ,控制UI模式 |
String | USAGE_STATS_SERVICE | 使用情况统计服务,获取UsageStatsManager ,查询设备使用情况统计信息 |
String | USB_SERVICE | USB服务,获取UsbManager,访问USB设备 |
String | USER_SERVICE | 用户服务,获取UserManager ,管理支持多用户设备上的用户 |
String | VIBRATOR_SERVICE | 振动器服务,获取Vibrator ,与振动硬件进行交互 |
String | WALLPAPER_SERVICE | 壁纸服务,retrieve a com.android.server.WallpaperService for accessing wallpapers访问壁纸 |
String | WIFI_P2P_SERVICE | WIFI点对点服务,获取WifiP2pManager ,处理WIFI对等连接的管理 |
String | WIFI_SERVICE | WIFI服务,获取WifiManager,处理WIFI接入管理 |
String | WINDOW_SERVICE | window窗口服务,获取WindowManager ,访问系统窗口管理器 |
以为均为服务类 |
getSystemService(class) 或 getSystemService(String name) 详见下面的方法介绍 | |
int | BIND_ABOVE_CLIENT | 绑定高于客户端,绑定该服务的客户端会认为该服务比应用程序本身重要 |
int | BIND_ADJUST_WITH_ACTIVITY | 绑定调整的敏感性,允许活动根据是否对用户可见来调整目标服务的进程重要性 |
int | BIND_ALLOW_OOM_MANAGEMENT | 绑定所有内存管理,允许绑定服务的进程进行正常的内存管理 |
int | BIND_AUTO_CREATE | 绑定自动创建,只要绑定存在,可自动创建服务 |
int | BIND_DEBUG_UNBIND | 绑定debug调用,绑定调试帮助以解决不匹配的调用 |
int | BIND_EXTERNAL_SERVICE | 绑定外部服务, |
int | BIND_IMPORTANT | 绑定的服务对于客户来说非常重要,应该以客户端前台进程级别运用 |
int | BIND_NOT_FOREGROUND | 不允许绑定的服务拥有前台运行进程的级别 |
int | BIND_WAIVE_PRIORITY | 绑定的服务不影响主机进程的调度和内存管理优先级 |
以上均为绑定服务的设置 | bindService(Intent, ServiceConnection, int) 做为该方法的第三个参数,详见下面的方法介绍 | |
int | CONTEXT_IGNORE_SECURITY | 忽视安全,忽略被请求的Context的任何安全限制,允许它始终被加载。 |
int | CONTEXT_INCLUDE_CODE | 包含代码,包含具有上下文的应用程序代码。 |
int | CONTEXT_RESTRICTED | 受限,受限制的上下文可能禁用特定功能 |
以上均为创建context的设置 | createPackageContext(String,int) 做该方法的第二个参数,方法返回Context,详见下面方法介绍 | |
int | MODE_APPEND | 文件创建的模式,文件尾添加模式,不做擦出 |
int | MODE_ENABLE_WRITE_AHEAD_LOGGING | Database打开方式的标志,数据库默认打开启用预写日志记录 |
int | MODE_NO_LOCALIZED_COLLATORS | Database打开方式的标志,打开数据库时不支持本地化的整理器。 |
int | MODE_PRIVATE | 文件创建的模式,默认的模式,文件只用由创建的应用程序访问 |
以上均为与文件相关的设置标志 | openFileOutput(String,int) 做第二个参数,返回FileOutputStream,详见下面方法介绍 | |
3、Context的抽象公有函数
3.1重点的几个函数
-
final <T> T getSystemService (Class<T> serviceClass)
Note:通过这个API获得的系统服务可能与它们从中获得的上下文密切相关。 一般来说,不要在各种不同的上下文(活动,应用程序,服务,提供者等)之间共享服务对象,
-
abstract Object getSystemService (String name)
方法的重载,功能一样,参数变为字符串,返回的对象变成基类Object。所以用时需要对返回值进行强制类型转换。可选的参数包含上文介绍的所有Context的String类型的常量。通过Context.WINDOW_SERVICE;类名点的方式使用。
-
abstract boolean bindService (Intent service, ServiceConnection conn, int flags)
-
abstract Context createPackageContext String packageName, int flags)
为给定的应用程序名称返回一个新的Context对象。 此上下文与启动时的命名应用程序相同,其中包含相同的资源和类加载器。 每次调用此方法都会返回一个Context对象的新实例; 上下文对象不共享,但它们共享公共状态(Resources,ClassLoader等),因此Context实例本身相当轻量级。可能会抛 PackageManager.NameNotFoundException
和 SecurityException异常
-
abstract int checkCalling*Permission(**)
-
abstract Context create**Context(**)
abstract String[] databaseList();
abstract String[] fileList();
abstract boolean deleteDatabase(String name);
abstract deleteFile(String name);
-
abstract void enforceCalling*Permission(**)
上 面是检查的功能,该函数为执行,对应起来很好理解。
4、Context总结
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫