상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - 노티피케이션의 클릭 시 특정 액티비티로 이동하는 방법은?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
안드로이드에서 노티피케이션을 클릭했을 때 특정 액티비티로 이동하는 방법은 Intent를 사용하여 구현할 수 있습니다. 아래에 단계별로 자세히 설명하겠습니다. 1. 노티피케이션 생성 노티피케이션을 생성하기 위해 `NotificationManager`와 `NotificationCompat.Builder`를 사용합니다. 이때, 노티피케이션 클릭 시 특정 액티비티로 이동하도록 Intent를 설정해야 합니다. 2. Intent 설정 노티피케이션 클릭 시 이동할 액티비티를 지정하기 위해 Intent를 생성합니다. 이 Intent는 `PendingIntent`로 래핑되어야 하며, 이를 통해 노티피케이션 클릭 시 액티비티가 시작됩니다. 3. 코드 예제 아래는 노티피케이션을 생성하고 클릭 시 특정 액티비티로 이동하는 예제 코드입니다. ```java import android.app.NotificationChannel; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.os.Build; import androidx.core.app.NotificationCompat; public class NotificationHelper { private static final String CHANNEL_ID = "my_channel_id"; public static void createNotification(Context context) { // 노티피케이션 채널 생성 (API 26 이상) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { NotificationChannel channel = new NotificationChannel( CHANNEL_ID, "My Channel", NotificationManager.IMPORTANCE_DEFAULT ); NotificationManager notificationManager = context.getSystemService(NotificationManager.class); notificationManager.createNotificationChannel(channel); } // 클릭 시 이동할 액티비티의 Intent 생성 Intent intent = new Intent(context, TargetActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); // 노티피케이션 생성 NotificationCompat.Builder builder = new NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.ic_notification) // 노티피케이션 아이콘 .setContentTitle("노티피케이션 제목") .setContentText("노티피케이션 내용") .setPriority(NotificationCompat.PRIORITY_DEFAULT) .setContentIntent(pendingIntent) // 클릭 시 실행될 PendingIntent 설정 .setAutoCancel(true); // 클릭 후 자동으로 제거 // 노티피케이션 표시 NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); notificationManager.notify(1, builder.build()); } } ``` 4. 설명 - NotificationChannel : Android 8.0 (API 26) 이상에서는 노티피케이션을 표시하기 위해 채널을 생성해야 합니다. 채널은 사용자에게 노티피케이션의 중요도와 소리를 설정할 수 있는 방법을 제공합니다. - Intent : 클릭 시 이동할 액티비티를 지정합니다. `FLAG_ACTIVITY_NEW_TASK`와 `FLAG_ACTIVITY_CLEAR_TASK` 플래그를 사용하여 새로운 태스크를 생성하고 기존의 태스크를 지웁니다. - PendingIntent : 노티피케이션 클릭 시 실행될 Intent를 래핑합니다. `PendingIntent.FLAG_UPDATE_CURRENT` 플래그를 사용하여 기존의 PendingIntent가 있을 경우 업데이트합니다. - NotificationCompat.Builder : 노티피케이션의 다양한 속성을 설정합니다. 아이콘, 제목, 내용, 우선순위, 클릭 시 실행될 PendingIntent 등을 설정합니다. - notify() : 마지막으로 `NotificationManager`를 사용하여 노티피케이션을 표시합니다. 첫 번째 인자는 노티피케이션 ID로, 이를 통해 나중에 노티피케이션을 업데이트하거나 제거할 수 있습니다. 5. <a href='https://sangseek.com/sangseeks/추가 사항/ko'>추가 사항</a> - 권한 : 노티피케이션을 사용하기 위해서는 `AndroidManifest.xml`에 적절한 권한을 설정해야 합니다. 일반적으로는 추가적인 권한이 필요하지 않지만, 특정 기능을 사용할 경우 권한을 요청해야 할 수 있습니다. - 테스트 : 노티피케이션이 <a href='https://sangseek.com/sangseeks/제대/ko'>제대</a>로 작동하는지 확인하기 위해 실제 기기에서 테스트하는 것이 좋습니다. 에뮬레이터에서는 일부 기능이 제한될 수 있습니다. 이와 같은 방법으로 안드로이드에서 노티피케이션 클릭 시 특정 액티비티로 이동하는 기능을 구현할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기