zoukankan      html  css  js  c++  java
  • Handling Doze Mode & Background Restrictions of Oreo

      Doze mode introduced in android marshmallow performs battery optimisations by keeping the device in sleep mode and forcing network restrictions on it.
      Also the background restrictions introduced in android Oreo restrict the background apps to receive background locations only a few times per hour.

      To handle both these issues and continuously track user location, app has to appear as a foreground process for the android system.
      This could be achieved by starting a foreground service in the app.

      Refer android docs for more information on Foreground services.
      This way we can bypass both the restrictions and app can continuously receive and post locations.

    Dome code:

    Notification notification = new NotificationCompat.Builder(this,CHANNEL_ID)
                    .setSmallIcon(R.mipmap.ic_launcher)
                    .setContentTitle(getString(R.string.app_name))
                    .setContentText(getString(R.string.tracking_now))
                    .setContentIntent(pendingIntent).build();
    
            startForeground(1, notification);
  • 相关阅读:
    phpcms页面替换
    phpcms笔记
    php头像上传预览
    phpcms后台管理
    php写流程管理
    php写留言板
    php人员权限管理(RBAC)
    单例模式
    Effective C++笔记——day01
    C++Primer笔记-----day08
  • 原文地址:https://www.cnblogs.com/johnnyzhao/p/13891445.html
Copyright © 2011-2022 走看看