创新互联鸿蒙OS教程:鸿蒙OSAbilityContext

AbilityContext

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

构造函数详细信息

AbilityContext

public AbilityContext()

AbilityContext 的默认构造函数。

AbilityContext

public AbilityContext(Context context)

用于创建和初始化能力的构造函数。

参数:

参数名称 参数描述
context 指示应用程序上下文,此参数不能为空。

方法详情

attachBaseContext

public void attachBaseContext(Context base)

将上下文对象附加到当前ability。

一般在Ability加载完成后调用该方法,为当前Ability提供应用上下文。

参数:

参数名称 参数描述
base 表示一个上下文对象。

getContext

public final Context getContext()

获取应用程序上下文。

返回:

返回应用程序上下文。 该对象是构造函数创建的初始化ability,或者作为attachBaseContext(ohos.app.Context)的输入参数传递的上下文对象。

init

public void init()

初始化当前ability。

getUITaskDispatcher

public final TaskDispatcher getUITaskDispatcher()

从接口复制的描述:上下文

获取绑定到 UI 线程的任务调度程序。

在此调度程序上调度的任务按顺序执行。 请勿在 UI 线程上使用此调度程序来运行同步任务,否则会发生死锁。

指定者:

接口上下文中的getUITaskDispatcher

返回:

返回绑定到 UI 线程的任务调度程序。

getMainTaskDispatcher

public final TaskDispatcher getMainTaskDispatcher()

从接口复制的描述:上下文

获取绑定到应用程序主线程的任务调度程序。

在此调度程序上调度的任务按顺序执行。 不要在主线程上使用这个dispatcher来运行同步任务,否则会发生死锁。

指定者:

接口 Context 中的 getMainTaskDispatcher

返回:

返回绑定到应用程序主线程的任务调度程序。

createParallelTaskDispatcher

public TaskDispatcher createParallelTaskDispatcher(String name, TaskPriority priority)

从接口复制的描述:上下文

创建具有指定优先级的并行任务调度程序。

与使用 Context.getGlobalTaskDispatcher(ohos.app.dispatcher.task.TaskPriority) 创建的全局任务调度器不同,并行任务调度器可以使用单独的任务组并行运行一个组中的任务,并依次运行不同的任务组。

指定者:

接口 Context 中的 createParallelTaskDispatcher

参数:

参数名称 参数描述
name 指示任务调度程序名称,该参数用于定位问题。
priority 指示并行任务分派器分派的所有任务的优先级。

返回:

返回一个并行任务调度程序。

createSerialTaskDispatcher

public TaskDispatcher createSerialTaskDispatcher(String name, TaskPriority priority)

从接口复制的描述:上下文

创建具有指定优先级的串行任务调度程序。

如果要按特定顺序执行任务,请使用串行任务调度程序。 否则,请使用并行任务调度程序。

指定者:

接口 Context 中的 createSerialTaskDispatcher

参数:

参数名称 参数描述
name 指示任务调度程序名称,该参数用于定位问题。
priority 表示创建的任务调度器所调度的所有任务的优先级。

返回:

返回一个串行任务调度程序。

getGlobalTaskDispatcher

public TaskDispatcher getGlobalTaskDispatcher(TaskPriority priority)

从接口复制的描述:上下文

获取具有指定优先级的全局任务调度程序。

您可以使用全局任务分派器来分派彼此独立的任务。 不要在此调度程序上创建任务组或执行障碍。

指定者:

接口 Context 中的 getGlobalTaskDispatcher

参数:

参数名称 参数描述
priority 表示全局任务调度器调度的所有任务的优先级。

返回:

返回一个全局任务调度器。

getApplicationInfo

public ApplicationInfo getApplicationInfo()

从接口复制的描述:上下文

获取有关当前应用程序的信息。

返回的应用信息包括应用名称、应用权限等基本信息。

指定者:

接口上下文中的getApplicationInfo

返回:

返回当前应用程序的 ApplicationInfo 对象。

getAbilityInfo

public AbilityInfo getAbilityInfo()

从接口复制的描述:上下文

获取有关当前能力的信息。

返回的信息包括类名、包名和其他有关当前能力的信息。

指定者:

接口上下文中的getAbilityInfo

返回:

返回当前能力的 AbilityInfo 对象。

getProcessInfo

public ProcessInfo getProcessInfo()

