1
0
Fork 0

完善示例

master
xiaoyu 2020-12-03 17:14:14 +08:00
parent 9113253330
commit 9852585673
3 changed files with 81 additions and 3 deletions

View File

@ -45,5 +45,5 @@ dependencies {
testImplementation 'junit:junit:4.12' testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.2.0' androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation 'com.finogeeks.lib:finapplet:2.11.98' implementation 'com.finogeeks.lib:finapplet:2.12.39'
} }

View File

@ -0,0 +1,77 @@
package com.finogeeks.mop.demo;
import android.content.Context;
import android.graphics.Bitmap;
import android.widget.Toast;
import androidx.annotation.NonNull;
import com.finogeeks.lib.applet.page.view.moremenu.MoreMenuItem;
import com.finogeeks.lib.applet.rest.model.GrayAppletVersionConfig;
import com.finogeeks.lib.applet.sdk.api.IAppletHandler;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* {@link IAppletHandler}"更多"
*/
public class AppletHandler implements IAppletHandler {
@NonNull
private Context mContext;
private AppletHandler() {
}
public AppletHandler(@NonNull Context context) {
this.mContext = context;
}
@Nullable
@Override
public List<GrayAppletVersionConfig> getGrayAppletVersionConfigs(@NotNull String appId) {
return null;
}
@Nullable
@Override
public List<MoreMenuItem> getRegisteredMoreMenuItems(@NotNull String appId) {
List<MoreMenuItem> moreMenuItems = new ArrayList<>();
moreMenuItems.add(new MoreMenuItem(0x01, android.R.drawable.star_big_on, "菜单一", true));
moreMenuItems.add(new MoreMenuItem(0x02, android.R.drawable.star_big_off, "菜单二", true));
moreMenuItems.add(new MoreMenuItem(0x03, android.R.drawable.star_big_on, "菜单三菜单三菜单三菜单三菜单三", true));
moreMenuItems.add(new MoreMenuItem(0x04, android.R.drawable.star_big_off, "菜单四", true));
moreMenuItems.add(new MoreMenuItem(0x05, android.R.drawable.star_big_on, "菜单五", true));
moreMenuItems.add(new MoreMenuItem(0x06, android.R.drawable.star_big_off, "菜单六", true));
moreMenuItems.add(new MoreMenuItem(0x07, android.R.drawable.star_big_on, "菜单七", true));
moreMenuItems.add(new MoreMenuItem(0x08, android.R.drawable.star_big_off, "菜单八", true));
moreMenuItems.add(new MoreMenuItem(0x09, android.R.drawable.star_big_on, "菜单九", true));
return moreMenuItems;
}
@Nullable
@Override
public Map<String, String> getUserInfo() {
return null;
}
@Override
public void onNavigationBarCloseButtonClicked(@NotNull String appId) {
Toast.makeText(mContext, "点击了小程序 " + appId + " 的导航栏关闭按钮", Toast.LENGTH_SHORT).show();
}
@Override
public void onRegisteredMoreMenuItemClicked(@NotNull String appId, int menuItemId) {
Toast.makeText(mContext, "点击了小程序 " + appId + " 注入的菜单 " + menuItemId, Toast.LENGTH_SHORT).show();
}
@Override
public void shareAppMessage(@NotNull String appInfo, @Nullable Bitmap bitmap, @NotNull IAppletCallback iAppletCallback) {
Toast.makeText(mContext, "点击了转发按钮,去实现您的转发/分享逻辑吧", Toast.LENGTH_SHORT).show();
}
}

View File

@ -1,6 +1,5 @@
package com.finogeeks.mop.demo; package com.finogeeks.mop.demo;
import android.util.Log;
import android.widget.Toast; import android.widget.Toast;
import androidx.multidex.MultiDexApplication; import androidx.multidex.MultiDexApplication;
@ -39,11 +38,13 @@ public class MopApplication extends MultiDexApplication {
FinAppClient.INSTANCE.init(this, config, new FinCallback<Object>() { FinAppClient.INSTANCE.init(this, config, new FinCallback<Object>() {
@Override @Override
public void onSuccess(Object result) { public void onSuccess(Object result) {
Log.d(TAG, "init result : " + result); Toast.makeText(MopApplication.this, "SDK初始化成功", Toast.LENGTH_SHORT).show();
// 注册自定义小程序API // 注册自定义小程序API
FinAppClient.INSTANCE.getExtensionApiManager().registerApi(new CustomApi(MopApplication.this)); FinAppClient.INSTANCE.getExtensionApiManager().registerApi(new CustomApi(MopApplication.this));
// 注册自定义H5 API // 注册自定义H5 API
FinAppClient.INSTANCE.getExtensionWebApiManager().registerApi(new CustomH5Api(MopApplication.this)); FinAppClient.INSTANCE.getExtensionWebApiManager().registerApi(new CustomH5Api(MopApplication.this));
// 设置IAppletHandler实现类
FinAppClient.INSTANCE.setAppletHandler(new AppletHandler(getApplicationContext()));
} }
@Override @Override