uni-app代码:
//获取当前Activity,使用H5的方式调用android原生方法,从而启动activity var main = plus.android.runtimeMainActivity(); //invoke: 调用对象(类对象/实例对象)的方法,调用Android原生方法 let result = plus.android.invoke('cn.com.sway.test.TestActivity', 'test', main); //弹窗显示返回结果 uni.showToast({ title: "调用原生activity返回的结果为:\n" + result, icon: 'none', duration: 2000 });
安卓代码:
package cn.com.sway.test; import android.app.Activity; import android.widget.Toast; import java.util.Random; public class TestActivity extends Activity { public static String test(Activity activity, String text){ Toast.makeText(activity, "来自uni-app的消息:"+text, Toast.LENGTH_SHORT).show(); return "来自android的消息:"+(new Random()).nextInt(); } }
注意,被调用的安卓方法必须为static静态方法,否则无法被调起。