반응형
- 기존의 RemoteViews XML 기반 위젯에서는 PendingIntent를 통해 Activity를 열었다.
- 하지만 Glance에서는 actionStartActivity() 함수를 사용한다.
fun actionStartActivity(
intent: Intent,
parameters: ActionParameters = actionParametersOf(),
): Action = StartActivityIntentAction(intent, parameters, null)
- Glance 위젯에서 특정 Activity를 시작하기 위한 Action 객체를 생성하는 함수다.
- 즉, Glance의 Modifier.clickable 안에서 사용할 수 있는 동작(Action)을 만들어서 연결해 준다.
- GlanceModifier clickable의 onClick에 연결해 주면 된다.
.clickable(
onClick = actionStartActivity(
Intent(context, MainActivity::class.java).apply {
data = Uri.parse(MainActivity.EXTRA_FROM_WIDGET)
flags = Intent.FLAG_ACTIVITY_NEW_TASK
}
)
)
반응형