J'ai essayé la plupart des solutions fournies sur SO. Mais, n'a pas pu résoudre ce problème. Le problème: Lorsque la notification FCM arrive, je démarre le service pour stocker le contenu de la notification dans sqlite. Bien que cela fonctionne lorsque l'application est ouverte, cela ne fonctionne pas lorsque l'application est fermée !!!Impossible de stocker des données dans SQLite ou sharedpreferences lorsque l'application est fermée
Voici ma classe de service que j'utilise pour stocker dans sqlite. ->
public class NotiDataStoreService extends Service {
DatabaseHelper db;
String messageBody = "";
public Runnable mRunnable = null;
public NotiDataStoreService() {
}
@Override
public IBinder onBind(Intent intent) {
// TODO: Return the communication channel to the service.
throw new UnsupportedOperationException("Not yet implemented");
}
@Override
public int onStartCommand(final Intent intent, int flags, int startId) {
final Handler mHandler = new Handler();
mRunnable = new Runnable() {
@Override
public void run() {
db = new DatabaseHelper(NotiDataStoreService.this);
messageBody = intent.getStringExtra("messageBody");
addNotification(messageBody);
SharedPreferences sharedPref = getApplicationContext().getSharedPreferences("notification_details",Context.MODE_PRIVATE);
int noti_counter = sharedPref.getInt("count",0);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt("count", ++noti_counter).apply();
}
};
mHandler.postDelayed(mRunnable, 1000);
return super.onStartCommand(intent, flags, startId);
}
public void addNotification(String messageBody){
File databaseFile = getDatabasePath(Constants.DATABASE_NAME);
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(databaseFile,"", null);
ContentValues values = new ContentValues();
values.put("notification", messageBody);
// Inserting Row
Log.i("hexa:", "notification inserting locally");
db.insert(Constants.TABLE_NOTIFICATIONS, null, values);
db.close();
}
}
Toute aide sera appréciée. Merci ..! :)
quel type de message que vous envoyer vérifier les données ou la notification de cette https: // stackoverflow .com/questions/44484126/cant-see-action-boutons-sur-notification-quand-app-is-in-background/44484918 # comment75965714_44484918 – Pavan
C'est une notification. et il n'y a aucun problème à recevoir une notification. :) –
FCM dispose de deux types de notification Données et Notification où, dans le cas d'un message de Notification, il n'invoquera pas onMessageReceived lorsque l'application est en arrière-plan, donc c'est un problème bro :) cochez cette https://firebase.google.com/docs/cloud- messagerie/Android/recevoir – Pavan