php如何制定跳转到app原生页面,js实现界面向原生界面发消息并跳转功能

本文实例为大家分享了js界面向原生界面发消息并跳转的具体代码,供大家参考,具体内容如下

步骤一

在idea中,打开rn项目下的./Android/app,这个过程需要一点儿时间,可能还需要下载gradle的依赖什么的。

步骤二跟做原生app没差,我们新建一个TestActivity,简单起见,仅实现如下:

public class TestActivity extends AppCompatActivity {

private Button mBtGoBack;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_test);

mBtGoBack = (Button) findViewById(R.id.bt_go_back);

mBtGoBack.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

finish();

}

});

}

}

步骤三

写一个类ExampleInterface extends ReactContextBaseJavaModule,在该类中接收消息。

具体代码:

public class ExampleInterface extends ReactContextBaseJavaModule {

private ReactApplicationContext mRApplicationContext;

public ExampleInterface(ReactApplicationContext reactContext) {

super(reactContext);

mRApplicationContext = reactContext;

}

//RN使用这个名称来调用原生模块的其他函数

@Override

public String getName() {

return "ExampleInterface";

}

//必须写@ReactMethod,将其注册为能够被React调用的函数

@ReactMethod

public void HandlerMessage(String aMessage){

Log.d("lt","====receive message from RN==="+aMessage);

//这部分实现简单的跳转

Intent intent = new Intent(mRApplicationContext,TestActivity.class);

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

mRApplicationContext.startActivity(intent);

}

}

步骤四

实现一个包管理器,并将接收消息的类ExampleInterface,注册进去。

代码如下:

public class AnExampleReactPackage implements ReactPackage {

@Override

public List createNativeModules(ReactApplicationContext reactApplicationContext) {

List modules = new ArrayList<>();

modules.add(new ExampleInterface(reactApplicationContext));

return modules;

}

@Override

public List> createJSModules() {

return Collections.emptyList();

}

@Override

public List createViewManagers(ReactApplicationContext reactApplicationContext) {

return Collections.emptyList();

}

}

步骤五

在MainApplication中添加包管理类AnExampleReactPackage;

@Override

protected List getPackages() {

return Arrays.asList(

new MainReactPackage(),

new AnExampleReactPackage()

);

}

步骤六在js界面,发送消息;

