Twilio Verification SDK无法在Android 7.0和8.0上阅读短信

时间:2018-05-15 22:16:51

标签: android twilio

我使用这个build.gradle配置使用Twilio Verification SDK for Android(com.twilio:verification:1.0.9):compile_sdk = 26,min_sdk = 23,target_sdk = 26,build_tools = ' 27.0.3'而且我还没能让应用程序在Android 7.0和8.0设备上阅读短信;但是,它在Android 6.0上运行良好。

这是我的BroadcastReceiver:

$servers = @()

$servers += [PsCustomObject]@{
                ServerName = $serverName
                ServerID =$serverID
                GroupName = $groupName
                GroupID = $groupID
            }

它以AndroidManifest声明:

class PhoneVerificationReceiver: BroadcastReceiver() {

    override fun onReceive(context: Context?, intent: Intent) {
        RxBus.publish(PhoneVerificationEvent(TwilioVerification.getVerificationStatus(intent).state))
    }

}

我在这里订阅:

<receiver
    android:name=".service.PhoneVerificationReceiver"
    android:exported="true">
    <intent-filter>
        <action android:name="com.twilio.verification.current_status" />
    </intent-filter>
</receiver>

检索JWT令牌后,验证过程开始,它成功地使用override fun onResume() { super.onResume() disposable.add( RxBus.listen(PhoneVerificationEvent::class.java) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe({ when (it.state) { VerificationStatus.State.STARTED, VerificationStatus.State.AWAITING_VERIFICATION -> { lockUI() } VerificationStatus.State.SUCCESS -> { savePhoneNumber() } VerificationStatus.State.ERROR -> { unlockUI("Phone couldn\'t be verified") } } }, { Timber.e(it) }) ) } override fun onPause() { disposable.clear() super.onPause() } 输入onReceive方法。之后,收到短信,但不再输入VerificationStatus.State.STARTED功能。

Debugger

Android SDK哈希签名已到位;我遵循了本教程:https://www.twilio.com/docs/verify/tutorials/android-sdk-register-your-app;此代码在Android 6.0设备上运行良好。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

Twilio开发者传道者在这里。

我不是Android开发人员,但我在内部向团队核实了他们的帮助,以及他们告诉我的内容。

Manifest声明的广播接收器对较新版本的Android有一些限制。您可以使用context.registerReceiver在运行时注册广播接收器,并使用context.unregisterReceiver取消注册。

此处有更多信息:https://developer.android.com/guide/components/broadcasts#context-registered-receivers

让我知道这是否有帮助。