Android的奥利奥已经发布了上运行的后台服务/工作的限制。 服务现在不表现得像普通的奥利奥,因为他们习惯了。
但是,如果我有什么为24 * 7的运行在后台服务的即时消息。
我开发使用即时消息应用程序kurento第三方API 。 要做到这一点,我将不得不运行与服务器的新邮件通信的后台服务。
下然后奥利奥其工作的罚款。
如何防止android系统地不敢杀的服务?
我不想显示通知,而我的服务正在运行,因为我将运行我的服务,为24 * 7的新消息,所以感觉价格便宜的UI体验,以用户的所有时间。
牛轧糖版本后回来的路上地面服务改变。 如果你希望你的后台服务工作,你可以做下面的代码中提到。 在IntentService,生命周期方法的onCreate()被调用。 而在这个方法中添加以下代码。
@Override
public void onCreate() {
super.onCreate();
int NOTIFICATION_ID = (int) (System.currentTimeMillis()%10000);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
startForeground(NOTIFICATION_ID, new Notification.Builder(this).build());
}
}
而当你调用服务,通过打击代码中调用你的服务
Intent intent = new Intent(context, FindNumberService.class);
intent.putExtras(bundle);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
context.startForegroundService(intent);
}
else {
context.startService(intent);
}
希望这会帮助你。
至于做的方式,则应修改输入信号的逻辑信道传入消息推送通知使用。 当应用程序被切换到后台,你必须依靠具有高优先级推送通知。
并得到了推后,您可以进行所有需要的东西。
文章来源: How to run background service for Instant Messaging using Kurento API in Oreo?