Jak programowo ustawić obraz jako tapetę?

Tworzyłem aplikację, która musi ustawić obraz jako tapetę.

Kod:

<code>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());
    }
</code>

Dodałem również następujące pozwolenie:

<code><uses-permission android:name="android.permission.SET_WALLPAPER" />
</code>

Ale to nie działa; plik istnieje na sdcard. Gdzie popełniłem błąd?

questionAnswers(2)

yourAnswerToTheQuestion