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

相关推荐
StarShip4 分钟前
从Activity.setContentView()开始
android
千里马学框架27 分钟前
重学SurfaceFlinger之Layer显示区域bounds计算剖析
android·智能手机·sf·安卓framework开发·layer·surfaceflinger·车载开发
nono牛1 小时前
安卓休眠与唤醒流程
android
2501_915918412 小时前
TCP 抓包分析在复杂网络问题中的作用,从连接和数据流层面理解系统异常行为
网络·网络协议·tcp/ip·ios·小程序·uni-app·iphone
じòぴé南冸じょうげん2 小时前
APP本地调试正常,但是打包后出现账号密码解析错误,且前端未使用加密解密
小程序·uni-app·web app
小小黑0072 小时前
快手小程序-实现插屏广告的功能
前端·javascript·小程序
计算机毕设指导62 小时前
基于微信小程序的鸟博士系统【源码文末联系】
java·spring boot·mysql·微信小程序·小程序·tomcat·maven
周杰伦fans2 小时前
微信小程序信息提示组件大全
微信小程序·小程序
QQ_21696290962 小时前
Spring Boot大学生社团管理平台 【部署教程+可完整运行源码+数据库】
java·数据库·spring boot·微信小程序
二流小码农2 小时前
鸿蒙开发:个人开发者如何使用华为账号登录
android·ios·harmonyos