FCM 알림이 Android 최신 버전 OREO에서 작동하지 않습니다.
아래는 제 코드입니다 :
AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example">
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application
android:allowBackup="true"
android:icon="@mipmap/luncher_logo"
android:label="@string/app_name"
android:roundIcon="@mipmap/luncher_logo"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".WelcomeActivity">
<intent-filter>
<action android:name="com.example.action.MAIN" />
<category android:name="com.example.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity" />
<service android:name=".firebase.MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<service android:name=".firebase.FirebaseIDService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
</manifest>
-
답변 # 1
-
답변 # 2
Android Oreo 제작 채널에서는 중요합니다. 알림을 만들 때 채널 ID를 전달해야합니다. 그렇지 않으면 알림이 Oreo 장치에 표시되지 않습니다.
추가 정보
빠른 수정은 : 알림 클래스에서 setChannelId 메소드를 사용하십시오.
FCM will use this value whenever incoming messages do not explicitly set a notification channel.
이 링크의 완전한 답변.
-
답변 # 3
<meta-data android:name="com.google.firebase.messaging.default_notification_channel_id" android:value="@string/default_notification_channel_id"/>
에 알림을 표시하려면 채널을 만들어야합니다 .기본 firebase 알림을 사용하는 경우
Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.ic_notif_icon) .setContentTitle("testTitle") .setContentText(messageBody) .setAutoCancel(true) .setSound(defaultSoundUri) .setChannelId("testChannelId") // set channel id .setContentIntent(pendingIntent);
를 추가 할 수 있습니다 매니페스트에서.Oreo
알림을 수동으로 만드는 경우 프로그래밍 방식으로 채널을 만들어야합니다. 공식 문서에 대한 자세한 내용.
channel_id
관련 자료
- conda - Python의시를 사용하여 작업 디렉토리에서 로컬 환경으로 내 패키지의 최신 버전을 설치합니다
- Firebase 전화 인증이 Android에서 버전 2000이 작동하지 않습니다
- Android 버전 Oreo에서 알림이 작동하지 않음
- networking - 버전 2004에서 작동하는 RTL8125 Realtek 드라이버를 얻을 수 없습니다
- pic - EZBL_EraseAll 또는 EZBL_NVMKEY가 mplab x IDE 버전 54에서 작동하지 않음
- xml - Android에서 작동하지 않는 사용자 정의 백그라운드 리소스
- software installation - kali에 Java jdk 최신 버전을 설치하는 명령
- python - 파일 관리자가 Android kivymd에서 작동하지 않는 이유는 무엇입니까?
- npm install은 항상 최신 * 호환 * 버전의 종속성을 얻습니까?
- image - WhatsApp에서 데이터 공유가 Android 11에서 작동하지 않음
- flutter - Android 실제 기기에서 Firebase 전화 인증이 작동하지 않습니다
- HTML FORM의 입력 유형 FILE이 Safari 버전 1401에서 작동하지 않음 (146102115110)
- java - Android에서 "Working of onBindViewHolder"와 혼동
- bash - bashrc에서 자동으로 최신 버전의 아나콘다 찾기
- firebase - Xamarin Forms Android 푸시 알림 "메시지가 성공적으로 전송되었지만 일치하는 대상이 없습니다"
- 백엔드 서버 및 앱을 NET Core 31 signalR로 마이그레이션 한 후 SignalR이 XamarinForms Android 앱에서 작동을 중지합니다
- material design - Android Studio 41 이후 Android Background Drawable이 버튼에서 작동하지 않음
- Android Studio 버전 41은 flutter, dart 플러그인을 볼 수 없습니다
- flutter - playstore 오류 - 버전 코드 4가 이미 있으므로 apk 또는 android app bundle에 다른 버전 코드를 사용해야합니다
- java - requestLegacyExternalStorage는 Android 11에서 작동하지 않습니다API 30
- android - Firebase의 모든 사용자에게 알림 푸시
- android - Firebase 토큰이 API 호출간에 일치하지 않습니다
- android - Kotlin Gradle dsl에서 Firebase BoM을 사용하는 방법은 무엇입니까?
- java - Firebase를 사용하는 내 채팅 앱의 정리되지 않은 채팅 메시지
- android - Firebase 앱 배포 업로드 오류, APK 경로에 대한 정보 누락
- android - Firebase 전화 확인 verifyPhoneNumber () 지원 중단 + 애플리케이션 충돌
- android - firebase signInWithEmailLink는 firebase 계정에서 전화 번호를 제거합니다
- android - 다음에 내 앱을 열 때 다시 로그인을 요청하지 않는지 확인하는 방법
- java - Firebase 인증을 사용하여 로그인 한 사용자가 Firebase 실시간 데이터베이스의 특정 노드에 속하는지 확인할 수 있습니까?
- java - Android에서 자식 및 equalTo로 Firebase를 쿼리하는 방법은 무엇입니까?
Android 8.0 (API 레벨 26+)부터 알림 채널이 지원되고 권장됩니다.
와이즈 비즈자신의 기본 채널을 만들고 사용하려면
를 설정하십시오 아래 표시된대로 알림 채널 개체의 ID로 와이즈 비즈이 링크에서 채널 ID를 만들 수 있습니다