[功能请求] 可以通过编程方式打开宿主内的组件
- 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
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