美文网首页
eros开发之vue页面和Android的activity之间的

eros开发之vue页面和Android的activity之间的

作者: AR7_ | 来源:发表于2018-07-24 10:55 被阅读68次

    1、自定义Module

    
    /*
     * 创建者 weihao2
     * 创建时间 2018/7/7 11:44
     */
    public class MyModule extends WXModule {
        @JSMethod(uiThread = true)
        public void printLog(String msg, JSCallback callback) {
            //weex 传来的数据
            //        Toast.makeText(mWXSDKInstance.getContext(), msg, Toast.LENGTH_SHORT).show();
            Intent intent = new Intent(mWXSDKInstance.getContext(), DemoActivity.class);
            intent.putExtra("callback", callback);
            mWXSDKInstance.getContext().startActivity(intent);
        }
        @JSMethod(uiThread = false)
        public void nativeCallBack(JSCallback callback) {
            //回调信息
            callback.invoke("I am callback message");
        }
    }
    
    
    

    2、App onCreate中注册

    //初始化Weex
    InitConfig config = new InitConfig.Builder().setImgAdapter(null).build();
    WXSDKEngine.initialize(this, config);
    try {
        //通信方法 myModule是weex调用原生的方法名
        WXSDKEngine.registerModule("myModule", MyModule.class);
    } catch (WXException e) {
        e.printStackTrace();
    }
    
    

    3、编写index.vue 内容

    <template>
        <div>
            <text @click="onClick">Android Toast</text>
            <text @click="onCallBack">CallBack</text>
        </div>
    </template>
    <script>
    export default {
        methods: {
            onClick: function() {
                weex.requireModule("ZXingModule").printLog("我是一个测试!",(res)=>{
                    this.$notice.toast({
                        message:'activity页面的数据 : '+res
                    })
                });
            },
            onCallBack: function() {
                let func = weex.requireModule("ZXingModule");
                func.nativeCallBack(function(event) {
                    //回调后处理
                    func.printLog("回调: " + event);
                });
            }
        }
    };
    </script>
    
    
    

    4、Activity中的代码

    public class ZXingActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_zxing);
        }
    
        public void back(View view) {
            Intent intent = getIntent();
            JSCallback callback = (JSCallback) intent.getSerializableExtra("callback");
            callback.invoke("ZXingActivity的数据");
            finish();
        }
    }
    
    

    相关文章

      网友评论

          本文标题:eros开发之vue页面和Android的activity之间的

          本文链接:https://www.haomeiwen.com/subject/rmgwuftx.html