Stack Overflow на русском Asked by ВуDengin on January 4, 2022
Почему то, приложение перестало получать пуши. Отправляю через консоль Firebase, уведомления изначально приходили, но без звука и не отображались на экране, были видны только в общем списке уведомлений.
AndroidManifest
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>
<uses-permission android:name="android.permission.WAKE_LOCK" />
<activity
android:name=".DialogActivity"
android:parentActivityName=".ResponseActivity"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name=".DialogActivity" />
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<service
android:name=".MyService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
</intent-filter>
</service>
<service
android:name=".MyFirebaseInstanceIDService"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
MyService
public class MyService extends FirebaseMessagingService {
private static final String TAG = "MyFirebaseMsgService";
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
sendNotification(remoteMessage.getNotification().getBody());
}
private void sendNotification(String messageBody) {
Intent intent = new Intent(this, DialogActivity.class); // года приходили уведомления, при клике все равно открывалоль MainActivity
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 , intent,PendingIntent.FLAG_ONE_SHOT);
String channelId = getString(R.string.default_notification_channel_id);
Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationCompat.Builder notificationBuilder =
new NotificationCompat.Builder(this, channelId)
.setSmallIcon(R.mipmap.logo)
.setContentTitle("Title")
.setContentText(messageBody)
.setAutoCancel(true)
.setSound(defaultSoundUri)
.setContentIntent(pendingIntent);
NotificationManager notificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0, notificationBuilder.build());
}
}
Вообще не понятно, когда срабатывает данный сервис, что бы он оправил данные на сервер ни разу не приходил токен.
Мне необходимо в коде получить токен устройства, я это делаю при отправке данных на сервер вызывая FirebaseInstanceId.getInstance().getToken().
Все работало, я получал токен, сейчас это у меня вызывает ошибку
java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process ru.test.app. Make sure to call FirebaseApp.initializeApp(Context) first.
at com.google.firebase.FirebaseApp.getInstance(SourceFile:218)
at com.google.firebase.iid.FirebaseInstanceId.getInstance(Unknown Source)
При первоначальном вызове FirebaseApp.initializeApp(Context), у меня все равно вылетает
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.google.firebase.iid.FirebaseInstanceId.getToken()' on a null object reference
Как получить токен устройства, что бы оправлять на это устройство уведомление?
MyFirebaseInstanceIDService
public class MyFirebaseInstanceIDService extends FirebaseInstanceIdService {
public void onTokenRefresh() {
String refreshedToken = FirebaseInstanceId.getInstance().getToken();
Log.d("ddd", "Refreshed token: " + refreshedToken);
sendRegistrationToServer(refreshedToken);
}
private void sendRegistrationToServer(String refreshedToken) {
// код обновления токена на сервере
}}
Вот такой код, но не работает, уведомления не получаю, отправляя их с консоли.
Подскажите пожалуйста, где искать проблему!
Ваши симптомы такие:
По опыту получение токена работает неплохо так:
Answered by Serge Markov on January 4, 2022
0 Asked on January 20, 2021 by hleb-hleb
0 Asked on January 20, 2021 by init_the_pool
2 Asked on January 20, 2021
net asp net asp net core c %d0%b8%d1%81%d0%ba%d0%bb%d1%8e%d1%87%d0%b5%d0%bd%d0%b8%d1%8f
3 Asked on January 20, 2021 by stelz
c %d0%bf%d0%be%d0%b2%d1%82%d0%be%d1%80%d1%8b %d1%81%d0%b8%d0%bc%d0%b2%d0%be%d0%bb%d1%8b %d1%81%d1%82%d1%80%d0%be%d0%ba%d0%b8
0 Asked on January 20, 2021 by yoz
python selenium webdriver %d0%bf%d0%b0%d1%80%d1%81%d0%b5%d1%80
2 Asked on January 19, 2021 by yuliya
0 Asked on January 19, 2021 by biomotor
python tkinter %d0%b8%d0%bd%d1%81%d0%bf%d0%b5%d0%ba%d1%86%d0%b8%d1%8f %d0%ba%d0%be%d0%b4%d0%b0
1 Asked on January 18, 2021 by stud200891
python python 3 x %d1%81%d0%bb%d0%be%d0%b2%d0%b0%d1%80%d0%b8
0 Asked on January 18, 2021 by dowjhonn
1 Asked on January 18, 2021
1 Asked on January 17, 2021 by giorno-giovanna
0 Asked on January 17, 2021
Get help from others!
Recent Answers
Recent Questions
© 2023 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP