Autore Topic: Capire se il device è emulato  (Letto 878 volte)

Offline lithian

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC Wildfire
  • Play Store ID:
    Luca Minuti
  • Sistema operativo:
    Window XP
Capire se il device è emulato
« il: 03 Agosto 2010, 16:12:23 CEST »
0
Ciao a tutti, volevo sapere se c'è un modo per capire se l'applicazione sta girando su un dispositivo fisico o all'interno dell'emulatore e magari anche se è stata compilata in modalità debug o release.

Grazie!

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Capire se il device è emulato
« Risposta #1 il: 03 Agosto 2010, 17:12:59 CEST »
0
Non ho capito bene la domanda, vuoi sapere, avendo sia il telefono collegato in modalità debug che l'emulatore in esecuzone, se la tua applicazione verrà avviata sul telefono o sull'emulatore?
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline lithian

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC Wildfire
  • Play Store ID:
    Luca Minuti
  • Sistema operativo:
    Window XP
Re:Capire se il device è emulato
« Risposta #2 il: 03 Agosto 2010, 17:20:47 CEST »
0
No. In effetti ho fatto due domande in una e non si capisce una mazza  :-P

Prima domanda
Ho bisogno che l'applicazione si comporti in modo differente a seconda che stia girando su un dispositivo fisico o sull'emulatore. Una cosa tipo:

Codice (Java): [Seleziona]
if (Device.getType() == Device.EMULATOR) { // codice inventato
  // fai qualcosa che mi serve solo sul dispositivo emulato
}

Seconda domanda

Si riesce a capire da codice se un applicazione è compilata in modalità debug o release? Banalmente quando sono in modalità debug vorrei fare dei log più approfonditi.

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:Capire se il device è emulato
« Risposta #3 il: 03 Agosto 2010, 17:40:02 CEST »
0
Per la seconda domanda:
Non ti basta fare una variabile che metti a "true" se sei in debug e a "false" se sei in Release e tramite questa controlli l'esecuzione di codice di logging?
Postate il LogCat LogCat LogCat LogCat LogCat

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Capire se il device è emulato
« Risposta #4 il: 03 Agosto 2010, 17:53:17 CEST »
0
Per la prima domanda:
Codice (Java): [Seleziona]
if (android.os.Build.MODEL.equals("google_sdk")) {
        // fai qualcosa che mi serve solo sul dispositivo emulato
        Toast.makeText(this, "Questo è un emulatore", Toast.LENGTH_LONG).show();
}
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline lithian

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC Wildfire
  • Play Store ID:
    Luca Minuti
  • Sistema operativo:
    Window XP
Re:Capire se il device è emulato
« Risposta #5 il: 03 Agosto 2010, 18:00:08 CEST »
0
Per la seconda domanda:
Non ti basta fare una variabile che metti a "true" se sei in debug e a "false" se sei in Release e tramite questa controlli l'esecuzione di codice di logging?

Come faccio a mettere a True una variabile se sono in debug?

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re: Capire se il device è emulato
« Risposta #6 il: 06 Agosto 2010, 10:23:05 CEST »
0
Manualmente..
Postate il LogCat LogCat LogCat LogCat LogCat

Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
  • Respect: +202
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re:Capire se il device è emulato
« Risposta #7 il: 06 Agosto 2010, 12:02:48 CEST »
+1
Seconda domanda

Si riesce a capire da codice se un applicazione è compilata in modalità debug o release? Banalmente quando sono in modalità debug vorrei fare dei log più approfonditi.

Ecco il codice:
Codice (Java): [Seleziona]
ApplicationInfo applicationInfo = this.getApplicationInfo();
if((applicationInfo.flags & ApplicationInfo.FLAG_DEBUGGABLE)!=0x0) {
        // TODO: android:debuggable true
}
else {
        // TODO: android:debuggable false o non impostato
}

Offline lithian

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC Wildfire
  • Play Store ID:
    Luca Minuti
  • Sistema operativo:
    Window XP
Re:Capire se il device è emulato
« Risposta #8 il: 06 Agosto 2010, 12:30:35 CEST »
0
Ecco il codice:
Codice (Java): [Seleziona]
ApplicationInfo applicationInfo = this.getApplicationInfo();
if((applicationInfo.flags & ApplicationInfo.FLAG_DEBUGGABLE)!=0x0) {
        // TODO: android:debuggable true
}
else {
        // TODO: android:debuggable false o non impostato
}

Perfetto, esattamente quello che mi serviva