android - Twilio - 收到错误 : Account SID cannot be null when making a call

标签 android twilio

当应用程序长时间保持 Activity 状态时,我有时会遇到此异常。 谁能告诉我,问题是什么?

连接调用失败

java.lang.IllegalArgumentException: Account SID cannot be null when making a call
                                                          at com.twilio.client.impl.MakeCallCommand.<init>(MakeCallCommand.java:33)
                                                          at com.twilio.client.impl.CallControlManager.makeCall(CallControlManager.java:423)
                                                          at com.twilio.client.impl.InternalConnectionImpl.connect(InternalConnectionImpl.java:212)
                                                          at com.twilio.client.impl.DeviceImpl$2.onCompletion(DeviceImpl.java:339)
                                                          at com.twilio.client.impl.MediaManager.onPlayComplete(MediaManager.java:279)
                                                          at com.twilio.client.impl.MediaManager.queueSound(MediaManager.java:173)
                                                          at com.twilio.client.impl.DeviceImpl.connect(DeviceImpl.java:335)
                                                          at com.lola.activities.CallingActivity.connect(CallingActivity.java:199)
                                                          at com.lola.activities.CallingActivity.onCreate(CallingActivity.java:92)
                                                          at android.app.Activity.performCreate(Activity.java:5122)
                                                          at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1081)
                                                          at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2307)
                                                          at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2395)
                                                          at android.app.ActivityThread.access$600(ActivityThread.java:162)
                                                          at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364)
                                                          at android.os.Handler.dispatchMessage(Handler.java:107)
                                                          at android.os.Looper.loop(Looper.java:194)
                                                          at android.app.ActivityThread.main(ActivityThread.java:5371)
                                                          at java.lang.reflect.Method.invokeNative(Native Method)
                                                          at java.lang.reflect.Method.invoke(Method.java:525)
                                                          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
                                                          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
                                                          at dalvik.system.NativeStart.main(Native Method)

**编辑:**这里是单击调用按钮时调用的 connect() 方法:

public void connect(String fromMobileNo, String phoneNumber)
    {

        Map<String, String> parameters = new HashMap<String, String>();

        parameters.put("frommobileno", fromMobileNo);
        parameters.put("mobileno",  phoneNumber);

        Log.d("parameters", parameters + "");
        Log.d(TAG, "device :" + device);
        Log.d(TAG, "device :" + device);

        if(device == null)
        {
            Toast.makeText(getApplicationContext(),"Sorry from our side.Please try again.",Toast.LENGTH_LONG).show();
            finish();
        }
        else{
            connection = device.connect(parameters, (Controller)getApplication()/* ConnectionListener */);

            if (connection == null && ((Controller)getApplication()).basicConnectionListener != null)
                ((Controller)getApplication()).basicConnectionListener.onConnectionFailedConnecting(new Exception("Couldn't create new connection"));

        }

        if (connection != null){
            Controller.setConnection(connection);


        }else {
            Log.w(TAG, "Failed to create new connection");
        }

    }

最佳答案

能力 token 有生命周期。它在它之后过期。我认为,这个问题与您的能力 token 过期有关。

所以更新你的能力 token 来解决这个问题。

Check out this

按照以下步骤解决这个问题

第 1 步:在调用电话之前,首先尝试检查您的设备状态。

Check device state

第 2 步:如果您的设备离线,请尝试更新 token 。如果准备好,请调用。如果,请不要打电话。

Device State Values

关于android - Twilio - 收到错误 : Account SID cannot be null when making a call,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34690759/

相关文章:

android - 在前台收到的关于 firebase 通知的打开 Activity

android - 具有静态引用的 Activity

android - 即使应用程序已关闭,如何每天在特定时间显示通知?

android - 如何让 EditText 不自动改变它的大小

Twilio 发送消息 API 错误 21603

node.js - 类型错误 : Cannot read property 'isTTY' of undefined

ios - 需要一个 key 名称来在用于 OTP 的 twilio API 中显示发件人姓名或号码

android - facebook 登录后,如何从 viewpager 转到另一个 Activity ?

iphone - 在 iPhone 上使用 Twilio 进行出站调用的最 "phone-like"方式是什么?

php - Twilio - 如何调用第三方号码并将他加入 session ?