package com.demo.test1;
import android.app.Activity;
import android.content.Context;
import android.content.res.Resources;
import androidx.appcompat.app.AppCompatActivity;
public class MyPlugin {
/**
* 插件类必须有两个构造参数(或者无参构造,但是推荐写两个参数,以便于插件实现更多的功能)
* <p>
* 注意:这两个参数类型都不能变!
*
* @param parentActivity {Activity} 宿主软件的Activity (测试时可以用插件自己的Activity)
* @param selfContext {Context} 插件自己的Context
*/
public MyPlugin(Activity parentActivity, Context selfContext) {
//其实宿主软件的Activity是AppCompatActivity类型的,因此如果你想访问宿主软件的activity的主题等资源,可以这么做:
if (parentActivity instanceof AppCompatActivity) {
AppCompatActivity appCompatActivity = (AppCompatActivity) parentActivity;
//获取宿主软件的主题(M3风格的主题)
Resources.Theme theme = appCompatActivity.getTheme();
//获取宿主软件的资源
Resources resources = appCompatActivity.getResources();
}
}
//插件被加载后,这个函数就可以被直接调用了
public String getPluginName() {
return "MyPlugin";
}
//你也可以继续写更多你想实现的方法
}