Autore Topic: Input/output stream non funzionante su 4.1 e superiori  (Letto 510 volte)

Offline Rampo

  • Utente junior
  • **
  • Post: 62
  • Respect: 0
    • Google+
    • PiRampo
    • Mostra profilo
  • Dispositivo Android:
    HTC One (Android 4.1.2 Stock)
  • Play Store ID:
    PiKo Technologies
  • Sistema operativo:
    Windows 7, Mac OS X Lion 10.8.3
Input/output stream non funzionante su 4.1 e superiori
« il: 11 Dicembre 2012, 16:58:51 CET »
0
Save ragazzi,
sto lavorando a una applicazione di Angry Birds che permette di fare il backup dei progessi di gioco sulla memoria esterna.
Sui dispositivi con Android fino alla versione 4.0.4 riesce perfettamente un file input/output stream come questo
Codice (Java): [Seleziona]
                   try {
                                File srcFile = new File("/data/data/com.rovio.angrybirds/files/highscores.lua");       
                                File srcFile2 = new File("/data/data/com.rovio.angrybirds/files/settings.lua");
                                File dstFile = new File (sdcardDir, "ABTools-ABClassic Backup.lua");
                                File dstFile2 = new File(sdcardDir, "ABTools-ABClassic Settings.lua");
                                FileChannel src = new FileInputStream(srcFile).getChannel();
                                FileChannel src2 = new FileInputStream(srcFile2).getChannel(); 
                                FileChannel dst = new FileOutputStream(dstFile).getChannel();
                                FileChannel dst2 = new FileOutputStream(dstFile2).getChannel();
                    dst.transferFrom(src, 0, src.size());
                    dst2.transferFrom(src2, 0, src2.size());
                    src.close();
                    dst.close();
                    src2.close();
                    dst2.close();  
                    backupABC = 1;
                        } catch (IOException e) {
                        }}

purtroppo da Android 4.1 (JellyBean) questo codice non funziona, forse dovuto ai miglioramenti alla sicurezza implementati da google.
Come posso fare per copiare questi file dalla memoria interna alla memoria esterna?
Ho bisogno di richiedere i permessi di ROOT?

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:Input/output stream non funzionante su 4.1 e superiori
« Risposta #1 il: 11 Dicembre 2012, 17:03:31 CET »
0
non funziona cosa vuol dire? da eccezione? errore? il logcat?
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 Rampo

  • Utente junior
  • **
  • Post: 62
  • Respect: 0
    • Google+
    • PiRampo
    • Mostra profilo
  • Dispositivo Android:
    HTC One (Android 4.1.2 Stock)
  • Play Store ID:
    PiKo Technologies
  • Sistema operativo:
    Windows 7, Mac OS X Lion 10.8.3
Re:Input/output stream non funzionante su 4.1 e superiori
« Risposta #2 il: 11 Dicembre 2012, 17:07:34 CET »
0
non copia i file.
Un attimo che testo per il logcat.  ;-)