从接口复制的描述:上下文

获取当前进程的信息,包括进程ID和名称。

指定者:

接口上下文中的getProcessInfo

返回:

返回当前进程的 ProcessInfo 对象。

getResourceManager

public ResourceManager getResourceManager()

从接口复制的描述:上下文

获得资源管理器。

指定者:

接口上下文中的getResourceManager

返回:

返回一个 ResourceManager 对象。

getPreferencesDir

public File getPreferencesDir()

从接口复制的描述:上下文

获取应用程序偏好文件的存放路径。

如果选择项文件路径不存在,则系统创建一个并返回创建的路径。

指定者:

接口上下文中的 getPreferencesDir

返回:

返回选择项文件。

getDatabaseDir

public File getDatabaseDir()

从接口复制的描述:上下文

获取本地数据库路径。

如果本地数据库路径不存在,则系统创建一个并返回创建的路径。

指定者:

接口 Context 中的 getDatabaseDir

返回:

返回本地数据库文件。

getDistributedDir

public File getDistributedDir()

从接口复制的描述:上下文

获取分布式文件路径。

如果分布式文件路径不存在,则系统创建一个并返回创建的路径。 此方法仅适用于ability的上下文,而不适用于应用程序的上下文。

指定者:

接口 Context 中的 getDistributedDir

返回:

返回分发的文件。

switchToDeviceEncryptedStorageContext

public void switchToDeviceEncryptedStorageContext()

从接口复制的描述:上下文

将上下文存储更改为设备保护存储。

指定者:

接口 Context 中的 switchToDeviceEncryptedStorageContext

switchToCredentialEncryptedStorageContext

public void switchToCredentialEncryptedStorageContext()

从接口复制的描述:上下文

将上下文存储更改为受凭证保护的存储。

指定者:

接口 Context 中的 switchToCredentialEncryptedStorageContext

isDeviceEncryptedStorage

public boolean isDeviceEncryptedStorage()

从接口复制的描述:上下文

检查上下文是否使用受设备保护的存储。

指定者:

接口 Context 中的 isDeviceEncryptedStorage

返回:

如果上下文使用受设备保护的存储,则返回 true; 否则返回 false。

isCredentialEncryptedStorage

public boolean isCredentialEncryptedStorage()

从接口复制的描述:上下文

检查上下文是否使用凭据加密存储。

指定者:

接口 Context 中的 isCredentialEncryptedStorage

返回:

如果上下文使用凭证加密存储,则返回 true; 否则返回 false。

verifyCallingPermission

public int verifyCallingPermission(String permission)

从接口复制的描述:上下文

检查进程间通信的调用进程是否具有给定的权限。

调用进程不是当前进程。

指定者:

接口 Context 中的 verifyCallingPermission

参数:

参数名称 参数描述
permission 表示检查的权限,此参数不能为空。

返回:

如果调用进程有权限,则返回 0 (IBundleManager.PERMISSION_GRANTED); 否则返回 -1 (IBundleManager.PERMISSION_DENIED)。

verifySelfPermission

public int verifySelfPermission(String permission)

从接口复制的描述:上下文

检查当前进程是否具有给定的权限。

仅当当前进程没有特定权限时,才需要调用 [Context.requestPermissionsFromUser(java.lang.String],int) 来请求权限。

指定者:

接口 Context 中的 verifySelfPermission

参数:

参数名称 参数描述
permission 表示检查的权限,此参数不能为空。

返回:

如果当前进程有权限,则返回 0 (IBundleManager.PERMISSION_GRANTED); 否则返回 -1 (IBundleManager.PERMISSION_DENIED)。

verifyCallingOrSelfPermission

public int verifyCallingOrSelfPermission(String permission)

从接口复制的描述:上下文

检查调用或当前进程是否具有给定的权限。

仅当调用来自远程设备时,此方法才检查调用进程的权限。 否则,它会检查当前进程的权限。

指定者:

接口 Context 中的 verifyCallingOrSelfPermission

参数:

参数名称 参数描述
permission 表示检查的权限,此参数不能为空。

返回:

如果调用或当前进程具有权限,则返回 0 (IBundleManager.PERMISSION_GRANTED); 否则返回 -1 (IBundleManager.PERMISSION_DENIED)。

verifyPermission

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)。

getClassloader

public ClassLoader getClassloader()

从接口复制的描述:上下文

