Recebí um e-mail de um ex-aluno do curso de Android me perguntando como fazer para criar diretórios e mudar o papel de parede do aparelho programaticamente.
Para criar diretórios basta utilizar o código abaixo:
File dir = getFileStreamPath("minhasimagens"); if (!dir.exists()){ dir.mkdirs(); }
O método getFileStreamPath é da classe android.content.ContextWrapper e retorna um objeto do tipo File, similar ao do Java SE. A chamada desse método referenciará arquivos ou pastas dentro um diretório da memória interna do aparelho reservado para aplicação. Esse diretório está localizado em /data/data/pacote.da.aplicacao/files. Dessa forma, ao chamarmos o método mkdirs() será criado um subdiretório nesse local.
Para alterar o papel de parede também é bem simples, vejam abaixo:
String appDir = getFilesDir().getAbsolutePath(); Bitmap img = BitmapFactory.decodeFile( appDir+"/minhasimagens/wp02.jpg"); try { WallpaperManager.getInstance(this).setBitmap(img); } catch (IOException e) { e.printStackTrace(); }
Vejam no exemplo acima, que estamos lendo do diretório de arquivos da aplicação, a imagem que será definida como papel de parede.
A última coisa que precisamos fazer é adicionar a permisão ao AndroidManifest.xml.
<uses-permission android:name="android.permission.SET_WALLPAPER"/>
4br4ç05,
nglauber