Родной андроид сервис ионный - PullRequest
0 голосов
/ 15 сентября 2018

Привет, я пытаюсь перевести свое родное приложение в гибридное приложение.

Теперь у меня проблема с andoird сервисом для использования в ionic. Я прочитал о

  • красная папка
  • Режим ионного фона

но все же я должен выяснить, как это принять. Мой сервис просто отслеживает приложение на переднем плане, чтобы показать пользователям статистику о том, сколько времени тратится на каждое приложение.

Это мой сервисный код:

Thread t = new Thread(new Runnable() {
        @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
        @Override
        public void run() {
            while (running) {
                try {
                    UsageStatsManager usageStatsManager = (UsageStatsManager) getSystemService(Context.USAGE_STATS_SERVICE);
                    pack=getForegroundPackage(usageStatsManager);
                    handler.sendEmptyMessage(0);
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    });
    t.start();
    public static String getForegroundPackage(UsageStatsManagertsManager) {

    String packageName = null;

    final long INTERVAL = 1000 * 60;
    final long end = System.currentTimeMillis();
    final long begin = end - INTERVAL;
    final UsageEvents usageEvents = usageStatsManager.queryEvents(begin, end);
    while (usageEvents.hasNextEvent()) {
        UsageEvents.Event event = new UsageEvents.Event();
        usageEvents.getNextEvent(event);
        switch (event.getEventType()) {
            case UsageEvents.Event.MOVE_TO_FOREGROUND:
                packageName = event.getPackageName();
                break;
            case UsageEvents.Event.MOVE_TO_BACKGROUND:
                if (event.getPackageName().equals(packageName)) {
                    packageName = null;
                }
        }
    }

Есть ли способ сделать это? Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...