Получать вызов PJSUA2 после завершения работы приложения - PullRequest
0 голосов
/ 03 декабря 2018

Я использую pjsua2 в своем приложении для VoIP-звонков.Все работает нормально, когда приложение находится на переднем плане.Но, исходя из моих требований, мне нужно принимать звонки, даже когда приложение закрывается.В настоящее время, когда приложение завершается, я получаю уведомление FCM, чтобы разбудить приложение, когда пользователь пытается позвонить. После этого я регистрирую пользователя и пытаюсь принять вызов, которого не происходит.

Я загрузил свои библиотеки PJSUA в сам класс приложения onCreate ().Пожалуйста, помогите мне, если у вас есть решение.Дайте мне знать, если вам нужна конкретная ссылка на код.Заранее спасибо.

внутри класса приложения onCreate () с именем initialisePjsipLib ():

 public void initialisePjsipLib()
{
    if (app == null) {
        app = new MyApp();
        // Wait for GDB to init, for native debugging only
        if (false && (getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0)
        {
            try {
                Thread.sleep(5000);
            } catch (InterruptedException e) {}
        }

        app.init(getFilesDir().getAbsolutePath());
        Toast.makeText(this,"Application class initialised",Toast.LENGTH_SHORT).show();
    }
}

Теперь внутри MyApp:

public class MyApp {
public static MyAppObserver observer;


static {

System.loadLibrary("pjsua2");
System.out.println("Library loaded");
Log.d("loadlib","lib added");
} 

public void init( String app_dir)
{
    Log.d("loadlib","lib added init");
    init( app_dir, false);
}

public void setObserver(MyAppObserver obs)
{
    observer = obs;
}


public void init( String app_dir,
         boolean own_worker_thread)
{

appDir = app_dir;

/* Create endpoint */
try {
    ep.libCreate();
    Log.d("tagissue","created lib");
}
catch (Exception e) {
    Log.d("tagissue",e.getMessage()+"");
    return;
}

Теперь внутри класса Notificationservice:

  if (app == null) {
            app = PPApplication.app;
            app.setObserver(this);
        }

Ни один из методов обратного вызова не вызывается.

...