la création d'un drawable partir de la carte sd pour le définir comme un fond de android

Je suis en train d'utiliser une image à partir de la carte sd et la définir comme fond pour un relativelayout. J'ai essayé d'autres solutions que j'ai trouvé ici et ailleurs, mais ils n'ont pas semblé fonctionner pour moi. voici mon code. J'ai commenté d'autres façons que j'ai essayé et n'a pas fonctionné. la seule chose qui a fonctionné pour moi a été l'aide de setBackgroudnResource et l'utilisation d'une ressource à partir de l'app, mais c'était juste pour un test pour s'assurer mRoot a été mis en place correctement. quand j'ai essayé tous les autres moyens, il n'a tout simplement pas de régler quoi que ce soit. Quelqu'un sait ce que je fais de mal, ou si il ya une meilleure façon de le faire?

        //one way i tired...
//String extDir = Environment.getExternalStorageDirectory().toString();
//Drawable d = Drawable.createFromPath(extDir + "/pic.png");
//mRoot.setBackgroundDrawable(d);

//another way tried..
//Drawable d = Drawable.createFromPath("/sdcard/pic.png");
//mRoot.setBackgroundDrawable(d);

//last way i tried...
mRoot.setBackgroundDrawable(Drawable.createFromPath(new File(Environment.getExternalStorageDirectory(), "pic.png").getAbsolutePath()));

//worked, only to verify mRoot was setup correctly and it could be changed
//mRoot.setBackgroundResource(R.drawable.bkg);

OriginalL'auteur John | 2011-01-22