mirror of
https://github.com/HighCapable/YukiHookAPI.git
synced 2025-09-04 09:45:19 +08:00
Merge YukiHookModuleStatus to YukiHookAPI.Status
This commit is contained in:
@@ -8,8 +8,6 @@
|
||||
|
||||
[filename](public/HookParam.md ':include')
|
||||
|
||||
[filename](public/YukiHookModuleStatus.md ':include')
|
||||
|
||||
[filename](public/InjectYukiHookWithXposed.md ':include')
|
||||
|
||||
[filename](public/IYukiHookXposedInit.md ':include')
|
||||
|
@@ -26,6 +26,8 @@ open class ModuleApplication: Application()
|
||||
|
||||
- 在模块中使用系统隐藏 API,核心技术引用了开源项目 [FreeReflection](https://github.com/tiann/FreeReflection)
|
||||
|
||||
- 在模块中使用 `YukiHookAPI.Status.isTaiChiModuleActive` 判断太极、无极激活状态
|
||||
|
||||
**功能示例**
|
||||
|
||||
将此类继承到你的自定义 `Application` 上。
|
||||
|
@@ -40,7 +40,41 @@ const val API_VERSION_CODE: Int
|
||||
|
||||
> 获取当前 `YukiHookAPI` 的版本号。
|
||||
|
||||
### executorName [field]
|
||||
### ~~executorName [field]~~ <!-- {docsify-ignore} -->
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.0.5` `新增`
|
||||
|
||||
`v1.0.91` `移除`
|
||||
|
||||
请转移到 `Status.executorName`
|
||||
|
||||
### ~~executorVersion [field]~~ <!-- {docsify-ignore} -->
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.0.5` `新增`
|
||||
|
||||
`v1.0.91` `移除`
|
||||
|
||||
请转移到 `Status.executorVersion`
|
||||
|
||||
### Status [object]
|
||||
|
||||
```kotlin
|
||||
object Status
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.0.91` `新增`
|
||||
|
||||
**功能描述**
|
||||
|
||||
> 当前 `YukiHookAPI` 的状态。
|
||||
|
||||
#### executorName [field]
|
||||
|
||||
```kotlin
|
||||
val executorName: String
|
||||
@@ -48,7 +82,7 @@ val executorName: String
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.0.5` `新增`
|
||||
`v1.0.91` `新增`
|
||||
|
||||
**功能描述**
|
||||
|
||||
@@ -56,7 +90,9 @@ val executorName: String
|
||||
|
||||
无法获取会返回 `unknown`,`XposedBridge` 不存在会返回 `invalid`。
|
||||
|
||||
### executorVersion [field]
|
||||
!> 在模块环境中需要启用 `Configs.isEnableHookModuleStatus`。
|
||||
|
||||
#### executorVersion [field]
|
||||
|
||||
```kotlin
|
||||
val executorVersion: Int
|
||||
@@ -64,7 +100,7 @@ val executorVersion: Int
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.0.5` `新增`
|
||||
`v1.0.91` `新增`
|
||||
|
||||
**功能描述**
|
||||
|
||||
@@ -72,6 +108,82 @@ val executorVersion: Int
|
||||
|
||||
无法获取会返回 `-1`。
|
||||
|
||||
!> 在模块环境中需要启用 `Configs.isEnableHookModuleStatus`。
|
||||
|
||||
#### isModuleActive [field]
|
||||
|
||||
```kotlin
|
||||
val isModuleActive: Boolean
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.0.91` `新增`
|
||||
|
||||
**功能描述**
|
||||
|
||||
> 判断模块是否在 Xposed 或太极、无极中激活。
|
||||
|
||||
!> 在模块环境中你需要将 `Application` 继承于 `ModuleApplication`。
|
||||
|
||||
!> 在模块环境中需要启用 `Configs.isEnableHookModuleStatus`。
|
||||
|
||||
!> 在 Xposed 环境中仅返回非 `isTaiChiModuleActive` 的激活状态。
|
||||
|
||||
#### isXposedModuleActive [field]
|
||||
|
||||
```kotlin
|
||||
val isXposedModuleActive: Boolean
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.0.91` `新增`
|
||||
|
||||
**功能描述**
|
||||
|
||||
> 仅判断模块是否在 Xposed 中激活。
|
||||
|
||||
!> 在模块环境中需要启用 `Configs.isEnableHookModuleStatus`。
|
||||
|
||||
!> 在 Xposed 环境中始终返回 true。
|
||||
|
||||
#### isTaiChiModuleActive [field]
|
||||
|
||||
```kotlin
|
||||
val isTaiChiModuleActive: Boolean
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.0.91` `新增`
|
||||
|
||||
**功能描述**
|
||||
|
||||
> 仅判断模块是否在太极、无极中激活。
|
||||
|
||||
!> 在模块环境中你需要将 `Application` 继承于 `ModuleApplication`。
|
||||
|
||||
!> 在 Xposed 环境中始终返回 false。
|
||||
|
||||
#### isSupportResourcesHook [field]
|
||||
|
||||
```kotlin
|
||||
val isSupportResourcesHook: Boolean
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.0.91` `新增`
|
||||
|
||||
**功能描述**
|
||||
|
||||
> 判断当前 Hook Framework 是否支持资源钩子(Resources Hook)。
|
||||
|
||||
!> 在模块环境中需要启用 `Configs.isEnableHookModuleStatus`。
|
||||
|
||||
!> 在 Xposed 环境中可能会延迟等待事件回调后才会返回 true。
|
||||
|
||||
### Configs [object]
|
||||
|
||||
```kotlin
|
||||
@@ -188,7 +300,7 @@ var isEnableHookModuleStatus: Boolean
|
||||
|
||||
为原生支持 Xposed 模块激活状态检测,此功能默认启用。
|
||||
|
||||
!> 关闭后你将不能再使用 `YukiHookModuleStatus` 中的功能。
|
||||
!> 关闭后你将不能再在模块环境中使用 `YukiHookAPI.Status` 中的功能。
|
||||
|
||||
#### isEnableDataChannel [field]
|
||||
|
||||
|
@@ -108,58 +108,52 @@ val Context.processName: String
|
||||
|
||||
> 获取当前进程名称。
|
||||
|
||||
### isSupportResourcesHook [field]
|
||||
|
||||
```kotlin
|
||||
val Any?.isSupportResourcesHook: Boolean
|
||||
```
|
||||
### ~~isSupportResourcesHook [field]~~ <!-- {docsify-ignore} -->
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.0.80` `新增`
|
||||
|
||||
**功能描述**
|
||||
`v1.0.91` `移除`
|
||||
|
||||
> 判断当前 Hook Framework 是否支持资源钩子(Resources Hook)。
|
||||
请转移到 `YukiHookAPI.Status.isSupportResourcesHook`
|
||||
|
||||
### isModuleActive [field]
|
||||
|
||||
```kotlin
|
||||
val Context.isModuleActive: Boolean
|
||||
```
|
||||
### ~~isModuleActive [field]~~ <!-- {docsify-ignore} -->
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.0.6` `新增`
|
||||
|
||||
**功能描述**
|
||||
`v1.0.91` `移除`
|
||||
|
||||
> 判断模块是否在 Xposed 或太极、无极中激活。
|
||||
请转移到 `YukiHookAPI.Status.isModuleActive`
|
||||
|
||||
### isXposedModuleActive [field]
|
||||
|
||||
```kotlin
|
||||
val Any?.isXposedModuleActive: Boolean
|
||||
```
|
||||
### ~~isXposedModuleActive [field]~~ <!-- {docsify-ignore} -->
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.0.6` `新增`
|
||||
|
||||
**功能描述**
|
||||
`v1.0.91` `移除`
|
||||
|
||||
> 仅判断模块是否在 Xposed 中激活。
|
||||
请转移到 `YukiHookAPI.Status.isXposedModuleActive`
|
||||
|
||||
### isTaiChiModuleActive [field]
|
||||
|
||||
```kotlin
|
||||
val Context.isTaiChiModuleActive: Boolean
|
||||
```
|
||||
### ~~isTaiChiModuleActive [field]~~ <!-- {docsify-ignore} -->
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.0` `添加`
|
||||
|
||||
**功能描述**
|
||||
`v1.0.91` `移除`
|
||||
|
||||
> 仅判断模块是否在太极、无极中激活。
|
||||
请转移到 `YukiHookAPI.Status.isTaiChiModuleActive`
|
||||
|
||||
## ~~YukiHookModuleStatus [class]~~ <!-- {docsify-ignore} -->
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.0` `添加`
|
||||
|
||||
`v1.0.91` `作废`
|
||||
|
||||
请转移到 `YukiHookAPI.Status`
|
@@ -1,55 +0,0 @@
|
||||
## YukiHookModuleStatus [class]
|
||||
|
||||
```kotlin
|
||||
object YukiHookModuleStatus
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.0` `添加`
|
||||
|
||||
**功能描述**
|
||||
|
||||
> 这是一个 Xposed 模块 Hook 状态类。
|
||||
|
||||
### executorName [field]
|
||||
|
||||
```kotlin
|
||||
val executorName: String
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.0.5` `新增`
|
||||
|
||||
**功能描述**
|
||||
|
||||
> 获取当前 Hook 框架的名称。
|
||||
|
||||
模块未激活会返回 `unknown`,获取过程发生错误会返回 `invalid`。
|
||||
|
||||
### executorVersion [field]
|
||||
|
||||
```kotlin
|
||||
val executorVersion: Int
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.0.5` `新增`
|
||||
|
||||
**功能描述**
|
||||
|
||||
> 获取当前 Hook 框架的版本。
|
||||
|
||||
模块未激活会返回 `-1`。
|
||||
|
||||
### ~~isActive [method]~~ <!-- {docsify-ignore} -->
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.0` `添加`
|
||||
|
||||
`v1.0.6` `作废`
|
||||
|
||||
请使用 `isModuleActive`、`isXposedModuleActive` 或 `isTaiChiModuleActive`
|
@@ -454,41 +454,43 @@ override fun onHook() = encase {
|
||||
|
||||
在 `YukiHookAPI` 中你完全不需要再这么做了,`YukiHookAPI` 已经帮你封装好了这个操作,你可以直接进行使用。
|
||||
|
||||
现在,你可以直接使用 `isXposedModuleActive` 在模块中判断自身是否被激活。
|
||||
现在,你可以直接使用 `YukiHookAPI.Status.isXposedModuleActive` 在模块中判断自身是否被激活。
|
||||
|
||||
> 示例如下
|
||||
|
||||
```kotlin
|
||||
if(isXposedModuleActive) {
|
||||
if(YukiHookAPI.Status.isXposedModuleActive) {
|
||||
// Your code here.
|
||||
}
|
||||
```
|
||||
|
||||
由于一些特殊原因,在太极、无极中的模块无法使用标准方法检测激活状态。
|
||||
|
||||
此时你可以在 `Activity` 中使用 `isTaiChiModuleActive` 判断自身是否被激活。
|
||||
此时你可以使用 `YukiHookAPI.Status.isTaiChiModuleActive` 判断自身是否被激活。
|
||||
|
||||
> 示例如下
|
||||
|
||||
```kotlin
|
||||
if(isTaiChiModuleActive) {
|
||||
if(YukiHookAPI.Status.isTaiChiModuleActive) {
|
||||
// Your code here.
|
||||
}
|
||||
```
|
||||
|
||||
若你想使用两者得兼的判断方案,`YukiHookAPI` 同样为你封装了便捷的方式。
|
||||
|
||||
此时你可以在 `Activity` 中使用 `isModuleActive` 判断自身是否在 Xposed 或太极、无极中被激活。
|
||||
此时你可以使用 `YukiHookAPI.Status.isModuleActive` 判断自身是否在 Xposed 或太极、无极中被激活。
|
||||
|
||||
> 示例如下
|
||||
|
||||
```kotlin
|
||||
if(isModuleActive) {
|
||||
if(YukiHookAPI.Status.isModuleActive) {
|
||||
// Your code here.
|
||||
}
|
||||
```
|
||||
|
||||
若要了解更多可 [点击这里](api/document?id=ismoduleactive-field) 进行查看。
|
||||
若要了解更多可 [点击这里](api/document?id=status-object) 进行查看。
|
||||
|
||||
!> 新版本的 API 修改了激活逻辑判断方式,现在你可以在模块与 Hook APP(宿主)中同时使用此 API。
|
||||
|
||||
!> 需要确保 `YukiHookAPI.Configs.isEnableHookModuleStatus` 是启用状态。
|
||||
|
||||
|
Reference in New Issue
Block a user