Autore Topic: Attivare Activity in foregorund automaticamente (stile chiama in arrivo)  (Letto 510 volte)

Offline daniele087

  • Nuovo arrivato
  • *
  • Post: 26
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Honor 8
  • Sistema operativo:
    Debian GNU/Linux
Ciao, avrei un dubbio:
sto cercando di capire come far si che, dopo che un determinato evento è occorso, il dispositivo mostri la mia app in foreground (come quando arriva una chiamata) e accenda lo schermo ma non so come si possa fare.
Potreste darmi qualche suggerimento?
Grazie

Offline daniele087

  • Nuovo arrivato
  • *
  • Post: 26
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Honor 8
  • Sistema operativo:
    Debian GNU/Linux
Re:Attivare Activity in foregorund automaticamente (stile chiama in arrivo)
« Risposta #1 il: 29 Settembre 2017, 21:56:29 CEST »
0
Nessuno sa darmi anche qualche indicazione?

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 804
  • Respect: +168
    • Github
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Huawei P9 Lite
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 10 x64
Re:Attivare Activity in foregorund automaticamente (stile chiama in arrivo)
« Risposta #2 il: 02 Ottobre 2017, 11:35:44 CEST »
0
Dipende dal tipo di evento.

Se genera un broadcast basta che dichiari un receiver che a sua volta lanci l'activity. Esempio:

Nel manifest:
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<manifest ...

        <application ...

                <receiver
                        android:name=".MyBroadcastReceiver"
                        android:enabled="true"
                        android:exported="true">
                        <intent-filter>
                                <action android:name="android.app.action.NEXT_ALARM_CLOCK_CHANGED" />
                        </intent-filter>
                </receiver>
        </application>
</manifest>

Nel codice:

Codice (Java): [Seleziona]
public class MyBroadcastReceiver extends BroadcastReceiver {

        @Override
        public void onReceive(Context context, Intent intent) {
                Intent i = new Intent(this, MyActivity.class);
               
                startActivity(i);
        }
}

Apre l'activity MyActivity ogni volta che viene impostata una sveglia.
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline daniele087

  • Nuovo arrivato
  • *
  • Post: 26
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Honor 8
  • Sistema operativo:
    Debian GNU/Linux
Re:Attivare Activity in foregorund automaticamente (stile chiama in arrivo)
« Risposta #3 il: 02 Ottobre 2017, 12:30:38 CEST »
0
Ah ok, quindi sempre startActivity() bisogna chiamare.
Ok mi basta questa informazione, grazie.
In effetti ho provato e riprovato ma senza startActivity() non ho trovato altre soluzioni, al massimo riuscivo solo ad accendere lo schermo.