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静态方法,否则无法被调起。