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

时间:2018-12-02 16:48:16

标签: android android-gps

我在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");

1 个答案:

答案 0 :(得分:0)

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

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

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