首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android注册失败(-9 IN_PROGRESS)

Android注册失败(-9 IN_PROGRESS)
EN

Stack Overflow用户
提问于 2013-12-15 11:43:24
回答 2查看 2.3K关注 0票数 8

这是我的注册码:

代码语言:javascript
复制
    protected void initializeManagerOpen(){
    consoleWrite("initializeOpen");
    if(mSipManager==null) {
        return;
    }
    SipProfile.Builder builder;
    try {
        builder = new SipProfile.Builder("13", "10.0.0.4");
        builder.setPassword("13");
        builder.setPort(5062);
        builder.setProtocol("UDP");
        mSipProfile = builder.build();

        try {
            Intent intent = new Intent();
            intent.setAction("android.SipDemo.INCOMING_CALL");
            PendingIntent pendingIntent = PendingIntent.getBroadcast(mContext, 0, intent, Intent.FILL_IN_DATA);
            mSipManager.open(mSipProfile, pendingIntent, null);

            mSipManager.setRegistrationListener(mSipProfile.getUriString(), new SipRegistrationListener() {

                public void onRegistering(String localProfileUri) {
                    mNotificationTask.endNotification();
                    mNotificationTask.createNotification(R.drawable.ic_stat_connecting,"Test","Connecting");

                    consoleWrite("Registering with SIP Server...");
                }

                public void onRegistrationDone(String localProfileUri, long expiryTime){
                    mNotificationTask.endNotification();
                    mNotificationTask.createNotification(R.drawable.ic_stat_connected,"Test","Connected");

                    consoleWrite("Ready");
                }

                public void onRegistrationFailed(String localProfileUri, int errorCode, String errorMessage){
                    mNotificationTask.endNotification();
                    mNotificationTask.createNotification(R.drawable.ic_stat_disconnected,"Test","Failed to connect:"+errorCode);

                    consoleWrite("Registration failed.  Please check settings.");
                    consoleWrite(""+errorCode);
                    consoleWrite(errorMessage);
                }

            });
        } catch (SipException e) {
            e.printStackTrace();
        }
    } catch (ParseException e) {
        e.printStackTrace();
    }
}

虽然有时它成功注册,但大多数时候我得到一个错误代码-9:

代码语言:javascript
复制
Registration failed.  Please check settings.
-9
0

我在参考网站上找到了这样的描述:

代码语言:javascript
复制
public static final int IN_PROGRESS
The client is in a transaction and cannot initiate a new one.
Constant Value: -9 (0xfffffff7)

这到底意味着什么?我的手机上没有其他SIP应用程序在运行。

PS.当我第一次尝试连接时,它是起作用的。但第二次回来-9。也许我没有正确地关闭连接?我想我有问题,因为我试图关闭连接,但它没有关闭.

代码语言:javascript
复制
public void closeLocalProfile() {
    if(mSipManager==null){
        return;
    }
    try{
        if(mSipProfile!=null){
            mSipManager.close(mSipProfile.getUriString());

            consoleWrite("mSipManager Closed - "+mSipProfile.getUriString());
        }
    }catch(Exception e){
        consoleWrite("Failed to close local profile. - "+e);
    }
}
EN

回答 2

Stack Overflow用户

发布于 2014-09-17 13:08:28

从调用参数中删除所有SIP帐户并重试:

调用应用程序->参数->调用帐户internet删除所有帐户

对不起,我的电话不是英文的

票数 3
EN

Stack Overflow用户

发布于 2016-05-26 04:33:18

我也面临过同样的问题,zicos22 22的评论帮助我解决了这个问题。这个问题源于未关闭的SipProfiles,因此您需要在onPause()方法中运行closeLocalProfile() (当在onDestroy()中调用它时不起作用)。实际上,我认为我必须在单独的线程中运行这个sip文件,但现在我只是在onPause中关闭配置文件。在我使用ZenUI的安卓手机上,我能够在设置、->呼叫设置、->电话帐户设置、-> sip 中手动关闭当前打开的SIP配置文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20594095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档