后台服务可以获得什么信息?

问题描述 投票:0回答:1

我有一项在后台运行的服务。

我可以从这项服务中获得什么信息?

是否有任何方法可以确定该应用程序处于活动状态,或者检查是否有任何应用程序正在运行?

可以检查屏幕是否处于活动状态?

android service
1个回答
0
投票

服务可以做

  1. 通知
  2. 祝酒消息
  3. doInBackground函数

如果使用线程并且每隔2秒(根据需要)检查一次屏幕是否处于活动状态,或者不使用此功能:

 @SuppressWarnings("deprecation")
    public static boolean isIdle(Context context) {
        PowerManager powerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            /*
             * isDeviceIdleMode() is a very strong requirement and could cause a job
             * to be never run. isDeviceIdleMode() returns true in doze mode, but jobs
             * are delayed until the device leaves doze mode
             */
            return powerManager.isDeviceIdleMode() || !powerManager.isInteractive();
        } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) {
            return !powerManager.isInteractive();
        } else {
            return !powerManager.isScreenOn();
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.