dfsdafsdf
dfsdafsdf
  • 发布:2016-03-08 23:00
  • 更新:2018-08-14 10:03
  • 阅读:5251

调用android 原生Activity 一直报错 求指点?

分类:Native.js

错误信息如下:
03-08 22:54:04.204: E/InvProxy(7082): NativeObject.execMethod startActivity method ; params=[{"type":"object","value":"JSB271457448844203"}]java.lang.reflect.InvocationTargetException

代码如下:
var main = plus.android.runtimeMainActivity();
var Intent = plus.android.importClass("android.content.Intent");
var MainActivity= plus.android.importClass("io.dcloud.MainActivity");
var mIntent = new Intent(main,"io.dcloud.MainActivity");
main.startActivity(mIntent);

2016-03-08 23:00 1 条评论 负责人:无 分享
已邀请:
Android_磊子

Android_磊子

Native.js代码必须是将原生可执行代码转化而来的。
1,首先需要保证原生代码编译正确,功能正常。
2,plus.android.runtimeMainActivity()方法返回值相当Activity对象。
plus.android.importClass(类全名)返回值好比类,可以new,可以执行静态方法,前提是原生代码时可以执行,可以访问。

通过对比原生Intent类,此句var mIntent = new Intent(main,"io.dcloud.MainActivity");此语法不正确。

  • dfsdafsdf (作者)

    我修改了之后还是一样报错

    2016-03-12 17:33

  • dfsdafsdf (作者)

    var main = plus.android.runtimeMainActivity();

    var Intent = plus.android.importClass("android.content.Intent");

    var MainActivity= plus.android.importClass("io.dcloud.MainActivity");

    var mIntent = new Intent(main,MainActivity);

    main.startActivity(mIntent);


    var main = plus.android.runtimeMainActivity();

    var Intent = plus.android.importClass("android.content.Intent");

    var MainActivity= plus.android.importClass("io.dcloud.MainActivity");

    var mIntent = new Intent(main,MainActivity.class);

    main.startActivity(mIntent);


    错误如下:

    03-12 17:38:34.401: E/InvProxy(4620): NativeObject.execMethod __Instance android.content.Intent method ; params=[{"type":"object","value":"Invocation1112421264"},{"type":"block","value":"plus261457775514406"}]java.lang.reflect.InvocationTargetException

    2016-03-12 17:40

dfsdafsdf

dfsdafsdf (作者)

已解决

5***@qq.com

5***@qq.com

哥,你这解决了,填下坑啊.后面还很多人往这里面跳.

5***@qq.com

5***@qq.com

哥,你这解决了,填下坑啊.后面还很多人往这里面跳.

该问题目前已经被锁定, 无法添加新回复