获取一个 ClassLoader 实例。

ClassLoader实例用于加载一个类,例如使用类名加载当前能力的类。

指定者:

接口上下文中的getClassloader

返回:

返回一个 ClassLoader 实例。

getApplicationContext

public Context getApplicationContext()

从接口复制的描述:上下文

获取应用程序的 Context 对象。

指定者:

接口上下文中的getApplicationContext

返回:

返回应用程序的 Context 对象。

terminateAbility

public void terminateAbility()

从接口复制的描述:上下文

破坏当前ability。

当前使用AbilityInfo.AbilityType.SERVICE 或AbilityInfo.AbilityType.PAGE 模板的能力执行完所有操作后,它可以使用该方法销毁自身以释放内存。

指定者:

接口上下文中的 terminateAbility

terminateAbility

public void terminateAbility(int requestCode)

从接口复制的描述:上下文

通过调用 Ability.startAbilityForResult(ohos.aafwk.content.Intent, int, ohos.aafwk.ability.startsetting.AbilityStartSetting) 并传递相同的 requestCode 来破坏您之前启动的另一个ability。

指定者:

接口上下文中的 terminateAbility

参数:

参数名称 参数描述
requestCode 指示为启动ability而传递的请求代码。

displayUnlockMissionMessage

public void displayUnlockMissionMessage()

从接口复制的描述:上下文

向用户显示系统定义的消息,提示用户如何退出锁定任务模式。

此方法仅在包含此ability的任务处于 ohos.app.AbilityManager#LOCK_MISSION_MODE_LOCKED 或 ohos.app.AbilityManager#LOCK_MISSION_MODE_PINNED 状态时生效。

指定者:

接口上下文中的 displayUnlockMissionMessage

lockMission

public void lockMission()

从接口复制的描述:上下文

设置应用程序以在锁定任务模式下启动其功能。

此方法仅在ability在前台运行时生效。

指定者:

接口上下文中的 lockMission

unlockMission

public void unlockMission()

从接口复制的描述:上下文

通过退出锁定任务模式来解锁此ability。

此方法仅对已通过 Context.lockMission() 方法进入锁定任务模式的ability生效。

指定者:

界面上下文中的unlockMission

terminateAbilityResult

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。

getLocalClassName

public String getLocalClassName()

从接口复制的描述:上下文

获取ability的本地类名。 本地类名不以包名作为前缀。 此方法仅适用于页面功能。

指定者:

接口上下文中的getLocalClassName

返回:

返回本地类名。

getElementName

public ElementName getElementName()

从接口复制的描述:上下文

获取当前ability的 ohos.bundle.ElementName 对象。 此方法仅适用于页面功能。

指定者:

接口上下文中的getElementName

返回:

返回当前ability的 ohos.bundle.ElementName 对象。

getCallingAbility

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。

getCallingBundle

public String getCallingBundle()

从接口复制的描述:上下文

获取调用当前ability的捆绑包名称。

您可以使用获取的捆绑包名称来检查是否允许调用ability接收您将发送的数据。

如果您没有使用 Ability.startAbilityForResult(ohos.aafwk.content.Intent, int, ohos.aafwk.ability.startsetting.AbilityStartSetting) 启动调用ability,则返回 null。

指定者:

接口上下文中的getCallingBundle

返回:

返回调用ability的捆绑包名称; 如果没有可用的调用ability,则返回 null。

stopAbility

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。

startAbility

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有效。

startAbility

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启动回调接口。

startAbility

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中使用的特殊启动设置。

startAbilities

public void startAbilities(Intent[] intents)

从接口复制的描述:上下文

启动多种ability。

使用 AbilityInfo.AbilityType.SERVICE 或 AbilityInfo.AbilityType.PAGE 模板的ability使用此方法启动特定ability。 系统根据intents参数的值区分目标ability和已安装ability,然后启动目标ability。 您可以使用intents 参数来指定目标ability。

指定者:

接口上下文中的 startAbilities

参数:

参数名称 参数描述
intents 表示包含目标ability信息的 Intent 对象数组。

createBundleContext

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 对象。

getDataDir

public File getDataDir()

从接口复制的描述:上下文

获取存储本应用所有私有数据文件的绝对路径。

指定者:

接口上下文中的getDataDir

返回:

返回存储此应用程序所有私有数据文件的绝对路径。

