Obtener Aplicaciones Directorio de empresas
¿Alguien sabe cómo puedo obtener la ruta de acceso de mi directorio de aplicaciones? (Por ejemplo, /data/data/my.app.lication/
)
Actualmente estoy usando este método: myActivity.getFilesDir().getParent();
Pero me parece una solución cuando hay una solución más simple. Además, el efecto secundario es la creación del directorio de files
, que no se necesita.
- Android: las carpetas de destino res para depurar en eclipse
- Cómo copiar mis archivos de un directorio a otro directorio?
- Error al crear un directorio en / sdcard
- ¿Cómo crear un directorio compartido con acceso de lectura y escritura a todas las aplicaciones en Android?
- Mimic Context.getExternalFilesDir () antes de Android API Nivel 8?
Aclaración: Primero – Gracias por los repliers. Trato de entender si ya existe el método que lo hace, no para otro trabajo alrededor.
- Mostrar una lista de archivos en un ListView
- Android: copiar archivos de un directorio a otro
- Android: Almacenamiento de imágenes en el directorio del proyecto (archivos)?
- Cómo crear directorios y carpetas de archivos en el sistema de archivos de datos / datos / proyectos de Android
- Android: ruta de la carpeta de activos para File ()?
- No se puede eliminar el archivo de almacenamiento externo en android mediante programación
- Obtener el directorio de una ruta de acceso de archivo en java (android)
- Creador de directorios anidados: Phonegap
PackageManager m = getPackageManager(); String s = getPackageName(); PackageInfo p = m.getPackageInfo(s, 0); s = p.applicationInfo.dataDir;
Si eclipse se preocupa por un NameNotFoundException
no NameNotFoundException
, puede utilizar:
PackageManager m = getPackageManager(); String s = getPackageName(); try { PackageInfo p = m.getPackageInfo(s, 0); s = p.applicationInfo.dataDir; } catch (PackageManager.NameNotFoundException e) { Log.w("yourtag", "Error Package name not found ", e); }
Hay una manera más sencilla de obtener el directorio de datos de la aplicación con la API mínima 4+. Desde cualquier Contexto (Ej. Actividad, Aplicación):
getApplicationInfo().dataDir
http://developer.android.com/reference/android/content/Context.html#getApplicationInfo ()
tengo esto
String appPath = App.getApp().getApplicationContext().getFilesDir().getAbsolutePath();
Desde aquí :
Solo usa esto en tu código
context.getApplicationInfo().dataDir
Para el paquete de aplicaciones Android actual:
public String getDataDir(final Context context) throws Exception { return context.getPackageManager().getPackageInfo(context.getPackageName(), 0).applicationInfo.dataDir; }
Para cualquier paquete:
public String getAnyDataDir(final Context context, final String packageName) throws Exception { return context.getPackageManager().getPackageInfo(packageName, 0).applicationInfo.dataDir; }
Si está intentando obtener acceso a un archivo, pruebe los openFileOutput()
y openFileInput()
como se describe aquí . Se abren automáticamente los flujos de entrada / salida al archivo especificado en la memoria interna. Esto le permite omitir el directorio y los objetos de File
conjunto que es una solución bastante limpia.
Basado en la solución @ jared-burrows '. Para cualquier paquete, pero pasando Contexto como parámetro …
public static String getDataDir(Context context) throws Exception { return context.getPackageManager() .getPackageInfo(context.getPackageName(), 0) .applicationInfo.dataDir; }