Joh*_*k13 -1
重新阅读后更新
抱歉,我没有意识到该问题仅与短信相关。SIP 本身不支持短信,SIMPLE 或 MSRP 扩展可以实现这一点。您需要找到一个您喜欢使用的堆栈,这里有一个示例Doubango及其演示产品IMSDroid,但 Google 'Android MSRP' 提供了大量其他选项。我仍然对 XMPP 一无所知,但请查看此线程以获取很棒的库和用途列表。
结束更新
你试过什么了?对于您问题的 SIP(语音)部分,这里是Android 开发人员网站上的文档,其中包含您需要了解的所有内容,这里是一个免费的 SIP 提供商:Getonsip。
减少了代码示例,大部分来自 Android 开发者网站。
本质上,您需要确保 minSDK 设置为 9,因为 SIP 库直到 2.3 才添加。将服务添加到您的清单中:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.USE_SIP" />
Run Code Online (Sandbox Code Playgroud)
uses-feature voip如果您希望应用程序不安装在无法运行的设备上,则可以选择添加该指令。
<uses-feature android:name="android.hardware.sip.voip" />
Run Code Online (Sandbox Code Playgroud)
创建 SipManager:
android.net.sip.SipManager manager = SipManager.newInstance(this);
Run Code Online (Sandbox Code Playgroud)
创建一个配置文件,用于通过您的提供商拨打/接听电话:
android.net.sip.SipProfile.Builder builder = new SipProfile.Builder(username, domain);
builder.setPassword(password);
android.net.sip.SipProfile sipProfile = builder.build();
Run Code Online (Sandbox Code Playgroud)
如果您只关心打电话:
manager.open(profile);
Run Code Online (Sandbox Code Playgroud)
要拨打电话,您需要与听众一起工作:
SipAudioCall.Listener listener = new SipAudioCall.Listener() {
@Override
public void onCallEstablished(SipAudioCall call) {
call.startAudio();
call.setSpeakerMode(true);
call.toggleMute();
...
}
@Override
public void onCallEnded(SipAudioCall call) {
// Do something.
}
};
Run Code Online (Sandbox Code Playgroud)
现在,只要您拥有对等方的 SIP 地址,您就可以使用:
SipProfile friendProfile = ...;
manager.makeAudioCall(sipProfile.getUriString(), friendAddress, listener, 30);
Run Code Online (Sandbox Code Playgroud)
这应该可以帮助你开始。不幸的是我没有使用 XMPP 的经验。
| 归档时间: |
|
| 查看次数: |
6364 次 |
| 最近记录: |