Autore Topic: retrocompatibilità applicazioni  (Letto 661 volte)

Offline mambu

  • Utente normale
  • ***
  • Post: 167
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 7
retrocompatibilità applicazioni
« il: 14 Dicembre 2012, 16:39:27 CET »
0
Posso modificare una mia applicazione che era stata creata per la versione 2.2 di android in modo che possa eseguire una condizione realizzabile solo nella 4.0.

nello specifico devo controllare se il telefono è LTE e per farlo devo eseguire questa condizione:
Codice (Java): [Seleziona]
TelephonyManager telman = (TelephonyManager) classeUI.getSystemService(Context.TELEPHONY_SERVICE);
if (telman.getNetworkType()==TelephonyManager.NETWORK_TYPE_LTE){
                //controllo preliminare LTE
                        return "LTE";
                }

peccato che
Codice (Java): [Seleziona]
TelephonyManager.NETWORK_TYPE_LTE è una costante presente solo se modifico il target della mia applicazione.

modificando il target escludo i device minori di un possibile update.

grazie mille

PS: ho aperto anche questo topic, mi interessa comunque una risposta anche se ho trovato una soluzione alternativa con telephonyManager
http://www.anddev.it/index.php/topic,9633.msg51892.html#msg51892

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:retrocompatibilità applicazioni
« Risposta #1 il: 14 Dicembre 2012, 16:45:00 CET »
0
tu metti un minsdk basso (diciamo 2.2) ma un target sdk alto (si consiglia il max possibile).
quel valore è usato in compilazione, poi dopo nell'apk (o meglio nei dex file), sarà già un intero.
a runtime il codice farà tipo 2==8 (sparo i valori).
quindi nessun problema
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline mambu

  • Utente normale
  • ***
  • Post: 167
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:retrocompatibilità applicazioni
« Risposta #2 il: 14 Dicembre 2012, 17:17:20 CET »
0
ho fatto come hai detto te, ho aggiornato nelle proprietà del progetto il nuovo target che per adesso ho lasciato alla 4.0(tanto è solo un test)
e poi ho aggiornato il manifest:
Codice: [Seleziona]
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="14" android:installLocation="preferExternal"/>
       

peccato che non mi vedo gli emulatori inferiori alla 4.0

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:retrocompatibilità applicazioni
« Risposta #3 il: 14 Dicembre 2012, 17:21:02 CET »
0
ho fatto come hai detto te, ho aggiornato nelle proprietà del progetto il nuovo target che per adesso ho lasciato alla 4.0(tanto è solo un test)
e poi ho aggiornato il manifest:
Codice: [Seleziona]
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="14" android:installLocation="preferExternal"/>
       

peccato che non mi vedo gli emulatori inferiori alla 4.0
non li vedi perchè hai come target 4, devi mettere nelle opzioni di run il "manually select"
di default va su quello che meglio si avvicina all'sdk target
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline mambu

  • Utente normale
  • ***
  • Post: 167
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:retrocompatibilità applicazioni
« Risposta #4 il: 14 Dicembre 2012, 17:37:57 CET »
0
grazie mille ha funzionato,
ho notato che nella finestra di configurazione del run posso impostare la velocità del AVD ma non c'è la voce LTE, non è ancora implementato o devo aggiornare il mio SDK?

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:retrocompatibilità applicazioni
« Risposta #5 il: 14 Dicembre 2012, 19:06:03 CET »
0
grazie mille ha funzionato,
ho notato che nella finestra di configurazione del run posso impostare la velocità del AVD ma non c'è la voce LTE, non è ancora implementato o devo aggiornare il mio SDK?
credo non sia ancora implementato
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline mambu

  • Utente normale
  • ***
  • Post: 167
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:retrocompatibilità applicazioni
« Risposta #6 il: 14 Dicembre 2012, 19:22:34 CET »
0
Peccato sarebbe stato mooolto utile! Grazie mille dei consigli, metto il post come risolto :D