mirror of
https://github.com/HighCapable/YukiHookAPI.git
synced 2025-09-04 09:45:19 +08:00
Modify change registerModuleAppActivities function minimum support Android 7.0 (API 24) in YukiHookFactory, AppParasitics
This commit is contained in:
@@ -164,6 +164,10 @@ fun Context.registerModuleAppActivities(proxy: Any?)
|
|||||||
|
|
||||||
`v1.1.0` `added`
|
`v1.1.0` `added`
|
||||||
|
|
||||||
|
`v1.1.5` `modified`
|
||||||
|
|
||||||
|
加入最低 API 版本限制
|
||||||
|
|
||||||
**Function Illustrate**
|
**Function Illustrate**
|
||||||
|
|
||||||
> 向 Hook APP (宿主) 注册当前 Xposed 模块的 `Activity`。
|
> 向 Hook APP (宿主) 注册当前 Xposed 模块的 `Activity`。
|
||||||
@@ -178,6 +182,8 @@ fun Context.registerModuleAppActivities(proxy: Any?)
|
|||||||
|
|
||||||
只能在 (Xposed) 宿主环境使用此功能,其它环境下使用将不生效且会打印警告信息。
|
只能在 (Xposed) 宿主环境使用此功能,其它环境下使用将不生效且会打印警告信息。
|
||||||
|
|
||||||
|
最低支持 Android 7.0 (API 24)。
|
||||||
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Context.applyModuleTheme <span class="symbol">- ext-method</span>
|
## Context.applyModuleTheme <span class="symbol">- ext-method</span>
|
||||||
|
@@ -156,6 +156,10 @@ fun Context.registerModuleAppActivities(proxy: Any?)
|
|||||||
|
|
||||||
`v1.1.0` `新增`
|
`v1.1.0` `新增`
|
||||||
|
|
||||||
|
`v1.1.5` `修改`
|
||||||
|
|
||||||
|
加入最低 API 版本限制
|
||||||
|
|
||||||
**功能描述**
|
**功能描述**
|
||||||
|
|
||||||
> 向 Hook APP (宿主) 注册当前 Xposed 模块的 `Activity`。
|
> 向 Hook APP (宿主) 注册当前 Xposed 模块的 `Activity`。
|
||||||
@@ -170,6 +174,8 @@ fun Context.registerModuleAppActivities(proxy: Any?)
|
|||||||
|
|
||||||
只能在 (Xposed) 宿主环境使用此功能,其它环境下使用将不生效且会打印警告信息。
|
只能在 (Xposed) 宿主环境使用此功能,其它环境下使用将不生效且会打印警告信息。
|
||||||
|
|
||||||
|
最低支持 Android 7.0 (API 24)。
|
||||||
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Context.applyModuleTheme <span class="symbol">- ext-method</span>
|
## Context.applyModuleTheme <span class="symbol">- ext-method</span>
|
||||||
|
@@ -35,10 +35,12 @@ import android.content.Intent
|
|||||||
import android.content.res.Configuration
|
import android.content.res.Configuration
|
||||||
import android.content.res.Resources
|
import android.content.res.Resources
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.os.Process
|
import android.os.Process
|
||||||
import android.view.ContextThemeWrapper
|
import android.view.ContextThemeWrapper
|
||||||
import android.widget.ImageView
|
import android.widget.ImageView
|
||||||
|
import androidx.annotation.RequiresApi
|
||||||
import androidx.annotation.StyleRes
|
import androidx.annotation.StyleRes
|
||||||
import com.highcapable.yukihookapi.YukiHookAPI
|
import com.highcapable.yukihookapi.YukiHookAPI
|
||||||
import com.highcapable.yukihookapi.hook.entity.YukiBaseHooker
|
import com.highcapable.yukihookapi.hook.entity.YukiBaseHooker
|
||||||
@@ -153,8 +155,11 @@ fun Resources.injectModuleAppResources() = AppParasitics.injectModuleAppResource
|
|||||||
* For English version, see [Register Module App's Activity](https://fankes.github.io/YukiHookAPI/en/api/special-features/host-inject#register-module-app-s-activity)
|
* For English version, see [Register Module App's Activity](https://fankes.github.io/YukiHookAPI/en/api/special-features/host-inject#register-module-app-s-activity)
|
||||||
*
|
*
|
||||||
* - ❗只能在 (Xposed) 宿主环境使用此功能 - 其它环境下使用将不生效且会打印警告信息
|
* - ❗只能在 (Xposed) 宿主环境使用此功能 - 其它环境下使用将不生效且会打印警告信息
|
||||||
|
*
|
||||||
|
* - ❗最低支持 Android 7.0 (API 24)
|
||||||
* @param proxy 代理的 [Activity] - 必须存在于宿主的 AndroidMainifest 清单中 - 不填使用默认 [Activity]
|
* @param proxy 代理的 [Activity] - 必须存在于宿主的 AndroidMainifest 清单中 - 不填使用默认 [Activity]
|
||||||
*/
|
*/
|
||||||
|
@RequiresApi(Build.VERSION_CODES.N)
|
||||||
fun Context.registerModuleAppActivities(proxy: Any? = null) = AppParasitics.registerModuleAppActivities(context = this, proxy)
|
fun Context.registerModuleAppActivities(proxy: Any? = null) = AppParasitics.registerModuleAppActivities(context = this, proxy)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -38,7 +38,9 @@ import android.content.*
|
|||||||
import android.content.pm.PackageManager
|
import android.content.pm.PackageManager
|
||||||
import android.content.res.Configuration
|
import android.content.res.Configuration
|
||||||
import android.content.res.Resources
|
import android.content.res.Resources
|
||||||
|
import android.os.Build
|
||||||
import android.os.Handler
|
import android.os.Handler
|
||||||
|
import androidx.annotation.RequiresApi
|
||||||
import com.highcapable.yukihookapi.YukiHookAPI
|
import com.highcapable.yukihookapi.YukiHookAPI
|
||||||
import com.highcapable.yukihookapi.hook.factory.*
|
import com.highcapable.yukihookapi.hook.factory.*
|
||||||
import com.highcapable.yukihookapi.hook.log.loggerE
|
import com.highcapable.yukihookapi.hook.log.loggerE
|
||||||
@@ -303,10 +305,12 @@ internal object AppParasitics {
|
|||||||
* @param context 当前 [Context]
|
* @param context 当前 [Context]
|
||||||
* @param proxy 代理的 [Activity]
|
* @param proxy 代理的 [Activity]
|
||||||
*/
|
*/
|
||||||
|
@RequiresApi(Build.VERSION_CODES.N)
|
||||||
internal fun registerModuleAppActivities(context: Context, proxy: Any?) {
|
internal fun registerModuleAppActivities(context: Context, proxy: Any?) {
|
||||||
if (isActivityProxyRegistered) return
|
if (isActivityProxyRegistered) return
|
||||||
if (YukiHookBridge.hasXposedBridge.not()) return yLoggerW(msg = "You can only register Activity Proxy in Xposed Environment")
|
if (YukiHookBridge.hasXposedBridge.not()) return yLoggerW(msg = "You can only register Activity Proxy in Xposed Environment")
|
||||||
if (context.packageName == YukiHookBridge.modulePackageName) return yLoggerE(msg = "You cannot register Activity Proxy into yourself")
|
if (context.packageName == YukiHookBridge.modulePackageName) return yLoggerE(msg = "You cannot register Activity Proxy into yourself")
|
||||||
|
if (Build.VERSION.SDK_INT < 24) return yLoggerE(msg = "Activity Proxy only support for Android 7.0 (API 24) or higher")
|
||||||
runCatching {
|
runCatching {
|
||||||
ActivityProxyConfig.apply {
|
ActivityProxyConfig.apply {
|
||||||
proxyIntentName = "${YukiHookBridge.modulePackageName}.ACTIVITY_PROXY_INTENT"
|
proxyIntentName = "${YukiHookBridge.modulePackageName}.ACTIVITY_PROXY_INTENT"
|
||||||
|
Reference in New Issue
Block a user