2013-04-09 4 views
0
  1. Показано с изображением JPEG.
  2. Отобразите кнопку над изображением, которая позволяет пользователю установить изображение на обои.
  3. Авто изменяет размер изображения до определенного размера экрана Android.
  4. Удаляет обои, если приложение удалено.

Я могу сделать шаг 1 и 2 довольно легко, я просто застрял с двумя другими шагами, может кто-нибудь указать мне в правильном направлении. вот код до сих порМне нужен совет для этого проекта

public class MainActivity extends Activity implements OnClickListener { 

    ImageView iv; 
    Button b; 
    Intent i; 
    Bitmap bmp; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     initialize(); 
     InputStream is = getResources().openRawResource(R.drawable.image); 
     bmp = BitmapFactory.decodeStream(is); 
    } 
    private void initialize(){ 
     iv = (ImageView) findViewById(R.id.ivReturnedPic); 
     b = (Button) findViewById(R.id.bSetWallpaper); 
     b.setOnClickListener(this); 
    } 
    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

    @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     switch(v.getId()){ 
     case R.id.bSetWallpaper: 
      try { 
       getApplicationContext().setWallpaper(bmp); 
      } catch (IOException e) { 

       e.printStackTrace(); 
      } 
      break; 
     } 
    } 

} 
+0

Что такое ваша проблема? – Pragnani

+1

'Удаляет обои, если приложение удалено. 'Это невозможно, ваше приложение не получает обратный вызов при его удалении и, следовательно, вы не можете выполнить какой-либо код в это время. – FoamyGuy

ответ

0

установить обои на нужный размер экрана

WallpaperManager myWallpaperManager = WallpaperManager.getInstance(getApplication()); 
int height = myWallpaperManager.getDesiredMinimumHeight(); 
int width = myWallpaperManager.getDesiredMinimumWidth(); 

try { 
    myWallpaperManager.setBitmap(Bitmap.createScaledBitmap(setAs, width , height , true)); 
} catch (final IOException e) { 
    Toast.makeText(getApplication(), "Error setting wallpaper", Toast.LENGTH_SHORT).show(); 
} 

и четвертый вопрос, пожалуйста, обратитесь к this

+0

Это не полностью работало с шириной, похоже, не работает какой-либо совет для этого – user2211271

Смежные вопросы