¿Hay alguna manera de detectar si el apk está almacenado en la tarjeta SD o no? ¿Cómo?¿Hay alguna manera de detectar si el apk está almacenado en la tarjeta SD o no?
Respuesta
Uso getApplicationInfo(). SourceDir
http://developer.android.com/reference/android/content/pm/ApplicationInfo.html
Sí ... Puede detectar la misma ...
Las aplicaciones descargadas desde Android Market se almacenan en /data/app (no en la tarjeta SD). Las aplicaciones del sistema por defecto se almacenan en /system/app
Sin embargo, teléfonos libres pueden almacenar las aplicaciones en /sdcard/backups/aplicaciones
y ¿cómo puedes detectar eso? –
Hay un indicador un tanto reciente que las aplicaciones pueden establecer en su manifiesto si prefieren instalarse en la tarjeta SD ... – Anders
Todas las aplicaciones del mercado se instalan en la memoria del teléfono de manera predeterminada. No hay forma de moverlo a la tarjeta SD sin rootear el dispositivo. ** Apps2SD ** ayuda a mover las aplicaciones de la memoria interna a la tarjeta SD solo en dispositivos rooteados. Y como se mencionó anteriormente, getApplicationInfo(). SourceDir se puede usar para detectar la ubicación. – Anil
File f = new file(Environment.getExternalStorageDirectory()+"your apk name");
sytem,out.println(""+f.exsits);
Para que la respuesta aceptada sea más concreta, he aquí un ejemplo de cómo nos hemos visto ed en el contexto de acceder a los archivos escritos interno vs almacenamiento externo, de acuerdo con las directrices API level 7 o inferiores:
{ //...
mInternalApp = context.getApplicationInfo().sourceDir.matches("^/data/app/.*");
mPathInternal = context.getApplicationInfo().dataDir + "/files/";
mPathExternal = Environment.getExternalStorageDirectory() + "/Android/data/"
+ PACKAGE_NAME + "/files/";
}
private File getMyFile() {
return (mInternalApp) ? new File(mPathInternal + INT_FILE_NAME) :
new File(mPathExternal + EXT_FILE_NAME);
}
- 1. ¿Hay alguna manera de detectar si la aplicación se instaló con Market o no?
- 2. ¿Cómo saber si la tarjeta SD está montada en Android?
- 3. Android 2.2 - ¿Cómo puedo detectar si estoy instalado en la tarjeta SD o no?
- 4. ¿Cómo detectar si el dispositivo posee una tarjeta sd?
- 5. Compruebe si la tarjeta SD está disponible o no mediante programación
- 6. Servicio de reinicio para la aplicación en la tarjeta SD Cuando se repone la tarjeta SD
- 7. ¿Hay alguna manera de verificar si el puntero está colgando?
- 8. ¿Hay alguna forma de detectar si un objeto está bloqueado?
- 9. ¿Hay alguna manera de verificar si el anclaje está activo?
- 10. ¿Hay alguna manera de determinar si un PID de Linux está en pausa o no?
- 11. obtener transmisión recibida cuando la tarjeta SD está desmontando android
- 12. ¿Hay alguna manera de detectar si una gota está por ocurrir en un JTree?
- 13. Cómo verificar si la carpeta recién creada está presente en la tarjeta SD en Android
- 14. Escribiendo a la tarjeta SD
- 15. Comprobar si existe directorio en la tarjeta SD de Android
- 16. Compruebe si existe archivo en la tarjeta SD en Android
- 17. ¿Hay alguna manera de detectar programáticamente si una fotografía está enfocada?
- 18. Rendimiento de escritura de la tarjeta SD
- 19. Permiso para escribir en la tarjeta SD
- 20. Android ¿Cuánto espacio hay libre en la tarjeta SD?
- 21. ¿hay alguna manera de dormir() en un procedimiento almacenado?
- 22. imágenes en la tarjeta SD de acceso
- 23. Android Guardar imagen en la tarjeta SD
- 24. Android - eliminar archivos en la tarjeta SD al desinstalar
- 25. Eliminar una carpeta en la tarjeta SD
- 26. ¿Hay alguna manera de detectar el estado del monitor en Windows (encendido o apagado)?
- 27. Base de datos SQLite en tarjeta SD
- 28. ¿Hay alguna manera de detectar lectores abiertos en una SqlConnection?
- 29. Cómo guardar archivos en la tarjeta SD
- 30. ¿Hay alguna manera de verificar si una construcción está en Adhoc, lanzamiento, distribución mediante programación?
+1 para la pregunta. pero ¿te hace falta si la aplicación está instalada en una tarjeta SD o teléfono? –
No, necesito detectar si la aplicación está instalada o no (solo en la tarjeta SD) – user1074896
Esta pregunta es un duplicado de: http://stackoverflow.com/questions/4004650/android-2-2-how-do- i-detect-if-i-am-installed-on-the-sdcard-or-not excepto en la medida en que la última respuesta se refiere solo al nivel de API 8 y superior. La página vinculada sugiere usar el indicador FLAG_EXTERNAL_STORAGE, que es para el propósito específico deseado. Esta bandera estuvo disponible en API nivel 8. – Carl