Dibuje el fondo de la Vista personalizada desde el archivo .png en Android

Creé una vista personalizada extendiéndome desde la vista. En onDraw () logré dibujar algunos círculos y otras cosas. Pero ahora quiero agregar un fondo de un recurso (tarjeta SD o una secuencia) que en realidad es un mapa que descargo de nuestro servidor y luego dibujar en él. Es para Android 8 +

@Override
protected void onDraw(Canvas canvas) {
    Canvas g = canvas;
    String file = "/mnt/sdcard/download/tux.png";
    Bitmap bg = null;
    try {
        bg = BitmapFactory.decodeFile(file);
        g.setBitmap(bg);
    } catch (Exception e) {
        Log.d("MyGraphics", "setBitmap() failed according to debug");
    }
}

Somehow g.setBitmap (bg) sigue fallando, no he visto las especificaciones de la imagen, pero en realidad es solo una imagen esmoquin (sin colores de 24 bits) de formato PNG. ¿Alguien puede darme algunos consejos sobre cómo agregar una imagen de fondo para que pueda dibujar en ella? Gracias

Respuestas a la pregunta(4)

Su respuesta a la pregunta