Получать вызов PJSUA2 после завершения работы приложения
Я реализую 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);
}
Ни один из методов обратного вызова не вызывается.