更新时间:2024-04-01 07:04:32下载pdf
高级功能 UI 业务包提供了承载 App 高级功能 增值服务的 Android 容器。目前,支持的高级功能类型如下所示:
在 Android Studio 中建立您的工程,接入智能生活 App SDK,并完成业务包。详情请参考 接入安卓版智能生活 App SDK 业务包框架。
dependencies {
api enforcedPlatform("com.thingclips.smart:thingsmart-BizBundlesBom:${biz_bom_version}")
implementation 'com.thingclips.smart:thingsmart-bizbundle-third-service'
api "com.thingclips.smart:thingsmart:${sdk_version}}"
}
# 应配置 build.gradle 里所有三方依赖混淆
# fastJson
-keep class com.alibaba.fastjson.**{*;}
-dontwarn com.alibaba.fastjson.**
-keep class com.squareup.okhttp.** { *; }
-keep interface com.squareup.okhttp.** { *; }
-dontwarn com.squareup.okhttp.**
-keep class okio.** { *; }
-dontwarn okio.**
-keep class com.thingclips.**{*;}
-dontwarn com.thingclips.**
public enum PersonalThirdServiceType {
// 短信通知
PUSH_SMS_SERVICE("personal_push_sms_service"),
// 电话通知
PUSH_CALL_SERVICE("personal_push_call_service");
private final String type;
PersonalThirdServiceType(String type) {
this.type = type;
}
public String getType() {
return type;
}
}
根据高级功能类型查询高级功能。此接口为异步接口。
接口说明
void requestPersonalThirdService(long homeId, PersonalThirdServiceType type, IPersonalThirdServiceCallback callback)
参数说明
参数 | 说明 |
---|---|
HomeId | 当前选中的家庭 ID |
PersonalThirdServiceType | 高级功能类型 |
IPersonalThirdServiceCallback | 高级功能请求异步回调 |
示例代码
AbsPersonalThirdService thirdService = MicroContext.getServiceManager()
.findServiceByInterface(AbsPersonalThirdService.class.getName());
thirdService.requestPersonalThirdService(homeId, PersonalThirdServiceType.PUSH_SMS_SERVICE,
new IPersonalThirdServiceCallback() {
@Override
public void onSuccess(ThirdIntegrationBean bean) {
String url = bean != null ? bean.getUrl() : null;
Log.i("third_service", "url = " + url);
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
高级功能展示页面支持 Activity 和 Fragment。
示例代码
Activity
Intent intent = new Intent(context, WebViewActivity.class);
intent.putExtra("Uri", url);
context.startActivity(intent);
Fragment
WebViewFragment fragment = new WebViewFragment();
Bundle args = new Bundle();
args.putString("Uri", url);
args.putBoolean("enableLeftArea", true);
fragment.setArguments(args);
getSupportFragmentManager().beginTransaction()
.add(R.id.web_content, fragment, WebViewFragment.class.getSimpleName())
.commit();
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