Откройте «Активность» с выключенным дисплеем на Wear OSAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Откройте «Активность» с выключенным дисплеем на Wear OS

Сообщение Anonymous »

Я пытаюсь реализовать то же поведение, что и приложение будильника в ОС Wear.
Я пытался использовать NotificationCompat с setFullScreenIntent и Wakelock, но не могу открыть действие для получения обратная связь.
Использованный код:

Код: Выделить всё

class AlarmReceiver : BroadcastReceiver() {

override fun onReceive(context: Context, intent: Intent) {

val powerManager = context.getSystemService(Context.POWER_SERVICE) as PowerManager
val wakeLock = powerManager.newWakeLock(
PowerManager.SCREEN_BRIGHT_WAKE_LOCK or
PowerManager.FULL_WAKE_LOCK or
PowerManager.ACQUIRE_CAUSES_WAKEUP,
"app::feedback"
)

wakeLock.acquire(10000)

Handler(Looper.getMainLooper()).postDelayed({
showNotification(context)
}, 1000) // secondi = 1 secondo di ritardo

}

private fun showNotification(context: Context) {
val intent = Intent(context, FullScreenActivity::class.java).apply {
flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
}

val pendingIntent = PendingIntent.getActivity(
context,
0,
intent,
PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE
)

val vibrationPattern = longArrayOf(0, 500, 250, 500)  // Vibra per 500ms, pausa di 250ms, vibra per 500ms

val notification = NotificationCompat.Builder(context, MainActivity.CHANNEL_ID)
.setSmallIcon(R.drawable.abc_vector_test)
.setContentTitle("Timer Scaduto")
.setContentText("Il tuo timer è scaduto!")
.setPriority(NotificationCompat.PRIORITY_MAX)
.setCategory(NotificationCompat.CATEGORY_ALARM)
.setContentIntent(pendingIntent)
.setFullScreenIntent(pendingIntent, true)
.setVibrate(vibrationPattern)
.setDefaults(NotificationCompat.DEFAULT_ALL)
.setAutoCancel(false)
.build()

val notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
notificationManager.notify(generateRandomNotificationId(), notification)
}
private fun generateRandomNotificationId(): Int {
return (System.currentTimeMillis() % Int.MAX_VALUE).toInt()
}
}
пока у меня такое поведение, т. е. при выключенном экране активируется и показывается уведомление в полноэкранном режиме, но его нельзя настроить.< /п>

Подробнее здесь: https://stackoverflow.com/questions/787 ... on-wear-os
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»