2011-05-08 15 views
17

Solo por el nombre, supongo que Shared Preferences ... ¿están compartidas entre aplicaciones? Es decir, incluso si mi aplicación los define y los crea, cualquier aplicación en Android puede acceder a ellos. ¿Es esto correcto?¿Las preferencias compartidas pueden ser privadas?

(Si esto no es correcto, entonces ¿por qué la guía para programadores de almacenamiento de datos enfatizan Internal Storage como "tienda de datos privados"?)

Si esto es correcto, puedo modificar este comportamiento predeterminado para que una preferencia es solo visible desde la aplicación en la que lo defino y lo creo?

Si es así, ¿cómo puedo hacer eso?

Respuesta

21

Si estoy en lo correcto puede hacer almacenarla como privada llamando

getSharedPreferences(yourfile, MODE_PRIVATE); 


public static final int MODE_PRIVATE 

desde: API Nivel 1 modo de creación de archivos: el modo por defecto, en el que el archivo creado sólo se puede acceder por la aplicación de llamada (o todas las aplicaciones que comparten la misma ID de usuario).

Ver también:

MODE_WORLD_READABLE 
MODE_WORLD_WRITEABLE 
Constant Value: 0 (0x00000000) 
9

getSharedPreferences en la clase Context toma dos argumentos, String name y int mode. Mode determina si las preferencias compartidas son privadas o no. Context.getSharedPreferences

26

SharedPreferences son privados por defecto. Se comparten entre los componentes de tu aplicación.

Cuestiones relacionadas