Android 应用配置跳转微信小程序

根据微信开发者文档,实现微信小程序跳转需要获取小程序提供的Scheme URL。官方文档说要通过html动态跳转,经过测试发现,WebView无法识别该Scheme,最终通过Intent方式成功实现跳转。以下是实现代码:

kotlin 复制代码
class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            WeChatMiniProgramLauncher()
        }
    }
}

@Composable
fun WeChatMiniProgramLauncher() {
    val context = LocalContext.current
    var launchStatus by remember { mutableStateOf<String?>(null) }

    LaunchedEffect(Unit) {
        try {
            val schemeUrl = "weixin://dl/business/?appid=*APPID*&path=*PATH*&query=*QUERY*&env_version=*ENV_VERSION*"
            context.startActivity(
                Intent(Intent.ACTION_VIEW, Uri.parse(schemeUrl))
            )
        } catch (e: ActivityNotFoundException) {
            launchStatus = "请安装微信客户端"
        } catch (e: Exception) {
            launchStatus = "打开失败: ${e.message}"
        }
    }

    Box(
        modifier = Modifier.fillMaxSize(),
        contentAlignment = Alignment.Center
    ) {
        launchStatus?.let { status ->
            Text(
                text = status,
                color = MaterialTheme.colorScheme.error
            )
        } ?: Text("正在打开微信小程序...")
    }
}

注意:此实现需要使用小程序的明文Scheme URL,需要确保小程序已开启相关权限。

自 2023 年 12 月 19 日起,对URL Scheme进行升级,详细调整说明可见《URL Scheme 和 URL

Link优化公告》。改动点概览如下:

  1. 支持开发者在原有加密 URL Scheme 后面拼接参数;

  2. 新增明文 URL Scheme,开发者无需调用接口可自行拼接生成明文Scheme;

  3. 取消 URL Scheme 一人一链的限制,支持同一条连接被多名用户访问;

  4. 每个小程序每天 URL Scheme 和 URL Link 总打开次数上限为300万。

相关推荐
xiaolizi5674898 小时前
安卓远程安卓(通过frp与adb远程)完全免费
android·远程工作
阿杰100018 小时前
ADB(Android Debug Bridge)是 Android SDK 核心调试工具,通过电脑与 Android 设备(手机、平板、嵌入式设备等)建立通信,对设备进行控制、文件传输、命令等操作。
android·adb
梨落秋霜8 小时前
Python入门篇【文件处理】
android·java·python
遥不可及zzz11 小时前
Android 接入UMP
android
Coder_Boy_13 小时前
基于SpringAI的在线考试系统设计总案-知识点管理模块详细设计
android·java·javascript
冬奇Lab13 小时前
【Kotlin系列03】控制流与函数:从if表达式到Lambda的进化之路
android·kotlin·编程语言
冬奇Lab13 小时前
稳定性性能系列之十二——Android渲染性能深度优化:SurfaceFlinger与GPU
android·性能优化·debug
冬奇Lab14 小时前
稳定性性能系列之十一——Android内存优化与OOM问题深度解决
android·性能优化
用户745890020795415 小时前
线程池
android