Como definir a imagem como papel de parede programaticamente?
Eu tenho desenvolvido o aplicativo que precisa definir uma imagem como papel de parede.
Código:
WallpaperManager m=WallpaperManager.getInstance(this);
String s=Environment.getExternalStorageDirectory().getAbsolutePath()+"/1.jpg";
File f=new File(s);
Log.e("exist", String.valueOf(f.exists()));
try {
InputStream is=new BufferedInputStream(new FileInputStream(s));
m.setBitmap(BitmapFactory.decodeFile(s));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.e("File", e.getMessage());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.e("IO", e.getMessage());
}
Também adicionei a seguinte permissão:
<uses-permission android:name="android.permission.SET_WALLPAPER" />
Mas isso não funciona; o arquivo existe no sdcard. Onde cometi um erro?