Я работаю над android multi-user. Поэтому мне нужно преобразовать свой существующий проект в проект поддержки нескольких пользователей.Хотите знать startForeground() как пользователь для многопользовательских
Мое приложение будет работать у владельца. Если я переключусь на пользователя, любые связанные с ним действия пользовательского интерфейса должны отображаться у владельца или пользователя, Я использую Context.startActivityAsUser (намерение, UserHandle.Current); , поэтому действие будет запущено на соответствующем пользователе или владельцу. так же, как и запуск вещательных событий.
В моем приложении я использую уведомление как часть службы, как показано ниже: startForeground (int id, уведомление об уведомлении);
Как работает служба является владельцем, уведомление отображается только на пользователе, даже если я переключился на пользователя. Когда конечный пользователь переключился на другой профиль, уведомление должно отображаться в текущем профиле.
, как мне известно, нет startForeground (...), как пользователь (я имею в виду, как startForegroundAsUser()), поэтому я преобразовал уведомления материал для NotificationManager.notifyAsUser (нуль, APPID, уведомление, UserHandle.CURRENT) ; .... Когда я переключаюсь с владельца на пользователя, мое приложение разбивается, и журналы также не ясны, чтобы найти проблему. Logcat просто говорит как I/ActivityManager (421): процесс com.example.test (pid 5833) умер W/ActivityManager (421): Планирование перезапуска разбившегося сервиса com.example.test/com.example.test.testservice в 1000 мс ..... ..... .....
но сервис не запускается, так как верхний профиль ТЕКУЩИЙ.
Позвольте мне узнать другой подход, чтобы достичь этого.