buttonPress:function(){

NativeModules.ExampleInterface.HandlerMessage('test');

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/399032.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

apm固定翼调试方法

APM飞控传说是大神的神器新手的噩梦,APM是个便宜又好用的飞控~刚开始给我的天行者X5按APM飞控的时候也查询搜索了很多,参数值,修改和混控和混控量的修改翻遍了资料发现咱们论坛教程比较少,所以开帖总结一下本人在用apm玩固定翼一些经验给想玩apm飞控的模友们.如果有哪里说错哪里…

你的工作单位也需善待

善待这个词&#xff0c;常常和家人、朋友联系在一起&#xff0c;其实你不仅要善待家人和朋友&#xff0c;还要善待你所在的工作单位。单位给了你创造财富生存的机会&#xff0c;给了你发挥聪明才智的平台&#xff0c;给了你体现人生价值的天空&#xff0c;所以要善待它。在单位…

识别图片baidu ai php,PHP+百度AI OCR文字识别实现了图片的文字识别功能

第一步可定要获取百度的三个东西 要到百度AI网站(http://ai.baidu.com/)去注册 然后获得-const APP_ID 请填写你的appid;-const API_KEY 请填写你的API_KEY;-const SECRET_KEY 请填写你的SECRET_KEY;第二步下载SDK或者使用官方的 http://ai.baidu.com/sdk 下载第三步 然后就…

Leetcode: Populating Next Right Pointers in Each Node II

Follow up for problem "Populating Next Right Pointers in Each Node".What if the given tree could be any binary tree? Would your previous solution still work?Note:You may only use constant extra space. For example, Given the following binary tre…

深入理解javascript原型和闭包(4)——隐式原型

注意&#xff1a;本文不是javascript基础教程&#xff0c;如果你没有接触过原型的基本知识&#xff0c;应该先去了解一下&#xff0c;推荐看《javascript高级程序设计&#xff08;第三版&#xff09;》第6章&#xff1a;面向对象的程序设计。 上节已经提到&#xff0c;每个函数…

ecshop 手机版的php代码在哪里,PHP 在ecshop上集成 手机网页支付_php

参考alipay网页支付接口的代码其实原理跟ecshop上集成的alipay支付差不多 就是因为利用curl请求的时候相应时间过长 所以不能直接去先post数据再生成button/*** 生成支付代码* param array $order 订单信息* param array $payment 支付方式信息*/function get…

技术回归本位:海尔引领空调产业重构格局

当前&#xff0c;互联网新思维方式日趋侵染&#xff0c;越来越多的细分领域在“互联网”理念下纷纷尝试跨界探索新的创新&#xff0c;一些商家除了推出全新战略型产品和服务之外&#xff0c;还在主打营销概念争夺舆论风口方面投入了巨大的精力与资源。在这种以理念为中心的时代…

护肤

选择什么 护肤品 2222选择什么 1氨基酸洗面奶&#xff1a;去油控油能力适中&#xff0c;用完皮肤清爽&#xff0c;比较亲和&#xff0c;一般成分里多次出现“氨酸”这两个字的就是氨基酸洗面奶&#xff0c;这种洗面奶适合长期使用.</p><p><b>皀基洗面奶&…

与TCP/IP协议的初次见面(一)

引言 最近LZ有了一点时间&#xff0c;于是便拿出TCP/IP的书本开始啃。开始的时候&#xff0c;啃起来枯燥无味&#xff0c;现在好不容易有点开窍&#xff0c;于是赶忙记录一下&#xff0c;生怕自己一转眼就给忘了。不过计算机系统原理就有点可惜了&#xff0c;最近一直没时间看&…

Oracle约数,Oracle约束简介

整理自《OCP认证指南》001 概述表约束是数据库能够实施业务规则以及保证数据遵循实体——关系模型的一种手段&#xff0c;其中&#xff0c;实体——关系模型由定义应用程序数据结构的系统分析所确定。在针对定义了约束的表执行任何DML时&#xff0c;如果DML违反了约束&#xff…

用cmd运行java可以javac不行(win10)

今天发现个有趣的问题&#xff0c;用cmd运行java可以javac不行。(win10) java-home和classpath配置没有问题,最后发现问提出先在path&#xff0c;在这里看并没有异常。 在上面图片中点击编辑文本&#xff0c;在这里可以清楚的看见多了引号和分号&#xff0c;将其删除&#xff0…

vs窗体 oracle,VS2010连接oracle数据库的简单例子

下面附有代码&#xff1a;using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.OracleClient;namespace 连接oracle数据库…

EasyUI实现两个列表联动

开发中会遇到如下界面的功能样式&#xff1a; 点击左边列表记录时&#xff0c;右边的列表显示所属分类的数据 实现方法&#xff1a; 1、首先绑定左侧列表的OnClickRow事件&#xff0c;方法为&#xff1a;getDetail. 如下代码所示。 <table id"dg" class"easy…

CodeForces 176A Trading Business 贪心

Trading Business题目连接&#xff1a; http://codeforces.com/problemset/problem/176/A Description To get money for a new aeonic blaster, ranger Qwerty decided to engage in trade for a while. He wants to buy some number of items (or probably not to buy anythi…

Docker快速入门实践-纯干货文章

Docker快速入门实践-老男孩高级架构师课程内容&#xff0c;如果细看还能发现讲解视频呦&#xff01;小伙伴们赶紧猛戳吧&#xff01;老男孩高级架构师内部学员实践文档分享&#xff01;Docker快速入门实践-纯干货文章老男孩教育2016启用最新的官方博文地址&#xff1a;http://b…

180102

https://pan.baidu.com/s/1nvqYFt3转载于:https://www.cnblogs.com/wjy123/p/8175593.html

oracle的iw算法,[转载]Oracle日期周详解IW

1 ORACLE中周相关知识描述1.1 日期格式化函数TO_CHAR(X [,FORMAT])&#xff1a;将X按FORMAT格式转换成字符串。X是一个日期&#xff0c;FORMAT是一个规定了X采用何种格式转换的格式字符串&#xff0c;FORMAT与周相关的有W&#xff0c;WW&#xff0c;IW&#xff0c;D&…

spring3 常见异常解决

初学spring&#xff0c;在网上搜到一篇spring3常见异常的文章&#xff0c;现转载如下&#xff1a; 以下异常使用的是spring是3.1.1&#xff0c;是我自己学习中遇到的错误笔记&#xff0c;有可能不是都适用&#xff0c;仅做参考 异常1&#xff1a;java.lang.NoClassDefFoundErro…

git忽略某个文件夹

data/cache/* !data/cache/index.html !data/cache/smiOAuthToken.php 转载于:https://www.cnblogs.com/xiaobiaomei/p/8177168.html

Iterm2的一些好用法

今天把mac带到公司办公了&#xff0c;爽歪歪啊。 1&#xff0c;如何脱离鼠标拷贝屏幕中的内容 1) Commandf 调出选择框&#xff0c;并在其中输入要复制的字符&#xff0c;可以使用Tab补全 2) 按 Command c复制字符 3) 字符已经复制到剪切板了