구현하고 싶은 상황
- 현재 웹 뷰로 웹 컨텐츠를 보고있는 상황
- FCM을 통해 알림이 온다.
- 알림을 누르면 웹 뷰 안에서 새로운 웹 페이지로 이동하게 하고싶다.
구현 방법
- Intent만들기 + Flag 설정
- 웹뷰를 띄우는 Activity에서 onNewIntnet 오버라이드하기
val intent = Intent(this, WebViewActivity::class.java).apply {
flags = Intent.FLAG_ACTIVITY_SINGLE_TOP
putExtra("url", "www.example.com")
}
val pendingIntent = PendingIntent.getActivity(this, 1, intent, PendingIntent.FLAG_CANCEL_CURRENT or PendingIntent.FLAG_IMMUTABLE)
val notification = NotificationCompat.Builder(this, CHANNEL_ID)
.setContentTitle(title)
.setContentText(body)
.setContentIntent(pendingIntent)
.setAutoCancel(true)
.build()
notificationManager.notify(CHAT_NOTIFICATION_ID, notification)
이런 식으로 PendingIntent와 Notification을 만든다.
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
webView.loadUrl(intent.getExtras().getString("url"));
}
그리고 WebViewActivity 안에서 onNewIntent를 오버라이딩하면된다.
'Programming > 플랫폼' 카테고리의 다른 글
Web on Android - 안드로이드에서 웹 컨텐츠를 사용하는 방식 (0) | 2023.09.02 |
---|---|
Android12 Pending Intent, Foreground Service 변경사항 (0) | 2023.04.17 |
[Android] 웹 뷰 로딩 오류 (0) | 2023.03.04 |
[Android] ASyncTask Scope (0) | 2023.03.04 |
[Android] SDK 25 (AOS7.1) 이하에서 알림 안보임 문제 해결 (0) | 2023.03.03 |