getBundleResourcePath

public String getBundleResourcePath()

从接口复制的描述:上下文

获取包含此ability的 Ohos ability包 (HAP} 的路径。

指定者:

接口 Context 中的 getBundleResourcePath

返回:

返回包含此ability的 HAP 的路径。

canRequestPermission

public boolean canRequestPermission(String permission)

从接口复制的描述:上下文

与权限管理模块确认是否需要请求提示才能授予某个权限。

在调用 [Context.requestPermissionsFromUser(java.lang.String],int) 请求权限之前,您需要调用当前方法检查是否需要提示。 如果不需要提示,则不会发起权限请求。

指定者:

接口 Context 中的 canRequestPermission

参数:

参数名称 参数描述
permission 表示要查询的权限,此参数不能为空。

返回:

如果当前应用程序没有权限并且用户没有关闭进一步的请求,则返回 true; 如果当前应用程序已经拥有权限、权限被系统拒绝、或者权限被用户拒绝并且用户关闭了进一步的请求,则返回 false。

requestPermissionsFromUser

public void requestPermissionsFromUser(String[] permissions, int requestCode)

从接口复制的描述:上下文

从系统请求某些权限。

权限请求调用此方法。 这是一种异步方法。 执行时,Ability.onRequestPermissionsFromUserResult(int, String[], int[]) 方法会被回调。

指定者:

接口上下文中的 requestPermissionsFromUser

参数:

参数名称 参数描述
permissions 指示要请求的权限列表,此参数不能为空。
requestCode 指示要传递给 Ability.onRequestPermissionsFromUserResult(int, String[], int[]) 回调方法的请求代码。 此代码不能为负数。

connectAbility

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。

disconnectAbility

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 对象唯一地标识两个能力之间的连接。

setDisplayOrientation

public void setDisplayOrientation(AbilityInfo.DisplayOrientation newOrientation)

从接口复制的描述:上下文

设置当前技能的显示方向。

该设置仅对使用 AbilityInfo.AbilityType.PAGE 模板的ability生效。

指定者:

接口上下文中的 setDisplayOrientation

参数:

参数名称 参数描述
newOrientation 指示当前ability的新方向。

getBundleManager

public IBundleManager getBundleManager()

从接口复制的描述:上下文

获得一个 IBundleManager 实例。

您可以使用此实例来获取有关应用程序包的信息。

指定者:

接口上下文中的getBundleManager

返回:

返回一个 IBundleManager 实例。

getBundleName

public String getBundleName()

从接口复制的描述:上下文

获取当前ability的捆绑包名称。

指定者:

接口上下文中的getBundleName

返回:

返回当前ability的捆绑包名称。

getBundleCodePath

public String getBundleCodePath()

从接口复制的描述:上下文

获取包含当前ability的包的路径。

返回的路径包含模块的资源、源代码和配置文件。

指定者:

接口 Context 中的 getBundleCodePath

返回:

返回包文件的路径。

getCacheDir

public File getCacheDir()

从接口复制的描述:上下文

获取设备内部存储上特定于应用程序的缓存目录。

如果设备上的其他地方需要磁盘空间,系统会自动从缓存目录中删除文件。 旧文件总是首先被删除。

指定者:

接口 Context 中的 getCacheDir

返回:

返回特定于应用程序的缓存目录。

getCodeCacheDir

public File getCodeCacheDir()

从接口复制的描述:上下文

获取设备内部存储上特定于应用程序的代码缓存目录。

当您的特定应用程序升级和整个平台升级时,系统将删除存储在此位置的所有文件。

指定者:

接口 Context 中的 getCodeCacheDir

返回:

返回特定于应用程序的代码缓存目录。

getExternalMediaDirs

public File[] getExternalMediaDirs()

从接口复制的描述:上下文

获取它可以放置的所有文件上的特定于应用程序的媒体目录。

卸载您的特定应用程序时,系统将删除所有这些文件。

指定者:

接口 Context 中的 getExternalMediaDirs

返回:

返回特定于应用程序的媒体。

getNoBackupFilesDir

public File getNoBackupFilesDir()

从接口复制的描述:上下文

获取应用程序创建并将自动备份到远程存储的绝对路径。

如果将应用程序移动到采用的存储设备,则返回的路径可能会更改。

指定者:

接口 Context 中的 getNoBackupFilesDir

