电话闲置时服务挂起

时间:2019-04-15 14:59:23

标签: android android-service

我有一个VoIP应用程序,该应用程序收到了GCM高优先级通知,因此我可以在电话空闲时接听电话。

public class GCMReceiver extends GCMIntentService {
     public void onMessage(Context context, Intent intent) {
         ...
         startService(new Intent(getBaseContext(), ServiceManager.class));
         ...
     }
}

收到通知后,我将创建一个新的后台服务。

public class ServiceManager extends Service {
     public static Intent serviceIntent;
     ...
     public int onStartCommand(Intent intent, int flags, int startId) {
         ...
         return START_STICKY;
     }

     ...

     public void startSipService() {
         ...
         serviceIntent = new Intent(getBaseContext(), SIPProvider.class);
         this.startService(serviceIntent);
     }
}

此服务启动另一个后台服务,该后台服务处理SIP通信,音频等。

public class SIPProvider extends Service {
     public static Intent serviceIntent;
     ...
     public int onStartCommand(Intent intent, int flags, int startId) {
         ...
         return START_NOT_STICKY;
     }    
}

问题是由于某种原因,此SIPProvider服务停止处理。这是相关的logcat:

2019-04-15 14:37:20.392 30439-30439/***.***.*** D/ServiceManager: >> onCreate
2019-04-15 14:37:20.393 30439-30439/***.***.*** I/ServiceManager: >> onStartCommand
2019-04-15 14:37:21.658 30439-30439/***.***.*** I/SIPProvider: >> onStartCommand
2019-04-15 14:37:21.658 30439-30439/***.***.*** D/SIPProvider: OnStart
2019-04-15 14:37:21.834 30439-30439/***.***.*** D/SIPProvider: Listen for phone state 
2019-04-15 14:37:21.858 30439-30439/***.***.*** D/SIPProvider: Direct sip start
2019-04-15 14:37:21.863 30439-30439/***.***.*** W/SIPProvider: Creating new handler thread

在14:37:48,我发送了另一次推送,似乎服务SIPProvider醒了。

2019-04-15 14:37:48.110 30439-30465/***.***.*** D/SIPProvider: Start was asked and we should actually start now
2019-04-15 14:37:48.124 30439-30465/***.***.*** D/SIPProvider: Ask pjservice to start itself
2019-04-15 14:37:48.130 30439-30465/***.***.*** D/PjService: Starting sip stack
2019-04-15 14:37:48.168 30439-30439/***.***.*** D/GCMBroadcastReceiver: onReceive()

对此有什么解释吗?

如果手机完全不活动约3小时,则会发生这种情况。我正在Samsung S9上进行测试,但有报告称用户使用不同的设备运行Android> = 8。

下一次推送效果很好。

任何帮助将不胜感激。

谢谢

0 个答案:

没有答案