uniapp打开第三方app,然后给传参过去

本文介绍了如何使用uniapp在不同操作系统上唤醒第三方应用并传递参数。在Android中,通过`plus.runtime.launchApplication`方法指定包名和额外参数;在iOS上,则使用特定的URL scheme。接收端的Android应用通过`getIntent()`获取传递的参数。
摘要由CSDN通过智能技术生成

请添加图片描述

参考链接:uniapp唤醒uniapp并传递参数,vue唤醒第三方应用并传递参数.

参考链接:Runtime模块管理运行环境.

  • uniapp如何打开app,传递的值的
<template>
	<view class="content">
		<button type="default" @click="jsCallNativeActivity()">点击打开demo</button>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				title: 'Hello'
			}
		},
		onLoad() {

		},
		methods: {
			jsCallNativeActivity() {
				let _this = this;
				// 判断平台  
				if (plus.os.name == 'Android') {
					plus.runtime.launchApplication({
							//这里输入包名
							pname: 'com.exaample.demo',
							//传值
							extra: {
								key: 123
							}
						},
						function(e) {
							console.log('Open system default browser failed: ' + e.message);
						}
					);
				} else if (plus.os.name == 'iOS') {
					plus.runtime.launchApplication({
						action: 'taobao://'
					}, function(e) {
						console.log('Open system default browser failed: ' + e.message);
					});
				}
			}
		}
	}
</script>
  • 下面是安卓app 页面里如何接收的
package com.example.demo;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textView = findViewById(R.id.tv);

        Intent intent = getIntent();

        StringBuffer sb = new StringBuffer();

        Bundle bundle = intent.getExtras();

        if (null == bundle) {
            textView.setText("bundle为空");
            return;
        }

        for (String key : bundle.keySet()) {
            sb.append(" key = ").append(key).append(" , value = ").append(bundle.get(key)).append(" ; ");
        }

        textView.setText(sb.toString());
    }
}

uniapp开发中,如果需要打开第三方平台的应用程序,可以使用plus.runtime.launchApplication方法。具体的代码示例如下: ```javascript console.log("打开第三方APP"); let _this = this; // 判断平台 if (plus.os.name == 'Android') { plus.runtime.launchApplication({ pname: data.vo //app包名 }, function(e) { console.log('APP打开成功: ' + e.message); }); } else if (plus.os.name == 'iOS') { plus.runtime.launchApplication({ action: 'taobao://' //填写第三方应用的scheme }, function(e) { console.log('打开成功: ' + e.message); }); } ``` 请注意,Android平台需要传入第三方应用的包名(pname),而iOS平台需要传入第三方应用的scheme(action)。具体的包名和scheme需要根据实际情况进行填写。\[2\] 另外,在使用uni.login方法进行谷歌登录之前,需要先在谷歌开发者控制台上创建一个项目,并将项目的客户端ID配置到应用程序中。具体的配置方法可以参考谷歌开发者控制台的文档。\[3\] #### 引用[.reference_title] - *1* [uniapp 打开第三方APP](https://blog.csdn.net/weixin_38946164/article/details/119735200)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [UNI-APP 打开第三方APP方法](https://blog.csdn.net/weixin_38483239/article/details/119782143)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [uniappAPP项目第三方登录之谷歌登录](https://blog.csdn.net/liu0218/article/details/130684259)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值