返回:

保存不会自动备份到远程存储的应用程序文件的目录的路径。

getFilesDir

public File getFilesDir()

从接口复制的描述:上下文

获取设备内部存储中应用程序文件的存储目录。

指定者:

接口 Context 中的 getFilesDir

返回:

返回应用程序文件目录。

getDir

public File getDir(String name, int mode)

从接口复制的描述:上下文

获取应用程序自定义数据文件存放目录。

您可以使用返回的 File 对象在此目录中创建和访问文件。 这些文件只能由当前应用程序访问。

指定者:

接口上下文中的getDir

参数:

参数名称 参数描述
name 指示要检索的目录的名称。 该目录是作为应用程序数据的一部分创建的。
mode 指示文件操作模式。 该值可以是 0 或 Context.MODE_PRIVATE 的组合。

返回:

返回请求目录的 File 对象。

getExternalCacheDir

public File getExternalCacheDir()

从接口复制的描述:上下文

获取主外部或共享存储设备上特定于应用程序的缓存目录的绝对路径。

应用程序可以将其缓存文件放在此目录中。

指定者:

接口 Context 中的 getExternalCacheDir

返回:

返回外部或共享存储设备上应用程序特定缓存目录的绝对路径; 如果外部或共享存储设备暂时不可用,则返回 null。

getExternalCacheDirs

public File[] getExternalCacheDirs()

从接口复制的描述:上下文

获取所有外部或共享存储设备上特定于应用程序的缓存目录的绝对路径。

应用程序可以将其缓存文件放在这些目录中。

指定者:

接口 Context 中的 getExternalCacheDirs

返回:

返回所有外部或共享存储设备上应用程序特定缓存目录的绝对路径; 如果外部或共享存储设备暂时不可用,则返回 null。 返回的第一个路径与 Context.getExternalCacheDir() 返回的路径相同。

getExternalFilesDir

public File getExternalFilesDir(String type)

从接口复制的描述:上下文

获取用于在主外部或共享存储设备上存储应用程序文件的目录的绝对路径。

应用程序可以将其持久文件放置在此目录中。

指定者:

接口 Context 中的 getExternalFilesDir

参数:

参数名称 参数描述
type 指示要返回的文件目录的类型。 对于以下目录或子目录,此参数可以为空:文件的根目录 Environment.DIRECTORY_PICTURES、Environment.DIRECTORY_DOCUMENTS、Environment.DIRECTORY_DOWNLOADS、Environment.DIRECTORY_MOVIES 或 Environment.DIRECTORY_MUSIC 类型的子目录。

返回:

返回外部或共享存储设备上应用程序文件目录的绝对路径; 如果外部或共享存储设备暂时不可用,则返回 null。

getExternalFilesDirs

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) 返回的路径相同。

deleteFile

public boolean deleteFile(String fileName)

从接口复制的描述:上下文

删除与应用程序关联的指定私有文件。

指定者:

接口上下文中的deleteFile

参数:

参数名称 参数描述
fileName 指示要删除的文件的名称。 文件名不能包含路径分隔符。

返回:

如果文件被成功删除,则返回 true; 否则返回 false。

getAbilityManager

public IAbilityManager getAbilityManager()

从接口复制的描述:上下文

获得ability管理器。

ability管理器提供有关正在运行的进程和应用程序的内存使用情况的信息。

指定者:

接口上下文中的 getAbilityManager

返回:

返回一个 IAbilityManager 实例。

getDisplayOrientation

public int getDisplayOrientation()

从接口复制的描述:上下文

获取此ability的当前显示方向。

指定者:

接口上下文中的getDisplayOrientation

返回:

返回当前显示方向。

setShowOnLockScreen

public void setShowOnLockScreen(boolean showOnLockScreen)

从接口复制的描述:上下文

设置是否在锁定屏幕显示时在锁定屏幕顶部显示该ability,保持该ability处于 ACTIVE 状态。

指定者:

接口 Context 中的 setShowOnLockScreen

参数:

参数名称 参数描述
showOnLockScreen 指定是否在锁定屏幕顶部显示此ability。 true 表示在锁屏上显示,false 表示不显示。

setWakeUpScreen

public void setWakeUpScreen(boolean wakeUpScreen)

从接口复制的描述:上下文

设置此ability恢复时是否唤醒屏幕。

