繁体   English   中英

定位API级别26(Oreo)更新时,GPS应用在启动后无法启动

[英]GPS app failing to start after boot when targetting API Level 26 (Oreo) update

我在Google商店上有gps应用程序,其目标API版本为25。我做了一些功能更新,并将目标/编译版本更新为26,因为Google要求这些天。 但是我的后台服务在启动后尝试启动时失败。 调试时,Android Studio没有出现任何错误。 当我将目标版本更改回25时,启动后我的应用程序可以正常运行。

@Override
public IBinder onBind(Intent arg0) {
    // TODO Auto-generated method stub
    return null;
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
PowerManager p = (PowerManager) getSystemService(this.POWER_SERVICE);
wakeLock=p.newWakeLockPowerManager.PARTIAL_WAKE_LOCK, "tag:DoNotSleep");    
}

Android Studio在NullPointerException或下一行的标记上给出警告。 但这并不会阻止我构建代码。 看来我必须在以下行中进行一些更改。

wakeLock=p.newWakeLockPowerManager.PARTIAL_WAKE_LOCK, "tag:DoNotSleep");

https://developer.android.com/about/versions/oreo/android-8.0-changes

作为Android 8.0(API级别26)引入的旨在延长电池寿命的更改之一,当您的应用进入缓存状态且没有活动组件时,系统会释放该应用持有的所有唤醒锁。

因此,如果您依靠唤醒锁来保持服务处于活动状态,则不会。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM