2012-05-28 27 views
13

La mia applicazione è utilizzata per motivi di sicurezza. così, dalla mia applicazione, l'utente cattura le foto che tutte le foto sono memorizzate in una cartella a cui la cartella non dovrebbe accedere da qualsiasi altra applicazione e non dovrebbero dare accesso quando i dispositivi si connettono al computer. Se l'utente vuole vedere queste immagini dovrebbe accedere solo dalla mia applicazione.Come creare una cartella privata nella sdcard

+1

use Mode.PRIVATE –

risposta

2

L'unico modo, AFAIK è a encrypt i file che si memorizzano. Non c'è modo di impedire agli utenti di montare la sdcard per accedere a tutti i file in essa contenuti.

+0

scusa non ho potuto per favore descriverlo ..... –

+0

Basta crittografare le immagini usando rsa/dsa (cosa è meglio per il tuo scopo) quando l'utente salva l'immagine e decodifica quando vuole da visualizzare. – Blackbelt

+0

dai uno sguardo qui: http://stackoverflow.com/questions/4526612/encryption-of-image-files-on-android-cipheroutputinputstream-problems – Blackbelt

0

secondo questa domanda relativa, è possibile creare solo i file protetti di memoria interna (non sulla SD) ...

Create Folder that can not accessible by any other application

+0

L'utente può salvare molti numeri di immagini Se tutte le immagini sono memorizzate nella memoria interna, la memoria potrebbe non essere sufficiente. –

0

La sua non è possibile non consentire l'accesso a tale cartella quando il dispositivo è connesso al PC. Inoltre non è possibile anche su sdcard, Ma è possibile utilizzare un formato diverso per le immagini che possono essere aperte solo dall'applicazione, oppure è possibile crittografare le immagini. Oppure, se si desidera nascondere le immagini per visualizzarle nella galleria, è possibile inserire un file vuoto con il nome ".nomedia" nella cartella. Ma non è possibile perché se leggi i documenti sull'autorizzazione WRITE_EXTERNEL_STORAGE capirai cosa sto dicendo. :)

7

In base a questo guide, è possibile salvare i file direttamente nella memoria interna del dispositivo. Per impostazione predefinita, i file salvati nella memoria interna sono privati ​​per l'applicazione e altre applicazioni non possono accedervi (né l'utente può). Quando l'utente disinstalla l'applicazione, questi file vengono rimossi. Per esempio:

String FILENAME = "hello_file"; 
String string = "hello world!"; 
FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE); 
fos.write(string.getBytes()); 
fos.close(); 

MODE_PRIVATE creerà il file (o sostituire un file con lo stesso nome) e renderlo privato alla propria applicazione. Altre modalità disponibili sono: MODE_APPEND, MODE_WORLD_READABLE e MODE_WORLD_WRITEABLE.

+0

L'utente può salvare molti numeri di immagini Se tutte le immagini sono memorizzate nella memoria interna, la memoria potrebbe non essere sufficiente. –

Problemi correlati