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万。

相关推荐
我不会插花弄玉3 小时前
7.函数【由浅入深-MySQL】
android·数据库·mysql
vilya3 小时前
手机端 Agent 怎么动起来:Kotlin 与 Python 之间的桥
android·agent
高晶4 小时前
Android 新手实战:从零搭建 WebRTC 在线直播系统
android·程序员
alexhilton4 小时前
为什么你的 LazyColumn 仍然卡顿
android·kotlin·android jetpack
>Andre<5 小时前
系统架构全景
android
fengGer的bugs8 小时前
新生儿喂养记录微信小程序:本地存储、四套主题,以及一份可改期的疫苗体检日程
微信小程序
hai_android9 小时前
Android 嵌套滑动冲突:内部拦截 vs 外部拦截实战
android·android studio·android jetpack
高级程序源9 小时前
SSM仓储管理系统31582-计算机课程设计、毕业设计
vue.js·python·mysql·小程序·flask·课程设计
青企通9 小时前
弱网环境下小程序首屏性能优化:从 5.2 秒到 1.4 秒的完整实践
性能优化·小程序
木子欢儿11 小时前
Zabbix 7.4 Alpine 版 Docker Compose 部署
android·运维·docker·容器·zabbix