fix(genex-mobile): 修复 WXEntryActivity fluwx 5.x 编译错误
fluwx 5.x 将包名从 com.jarvanmo.fluwx 改为 com.jarvan.fluwx, 并移除了 WXEntryActivity 基类,导致编译报错: Unresolved reference 'jarvanmo' Cycle in supertypes detected 改为「中继(relay)」模式: - WXEntryActivity 继承 Activity(不再继承 fluwx 基类) - onCreate 时将微信回调 Intent extras 转发给 MainActivity - fluwx 5.x 的 FluwxPlugin 实现了 PluginRegistry.NewIntentListener, MainActivity.onNewIntent() 会触发 FluwxPlugin 解析微信回调 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
828770add8
commit
5d72d9bd0b
|
|
@ -16,11 +16,18 @@
|
|||
// 微信按 applicationId 查找 WXEntryActivity,因此此文件放在
|
||||
// cn/gogenex/consumer/wxapi/ 目录,package 声明也必须是 cn.gogenex.consumer.wxapi
|
||||
//
|
||||
// ── fluwx 集成方式 ────────────────────────────────────────
|
||||
// fluwx 插件已提供 com.jarvanmo.fluwx.WXEntryActivity 基类,
|
||||
// 内部实现了 IWXAPIEventHandler 接口并通过 EventChannel 将结果
|
||||
// 传递给 Dart 层的 weChatResponseEventHandler Stream。
|
||||
// 只需继承该基类,无需任何额外代码。
|
||||
// ── fluwx 5.x 集成方式(Relay 模式)─────────────────────
|
||||
// fluwx 5.x 不再提供 WXEntryActivity 基类(旧包名 com.jarvanmo.fluwx
|
||||
// 已改为 com.jarvan.fluwx,且基类已移除)。
|
||||
//
|
||||
// fluwx 5.x 的 FluwxPlugin 实现了 PluginRegistry.NewIntentListener,
|
||||
// 通过 MainActivity.onNewIntent() 监听并处理微信回调 Intent。
|
||||
//
|
||||
// 因此此 Activity 采用「中继(relay)」模式:
|
||||
// 1. 微信唤起 WXEntryActivity,传入携带授权结果的 Intent
|
||||
// 2. WXEntryActivity 将 Intent extras 转发给 MainActivity
|
||||
// 3. Flutter Engine 的 onNewIntent 触发 FluwxPlugin.onNewIntent()
|
||||
// 4. FluwxPlugin 调用 WXAPiHandler 解析回调并通知 Dart 层
|
||||
//
|
||||
// ── AndroidManifest 配置要求 ──────────────────────────────
|
||||
// android:exported="true" — 允许微信 App 从外部唤起
|
||||
|
|
@ -43,6 +50,27 @@
|
|||
|
||||
package cn.gogenex.consumer.wxapi
|
||||
|
||||
import com.jarvanmo.fluwx.WXEntryActivity
|
||||
import android.app.Activity
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import cn.gogenex.genex_consumer.MainActivity
|
||||
|
||||
class WXEntryActivity : WXEntryActivity()
|
||||
/**
|
||||
* 微信回调中继 Activity。
|
||||
*
|
||||
* 微信 SDK 将授权结果 Intent 发到此 Activity,
|
||||
* 此处立即转发给 MainActivity,由 fluwx 5.x 的
|
||||
* FluwxPlugin(NewIntentListener)处理。
|
||||
*/
|
||||
class WXEntryActivity : Activity() {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
// 将微信回调 Intent 转发给 MainActivity
|
||||
val intent = Intent(this, MainActivity::class.java).apply {
|
||||
addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_CLEAR_TOP)
|
||||
this@WXEntryActivity.intent.extras?.let { putExtras(it) }
|
||||
}
|
||||
startActivity(intent)
|
||||
finish()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue