Skip to content

Android Activity 方式集成 Runtime SDK

runtime sdk集成可以使开发者自有APK快速实现runtime运行环境的能力

第1步:引⼊SDK

点击查看源码
js
# ⼯程根gradle增加sdk的maven仓库
allprojects {
 repositories {
 maven { url 'https://nexus.extscreen.com/repository/maven-public/' }
 } 
}
 
# app gradle增加引⽤
dependencies {
 implementation 'com.extscreen.runtime:official:1.0.31'
}

第2步:初始化

Application调⽤初始化⽅法

点击查看源码
javascript
import EsKitInitHelper;

public class App extends Application {
    @Override
    public void onCreate() {
        EsKitInitHelper.init(this, InitConfig.getDefault() 
        .setDebug(BuildConfig.DEBUG) // 是否打印log
        .addFlags(InitConfig.FLAG_DYNAMIC_SO) // 为了减⼩sdk体积,开启动态SO,如需内置so,请联系开发者
        );
    } 
}

第3步:测试

使⽤adb命令测试SDK是否集成成功

点击查看源码
shell
adb shell
am start -d 'esapp://action/start?from=cmd&pkg=es.skill.weather.tv&args={}'
#args参数⾮必须,参数格式:
{
 "url": "⻚⾯路由地址",
 "params": "⻚⾯路由参数" 
 }

第4步:代码调⽤Scheme启动

点击查看源码
js
Uri uri = new Uri.Builder()
        .scheme("esapp")
        .authority("action")
        .appendPath("start")
        .appendQueryParameter("pkg", "es.skill.weather.tv")
        .appendQueryParameter("from", "集成SDK的应⽤包名")
        .appendQueryParameter("args", "启动参数(json格式字符串),⾮必须")
        .build();
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.setPackage("集成SDK的应⽤包名");
context.startActivity(intent);

第5步:代码调⽤Activity启动

点击查看源码
js
String pkgName = "集成SDK的应⽤包名";
String action = pkgName + ".ES_ACTION_LAUNCH";
Intent intent = new Intent(action);
intent.putExtra("pkg", "es.skill.weather.tv");
intent.putExtra("from", "集成SDK的应⽤包名");
intent.putExtra("args", "启动参数(json格式字符串),⾮必须");
intent.setPackage(pkgName)
context.startActivity(intent);

第6步:参数接收

如果要接收启动的args参数,需在Vue端覆写⽣命周期⽅法:

点击查看源码
js
export default {
    mixins: [ESPage],
    methods: {
        onESCreate(params) {
            if (ESLog.isLoggable(ESLog.DEBUG)) {
                ESLog.d(TAG, "----启动参数----->>>>>" + JSON.stringify(params))
            }
        },
    }
}