安全管控
快速上手
接口定义
KIMExpInterceptor
:
方法 | 参数 | 返回值 | 说明 |
---|---|---|---|
willOpenLocalFile | OpenLocalFileChain | - |
|
willOpenLocalFileManager | OpenLocalFileManagerChain | - |
|
willOpenImage | OpenImageChain | - |
|
willOpenVideo | OpenVideoChain | - |
|
willOpenPhotoAlbum | OpenPhotoAlbumChain | - |
|
willOpenCamera | OpenCameraChain | - |
|
willPostProcessCapturedImage | PostProcessCapturedImageChain | - |
|
willOpenCloudFile | OpenCloudFileChain | - |
|
willLoadUrl | LoadUrlChain | - |
|
willChangeForegroundState | ChangeForegroundStateChain | - |
|
代码示例
- 继承
KIMExpInterceptor
,实现对应管控方法方法:
Kotlin
class CustomInterceptor : KIMExpInterceptor() {
override fun willOpenLocalFile(chain: OpenLocalFileChain) {
val isIntercept = DemoCustomizeConfig.instance.isIntercept()
val request = chain.request()
if (!isIntercept) {
chain.doNext()
} else {
//
WToastUtil.show(R.string.security_control_intercept_message)
chain.abort()
}
}
override fun willOpenLocalFileManager(chain: OpenLocalFileManagerChain) {
...
}
override fun willOpenImage(chain: OpenImageChain) {
...
}
override fun willOpenVideo(chain: OpenVideoChain) {
...
}
override fun willOpenPhotoAlbum(chain: OpenPhotoAlbumChain) {
...
}
override fun willOpenCamera(chain: OpenCameraChain) {
...
}
override fun willPostProcessCapturedImage(chain: PostProcessCapturedImageChain) {
...
}
override fun willOpenCloudFile(chain: OpenCloudFileChain) {
...
}
override fun willLoadUrl(chain: LoadUrlChain) {
...
}
private fun convertUrl(url: String?): String? {
...
}
override fun willChangeForegroundState(chain: ChangeForegroundStateChain){
...
}
}
注册自定义实现
- 实现
KIMSdkApplication
,并注册自定义实现:
Kotlin
class AppCustomizeApplication : KIMSdkApplication() {
override fun confMeatsOnBone(): KConf<Meat> {
return kConfOf(
// 注册自定义安全管控拦截器
KIMExpInterceptor.class.java confTo CustomInterceptor::class.java,
...
)
}
}
- AndroidManifest中声明:
Kotlin
<meta-data
android:name="{your-package-name}.AppCustomizeSdkApplication"
android:value="@string/kim_sdk_application" />