美好的一天。
我正在尝试打开已预先注册的sip配置文件。
如果我从Google Play下载任何其他SIP应用程序,该配置文件将完全正常工作,但当我尝试在我的代码中初始化时,我在打开配置文件时收到错误registration not running
。
无论如何,这里是我如何初始化和打开已注册的SIP配置文件的代码。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.USE_SIP) != PermissionChecker.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.USE_SIP}, 0);
}
initSip();
}
private void initSip() {
if (mSipManager == null) {
mSipManager = SipManager.newInstance(this);
}
}
public void closeLocalProfile() {
if (mSipManager == null) {
return;
}
try {
if (mSipProfile != null) {
mSipManager.close(mSipProfile.getUriString());
}
} catch (Exception ee) {
ee.printStackTrace();
Log.d("faskjlfas", "Failed to close local profile.", ee);
}
}
点击后,我打开这样的本地档案。
@OnClick(R.id.login)
public void loginClciked() {
closeLocalProfile();
profile = null;
try {
profile = new SipProfile.Builder(usernameEd.getText().toString(), "sip2sip.info");
} catch (ParseException e) {
e.printStackTrace();
}
profile.setPassword(passwordED.getText().toString());
mSipProfile = profile.build();
Intent intent = new Intent();
intent.setAction("android.SipDemo.INCOMING_CALL");
final PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, Intent.FILL_IN_DATA);
try {
mSipManager.open(mSipProfile, pendingIntent, new SipRegistrationListener() {
@Override
public void onRegistering(String localProfileUri) {
runOnUiThread(new Runnable() {
@Override
public void run() {
updateStatus("Registering with SIP Server...");
}
});
}
@Override
public void onRegistrationDone(String localProfileUri, long expiryTime) {
runOnUiThread(new Runnable() {
@Override
public void run() {
updateStatus("Ready");
}
});
}
@Override
public void onRegistrationFailed(String localProfileUri, int errorCode, final String errorMessage) {
runOnUiThread(new Runnable() {
@Override
public void run() {
updateStatus("Registration failed. Please check settings." + errorMessage);
}
});
}
});
} catch (SipException e) {
e.printStackTrace();
}
}
但如上所述,正在使用消息onRegistrationFailed
触发registration not running
回调。所以任何帮助都将不胜感激。