java.lang.Object
|---ohos.app.AbilityContext
public abstract class AbilityContext
extends Object
implements Context
为当前对象提供应用上下文并获取应用环境信息的抽象类。 这个类实现了 Context 接口。
应用程序可以通过AbilityContext获取资源、启动能力、创建或获取线程模型、获取应用程序包信息和运行信息。 能力是能力上下文的子类。 因此,能力是能力上下文的一个实例。
从接口 ohos.app.Context 继承的字段 |
---|
CONTEXT_IGNORE_SECURITY, CONTEXT_INCLUDE_CODE, CONTEXT_RESOUCE_ONLY, CONTEXT_RESTRICTED, MODE_APPEND, MODE_PRIVATE |
构造函数 | 描述 |
---|---|
AbilityContext() | AbilityContext 的默认构造函数。 |
AbilityContext(Context context) | 用于创建和初始化能力的构造函数。 |
修饰符和类型 | 方法 | 描述 |
---|---|---|
void | attachBaseContext(Context base) | 将上下文对象附加到当前ability。 |
boolean | canRequestPermission(String permission) | 与权限管理模块确认是否需要请求提示才能授予某个权限。 |
void | compelVerifyCallerPermission(String permission, String message) | 检查是否已将指定权限授予调用进程进行进程间通信 (IPC),如果未授予权限,则抛出 SecurityException。 |
void | compelVerifyCallerUriPermission(Uri uri, int modeFlags, String message) | 检查IPC的调用进程是否有权限访问指定的URI,如果没有权限则抛出SecurityException。 |
void | compelVerifyPermission(String permission, int pid, int uid, String message) | 检查pid和uid标识的进程是否已授予指定权限,如果未授予权限,则抛出SecurityException。 |
void | compelVerifyPermission(String permission, String message) | 检查是否已将指定权限授予调用进程,如果未授予权限,则抛出 SecurityException。 |
void | compelVerifyUriPermission(Uri uri, int pid, int uid, int modeFlags, String message) | 检查pid和uid标识的进程是否有权限访问指定的URI,如果没有权限则抛出SecurityException。 |
void | compelVerifyUriPermission(Uri uri, int modeFlags, String message) | 检查调用进程是否有访问指定URI的权限,如果没有权限则抛出SecurityException。 |
void | compelVerifyUriPermission(Uri uri, String readPermission, String writePermission, int pid, int uid, int modeFlags, String message) | 检查pid和uid标识的进程是否指定了读写权限以及访问指定URI的权限,如果没有权限则抛出SecurityException。 |
boolean | connectAbility(Intent intent, IAbilityConnection conn) | 使用 AbilityInfo.AbilityType.SERVICE 模板将当前ability连接到ability。 |
Context | createBundleContext(String bundleName, int flag) | 为具有给定包名称的应用程序创建 Context 对象。 |
TaskDispatcher | createParallelTaskDispatcher(String name, TaskPriority priority) | 创建具有指定优先级的并行任务调度程序。 |
TaskDispatcher | createSerialTaskDispatcher(String name, TaskPriority priority) | 创建具有指定优先级的串行任务调度程序。 |
boolean | deleteFile(String fileName) | 删除与应用程序关联的指定私有文件。 |
void | disconnectAbility(IAbilityConnection conn) | 使用 AbilityInfo.AbilityType.SERVICE 模板断开当前ability与ability的连接。 |
void | displayUnlockMissionMessage() | 向用户显示系统定义的消息,提示用户如何退出锁定任务模式。 |
AbilityInfo | getAbilityInfo() | 获取有关当前ability的信息。 |
IAbilityManager | getAbilityManager() | 获得ability管理器。 |
Context | getAbilityPackageContext() | 获取此ability的 Context 对象。 |
Context | getApplicationContext() | 获取应用程序的 Context 对象。 |
ApplicationInfo | getApplicationInfo() | 获取有关当前应用程序的信息。 |
String | getAppType() | 获取此应用程序的类型。 |
String | getBundleCodePath() | 获取包含当前ability的包的路径。 |
IBundleManager | getBundleManager() | 获得一个 IBundleManager 实例。 |
String | getBundleName() | 获取当前ability的捆绑包名称。 |
String | getBundleResourcePath() | 获取包含此ability的 Ohos ability包 (HAP} 的路径。 |
File | getCacheDir() | 获取设备内部存储上特定于应用程序的缓存目录。 |
Uri | getCaller() | 获取有关此ability调用者的信息。 |
ElementName | getCallingAbility() | 获取调用当前ability的ElementName。 |
String | getCallingBundle() | 获取调用当前ability的捆绑包名称。 |
ClassLoader | getClassloader() | 获取一个 ClassLoader 实例。 |
File | getCodeCacheDir() | 获取设备内部存储上特定于应用程序的代码缓存目录。 |
int | getColor(int resId) | 根据指定的资源 ID 获取此 Context 的颜色。 |
int | getColorMode() | 获取颜色模式。 |
Context | getContext() | 获取应用程序上下文。 |
File | getDatabaseDir() | 获取本地数据库路径。 |
File | getDataDir() | 获取存储本应用所有私有数据文件的绝对路径。 |
File | getDir(String name, int mode) | 获取应用程序自定义数据文件存放目录。 |
int | getDisplayOrientation() | 获取此ability的当前显示方向。 |
File | getDistributedDir() | 获取分布式文件路径。 |
ElementName | getElementName() | 获取当前ability的 ohos.bundle.ElementName 对象。 |
File | getExternalCacheDir() | 获取主外部或共享存储设备上特定于应用程序的缓存目录的绝对路径。 |
File[] | getExternalCacheDirs() | 获取所有外部或共享存储设备上特定于应用程序的缓存目录的绝对路径。 |
File | getExternalFilesDir(String type) | 获取用于在主外部或共享存储设备上存储应用程序文件的目录的绝对路径。 |
File[] | getExternalFilesDirs(String type) | 获取用于在所有外部或共享存储设备上存储应用程序文件的目录的绝对路径。 |
File[] | getExternalMediaDirs() | 获取它可以放置的所有文件上的特定于应用程序的媒体目录。 |
File | getFilesDir() | 获取设备内部存储中应用程序文件的存储目录。 |
TaskDispatcher | getGlobalTaskDispatcher(TaskPriority priority) | 获取具有指定优先级的全局任务调度程序。 |
HapModuleInfo | getHapModuleInfo() | 获取应用程序的 HapModuleInfo 对象。 |
int[] | getIntArray(int resId) | 根据指定的资源 ID 获取此 Context 的整数数组。 |
Object | getLastStoredDataWhenConfigChanged() | 当系统配置发生变化时,获取通过 Ability.onStoreDataWhenConfigChange() 保存的最新数据。 |
String | getLocalClassName() | 获取ability的本地类名。 |
TaskDispatcher | getMainTaskDispatcher() | 获取绑定到应用程序主线程的任务调度程序。 |
File | getNoBackupFilesDir() | 获取应用程序创建并将自动备份到远程存储的绝对路径。 |
Pattern | getPattern() | 获取此 Context 的模式。 |
File | getPreferencesDir() | 获取应用程序偏好文件的存放路径。 |
ProcessInfo | getProcessInfo() | 获取当前进程的信息,包括进程ID和名称。 |
String | getProcessName() | 获取当前进程的名称。 |
ResourceManager | getResourceManager() | 获得资源管理器。 |
ResourceManager | getResourceManager(Configuration configuration) | 根据指定的 Configuration 对象获取资源管理器。 |
String | getString(int resId) | 根据指定的资源 ID 获取此 Context 的字符串。 |
String | getString(int resId, Object... formatArgs) | 根据指定的资源 ID 和 formatArgs 获取此 Context 的字符串。 |
String[] | getStringArray(int resId) | 根据指定的资源 ID 获取此 Context 的字符串数组。 |
Theme | getTheme() | 获取此 Context 的主题。 |
int | getThemeId() | 获取此 Context 的主题 ID。 |
TaskDispatcher | getUITaskDispatcher() | 获取绑定到 UI 线程的任务调度程序。 |
void | init() | 初始化当前ability。 |
boolean | isCredentialEncryptedStorage() | 检查上下文是否使用凭据加密存储。 |
boolean | isDeviceEncryptedStorage() | 检查上下文是否使用受设备保护的存储。 |
boolean | isUpdatingConfigurations() | 检查此ability的配置是否正在更改 |
void | lockMission() | 设置应用程序以在锁定任务模式下启动其功能。 |
void | printDrawnCompleted() | 打印出系统完成绘制此页面ability所需的时间。 |
void | requestPermissionsFromUser(String[] permissions, int requestCode) | 从系统请求某些权限。 |
void | restart() | 使用新实例重新启动此ability。 |
void | setColorMode(int mode) | 设置颜色模式。 |
void | setDisplayOrientation(AbilityInfo.DisplayOrientation newOrientation) | 设置当前ability的显示方向。 |
void | setPattern(int patternId) | 根据指定的模式 ID 设置此上下文的模式。 |
void | setShowOnLockScreen(boolean showOnLockScreen) | 设置是否在锁定屏幕显示时在锁定屏幕顶部显示该ability,保持该ability处于 ACTIVE 状态。 |
void | setTheme(int themeId) | 根据指定的主题 ID 设置此 Context 的主题。 |
void | setTransitionAnimation(int enterAnim, int exitAnim) | 设置两个ability之间的过渡动画。 |
void | setWakeUpScreen(boolean wakeUpScreen) | 设置此ability恢复时是否唤醒屏幕。 |
void | startAbilities(Intent[] intents) | 启动多种ability。 |
void | startAbility(Intent intent, int requestCode) | 开始一个新的ability。 |
void | startAbility(Intent intent, int requestCode, AbilityStartSetting abilityStartSetting) | 使用特殊ability开始设置一个新ability。 |
void | startAbility(Intent intent, AbilityStartSetting abilityStartSetting, IAbilityStartCallback callback) | 开始一个新的ability。 |
boolean | stopAbility(Intent intent) | 销毁另一个使用 AbilityInfo.AbilityType.SERVICE 模板的ability。 |
void | switchToCredentialEncryptedStorageContext() | 将上下文存储更改为受凭证保护的存储。 |
void | switchToDeviceEncryptedStorageContext() | 将上下文存储更改为设备保护存储。 |
void | terminateAbility() | 破坏当前ability。 |
void | terminateAbility(int requestCode) | 通过调用 Ability.startAbilityForResult(ohos.aafwk.content.Intent, int, ohos.aafwk.ability.startsetting.AbilityStartSetting) 并传递相同的 requestCode 来破坏您之前启动的另一个ability。 |
boolean | terminateAbilityResult(int startId) | 如果启动的次数等于给定 startId 表示的次数,则销毁此 Service ability。 |
void | unlockMission() | 通过退出锁定任务模式来解锁此ability。 |
int | verifyCallingOrSelfPermission(String permission) | 检查调用或当前进程是否具有给定的权限。 |
int | verifyCallingPermission(String permission) | 检查进程间通信的调用进程是否具有给定的权限。 |
int | verifyPermission(String permission, int pid, int uid) | 检查进程 ID (PID) 和用户 ID (UID) 是否具有给定的权限。 |
int | verifySelfPermission(String permission) | 检查当前进程是否具有给定的权限。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
public AbilityContext()
AbilityContext 的默认构造函数。
public AbilityContext(Context context)
用于创建和初始化能力的构造函数。
参数:
参数名称 | 参数描述 |
---|---|
context | 指示应用程序上下文,此参数不能为空。 |
public void attachBaseContext(Context base)
将上下文对象附加到当前ability。
一般在Ability加载完成后调用该方法,为当前Ability提供应用上下文。
参数:
参数名称 | 参数描述 |
---|---|
base | 表示一个上下文对象。 |
public final Context getContext()
获取应用程序上下文。
返回:
返回应用程序上下文。 该对象是构造函数创建的初始化ability,或者作为attachBaseContext(ohos.app.Context)的输入参数传递的上下文对象。
public void init()
初始化当前ability。
public final TaskDispatcher getUITaskDispatcher()
从接口复制的描述:上下文
获取绑定到 UI 线程的任务调度程序。
在此调度程序上调度的任务按顺序执行。 请勿在 UI 线程上使用此调度程序来运行同步任务,否则会发生死锁。
指定者:
接口上下文中的getUITaskDispatcher
返回:
返回绑定到 UI 线程的任务调度程序。
public final TaskDispatcher getMainTaskDispatcher()
从接口复制的描述:上下文
获取绑定到应用程序主线程的任务调度程序。
在此调度程序上调度的任务按顺序执行。 不要在主线程上使用这个dispatcher来运行同步任务,否则会发生死锁。
指定者:
接口 Context 中的 getMainTaskDispatcher
返回:
返回绑定到应用程序主线程的任务调度程序。
public TaskDispatcher createParallelTaskDispatcher(String name, TaskPriority priority)
从接口复制的描述:上下文
创建具有指定优先级的并行任务调度程序。
与使用 Context.getGlobalTaskDispatcher(ohos.app.dispatcher.task.TaskPriority) 创建的全局任务调度器不同,并行任务调度器可以使用单独的任务组并行运行一个组中的任务,并依次运行不同的任务组。
指定者:
接口 Context 中的 createParallelTaskDispatcher
参数:
参数名称 | 参数描述 |
---|---|
name | 指示任务调度程序名称,该参数用于定位问题。 |
priority | 指示并行任务分派器分派的所有任务的优先级。 |
返回:
返回一个并行任务调度程序。
public TaskDispatcher createSerialTaskDispatcher(String name, TaskPriority priority)
从接口复制的描述:上下文
创建具有指定优先级的串行任务调度程序。
如果要按特定顺序执行任务,请使用串行任务调度程序。 否则,请使用并行任务调度程序。
指定者:
接口 Context 中的 createSerialTaskDispatcher
参数:
参数名称 | 参数描述 |
---|---|
name | 指示任务调度程序名称,该参数用于定位问题。 |
priority | 表示创建的任务调度器所调度的所有任务的优先级。 |
返回:
返回一个串行任务调度程序。
public TaskDispatcher getGlobalTaskDispatcher(TaskPriority priority)
从接口复制的描述:上下文
获取具有指定优先级的全局任务调度程序。
您可以使用全局任务分派器来分派彼此独立的任务。 不要在此调度程序上创建任务组或执行障碍。
指定者:
接口 Context 中的 getGlobalTaskDispatcher
参数:
参数名称 | 参数描述 |
---|---|
priority | 表示全局任务调度器调度的所有任务的优先级。 |
返回:
返回一个全局任务调度器。
public ApplicationInfo getApplicationInfo()
从接口复制的描述:上下文
获取有关当前应用程序的信息。
返回的应用信息包括应用名称、应用权限等基本信息。
指定者:
接口上下文中的getApplicationInfo
返回:
返回当前应用程序的 ApplicationInfo 对象。
public AbilityInfo getAbilityInfo()
从接口复制的描述:上下文
获取有关当前能力的信息。
返回的信息包括类名、包名和其他有关当前能力的信息。
指定者:
接口上下文中的getAbilityInfo
返回:
返回当前能力的 AbilityInfo 对象。
public ProcessInfo getProcessInfo()
从接口复制的描述:上下文
获取当前进程的信息,包括进程ID和名称。
指定者:
接口上下文中的getProcessInfo
返回:
返回当前进程的 ProcessInfo 对象。
public ResourceManager getResourceManager()
从接口复制的描述:上下文
获得资源管理器。
指定者:
接口上下文中的getResourceManager
返回:
返回一个 ResourceManager 对象。
public File getPreferencesDir()
从接口复制的描述:上下文
获取应用程序偏好文件的存放路径。
如果选择项文件路径不存在,则系统创建一个并返回创建的路径。
指定者:
接口上下文中的 getPreferencesDir
返回:
返回选择项文件。
public File getDatabaseDir()
从接口复制的描述:上下文
获取本地数据库路径。
如果本地数据库路径不存在,则系统创建一个并返回创建的路径。
指定者:
接口 Context 中的 getDatabaseDir
返回:
返回本地数据库文件。
public File getDistributedDir()
从接口复制的描述:上下文
获取分布式文件路径。
如果分布式文件路径不存在,则系统创建一个并返回创建的路径。 此方法仅适用于ability的上下文,而不适用于应用程序的上下文。
指定者:
接口 Context 中的 getDistributedDir
返回:
返回分发的文件。
public void switchToDeviceEncryptedStorageContext()
从接口复制的描述:上下文
将上下文存储更改为设备保护存储。
指定者:
接口 Context 中的 switchToDeviceEncryptedStorageContext
public void switchToCredentialEncryptedStorageContext()
从接口复制的描述:上下文
将上下文存储更改为受凭证保护的存储。
指定者:
接口 Context 中的 switchToCredentialEncryptedStorageContext
public boolean isDeviceEncryptedStorage()
从接口复制的描述:上下文
检查上下文是否使用受设备保护的存储。
指定者:
接口 Context 中的 isDeviceEncryptedStorage
返回:
如果上下文使用受设备保护的存储,则返回 true; 否则返回 false。
public boolean isCredentialEncryptedStorage()
从接口复制的描述:上下文
检查上下文是否使用凭据加密存储。
指定者:
接口 Context 中的 isCredentialEncryptedStorage
返回:
如果上下文使用凭证加密存储,则返回 true; 否则返回 false。
public int verifyCallingPermission(String permission)
从接口复制的描述:上下文
检查进程间通信的调用进程是否具有给定的权限。
调用进程不是当前进程。
指定者:
接口 Context 中的 verifyCallingPermission
参数:
参数名称 | 参数描述 |
---|---|
permission | 表示检查的权限,此参数不能为空。 |
返回:
如果调用进程有权限,则返回 0 (IBundleManager.PERMISSION_GRANTED); 否则返回 -1 (IBundleManager.PERMISSION_DENIED)。
public int verifySelfPermission(String permission)
从接口复制的描述:上下文
检查当前进程是否具有给定的权限。
仅当当前进程没有特定权限时,才需要调用 [Context.requestPermissionsFromUser(java.lang.String],int) 来请求权限。
指定者:
接口 Context 中的 verifySelfPermission
参数:
参数名称 | 参数描述 |
---|---|
permission | 表示检查的权限,此参数不能为空。 |
返回:
如果当前进程有权限,则返回 0 (IBundleManager.PERMISSION_GRANTED); 否则返回 -1 (IBundleManager.PERMISSION_DENIED)。
public int verifyCallingOrSelfPermission(String permission)
从接口复制的描述:上下文
检查调用或当前进程是否具有给定的权限。
仅当调用来自远程设备时,此方法才检查调用进程的权限。 否则,它会检查当前进程的权限。
指定者:
接口 Context 中的 verifyCallingOrSelfPermission
参数:
参数名称 | 参数描述 |
---|---|
permission | 表示检查的权限,此参数不能为空。 |
返回:
如果调用或当前进程具有权限,则返回 0 (IBundleManager.PERMISSION_GRANTED); 否则返回 -1 (IBundleManager.PERMISSION_DENIED)。
public int verifyPermission(String permission, int pid, int uid)
从接口复制的描述:上下文
检查进程 ID (PID) 和用户 ID (UID) 是否具有给定的权限。
指定者:
接口上下文中的 verifyPermission
参数:
参数名称 | 参数描述 |
---|---|
permission | 表示检查的权限,此参数不能为空。 |
pid | 表示进程ID,该值必须大于 0。 |
uid | 表示用户标识。 |
返回:
如果 PID 和 UID 有权限,则返回 0 (IBundleManager.PERMISSION_GRANTED); 否则返回 -1 (IBundleManager.PERMISSION_DENIED)。
public ClassLoader getClassloader()
从接口复制的描述:上下文
获取一个 ClassLoader 实例。
ClassLoader实例用于加载一个类,例如使用类名加载当前能力的类。
指定者:
接口上下文中的getClassloader
返回:
返回一个 ClassLoader 实例。
public Context getApplicationContext()
从接口复制的描述:上下文
获取应用程序的 Context 对象。
指定者:
接口上下文中的getApplicationContext
返回:
返回应用程序的 Context 对象。
public void terminateAbility()
从接口复制的描述:上下文
破坏当前ability。
当前使用AbilityInfo.AbilityType.SERVICE 或AbilityInfo.AbilityType.PAGE 模板的能力执行完所有操作后,它可以使用该方法销毁自身以释放内存。
指定者:
接口上下文中的 terminateAbility
public void terminateAbility(int requestCode)
从接口复制的描述:上下文
通过调用 Ability.startAbilityForResult(ohos.aafwk.content.Intent, int, ohos.aafwk.ability.startsetting.AbilityStartSetting) 并传递相同的 requestCode 来破坏您之前启动的另一个ability。
指定者:
接口上下文中的 terminateAbility
参数:
参数名称 | 参数描述 |
---|---|
requestCode | 指示为启动ability而传递的请求代码。 |
public void displayUnlockMissionMessage()
从接口复制的描述:上下文
向用户显示系统定义的消息,提示用户如何退出锁定任务模式。
此方法仅在包含此ability的任务处于 ohos.app.AbilityManager#LOCK_MISSION_MODE_LOCKED 或 ohos.app.AbilityManager#LOCK_MISSION_MODE_PINNED 状态时生效。
指定者:
接口上下文中的 displayUnlockMissionMessage
public void lockMission()
从接口复制的描述:上下文
设置应用程序以在锁定任务模式下启动其功能。
此方法仅在ability在前台运行时生效。
指定者:
接口上下文中的 lockMission
public void unlockMission()
从接口复制的描述:上下文
通过退出锁定任务模式来解锁此ability。
此方法仅对已通过 Context.lockMission() 方法进入锁定任务模式的ability生效。
指定者:
界面上下文中的unlockMission
public final boolean terminateAbilityResult(int startId)
从接口复制的描述:上下文
如果启动的次数等于给定 startId 表示的次数,则销毁此 Service ability。 此方法与调用 Context.terminateAbility() 销毁此 Service ability相同。
指定者:
接口上下文中的 terminateAbilityResult
参数:
参数名称 | 参数描述 |
---|---|
startId | 表示传递给 Ability.onCommand(ohos.aafwk.content.Intent, boolean) 的该 Service ability的启动次数。 每次启动此ability时,startId 都会增加 1。 例如,如果该ability已启动六次,则 startId 的值为 6。 |
返回:
如果 startId 与启动次数匹配,则返回 true 并且该 Service ability将被销毁; 否则返回 false。
public String getLocalClassName()
从接口复制的描述:上下文
获取ability的本地类名。 本地类名不以包名作为前缀。 此方法仅适用于页面功能。
指定者:
接口上下文中的getLocalClassName
返回:
返回本地类名。
public ElementName getElementName()
从接口复制的描述:上下文
获取当前ability的 ohos.bundle.ElementName 对象。 此方法仅适用于页面功能。
指定者:
接口上下文中的getElementName
返回:
返回当前ability的 ohos.bundle.ElementName 对象。
public ElementName getCallingAbility()
从接口复制的描述:上下文
获取调用当前ability的ElementName。
您可以使用获取的 ElementName 来检查是否允许调用ability接收您将发送的数据。
如果您没有使用 Ability.startAbilityForResult(ohos.aafwk.content.Intent, int, ohos.aafwk.ability.startsetting.AbilityStartSetting) 启动调用ability,则返回 null。
指定者:
接口上下文中的 getCallingAbility
返回:
返回调用ability的 ElementName; 如果没有可用的调用ability,则返回 null。
public String getCallingBundle()
从接口复制的描述:上下文
获取调用当前ability的捆绑包名称。
您可以使用获取的捆绑包名称来检查是否允许调用ability接收您将发送的数据。
如果您没有使用 Ability.startAbilityForResult(ohos.aafwk.content.Intent, int, ohos.aafwk.ability.startsetting.AbilityStartSetting) 启动调用ability,则返回 null。
指定者:
接口上下文中的getCallingBundle
返回:
返回调用ability的捆绑包名称; 如果没有可用的调用ability,则返回 null。
public boolean stopAbility(Intent intent)
从接口复制的描述:上下文
销毁另一个使用 AbilityInfo.AbilityType.SERVICE 模板的ability。
当前使用 AbilityInfo.AbilityType.SERVICE 或 AbilityInfo.AbilityType.PAGE 模板的ability可以调用此方法来销毁另一个使用 AbilityInfo.AbilityType.SERVICE 模板的ability。 当前的ability本身可以通过调用 Context.terminateAbility() 方法来销毁。
指定者:
接口上下文中的 stopAbility
参数:
参数名称 | 参数描述 |
---|---|
intent | 表示 Intent 包含有关破坏ability的信息。 |
返回:
如果ability被成功摧毁,则返回 true; 否则返回 false。
public void startAbility(Intent intent, int requestCode)
从接口复制的描述:上下文
开始一个新的ability。
使用 AbilityInfo.AbilityType.SERVICE 或 AbilityInfo.AbilityType.PAGE 模板的ability使用此方法启动特定ability。 系统根据intent参数的值从已安装的ability中定位目标ability,然后启动。 您可以使用intent参数指定开始的ability。
指定者:
接口上下文中的 startAbility
参数:
参数名称 | 参数描述 |
---|---|
intent | 指示包含有关目标启动ability信息的 Intent。 |
requestCode | 表示使用AbilityInfo.AbilityType.PAGE模板的ability启动后返回的请求码。 您可以定义请求代码来识别ability返回的结果。 取值范围为0~65535。该参数只对使用AbilityInfo.AbilityType.PAGE模板的ability有效。 |
public void startAbility(Intent intent, AbilityStartSetting abilityStartSetting, IAbilityStartCallback callback)
从接口复制的描述:上下文
开始一个新的ability。
使用 AbilityInfo.AbilityType.SERVICE 或 AbilityInfo.AbilityType.PAGE 模板的ability使用此方法启动特定ability。 系统根据intent参数的值从已安装的ability中定位目标ability,然后启动。 您可以使用intent参数指定开始的ability。
指定者:
接口上下文中的 startAbility
参数:
参数名称 | 参数描述 |
---|---|
intent | 指示包含有关目标启动ability信息的 Intent。 |
abilityStartSetting | 表示启动ability中使用的特殊启动设置。 |
callback | 表示ability启动回调接口。 |
public void startAbility(Intent intent, int requestCode, AbilityStartSetting abilityStartSetting)
从接口复制的描述:上下文
使用特殊ability开始设置开始一个新ability。
使用 AbilityInfo.AbilityType.SERVICE 或 AbilityInfo.AbilityType.PAGE 模板的ability使用此方法启动特定ability。 系统根据intent参数的值从已安装的ability中定位目标ability,然后启动。 您可以使用intent参数指定开始的ability。
指定者:
接口上下文中的 startAbility
参数:
参数名称 | 参数描述 |
---|---|
intent | 指示包含有关目标启动ability信息的 Intent。 |
requestCode | 表示ability启动后返回的请求码。 您可以定义请求代码来识别ability返回的结果。 取值范围为 0 到 65535。 |
abilityStartSetting | 表示启动ability中使用的特殊启动设置。 |
public void startAbilities(Intent[] intents)
从接口复制的描述:上下文
启动多种ability。
使用 AbilityInfo.AbilityType.SERVICE 或 AbilityInfo.AbilityType.PAGE 模板的ability使用此方法启动特定ability。 系统根据intents参数的值区分目标ability和已安装ability,然后启动目标ability。 您可以使用intents 参数来指定目标ability。
指定者:
接口上下文中的 startAbilities
参数:
参数名称 | 参数描述 |
---|---|
intents | 表示包含目标ability信息的 Intent 对象数组。 |
public Context createBundleContext(String bundleName, int flag)
从接口复制的描述:上下文
为具有给定包名称的应用程序创建 Context 对象。
创建的Context对象与指定应用程序加载后获取的Context对象相同。 它们具有相同的资源和类加载器。 每次调用此方法时都会返回一个新的 Context 对象。
指定者:
接口 Context 中的 createBundleContext
参数:
参数名称 | 参数描述 |
---|---|
bundleName | 指示应用程序的捆绑包名称。 |
flag | 表示创建 Context 对象的标志。 它可以是 0、以下任意值或以下值的任意组合:Context.CONTEXT_IGNORE_SECURITY、Context.CONTEXT_INCLUDE_CODE 和 Context.CONTEXT_RESTRICTED。 值 0 表示为应用程序创建上下文没有限制。 |
返回:
返回为指定应用程序创建的 Context 对象。
public File getDataDir()
从接口复制的描述:上下文
获取存储本应用所有私有数据文件的绝对路径。
指定者:
接口上下文中的getDataDir
返回:
返回存储此应用程序所有私有数据文件的绝对路径。
public String getBundleResourcePath()
从接口复制的描述:上下文
获取包含此ability的 Ohos ability包 (HAP} 的路径。
指定者:
接口 Context 中的 getBundleResourcePath
返回:
返回包含此ability的 HAP 的路径。
public boolean canRequestPermission(String permission)
从接口复制的描述:上下文
与权限管理模块确认是否需要请求提示才能授予某个权限。
在调用 [Context.requestPermissionsFromUser(java.lang.String],int) 请求权限之前,您需要调用当前方法检查是否需要提示。 如果不需要提示,则不会发起权限请求。
指定者:
接口 Context 中的 canRequestPermission
参数:
参数名称 | 参数描述 |
---|---|
permission | 表示要查询的权限,此参数不能为空。 |
返回:
如果当前应用程序没有权限并且用户没有关闭进一步的请求,则返回 true; 如果当前应用程序已经拥有权限、权限被系统拒绝、或者权限被用户拒绝并且用户关闭了进一步的请求,则返回 false。
public void requestPermissionsFromUser(String[] permissions, int requestCode)
从接口复制的描述:上下文
从系统请求某些权限。
权限请求调用此方法。 这是一种异步方法。 执行时,Ability.onRequestPermissionsFromUserResult(int, String[], int[]) 方法会被回调。
指定者:
接口上下文中的 requestPermissionsFromUser
参数:
参数名称 | 参数描述 |
---|---|
permissions | 指示要请求的权限列表,此参数不能为空。 |
requestCode | 指示要传递给 Ability.onRequestPermissionsFromUserResult(int, String[], int[]) 回调方法的请求代码。 此代码不能为负数。 |
public boolean connectAbility(Intent intent, IAbilityConnection conn)
从接口复制的描述:上下文
使用 AbilityInfo.AbilityType.SERVICE 模板将当前ability连接到ability。
此方法可由使用 AbilityInfo.AbilityType.SERVICE 或 AbilityInfo.AbilityType.PAGE 模板的ability调用,但连接的目标必须是使用 AbilityInfo.AbilityType.SERVICE 模板的ability。 连接后,必须实现 IAbilityConnection 接口才能获取目标ability的代理。
指定者:
接口上下文中的connectAbility
参数:
参数名称 | 参数描述 |
---|---|
intent | 指示包含有关连接能力的信息的 Intent。 |
conn | 指示目标技能连接时的回调对象。 |
返回:
如果连接成功,则返回 true; 否则返回 false。
public void disconnectAbility(IAbilityConnection conn)
从接口复制的描述:上下文
使用 AbilityInfo.AbilityType.SERVICE 模板断开当前ability与ability的连接。
此方法可由使用 AbilityInfo.AbilityType.SERVICE 或 AbilityInfo.AbilityType.PAGE 模板的ability调用,但断开连接的目标必须是使用 AbilityInfo.AbilityType.SERVICE 模板的ability。
指定者:
接口上下文中的disconnectAbility
参数:
参数名称 | 参数描述 |
---|---|
conn | 表示建立连接后Context.connectAbility(ohos.aafwk.content.Intent,ohos.aafwk.ability.IAbilityConnection)传递的IAbilityConnection回调对象。 IAbilityConnection 对象唯一地标识两个能力之间的连接。 |
public void setDisplayOrientation(AbilityInfo.DisplayOrientation newOrientation)
从接口复制的描述:上下文
设置当前技能的显示方向。
该设置仅对使用 AbilityInfo.AbilityType.PAGE 模板的ability生效。
指定者:
接口上下文中的 setDisplayOrientation
参数:
参数名称 | 参数描述 |
---|---|
newOrientation | 指示当前ability的新方向。 |
public IBundleManager getBundleManager()
从接口复制的描述:上下文
获得一个 IBundleManager 实例。
您可以使用此实例来获取有关应用程序包的信息。
指定者:
接口上下文中的getBundleManager
返回:
返回一个 IBundleManager 实例。
public String getBundleName()
从接口复制的描述:上下文
获取当前ability的捆绑包名称。
指定者:
接口上下文中的getBundleName
返回:
返回当前ability的捆绑包名称。
public String getBundleCodePath()
从接口复制的描述:上下文
获取包含当前ability的包的路径。
返回的路径包含模块的资源、源代码和配置文件。
指定者:
接口 Context 中的 getBundleCodePath
返回:
返回包文件的路径。
public File getCacheDir()
从接口复制的描述:上下文
获取设备内部存储上特定于应用程序的缓存目录。
如果设备上的其他地方需要磁盘空间,系统会自动从缓存目录中删除文件。 旧文件总是首先被删除。
指定者:
接口 Context 中的 getCacheDir
返回:
返回特定于应用程序的缓存目录。
public File getCodeCacheDir()
从接口复制的描述:上下文
获取设备内部存储上特定于应用程序的代码缓存目录。
当您的特定应用程序升级和整个平台升级时,系统将删除存储在此位置的所有文件。
指定者:
接口 Context 中的 getCodeCacheDir
返回:
返回特定于应用程序的代码缓存目录。
public File[] getExternalMediaDirs()
从接口复制的描述:上下文
获取它可以放置的所有文件上的特定于应用程序的媒体目录。
卸载您的特定应用程序时,系统将删除所有这些文件。
指定者:
接口 Context 中的 getExternalMediaDirs
返回:
返回特定于应用程序的媒体。
public File getNoBackupFilesDir()
从接口复制的描述:上下文
获取应用程序创建并将自动备份到远程存储的绝对路径。
如果将应用程序移动到采用的存储设备,则返回的路径可能会更改。
指定者:
接口 Context 中的 getNoBackupFilesDir
返回:
保存不会自动备份到远程存储的应用程序文件的目录的路径。
public File getFilesDir()
从接口复制的描述:上下文
获取设备内部存储中应用程序文件的存储目录。
指定者:
接口 Context 中的 getFilesDir
返回:
返回应用程序文件目录。
public File getDir(String name, int mode)
从接口复制的描述:上下文
获取应用程序自定义数据文件存放目录。
您可以使用返回的 File 对象在此目录中创建和访问文件。 这些文件只能由当前应用程序访问。
指定者:
接口上下文中的getDir
参数:
参数名称 | 参数描述 |
---|---|
name | 指示要检索的目录的名称。 该目录是作为应用程序数据的一部分创建的。 |
mode | 指示文件操作模式。 该值可以是 0 或 Context.MODE_PRIVATE 的组合。 |
返回:
返回请求目录的 File 对象。
public File getExternalCacheDir()
从接口复制的描述:上下文
获取主外部或共享存储设备上特定于应用程序的缓存目录的绝对路径。
应用程序可以将其缓存文件放在此目录中。
指定者:
接口 Context 中的 getExternalCacheDir
返回:
返回外部或共享存储设备上应用程序特定缓存目录的绝对路径; 如果外部或共享存储设备暂时不可用,则返回 null。
public File[] getExternalCacheDirs()
从接口复制的描述:上下文
获取所有外部或共享存储设备上特定于应用程序的缓存目录的绝对路径。
应用程序可以将其缓存文件放在这些目录中。
指定者:
接口 Context 中的 getExternalCacheDirs
返回:
返回所有外部或共享存储设备上应用程序特定缓存目录的绝对路径; 如果外部或共享存储设备暂时不可用,则返回 null。 返回的第一个路径与 Context.getExternalCacheDir() 返回的路径相同。
public File getExternalFilesDir(String type)
从接口复制的描述:上下文
获取用于在主外部或共享存储设备上存储应用程序文件的目录的绝对路径。
应用程序可以将其持久文件放置在此目录中。
指定者:
接口 Context 中的 getExternalFilesDir
参数:
参数名称 | 参数描述 |
---|---|
type | 指示要返回的文件目录的类型。 对于以下目录或子目录,此参数可以为空:文件的根目录 Environment.DIRECTORY_PICTURES、Environment.DIRECTORY_DOCUMENTS、Environment.DIRECTORY_DOWNLOADS、Environment.DIRECTORY_MOVIES 或 Environment.DIRECTORY_MUSIC 类型的子目录。 |
返回:
返回外部或共享存储设备上应用程序文件目录的绝对路径; 如果外部或共享存储设备暂时不可用,则返回 null。
public File[] getExternalFilesDirs(String type)
从接口复制的描述:上下文
获取用于在所有外部或共享存储设备上存储应用程序文件的目录的绝对路径。
应用程序可以将其持久文件放在这些目录中。
指定者:
接口 Context 中的 getExternalFilesDirs
参数:
参数名称 | 参数描述 |
---|---|
type | 指示要返回的文件目录的类型。 对于以下目录或子目录,此参数可以为空:文件的根目录 Environment.DIRECTORY_PICTURES、Environment.DIRECTORY_DOCUMENTS、Environment.DIRECTORY_DOWNLOADS、Environment.DIRECTORY_MOVIES 或 Environment.DIRECTORY_MUSIC 类型的子目录。 |
返回:
返回所有外部或共享存储设备上应用程序文件目录的绝对路径; 如果外部或共享存储设备暂时不可用,则返回 null。 返回的第一个路径与 Context.getExternalFilesDir(java.lang.String) 返回的路径相同。
public boolean deleteFile(String fileName)
从接口复制的描述:上下文
删除与应用程序关联的指定私有文件。
指定者:
接口上下文中的deleteFile
参数:
参数名称 | 参数描述 |
---|---|
fileName | 指示要删除的文件的名称。 文件名不能包含路径分隔符。 |
返回:
如果文件被成功删除,则返回 true; 否则返回 false。
public IAbilityManager getAbilityManager()
从接口复制的描述:上下文
获得ability管理器。
ability管理器提供有关正在运行的进程和应用程序的内存使用情况的信息。
指定者:
接口上下文中的 getAbilityManager
返回:
返回一个 IAbilityManager 实例。
public int getDisplayOrientation()
从接口复制的描述:上下文
获取此ability的当前显示方向。
指定者:
接口上下文中的getDisplayOrientation
返回:
返回当前显示方向。
public void setShowOnLockScreen(boolean showOnLockScreen)
从接口复制的描述:上下文
设置是否在锁定屏幕显示时在锁定屏幕顶部显示该ability,保持该ability处于 ACTIVE 状态。
指定者:
接口 Context 中的 setShowOnLockScreen
参数:
参数名称 | 参数描述 |
---|---|
showOnLockScreen | 指定是否在锁定屏幕顶部显示此ability。 true 表示在锁屏上显示,false 表示不显示。 |
public void setWakeUpScreen(boolean wakeUpScreen)
从接口复制的描述:上下文
设置此ability恢复时是否唤醒屏幕。
此方法仅对用户在屏幕唤醒后可见的ability生效。
指定者:
接口 Context 中的 setWakeUpScreen
参数:
参数名称 | 参数描述 |
---|---|
wakeUpScreen | 指定是否唤醒屏幕。 true 表示唤醒它,false 表示不唤醒。 |
public void restart()
从接口复制的描述:上下文
使用新实例重新启动此ability。 这类似于当该ability由于系统配置更改而被破坏时,重新启动该ability的实例的过程。
此方法仅对使用 AbilityInfo.AbilityType.PAGE 模板的ability生效。
指定者:
在界面上下文中重启
public void setTransitionAnimation(int enterAnim, int exitAnim)
从接口复制的描述:上下文
设置两个ability之间的过渡动画。
此方法必须在调用 Context.startAbility(ohos.aafwk.content.Intent,int) 之后调用。
指定者:
接口 Context 中的 setTransitionAnimation
参数:
参数名称 | 参数描述 |
---|---|
enterAnim | 指示传入ability的动画资源ID。 |
exitAnim | 表示传出ability的动画资源ID。 |
public boolean isUpdatingConfigurations()
从接口复制的描述:上下文
检查此ability的配置是否正在更改
通常,此类更改信息在 Ability.onStop() 中用于确定如何处理此ability引用的资源。
指定者:
接口上下文中的 isUpdatingConfigurations
返回:
如果配置正在更改,例如,如果设备的显示方向正在更改,则返回 true; 否则返回 false。
public void setTheme(int themeId)
从接口复制的描述:上下文
根据指定的主题 ID 设置此 Context 的主题。
指定者:
界面上下文中的 setTheme
参数:
参数名称 | 参数描述 |
---|---|
themeId | 表示要设置的主题的资源ID。 |
public Theme getTheme()
从接口复制的描述:上下文
获取此 Context 的主题。
此方法仅在已通过调用 Context.setTheme(int) 设置主题时有效。
指定者:
接口上下文中的getTheme
返回:
theme 返回此 Context 的主题。
public void setPattern(int patternId)
从接口复制的描述:上下文
根据指定的模式 ID 设置此上下文的模式。
指定者:
接口上下文中的 setPattern
参数:
参数名称 | 参数描述 |
---|---|
patternId | 指示要设置的模式的资源 ID。 |
public Pattern getPattern()
从接口复制的描述:上下文
获取此 Context 的模式。
此方法仅在通过调用 Context.setPattern(int) 设置模式时有效。
指定者:
接口上下文中的getPattern
返回:
pattern 返回此上下文的模式。
public String getAppType()
获取此应用程序的类型。
指定者:
接口上下文中的getAppType
返回:
如果此应用程序是系统应用程序,则返回系统; 如果在 Ohos AppGallery 中发布,则返回正常; 如果由第三方供应商发布,则返回其他; 如果查询失败,则返回一个空字符串。
public ResourceManager getResourceManager(Configuration configuration)
从接口复制的描述:上下文
根据指定的 Configuration 对象获取资源管理器。
指定者:
接口上下文中的getResourceManager
参数:
参数名称 | 参数描述 |
---|---|
configuration | 表示包含资源配置信息的Configuration对象。 |
返回:
返回获取到的 ResourceManager 对象。
public Object getLastStoredDataWhenConfigChanged()
从接口复制的描述:上下文
当系统配置发生变化时,获取通过 Ability.onStoreDataWhenConfigChange() 保存的最新数据。
指定者:
接口 Context 中的 getLastStoredDataWhenConfigChanged
返回:
返回保存的数据对象。
public void printDrawnCompleted()
从接口复制的描述:上下文
打印出系统完成绘制此页面能力所需的时间。
指定者:
接口 Context 中的 printDrawnCompleted
public void compelVerifyPermission(String permission, String message)
从接口复制的描述:上下文
检查是否已将指定权限授予调用进程,如果未授予权限,则抛出 SecurityException。
指定者:
接口 Context 中的 compelVerifyPermission
参数:
参数名称 | 参数描述 |
---|---|
permission | 表示检查的权限。 |
message | 指示抛出 SecurityException 时要显示的信息。 |
public void compelVerifyUriPermission(Uri uri, int modeFlags, String message)
从接口复制的描述:上下文
检查调用进程是否有访问指定URI的权限,如果没有权限则抛出SecurityException。
指定者:
接口 Context 中的 compelVerifyUriPermission
参数:
参数名称 | 参数描述 |
---|---|
uri | 指示要检查的 URI。 此参数不能为空。 |
modeFlags | 指示要检查的访问模式。 该值可以是 ohos.aafwk.content.Intent#FLAG_AUTH_READ_URI_PERMISSION、ohos.aafwk.content.Intent#FLAG_AUTH_WRITE_URI_PERMISSION 或它们的组合。 |
message | 指示抛出 SecurityException 时要显示的信息。 |
public void compelVerifyCallerPermission(String permission, String message)
从接口复制的描述:上下文
检查是否已为调用进程授予进程间通信 (IPC) 的指定权限,如果未授予该权限,则抛
分享标题:创新互联鸿蒙OS教程:鸿蒙OSAbilityContext
URL链接:http://www.stwzsj.com/qtweb/news0/250.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联