Android Truecaller SDK调用getUserProfile无入参却提示需传参报错问题
Truecaller SDK getUserProfile参数不匹配问题解决方法
问题根因
你查阅的是旧版本Truecaller SDK官方文档,v2.0及以上的SDK版本已经废弃了无参getUserProfile()方法,为了实现SDK和宿主组件的生命周期绑定、避免内存泄漏,新版方法强制要求传入FragmentActivity或Fragment类型的宿主实例作为参数。
解决步骤
- 由于你在MainActivity的onCreate方法中调用该方法,只要你的MainActivity继承自AndroidX的
AppCompatActivity(默认Android项目创建时的父类),本身就是FragmentActivity的子类,直接传入当前Activity实例即可,修改代码为:
TruecallerSDK.getInstance().getUserProfile(this);
- 如果后续你在Fragment中调用该方法,直接传入当前Fragment实例即可。
额外校验项
- 调用
getUserProfile前请确保已经完成SDK的初始化流程,已执行过TruecallerSDK.getInstance().initialize()方法 - 调用前可先调用
TruecallerSDK.getInstance().isUsable()方法校验当前设备环境是否支持Truecaller SDK功能
内容的提问来源于stack exchange,提问作者Sagar Balyan
相关产品推荐
相关产品推荐

