val startServiceIntent = TestService.getServiceIntent(context).let {
PendingIntent.getService(context, 0, it, PendingIntent.FLAG_UPDATE_CURRENT)
}
val views = RemoteViews(context.packageName, R.layout.layout_app_widget).apply {
setOnClickPendingIntent(R.id.start_service_btn, startServiceIntent) // doesn't work on boot device
setOnClickPendingIntent(R.id.start_activity_btn, startActivityIntent) // works fine
}
appWidgetManager.updateAppWidget(appWidgetId, views)
Как относиться к такому поведению? Как я могу хотя бы показать пользователю сообщение о том, что служба не может быть запущена из виджета, пока он не запустит приложение (сделает его видимым) или вместо этого запустит действие во время этого сеанса устройства?
Потому что теперь ничего не происходит, когда я нажимаю кнопку запуска службы, пока я не запущу приложение хотя бы один раз.
Есть ли способ на Android 11 проверить, можем ли мы запустить службу переднего плана, камеру и т. Д. Из фона / виджета? Как узнать, что пользователь запустил активность приложения хотя бы один раз за текущую сессию устройства?
PendingIntent.getForegroundService()
? - person CommonsWare   schedule 18.05.2021