2010-08-03 3 views
4

Я разрабатываю простое приложение, которое устанавливает обои на основе пользовательского ввода. Мне не хватает кода для установки обоев. Я искал его на большом количестве сайтов впустую. Может ли кто-нибудь отправить образец кода, который устанавливается в качестве обоев в качестве выпадающего, который сохраняется в папке res?Установка обоев в Android

+0

Это все в документации: http://developer.android.com /reference/android/app/WallpaperManager.html –

ответ

4

Работает на Android 1.5 и выше

public void setWallpaper() { 
    Context context = this.getBaseContext(); 
    Bitmap mBitmap = BitmapFactory.decodeResource(getResources(), mImageIds[pos]); 

    context.setWallpaper(mBitmap); 
} 
+0

Большое вам спасибо! действительно знаю, как я могу решить проблемы с пикселизацией. Я слышал, что приложение: набор обоев и сохранение создают супер-четкие обои, просто использует метод обрезки для настройки обоев на экран? Еще раз спасибо – Amine

+0

Не могу сказать об этом ... Мне придется искать, прежде чем комментировать его –

1

и можно попробовать

InputStream inputStream = getResources().openRawResource(wallpaperResource); 
Bitmap setWallToDevice = BitmapFactory.decodeStream(inputStream); 

try { 
getApplicationContext().setWallpaper(setWallToDevice); 
} catch (IOException e) { 
// TODO Auto-generated catch block 
    e.printStackTrace(); 
} 

однако этот метод устарел, так и можно использовать

try { 
WallpaperManager.getInstance(getApplicationContext()).setResource(wallpaperResource); 
} catch (IOException e){ 
e.printStackTrace(); 
} 
0

Вот как мы можем установить обои из наше приложение для андроида

MainActivity.Java

public class AlarmActivity extends Activity{ 



     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 



      WallpaperManager myWallpaperManager 
        = WallpaperManager.getInstance(getApplicationContext()); 


        try { 
         myWallpaperManager.setImageResource(R.raw.sample); 
        } catch (IOException e) { 
         // TODO Auto-generated catch block 
         e.printStackTrace(); 
        } 

    } 
} 

Manifest.xml

вы должны предоставить это разрешение

<uses-permission android:name="android.permission.SET_WALLPAPER" /> 
Смежные вопросы