# Management
`chrome.management` 模块提供了管理已安装和正在运行中的扩展或应用的方法。对于[重写](override.html)内建的新标签页的扩展尤其有用。
## Manifest
要使用这个API,您必须在[扩展清单文件中](manifest.html) 中对授权,例如:
```
{
"name": "My extension",
...
**"permissions": [ "management" ]**,
...
}
```
只有一个方法不需要事先授权使用,那就是: [`getPermissionWarningsByManifest`](#method-getPermissionWarningsByManifest)
## API reference: chrome.management
### 方法
#### get
chrome.management.get(string `id`, function `callback`)
获得指定id的扩展/应用的信息。
#### 参数
`id`_( string )_
应用或扩展([ExtensionInfo](#type-ExtensionInfo))中的ID。
`callback`_( optional function )_
#### 回调
如果你指定了 _回调函数_ 它看起来应该像下面这个样子:
```
function(ExtensionInfo result) {...};
```
`result`_( [ExtensionInfo](#type-ExtensionInfo) )_
#### getAll
chrome.management.getAll(function `callback`)
返回所有已安装的扩展。
#### 参数
`callback`_( optional function )_
#### 回调
如果你指定了 _回调函数_,它看起来应该像下面这个样子:
```
function(array of ExtensionInfo result) {...};
```
`result`_( array of [ExtensionInfo](#type-ExtensionInfo) )_
#### getPermissionWarningsById
chrome.management.getPermissionWarningsById(string `id`, function `callback`)
获得指定id的扩展的 [授权 警告](http://code.google.com/chrome/extensions/permission_warnings.html)。
#### 参数
`id`_( string )_
`callback`_( optional function )_
#### 回调
如果你指定了 _回调函数_它看起来应该像下面这个样子:
```
function(array of string permissionWarnings) {...};
```
`permissionWarnings`_( array of string )_
#### getPermissionWarningsByManifest
chrome.management.getPermissionWarningsByManifest(string `manifestStr`, function `callback`)
获得指定的manifest清单文件中所包含的[权限警告](http://code.google.com/chrome/extensions/permission_warnings.html)清单。注意,这一函数不需要在manifest文件中进行授权就可以使用。
#### 参数
`manifestStr`_( string )_
扩展的manifest文件内容(是个JSON字符串)。
`callback`_( optional function )_
#### 回调
如果你指定了 _回调函数_,它看起来应该像下面这个样子:
```
function(array of string permissionWarnings) {...};
```
`permissionWarnings`_( array of string )_
#### launchApp
chrome.management.launchApp(string `id`, function `callback`)
启动一个应用。
#### 参数
`id`_( string )_
应用的唯一ID。
`callback`_( optional function )_
#### 回调
如果你指定了 _回调函数_,它看起来应该像下面这个样子:
```
function() {...};
```
#### setEnabled
chrome.management.setEnabled(string `id`, boolean `enabled`, function `callback`)
启用或禁用一个应用或扩展。
#### 参数
`id`_( string )_
应用或扩展([ExtensionInfo](#type-ExtensionInfo))的唯一ID。
`enabled`_( boolean )_
应用或扩展是否被启用或禁用。
`callback`_( optional function )_
#### 回调
如果你指定了 _回调函数_,它看起来应该像下面这个样子:
```
function() {...};
```
#### uninstall
chrome.management.uninstall(string `id`, function `callback`)
卸载一个应用或扩展。
#### 参数
`id`_( string )_
应用或扩展([ExtensionInfo](#type-ExtensionInfo))的唯一ID。
`callback`_( optional function )_
#### 回调
If you specify the _callback_ parameter, it should specify a function that looks like this:
如果你指定了 _回调函数_,它看起来应该像下面这个样子:
```
function() {...};
```
### 事件
#### onDisabled
chrome.management.onDisabled.addListener(function(ExtensionInfo info) {...});
当应用或扩展被禁用时触发。
#### 参数
`info`_( [ExtensionInfo](#type-ExtensionInfo) )_
#### onEnabled
chrome.management.onEnabled.addListener(function(ExtensionInfo info) {...});
当应用或扩展被启用时触发。
#### 参数
`info`_( [ExtensionInfo](#type-ExtensionInfo) )_
#### onInstalled
chrome.management.onInstalled.addListener(function(ExtensionInfo info) {...});
当应用或扩展被安装时触发。
#### 参数
`info`_( [ExtensionInfo](#type-ExtensionInfo) )_
#### onUninstalled
chrome.management.onUninstalled.addListener(function(string id) {...});
当应用或扩展被卸载时触发。
#### 参数
`id`_( string )_
被卸载的扩展或应用的id。
### 类型
#### IconInfo
_( object )_
扩展或应用的图标信息。
`size`_( integer )_
一个表示图标宽高的整数值,比如 128、48、24、16 或者其他值。
`url`_( string )_
该图标图像的URL。如果要显示一个灰度版本的图标(例如表示扩展程序已禁用时),请在URL后附加`grayscale=true`
#### ExtensionInfo
_( object )_
已安装的扩展或应用的的信息。
`id`_( string )_
该扩展的唯一ID。
`name`_( string )_
扩展或应用的名字。
`description`_( string )_
扩展或应用的描述信息。
`version`_( string )_
扩展或应用的[版本](manifest.html#version)。
`mayDisable`_( boolean )_
该扩展是否允许用户禁用和卸载。
`enabled`_( boolean )_
该扩展当前是否被启用或禁用。
`disabledReason`_( optional enumerated string ["unknown", "permissions_increase"] )_
当前扩展或应用被禁用的原因。
`isApp`_( boolean )_
是否是应用,如果true,则是。
`appLaunchUrl`_( optional string )_
应用的启动URL。
`homepageUrl`_( optional string )_
扩展或应用的主页。
`updateUrl`_( optional string )_
扩展或应用的升级页。
`offlineEnabled`_( boolean )_
扩展或应用是否支持离线使用。
`optionsUrl`_( string )_
扩展或应用的选项页,如果它们进行选项配置的话。
`icons`_( optional array of [IconInfo](#type-IconInfo) )_
包含所有图标信息。注意这只反映声明在清单文件中的信息,URL指定的实际图像可能比声明的更大或更小,所以您引用这些图像时可能要考虑在图像标签中显式使用width和height属性。有关更多细节,请参见[manifest documentation on icons](manifest.html#icons)。
`permissions`_( array of string )_
根据授权情况返回允许使用的所有API列表。
`hostPermissions`_( array of string )_
根据授权情况返回所有允许访问的主机白名单。
- 基础文档
- 综述
- 调试
- 格式:Manifest文件
- 模式匹配
- 改变浏览器外观
- Browser Actions
- Context Menus
- 桌面通知
- Omnibox
- Override替代页
- Page Actions
- 主题
- 与浏览器交互
- 书签
- Cookies
- chrome.devtools.* APIs
- Events
- chrome.history
- Management
- 标签
- 视窗
- 实现扩展
- 无障碍性(a11y)
- 背景页
- Content Scripts
- 跨域 XMLHttpRequest 请求
- 国际化 (i18n)
- 消息传递
- Optional Permissions
- NPAPI 插件
- 完成并发布应用
- 自动升级
- 托管
- 打包
- 规范和协议
- 应用设计规范
- 开发人员协议
- 免责声明