此方法仅对用户在屏幕唤醒后可见的ability生效。

指定者:

接口 Context 中的 setWakeUpScreen

参数:

参数名称 参数描述
wakeUpScreen 指定是否唤醒屏幕。 true 表示唤醒它,false 表示不唤醒。

restart

public void restart()

从接口复制的描述:上下文

使用新实例重新启动此ability。 这类似于当该ability由于系统配置更改而被破坏时,重新启动该ability的实例的过程。

此方法仅对使用 AbilityInfo.AbilityType.PAGE 模板的ability生效。

指定者:

在界面上下文中重启

setTransitionAnimation

public void setTransitionAnimation(int enterAnim, int exitAnim)

从接口复制的描述:上下文

设置两个ability之间的过渡动画。

此方法必须在调用 Context.startAbility(ohos.aafwk.content.Intent,int) 之后调用。

指定者:

接口 Context 中的 setTransitionAnimation

参数:

参数名称 参数描述
enterAnim 指示传入ability的动画资源ID。
exitAnim 表示传出ability的动画资源ID。

isUpdatingConfigurations

public boolean isUpdatingConfigurations()

从接口复制的描述:上下文

检查此ability的配置是否正在更改

通常,此类更改信息在 Ability.onStop() 中用于确定如何处理此ability引用的资源。

指定者:

接口上下文中的 isUpdatingConfigurations

返回:

如果配置正在更改,例如,如果设备的显示方向正在更改,则返回 true; 否则返回 false。

setTheme

public void setTheme(int themeId)

从接口复制的描述:上下文

根据指定的主题 ID 设置此 Context 的主题。

指定者:

界面上下文中的 setTheme

参数:

参数名称 参数描述
themeId 表示要设置的主题的资源ID。

getTheme

public Theme getTheme()

从接口复制的描述:上下文

获取此 Context 的主题。

此方法仅在已通过调用 Context.setTheme(int) 设置主题时有效。

指定者:

接口上下文中的getTheme

返回:

theme 返回此 Context 的主题。

setPattern

public void setPattern(int patternId)

从接口复制的描述:上下文

根据指定的模式 ID 设置此上下文的模式。

指定者:

接口上下文中的 setPattern

参数:

参数名称 参数描述
patternId 指示要设置的模式的资源 ID。

getPattern

public Pattern getPattern()

从接口复制的描述:上下文

获取此 Context 的模式。

此方法仅在通过调用 Context.setPattern(int) 设置模式时有效。

指定者:

接口上下文中的getPattern

返回:

pattern 返回此上下文的模式。

getAppType

public String getAppType()

获取此应用程序的类型。

指定者:

接口上下文中的getAppType

返回:

如果此应用程序是系统应用程序,则返回系统; 如果在 Ohos AppGallery 中发布,则返回正常; 如果由第三方供应商发布,则返回其他; 如果查询失败,则返回一个空字符串。

getResourceManager

public ResourceManager getResourceManager(Configuration configuration)

从接口复制的描述:上下文

根据指定的 Configuration 对象获取资源管理器。

指定者:

接口上下文中的getResourceManager

参数:

参数名称 参数描述
configuration 表示包含资源配置信息的Configuration对象。

返回:

返回获取到的 ResourceManager 对象。

getLastStoredDataWhenConfigChanged

public Object getLastStoredDataWhenConfigChanged()

从接口复制的描述:上下文

当系统配置发生变化时,获取通过 Ability.onStoreDataWhenConfigChange() 保存的最新数据。

指定者:

接口 Context 中的 getLastStoredDataWhenConfigChanged

返回:

返回保存的数据对象。

printDrawnCompleted

public void printDrawnCompleted()

从接口复制的描述:上下文

打印出系统完成绘制此页面能力所需的时间。

指定者:

接口 Context 中的 printDrawnCompleted

compelVerifyPermission

public void compelVerifyPermission(String permission, String message)

从接口复制的描述:上下文

检查是否已将指定权限授予调用进程,如果未授予权限,则抛出 SecurityException。

指定者:

接口 Context 中的 compelVerifyPermission

参数:

参数名称 参数描述
permission 表示检查的权限。
message 指示抛出 SecurityException 时要显示的信息。

compelVerifyUriPermission

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 时要显示的信息。

compelVerifyCallerPermission

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。内容未经允许不得转载,或转载时需注明来源: 创新互联