即使在深度睡眠中,也将SIP注册在PJSUA2 VOIP应用中



我在PJSUA2开源项目中有一个Android应用程序。它可以恢复到传入和发出的呼叫。但是它不是重新示检查..

 accCfg.getRegConfig().setRetryIntervalSec(600);
 accCfg.getRegConfig().setFirstRetryIntervalSec(15);

任何帮助将不胜感激。

何时Android进入深度睡眠Android OS杀死几乎所有服务和其他背景任务。因此,要保持SIP注册,我相信AlarmManager将是一个很好的选择。样本示例示例将在每5分钟内唤醒您的应用程序。

public void setAlarmManagerFroDeepSleep() {
    int interval = 1000 * 60 * 5;
    Intent alarmIntent = new Intent(this, AlarmReceiver.class);
    pendingIntent = PendingIntent.getBroadcast(this, 0, alarmIntent, 0);
    AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    /* Repeating on every 5 minutes interval */
    manager.setRepeating(AlarmManager.RTC_WAKEUP, interval,
            interval, pendingIntent);
}

这是示例警报程序类。

public class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
    Log.e("Alerm Manager", "I'm running");
    if(Connectivity.isConnected(context)) {
        try {
            //make re-register here....
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
  }
}

最新更新