Autore Topic: Notifications bar "scatta" se la notifica è attiva e la notifica non si aggiorna  (Letto 364 volte)

Offline punticci

  • Utente junior
  • **
  • Post: 78
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    nexus 4
Ho un problemino nella mia app che mi hanno fatto notare.. La notifica appare ma non si aggiorna quando il livello di carica aumenta/diminuisce se mi trovo fuori dall'app..Inoltre la notifications bar inizia a laggare quando la notifica è attiva.. qualcuno sa cosa sbaglio?

Codice (Java): [Seleziona]
@SuppressLint("NewApi")
    private void checkPref(Intent intent){
            this.registerReceiver(this.batteryInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
            SharedPreferences myPref = PreferenceManager.getDefaultSharedPreferences(MainActivity.this);
            boolean pref_opt1 = myPref.getBoolean("firstDependent", false);
            int level= intent.getIntExtra(BatteryManager.EXTRA_LEVEL,-1);
            if (pref_opt1){
                NotificationManager notifi = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
                 Notification notification = new Notification.Builder(getApplicationContext())
                 .setContentTitle("Battery Informations")
                 .setContentText("Battery level"+" "+level+"%")
                 .setSmallIcon(R.drawable.icon_small_not)
                 //.setLargeIcon(aBitmap)
                 .setTicker(level+"%")
                 .build();

                 notification.flags = Notification.FLAG_ONGOING_EVENT;
                 Intent i = new Intent(MainActivity.this, MainActivity.class);
                 PendingIntent penInt = PendingIntent.getActivity(getApplicationContext(), 0 , i , 0);
                 notifi.notify(215,notification);
                } else {
                NotificationManager notifi = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
                notifi.cancel(215);
                }
        }
Su stackoverflow mi hanno risposto cosi:
"Check whether 'if-case' code to show notification is getting executed repeatedly. If so try limiting show notification to once via a flag value and reset the flag during notifi.cancel()."

Secondo me il problema sta nel (Intent.ACTION_BATTERY_CHANGED)  ma potrei sbagliarmi.