屏幕关闭时,Android后台服务停止

时间:2020-07-21 18:00:39

标签: android android-service android-background

即使我使用Service退出应用程序,我仍在尝试扫描信标。 这是我的服务代码。

public class MyService extends Service {
    private static final String TAG = "MyService";

    BluetoothManager bluetoothManager;
    BluetoothAdapter bluetoothAdapter;
    BluetoothLeScanner bluetoothLeScanner;

    public MyService() {
    }

    @Override
    public void onCreate() {
        super.onCreate();
        Log.d(TAG, "onCreate called");

        bluetoothManager = (BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE);
        bluetoothAdapter =bluetoothAdapter.getDefaultAdapter();
        bleCheck(bluetoothAdapter);
        bluetoothLeScanner.startScan(mScanCallback);
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        Log.d(TAG, "onStartCommand called");
        if (intent == null)
            return Service.START_STICKY;
        else{

        }
        return super.onStartCommand(intent, flags, startId);
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        Log.d(TAG, "onDestroy called");
    }

这些是我授予应用程序的权限。我会发布所有权限,以防出现问题。

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WAKE_LOCK"/>
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>

我使用了Wake_lock,但是当屏幕关闭时它会停止。我找不到原因。还有一个问题是,即使我的手机操作系统为Android 9.0,后台服务也不会停止。 在google文档中,我读到Android Oreo之后,它们严格限制了应用程序在后台运行,但我的应用程序仍在运行。 感谢您阅读我的问题。请帮忙:)

0 个答案:

没有答案