我正在为语音呼叫的应用程序中实现pjsua2。当应用程序处于前台时,一切正常。但是根据我的要求,即使应用终止,我也需要接听电话。目前,一旦应用终止,我将收到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);
}
没有调用任何回调方法。