Sipdroid 项目类、结构的介绍可以参考下面博客:
http://blog.csdn.net/harvey2008/article/details/8484970
具体的文档介绍百度百科有,可以查阅,这里不贴链接了。
使用:
sipdroid 账号设置,开启注册
在onCreate 中进行初始化
Receiver.mContext = this;
Sipdroid.on(this, true);
//账号信息设置,具体的账号信息自己修改
PreferenceManager.getDefaultSharedPreferences(Receiver.mContext).edit().
putString(Settings.PREF_USERNAME, "用户名")
.putString(Settings.PREF_PASSWORD, "密码")
.putString(Settings.PREF_SERVER, "服务器地址")
.putString(Settings.PREF_DOMAIN, "")
.putString(Settings.PREF_PORT, "服务器端口")
.putString(Settings.PREF_PROTOCOL, "UDP")
.putBoolean(Settings.PREF_CALLBACK, true)
.putString(Settings.PREF_POSURL, "")
.putBoolean(Settings.PREF_ON,true)
.putBoolean(Settings.PREF_3G, true)
.putBoolean(Settings.PREF_WLAN,true)
.putBoolean(Settings.PREF_EDGE,true)
.putString(Settings.PREF_FROMUSER, "")
.commit();
//注册账号
Receiver.engine(this).register();
Receiver.engine(this).halt();
Receiver.engine(this).StartEngine();
最后在onDestory 注销注册
Editor edit = PreferenceManager.getDefaultSharedPreferences(this).edit().putBoolean(Settings.PREF_ON, false);
edit.commit();
Sipdroid.on(MainView.this, false);
Receiver.pos(true);
eceiver.engine(MainView.this).halt();
Receiver.mSipdroidEngine = null;
Receiver.reRegister(0);
stopService(new Intent(MainView.this,RegisterService.class));
一般到这里就可以使用sipdroid自带的功能,当然,需要将sipdroid包中的配置文件相对路径全部替换为绝对路径
如:<activity android:name=".ui.Sipdroid" />
应改为
<activity android:name="org.sipdroid.sipua.ui.Sipdroid" />
库自带的通话界面相对简陋(call_card.xml 通话界面显示,incall.xml )
修改直接进入 InCallScreen 中onCreate 设置布局,部分