应用app接受wx-open-launch-app传来的参
时间: 2024-08-14 15:04:33 浏览: 56
当微信小程序通过`wx.openLaunchApp`接口跳转到外部应用时,会携带一些额外的参数。这个API主要用于启动已安装在用户手机的应用,并且可以传递数据给目标应用。外部应用通常会在接收到这些参数后进行特定处理。
微信提供的参数主要包括:
1. `scene`:用于指定打开场景,例如用户的某个特定操作触发的场景。
2. `data`:自定义的数据,开发者可以根据需要设置,格式通常是JSON字符串,会被解析成JavaScript对象传递给目标应用。
在接收外部应用的消息时,通常的做法是在应用的入口文件(如Android的MainActivity.java或iOS的AppDelegate.m)中注册一个接收通知的机制,然后解析`wxLaunchOptions`对象中的`scene`和`data`字段。
```java (Android 示例):
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == WXAppActivity.RequestCode.LaunchApp && resultCode == Activity.RESULT_OK) {
WxLaunchOptions wxOptions = data.getParcelableExtra(WXAppActivity.EXTRA_LAUNCH_OPTIONS);
String scene = wxOptions.getScene();
Map<String, Object> userData = wxOptions.getUserData(); // 解析data字段
// 根据scene和userData处理业务逻辑
}
}
```
```swift (iOS 示例):
func application(_ application: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
guard let wxOptions = url.queryItems?.first(where: { $0.name == "weex.scene" })?.value else { return true }
let scene = wxOptions
// 解析scene和其他来自url的参数
// ...
return true
}
```
阅读全文