cinit / cinit/QAuxiliary

[功能请求] 可以通过编程方式打开宿主内的组件

Open
#1,205 3 comments 0 reactions 0 assignees View on GitHub
Feature
Dominant language
Java
Stars
5.7k
Forks
416
Avg merge
10d 4h
Merged PRs (30d)
4

Description

### QQ(TIM) 版本 / QQ(TIM) Version

9.0.60

### 为什么你认为需要此功能

尽管 #1204 添加了打开宿主 Activity 的功能,但不能自定义 `Intent`

### 联系到哪些已经存在的 bug 或者功能

#1204

### 具体功能需要 / Detailed features requirements

**这个功能需要用户手动开启**
通过 Hook `JumpActivity` 来实现
大致思路:
1. 读取 `JUMP_ACTION_CMD` Extra 中的值,判断是否是 `JUMP_ACTION_START_ACTIVITY` 、`JUMP_ACTION_START_SERVICE` 或 `JUMP_ACTION_START_FOREGROUND_SERVICE` 中的一项
2. 读取 `EXTRA_INTENT` Extra 中的值
3. 如果是 `JUMP_ACTION_START_ACTIVITY` 则调用 `startActivity`
4. 如果是 `JUMP_ACTION_START_SERVICE` 则调用 `startService`
5. 如果是 `JUMP_ACTION_START_FOREGROUND_SERVICE` 则调用 `ContextCompat.startForegroundService` (兼容旧版本 Android)

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the existing host-Activity support from #1204 and locating the JumpActivity hook. Trace the JUMP_ACTION_CMD and EXTRA_INTENT values, then verify the three requested action paths and the manual-enable requirement. Done means each specified activity or service action is handled with the requested Android API compatibility.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java
Domain
mobile
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.