lua学习笔记 1 android 调用Lua, Lua脚本中启动Intent
发布时间:2020-12-14 22:18:32 所属栏目:大数据 来源:网络整理
导读:android 调用Lua,Lua脚本启动Intent android 中的调用 try {mLuaState.LdoString(readStream(getResources().openRawResource(R.raw.testLua)));// 找到functionInLuaFile函数mLuaState.getField(LuaState.LUA_GLOBALSINDEX,"launchIntent");mLuaState.pushJ
android 调用Lua,Lua脚本启动Intent android 中的调用 try { mLuaState.LdoString(readStream(getResources().openRawResource( R.raw.testLua))); // 找到functionInLuaFile函数 mLuaState.getField(LuaState.LUA_GLOBALSINDEX,"launchIntent"); mLuaState.pushJavaObject(getApplicationContext()); mLuaState.call(1,0); } catch (Exception e) { e.printStackTrace(); } readStream 实现 private String readStream(InputStream is) { try { ByteArrayOutputStream bo = new ByteArrayOutputStream(); int i = is.read(); while (i != -1) { bo.write(i); i = is.read(); } return bo.toString(); } catch (IOException e) { Log.e("ReadStream","读取文件流失败"); return ""; } } 在Android 工程 res/raw/新建lua脚本 testLua.lua -- 启动 intent function launchIntent(context) -- new 一个java 实例 local intent = luajava.newInstance("android.content.Intent") intent:addFlags(0x10000000) intent:setAction("android.intent.action.VIEW") -- bind 一个Java实例,调用static 方法 local uri = luajava.bindClass("android.net.Uri") intent:setData(uri:parse("http://blog.csdn.net/hpccn")) context:startActivity(intent); end 静态类使用 uri = luajava.bindClass("android.net.Uri") 非静态类 intent = luajava.newInstance("android.content.Intent") 在Lua脚本中发启一个Intent, 打开一个网页,就是本人的博客。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |