Hirdetés

Új hozzászólás Aktív témák

  • domel

    tag

    Helló. Átálltam Oreo-ra, féltem tőle mint a tűztől, nem alaptalanul..., de szerintem a Lollipop-Marshmallow átállás durvább volt. Az én specialitásom a háttéralkalmazások, az akkor is működő programok, ha látszólag mindenből kilép a júzer. Márpedig az Oreóban pont itt történtek a legnagyobb változások, usert és programozót agresszíven próbálják terelni az energiatakarékos alkalmazások irányába. Van ez a doze mode, ami eddig is volt, de most sokkal durvábban, a telefon kikapcsolás után négy perccel bealszik, és megáll minden élet. Napokba tellett kiderítenem, hogy mikor bealszik a telefon és megállt az internetrádió, hogy azt miért tette annak ellenére, hogy a processzort nem hagytam aludni (wifit és mobilnetet is lekapcsolja, meg gps-t és gyakorlatilag minden hardwert) és hogy ezt hogyan lehet megkerülni. Itt a megoldás az előtér-szolgáltatás volt (foregroundService), ha tudja valaki hogy egy sima activity esetében hogy lehet az alvó telefonon a wifi-mobilnetet bekapcsolva hagyni, az ne tartsa magában. A másik érdekesség a Notifikációs sáv használata
    Intent notificationIntent = new Intent(this,MainActivity.class);
    notificationIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
    PendingIntent pendingIntent = PendingIntent.getActivity(this,1,notificationIntent,PendingIntent.FLAG_CANCEL_CURRENT);
    Notification notification= new NotificationCompat.Builder(this, CHANNEL_ID)
    .setContentTitle("XixiRádió")
    //.setContentText("vattafaki")
    .setSmallIcon(R.drawable.ic_radio)
    .setContentIntent(pendingIntent)
    .build();
    startForeground(1,notification);

    a fenti kód nem jelenít meg ikont az értesítési sávban, hanem helyette egy system ikon jelenik meg, ami azt jelzi, hogy többek között van egy program(unk) ami energiát fogyaszt a háttérben. Itt a megoldás az, hogy Oreo alatt applikációs szinten (Manifest <application -is be kell regisztrálni egy osztályt, amiben létrehozunk egy NotificationChannelt, majd annak az ID-jére hivatkozunk az Activity vagy Service-ben létrehozott Notifikációs ikon, vagy indítóikonok esetében. Amúgy az oreo valóban keveset fogyaszt mikor ki van kapcsolva a telefon, este feltöltöm, reggel mikor ébreszt, még mindig 100%-on van a telefon. Egyenlőre ennyi volt az észrevételem öt nap alatt az Oreo-val kapcsolatban

    -domel

Új hozzászólás Aktív témák