¿Es posible acceder a recursos en otro APK sin utilizar proveedores de contenido?
Pensé que es imposible acceder a los recursos contenidos en otros APK a menos que se utilicen los proveedores de contenido. Sin embargo, tropecé con una aplicación llamada Better Keyboard. Utiliza pieles, así que decidí descargar un ejemplo de una piel.
Un ejemplo de piel realmente me sorprendió. No contiene casi ningún código, sólo declara una actividad y no hay proveedores de contenido. No obstante, contiene recursos y aparentemente se accede de alguna manera desde la aplicación Better Keyboard si se instala el APK con la piel. Entonces, ¿cómo se hace?
- Compartir y persistir datos entre varias aplicaciones de Android
- Android: consulta ContactsContract, necesita más cadena de selección avanzada
- Proveedor de contenido android
- Android Obtener el grupo de contactos por ID
- ¿Las aplicaciones que no van a compartir necesitan el proveedor de contenido?
- Adición de un tipo de mime personalizado a los contactos de android
- ¿Cómo utilizo el Android SyncAdapter?
- Widget con el proveedor de contenido; Imposible de usar ReadPermission?
- SelectionArgs in ContentResolver.query (...) puede ser una subconsulta?
- Manera de actualizar la interfaz de usuario después de que se ha producido un cambio en la base de datos
- Content: // mms-sms / conversations / return NullPointerException en Android ICS Samsung
- Límite de búsqueda Android SearchRecentSuggestionsProvider
- Obtener la ruta del sistema de archivos para la foto de contacto en android
Creo que estás buscando
Resources res = mPackageManager.getResourcesForApplication("org.example.foo");
Prueba esto
PathClassLoader loader = new PathClassLoader ("/data/app/com.skin.apk", null,PathClassLoader.getSystemClassLoader()); InputStream f = loader.getResourceAsStream("res/drawable/icon.png"); Bitmap bitmap=BitmapFactory.decodeStream(f); BitmapDrawable b=new BitmapDrawable(bitmap); mButton.setBackgroundDrawable(b);
Es posible utilizando getresoucesforapplication
y necesita res.getidentifier
para recuperar el Id de recurso. Sin embargo, no parece funcionar cuando se recupera recurso de estilo.
- No puede pasar null a execute (); Método de AsyncTask en android 4.0
- Android: clics retardados en ListView