2011-01-04 10 views
17

Pensé que es imposible acceder a los recursos contenidos en otra APK a menos que se utilicen proveedores de contenido. Sin embargo, me encontré con una aplicación llamada Better Keyboard. Utiliza skins, así que decidí descargar un ejemplo de skin.¿Es posible acceder a recursos en otra APK sin usar proveedores de contenido?

An example skin realmente me sorprendió. Casi no contiene código, solo declara una actividad y no hay proveedores de contenido. No obstante, contiene recursos y, aparentemente, se accede a ellos desde la aplicación Better Keyboard si se instala el APK con la máscara. Entonces, ¿cómo se hace?

Respuesta

3

probar este

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); 
0

Es posible mediante el uso getresoucesforapplication y que necesita res.getidentifier a recuperar el recurso Id . Sin embargo, parece que no funciona cuando se recupera el recurso de estilo.

Cuestiones relacionadas