mi stavo chiedendo se c'era un modo semplice per vedere se un'applicazione in esecuzione su Android è attualmente a schermo intero. c'è un modo per interrogare Android per vedere se sei attualmente in modalità a schermo intero o qualcosa del genere?C'è un modo per determinare se l'app per Android è in esecuzione a schermo intero?
risposta
È possibile capire se lo Activity
è in esecuzione a schermo intero tramite getWindow().getFlags()
.
Tuttavia, se per "un'applicazione" si fa riferimento all'applicazione di qualcun altro, la risposta è no.
Activity.hasWindowFocus() indica se la propria attività è visibile all'utente. Ma, come nota CommonsWare, è molto più difficile capire se un'altra attività è in cima alla pila. Puoi provare a interrogare lo ActivityManager
(ad esempio, ActivityManager.getProcessTasks()), ma i suoi metodi non forniscono una risposta esatta alla tua domanda.
è possibile utilizzare alcune cose come questa;
findViewById(android.R.id.content).getHeight();
getResources().getDisplayMetrics().heightPixels;
e verificare l'uguaglianza; spero che questo aiuti;
Immagino che Commonsware volesse dire getWindow(). GetAttributes() e non getWindow(). GetFlags(); dato che getFlags non esiste per quanto ne so. Almeno non è in doc.
è necessario leggere getWindow(). GetAttributes(). Flags, che è un int.
WindowManager.LayoutParams lp = getWindow().getAttributes(); int i = lp.flags;
FLAG_FULLSCREEN = 1024 secondo la documentazione di Android. quindi la tua bandiera è l'undicesimo morso di lp.flags
se questo morso = 1, lo schermo intero è attivato.
Giusto per completare il Sigwann risposta:
boolean fullScreen = (getWindow().getAttributes().flags & WindowManager.LayoutParams.FLAG_FULLSCREEN) != 0;
boolean forceNotFullScreen = (getWindow().getAttributes().flags & WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN) != 0;
boolean actionbarVisible = getActionBar().isShowing();
Dal api11 ora c'è un modo per rilevare che l'utilizzo di una documentazione di interfaccia View.setOnSystemUiVisibilityChangeListener
L'ascoltatore osserva quanto segue:
Definizione dell'interfaccia per la richiamata da richiamare quando la barra di stato cambia visibilità. Questo segnala globale modifiche allo stato dell'interfaccia utente del sistema, non ciò che l'applicazione richiede.
Non so se c'è un modo per farlo prima di Honeycomb.
seguito le informazioni di Sigwann, ecco il mio codice ....
public boolean isFullScreen() {
int flg = getWindow().getAttributes().flags;
boolean flag = false;
if ((flg & WindowManager.LayoutParams.FLAG_FULLSCREEN) == WindowManager.LayoutParams.FLAG_FULLSCREEN) {
flag = true;
}
return flag;
}
semplici, ma funziona!
Cosa significa questo numero magico 1024? –
È solo un modo binario di dare un numero con molti 0 – Alecs
Ancora è il numero magico. Meglio usare: WindowManager.LayoutParams.FLAG_FULLSCREEN –
C'è un bel trucco, utilizzando la posizione assoluta di uno View
sullo schermo. Basta controllare la posizione di qualsiasi vista in alto a sinistra del layout (può essere invisibile), se è in posizione 0,0.Come questo:
/**
* Check if fullscreen is activated by a position of a top left View
* @param topLeftView View which position will be compared with 0,0
* @return
*/
public static boolean isFullscreen(View topLeftView) {
int location[] = new int[2];
topLeftView.getLocationOnScreen(location);
return location[0] == 0 && location[1] == 0;
}
- 1. Come sapere se è in esecuzione un'applicazione a schermo intero?
- 2. per giocare a schermo intero con Android
- 3. Applicazione Web a schermo intero per Android
- 4. Un modo per determinare se un elemento è stato imballato?
- 5. C'è un modo per visualizzare a schermo intero iPad Simulator?
- 6. C'è un modo semplice per determinare se l'input dell'utente è un numero intero in bash?
- 7. Rilevare se un browser è in modalità schermo intero
- 8. Mac OS X Lion: rileva se un'altra applicazione è in esecuzione in modalità a schermo intero?
- 9. Determinare se una vista è sullo schermo - Android
- 10. C'è un modo per determinare se una funzione è in esecuzione nel documento pronta o no?
- 11. C'è un modo per determinare se Java System.in è "interattivo"?
- 12. Crea moduli Xamarin per Android a schermo intero
- 13. Passaggio da schermo intero a non intero schermo pop/slide
- 14. C'è un modo per ottenere YTPlayerView per giocare a schermo intero su un iPad?
- 15. Android Esci dalla modalità a schermo intero
- 16. Annuncio a schermo intero per iPhone
- 17. Esecuzione di un programma di console C++ a schermo intero
- 18. Android: creazione di un'applicazione a schermo intero
- 19. Android: Come avere dialogFragment a schermo intero
- 20. In Qt 5, qual è il modo giusto per mostrare finestre QWidget a schermo intero a schermo multiplo?
- 21. Modo affidabile per rilevare se un'applicazione Android è in esecuzione in "BlueStacks"
- 22. Metodo per la pagina HTML a schermo intero a schermo intero?
- 23. Determinare se un modulo è completamente fuori dallo schermo
- 24. C'è un modo per determinare se un menu a discesa <select> è aperto?
- 25. Modo per determinare se l'esecuzione in IDE o no?
- 26. Esecuzione di VNC a schermo intero con più monitor
- 27. C'è un modo per determinare se lo schermo corrente supporta il tocco?
- 28. Disegna un'immagine in modalità Schermo intero Android
- 29. disattivare la modalità "schermo intero" su Chrome per Android
- 30. C'è un modo per evitare la visualizzazione a schermo intero di SearchView/Keyboard in orizzontale?
Worth facendo attenzione sull'ultima riga lì con la getActionBar() isShowing() - se hai disattivato la barra delle operazioni nel tema piuttosto che nasconderlo, quindi getActionBar() può restituire. nullo. – themightyjon